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.
19 #include <Commons/FunctionDefinition.h>
20 #include <Commons/FunctionDeclaration.h>
22 #include <Commons/Exception.h>
23 #include <dpl/exception.h>
26 #include "plugin_config.h"
28 #define CONTENT_FEATURE_API_READ "http://tizen.org/privilege/content.read"
29 #define CONTENT_FEATURE_API_WRITE "http://tizen.org/privilege/content.write"
31 #define CONTENT_DEVICE_CAP_READ "content.read"
32 #define CONTENT_DEVICE_CAP_WRITE "content.write"
35 using namespace WrtDeviceApis::Commons;
40 static FunctionMapping createContentFunctions();
42 static FunctionMapping ContentFunctions = createContentFunctions();
44 DEFINE_FUNCTION_GETTER(Content, ContentFunctions);
46 static FunctionMapping createContentFunctions()
51 ACE_CREATE_DEVICE_CAP(DEVICE_CAP_CONTENT_READ, CONTENT_DEVICE_CAP_READ);
52 ACE_CREATE_DEVICE_CAP(DEVICE_CAP_CONTENT_WRITE, CONTENT_DEVICE_CAP_WRITE);
54 ACE_CREATE_DEVICE_CAPS_LIST(EMPTY_DEVICE_LIST);
55 ACE_CREATE_DEVICE_CAPS_LIST(DEVICE_LIST_CONTENT_READ);
56 ACE_ADD_DEVICE_CAP(DEVICE_LIST_CONTENT_READ, DEVICE_CAP_CONTENT_READ);
58 ACE_CREATE_DEVICE_CAPS_LIST(DEVICE_LIST_CONTENT_WRITE);
59 ACE_ADD_DEVICE_CAP(DEVICE_LIST_CONTENT_WRITE, DEVICE_CAP_CONTENT_WRITE);
64 ACE_CREATE_FEATURE(FEATURE_CONTENT_READ, CONTENT_FEATURE_API_READ);
65 ACE_CREATE_FEATURE(FEATURE_CONTENT_WRITE, CONTENT_FEATURE_API_WRITE);
67 ACE_CREATE_FEATURE_LIST(CONTENT_FEATURES_CONTENT_READ_WRITE);
68 ACE_ADD_API_FEATURE(CONTENT_FEATURES_CONTENT_READ_WRITE, FEATURE_CONTENT_READ);
69 ACE_ADD_API_FEATURE(CONTENT_FEATURES_CONTENT_READ_WRITE, FEATURE_CONTENT_WRITE);
71 ACE_CREATE_FEATURE_LIST(CONTENT_FEATURES_CONTENT_READ);
72 ACE_ADD_API_FEATURE(CONTENT_FEATURES_CONTENT_READ, FEATURE_CONTENT_READ);
74 ACE_CREATE_FEATURE_LIST(CONTENT_FEATURES_CONTENT_WRITE);
75 ACE_ADD_API_FEATURE(CONTENT_FEATURES_CONTENT_WRITE, FEATURE_CONTENT_WRITE);
78 ACE_CREATE_FEATURE_LIST(CONTENT_FEATURES_CONTENT);
79 ACE_ADD_API_FEATURE(CONTENT_FEATURES_CONTENT,
82 ACE_CREATE_FEATURE_LIST(CONTENT_FEATURES_READ);
83 ACE_ADD_API_FEATURE(CONTENT_FEATURES_READ,
84 FEATURE_CONTENT_READ);
86 ACE_CREATE_FEATURE_LIST(CONTENT_FEATURES_WRITE);
87 ACE_ADD_API_FEATURE(CONTENT_FEATURES_WRITE,
88 FEATURE_CONTENT_WRITE);
93 FunctionMapping contentMapping;
95 //"getLocalMediaSource"
96 AceFunction getLocalMediaSourceFunc = ACE_CREATE_FUNCTION(
97 FUNCTION_GET_LOCAL_MEDIA_SOURCE,
98 CONTENT_FUNCTION_API_GET_LOCAL_MEDIASOURCE,
99 CONTENT_FEATURES_CONTENT_READ_WRITE,
100 DEVICE_LIST_CONTENT_READ);
102 contentMapping.insert(std::make_pair(
103 CONTENT_FUNCTION_API_GET_LOCAL_MEDIASOURCE,
104 getLocalMediaSourceFunc));
108 AceFunction findItemsFunc = ACE_CREATE_FUNCTION(
110 CONTENT_FUNCTION_API_FIND_ITEMS,
111 CONTENT_FEATURES_CONTENT_READ,
112 DEVICE_LIST_CONTENT_READ);
114 contentMapping.insert(std::make_pair(
115 CONTENT_FUNCTION_API_FIND_ITEMS,
120 AceFunction updateItemFunc = ACE_CREATE_FUNCTION(
121 FUNCTION_UPDATE_ITEM,
122 CONTENT_FUNCTION_API_UPDATE_ITEM,
123 CONTENT_FEATURES_CONTENT_WRITE,
124 DEVICE_LIST_CONTENT_WRITE);
126 contentMapping.insert(std::make_pair(
127 CONTENT_FUNCTION_API_UPDATE_ITEM,
131 AceFunction updateItemsBatchFunc = ACE_CREATE_FUNCTION(
132 FUNCTION_UPDATE_ITEMS_BATCH,
133 CONTENT_FUNCTION_API_UPDATE_ITEMS_BATCH,
134 CONTENT_FEATURES_CONTENT_WRITE,
135 DEVICE_LIST_CONTENT_WRITE);
137 contentMapping.insert(std::make_pair(
138 CONTENT_FUNCTION_API_UPDATE_ITEMS_BATCH,
139 updateItemsBatchFunc));
142 AceFunction scanFileFunc = ACE_CREATE_FUNCTION(
144 CONTENT_FUNCTION_API_SCAN_FILE,
145 CONTENT_FEATURES_CONTENT_WRITE,
146 DEVICE_LIST_CONTENT_WRITE);
148 contentMapping.insert(std::make_pair(
149 CONTENT_FUNCTION_API_SCAN_FILE,
153 AceFunction setListenerFunc = ACE_CREATE_FUNCTION(
154 FUNCTION_SET_CHANGE_LISTENER,
155 CONTENT_FUNCTION_API_SET_CHANGE_LISTENER,
156 CONTENT_FEATURES_CONTENT_READ,
157 DEVICE_LIST_CONTENT_READ);
159 contentMapping.insert(std::make_pair(
160 CONTENT_FUNCTION_API_SET_CHANGE_LISTENER,
163 //unsetChangeListener
164 AceFunction unsetListenerFunc = ACE_CREATE_FUNCTION(
165 FUNCTION_UNSET_CHANGE_LISTENER,
166 CONTENT_FUNCTION_API_UNSET_CHANGE_LISTENER,
167 CONTENT_FEATURES_CONTENT_READ,
168 DEVICE_LIST_CONTENT_READ);
170 contentMapping.insert(std::make_pair(
171 CONTENT_FUNCTION_API_UNSET_CHANGE_LISTENER,
175 return contentMapping;