6755707f8738714b5d705e46b16bd100cffe56c1
[platform/framework/web/web-provider.git] / src / Core / Service / AppControl.cpp
1 /*
2  * Copyright (c) 2013 Samsung Electronics Co., Ltd All Rights Reserved
3  *
4  *    Licensed under the Flora License, Version 1.0 (the "License");
5  *    you may not use this file except in compliance with the License.
6  *    You may obtain a copy of the License at
7  *
8  *        http://floralicense.org/license/
9  *
10  *    Unless required by applicable law or agreed to in writing, software
11  *    distributed under the License is distributed on an "AS IS" BASIS,
12  *    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13  *    See the License for the specific language governing permissions and
14  *    limitations under the License.
15  */
16 /**
17  * @file    LaunchBrowser.cpp
18  * @author  Yunchan Cho (yunchan.cho@samsung.com)
19  */
20
21 #include <string>
22 #include <app_service.h>
23 #include <Core/Util/Log.h>
24 #include "AppControl.h"
25
26 namespace Service {
27 namespace AppControl {
28
29 bool launchBrowser(std::string& url)
30 {
31     LogD("enter");
32
33     service_h handle = NULL;
34     int ret = SERVICE_ERROR_NONE;
35
36     ret = service_create(&handle);
37     if (ret != SERVICE_ERROR_NONE) {
38         LogD("failed to create service");
39         return false;
40     }
41
42     ret = service_set_operation(handle, SERVICE_OPERATION_VIEW);
43     if (ret != SERVICE_ERROR_NONE) {
44         LogD("failed to set operation");
45         service_destroy(handle);
46         return false;
47     }
48
49     ret = service_set_uri(handle, url.c_str());
50     if (ret != SERVICE_ERROR_NONE) {
51         LogD("failed to set url");
52         service_destroy(handle);
53         return false;
54     }
55
56     ret = service_send_launch_request(handle, NULL, NULL);
57     if (ret != SERVICE_ERROR_NONE) {
58         LogD("failed to request launch");
59         service_destroy(handle);
60         return false;
61     }
62
63     LogD("success to launch browser: %s", url.c_str());
64     service_destroy(handle);
65
66     return true;
67 }
68
69 } // AppControl
70 } // Service