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"
34 using namespace WrtDeviceApis::Commons;
39 static FunctionMapping createContentFunctions();
41 static FunctionMapping ContentFunctions = createContentFunctions();
43 DEFINE_FUNCTION_GETTER(Content, ContentFunctions);
45 static FunctionMapping createContentFunctions()
50 ACE_CREATE_DEVICE_CAP(DEVICE_CAP_CONTENT_READ, CONTENT_DEVICE_CAP_READ);
51 ACE_CREATE_DEVICE_CAP(DEVICE_CAP_CONTENT_WRITE, CONTENT_DEVICE_CAP_WRITE);
53 ACE_CREATE_DEVICE_CAPS_LIST(EMPTY_DEVICE_LIST);
54 ACE_CREATE_DEVICE_CAPS_LIST(DEVICE_LIST_CONTENT_READ);
55 ACE_ADD_DEVICE_CAP(DEVICE_LIST_CONTENT_READ, DEVICE_CAP_CONTENT_READ);
57 ACE_CREATE_DEVICE_CAPS_LIST(DEVICE_LIST_CONTENT_WRITE);
58 ACE_ADD_DEVICE_CAP(DEVICE_LIST_CONTENT_WRITE, DEVICE_CAP_CONTENT_WRITE);
63 ACE_CREATE_FEATURE(FEATURE_CONTENT_READ, CONTENT_FEATURE_API_READ);
64 ACE_CREATE_FEATURE(FEATURE_CONTENT_WRITE, CONTENT_FEATURE_API_WRITE);
66 ACE_CREATE_FEATURE_LIST(CONTENT_FEATURES_CONTENT_READ_WRITE);
67 ACE_ADD_API_FEATURE(CONTENT_FEATURES_CONTENT_READ_WRITE, FEATURE_CONTENT_READ);
68 ACE_ADD_API_FEATURE(CONTENT_FEATURES_CONTENT_READ_WRITE, FEATURE_CONTENT_WRITE);
70 ACE_CREATE_FEATURE_LIST(CONTENT_FEATURES_CONTENT_READ);
71 ACE_ADD_API_FEATURE(CONTENT_FEATURES_CONTENT_READ, FEATURE_CONTENT_READ);
73 ACE_CREATE_FEATURE_LIST(CONTENT_FEATURES_CONTENT_WRITE);
74 ACE_ADD_API_FEATURE(CONTENT_FEATURES_CONTENT_WRITE, FEATURE_CONTENT_WRITE);
76 ACE_CREATE_FEATURE_LIST(CONTENT_FEATURES_CONTENT);
77 ACE_ADD_API_FEATURE(CONTENT_FEATURES_CONTENT,
80 ACE_CREATE_FEATURE_LIST(CONTENT_FEATURES_READ);
81 ACE_ADD_API_FEATURE(CONTENT_FEATURES_READ,
82 FEATURE_CONTENT_READ);
84 ACE_CREATE_FEATURE_LIST(CONTENT_FEATURES_WRITE);
85 ACE_ADD_API_FEATURE(CONTENT_FEATURES_WRITE,
86 FEATURE_CONTENT_WRITE);
91 FunctionMapping contentMapping;
93 //"getLocalMediaSource"
94 AceFunction getLocalMediaSourceFunc = ACE_CREATE_FUNCTION(
95 FUNCTION_GET_LOCAL_MEDIA_SOURCE,
96 CONTENT_FUNCTION_API_GET_LOCAL_MEDIASOURCE,
97 CONTENT_FEATURES_CONTENT_READ_WRITE,
98 DEVICE_LIST_CONTENT_READ);
100 contentMapping.insert(std::make_pair(
101 CONTENT_FUNCTION_API_GET_LOCAL_MEDIASOURCE,
102 getLocalMediaSourceFunc));
106 AceFunction findItemsFunc = ACE_CREATE_FUNCTION(
108 CONTENT_FUNCTION_API_FIND_ITEMS,
109 CONTENT_FEATURES_CONTENT_READ,
110 DEVICE_LIST_CONTENT_READ);
112 contentMapping.insert(std::make_pair(
113 CONTENT_FUNCTION_API_FIND_ITEMS,
118 AceFunction updateItemFunc = ACE_CREATE_FUNCTION(
119 FUNCTION_UPDATE_ITEM,
120 CONTENT_FUNCTION_API_UPDATE_ITEM,
121 CONTENT_FEATURES_CONTENT_WRITE,
122 DEVICE_LIST_CONTENT_WRITE);
124 contentMapping.insert(std::make_pair(
125 CONTENT_FUNCTION_API_UPDATE_ITEM,
129 AceFunction updateItemsBatchFunc = ACE_CREATE_FUNCTION(
130 FUNCTION_UPDATE_ITEMS_BATCH,
131 CONTENT_FUNCTION_API_UPDATE_ITEMS_BATCH,
132 CONTENT_FEATURES_CONTENT_WRITE,
133 DEVICE_LIST_CONTENT_WRITE);
135 contentMapping.insert(std::make_pair(
136 CONTENT_FUNCTION_API_UPDATE_ITEMS_BATCH,
137 updateItemsBatchFunc));
140 AceFunction scanFileFunc = ACE_CREATE_FUNCTION(
142 CONTENT_FUNCTION_API_SCAN_FILE,
143 CONTENT_FEATURES_CONTENT_WRITE,
144 DEVICE_LIST_CONTENT_WRITE);
146 contentMapping.insert(std::make_pair(
147 CONTENT_FUNCTION_API_SCAN_FILE,
151 AceFunction setListenerFunc = ACE_CREATE_FUNCTION(
152 FUNCTION_SET_CHANGE_LISTENER,
153 CONTENT_FUNCTION_API_SET_CHANGE_LISTENER,
154 CONTENT_FEATURES_CONTENT_READ,
155 DEVICE_LIST_CONTENT_READ);
157 contentMapping.insert(std::make_pair(
158 CONTENT_FUNCTION_API_SET_CHANGE_LISTENER,
161 //unsetChangeListener
162 AceFunction unsetListenerFunc = ACE_CREATE_FUNCTION(
163 FUNCTION_UNSET_CHANGE_LISTENER,
164 CONTENT_FUNCTION_API_UNSET_CHANGE_LISTENER,
165 CONTENT_FEATURES_CONTENT_READ,
166 DEVICE_LIST_CONTENT_READ);
168 contentMapping.insert(std::make_pair(
169 CONTENT_FUNCTION_API_UNSET_CHANGE_LISTENER,
173 return contentMapping;