2 // Tizen Web Device API
3 // Copyright (c) 2012 Samsung Electronics Co., Ltd.
5 // Licensed under the Apache License, Version 2.0 (the License);
6 // you may not use this file except in compliance with the License.
7 // You may obtain a copy of the License at
9 // http://www.apache.org/licenses/LICENSE-2.0
11 // Unless required by applicable law or agreed to in writing, software
12 // distributed under the License is distributed on an AS IS BASIS,
13 // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14 // See the License for the specific language governing permissions and
15 // limitations under the License.
18 #include <Commons/FunctionDefinition.h>
19 #include <Commons/FunctionDeclaration.h>
21 #include <Commons/Exception.h>
22 #include <dpl/exception.h>
25 #include "plugin_config.h"
27 #define PACKAGE_FEATURE_API_INSTALL "http://tizen.org/privilege/packagemanager.install"
28 #define PACKAGE_FEATURE_API_INFO "http://tizen.org/privilege/package.info"
30 #define PACKAGE_DEVICE_CAP_INSTALL "packagemanager.install"
31 #define PACKAGE_DEVICE_CAP_INFO "package.info"
33 using namespace WrtDeviceApis::Commons;
38 static FunctionMapping createPackageFunctions();
40 static FunctionMapping PackageFunctions =
41 createPackageFunctions();
43 #pragma GCC visibility push(default)
45 DEFINE_FUNCTION_GETTER(Package, PackageFunctions);
47 #pragma GCC visibility pop
49 static FunctionMapping createPackageFunctions()
54 ACE_CREATE_DEVICE_CAP(DEVICE_CAP_PACKAGE_INSTALL, PACKAGE_DEVICE_CAP_INSTALL);
55 ACE_CREATE_DEVICE_CAP(DEVICE_CAP_PACKAGE_INFO, PACKAGE_DEVICE_CAP_INFO);
57 ACE_CREATE_DEVICE_CAPS_LIST(DEVICE_LIST_PACKAGE_INSTALL);
58 ACE_CREATE_DEVICE_CAPS_LIST(DEVICE_LIST_PACKAGE_INFO);
59 ACE_ADD_DEVICE_CAP(DEVICE_LIST_PACKAGE_INSTALL, DEVICE_CAP_PACKAGE_INSTALL);
60 ACE_ADD_DEVICE_CAP(DEVICE_LIST_PACKAGE_INFO, DEVICE_CAP_PACKAGE_INFO);
65 ACE_CREATE_FEATURE(FEATURE_PACKAGE_INSTALL, PACKAGE_FEATURE_API_INSTALL);
66 ACE_CREATE_FEATURE(FEATURE_PACKAGE_INFO, PACKAGE_FEATURE_API_INFO);
68 ACE_CREATE_FEATURE_LIST(PACKAGE_FEATURES_PACKAGE_INSTALL);
69 ACE_ADD_API_FEATURE(PACKAGE_FEATURES_PACKAGE_INSTALL, FEATURE_PACKAGE_INSTALL);
71 ACE_CREATE_FEATURE_LIST(PACKAGE_FEATURES_PACKAGE_INFO);
72 ACE_ADD_API_FEATURE(PACKAGE_FEATURES_PACKAGE_INFO, FEATURE_PACKAGE_INFO);
77 FunctionMapping packageMapping;
80 AceFunction installFunc = ACE_CREATE_FUNCTION(
82 PACKAGE_FUNCTION_API_INSTALL,
83 PACKAGE_FEATURES_PACKAGE_INSTALL,
84 DEVICE_LIST_PACKAGE_INSTALL);
86 packageMapping.insert(std::make_pair(
87 PACKAGE_FUNCTION_API_INSTALL,
91 AceFunction uninstallFunc = ACE_CREATE_FUNCTION(
93 PACKAGE_FUNCTION_API_UNINSTALL,
94 PACKAGE_FEATURES_PACKAGE_INSTALL,
95 DEVICE_LIST_PACKAGE_INSTALL);
97 packageMapping.insert(std::make_pair(
98 PACKAGE_FUNCTION_API_UNINSTALL,
102 AceFunction getPackageInfoFunc = ACE_CREATE_FUNCTION(
103 FUNCTION_GET_PACKAGE_INFO,
104 PACKAGE_FUNCTION_API_GET_PACKAGE_INFO,
105 PACKAGE_FEATURES_PACKAGE_INFO,
106 DEVICE_LIST_PACKAGE_INFO);
108 packageMapping.insert(std::make_pair(
109 PACKAGE_FUNCTION_API_GET_PACKAGE_INFO,
110 getPackageInfoFunc));
113 AceFunction getPackagesInfoFunc = ACE_CREATE_FUNCTION(
114 FUNCTION_GET_PACKAGES_INFO,
115 PACKAGE_FUNCTION_API_GET_PACKAGES_INFO,
116 PACKAGE_FEATURES_PACKAGE_INFO,
117 DEVICE_LIST_PACKAGE_INFO);
119 packageMapping.insert(std::make_pair(
120 PACKAGE_FUNCTION_API_GET_PACKAGES_INFO,
121 getPackagesInfoFunc));
123 // setPackageInfoEventListener
124 AceFunction setPackageInfoEventListenerFunc = ACE_CREATE_FUNCTION(
125 FUNCTION_SET_PACKAGE_INFO_EVENT_LISTENER,
126 PACKAGE_FUNCTION_API_SET_PACKAGE_INFO_EVENT_LISTENER,
127 PACKAGE_FEATURES_PACKAGE_INFO,
128 DEVICE_LIST_PACKAGE_INFO);
130 packageMapping.insert(std::make_pair(
131 PACKAGE_FUNCTION_API_SET_PACKAGE_INFO_EVENT_LISTENER,
132 setPackageInfoEventListenerFunc));
134 // unsetPackageInfoEventListener
135 AceFunction unsetPackageInfoEventListenerFunc = ACE_CREATE_FUNCTION(
136 FUNCTION_UNSET_PACKAGE_INFO_EVENT_LISTENER,
137 PACKAGE_FUNCTION_API_UNSET_PACKAGE_INFO_EVENT_LISTENER,
138 PACKAGE_FEATURES_PACKAGE_INFO,
139 DEVICE_LIST_PACKAGE_INFO);
141 packageMapping.insert(std::make_pair(
142 PACKAGE_FUNCTION_API_UNSET_PACKAGE_INFO_EVENT_LISTENER,
143 unsetPackageInfoEventListenerFunc));
145 return packageMapping;