5d0a2f95bf3add680ae9a27e0b3a0f33909921f0
[framework/web/wrt-plugins-tizen.git] / src / Content / plugin_config.cpp
1 //
2 // Tizen Web Device API
3 // Copyright (c) 2012 Samsung Electronics Co., Ltd.
4 //
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
8 //
9 // http://www.apache.org/licenses/LICENSE-2.0
10 //
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.
16 //
17
18
19 #include <Commons/FunctionDefinition.h>
20 #include <Commons/FunctionDeclaration.h>
21 #include <iostream>
22 #include <Commons/Exception.h>
23 #include <dpl/exception.h>
24 #include <map>
25
26 #include "plugin_config.h"
27
28 #define CONTENT_FEATURE_API_READ  "http://tizen.org/privilege/content.read"
29 #define CONTENT_FEATURE_API_WRITE "http://tizen.org/privilege/content.write"
30
31 #define CONTENT_DEVICE_CAP_READ "content.read"
32 #define CONTENT_DEVICE_CAP_WRITE "content.write"
33
34 using namespace WrtDeviceApis::Commons;
35
36 namespace DeviceAPI {
37 namespace Content {
38
39 static FunctionMapping createContentFunctions();
40
41 static FunctionMapping ContentFunctions = createContentFunctions();
42
43 DEFINE_FUNCTION_GETTER(Content, ContentFunctions);
44
45 static FunctionMapping createContentFunctions()
46 {
47     /**
48      * Device capabilities
49      */
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);
52
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);
56
57     ACE_CREATE_DEVICE_CAPS_LIST(DEVICE_LIST_CONTENT_WRITE);
58     ACE_ADD_DEVICE_CAP(DEVICE_LIST_CONTENT_WRITE, DEVICE_CAP_CONTENT_WRITE);
59
60     /**
61      * Api Features
62      */
63     ACE_CREATE_FEATURE(FEATURE_CONTENT_READ, CONTENT_FEATURE_API_READ);
64     ACE_CREATE_FEATURE(FEATURE_CONTENT_WRITE, CONTENT_FEATURE_API_WRITE);
65
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);
69
70     ACE_CREATE_FEATURE_LIST(CONTENT_FEATURES_CONTENT_READ);
71     ACE_ADD_API_FEATURE(CONTENT_FEATURES_CONTENT_READ, FEATURE_CONTENT_READ);
72
73     ACE_CREATE_FEATURE_LIST(CONTENT_FEATURES_CONTENT_WRITE);
74     ACE_ADD_API_FEATURE(CONTENT_FEATURES_CONTENT_WRITE, FEATURE_CONTENT_WRITE);
75 #if 0
76     ACE_CREATE_FEATURE_LIST(CONTENT_FEATURES_CONTENT);
77     ACE_ADD_API_FEATURE(CONTENT_FEATURES_CONTENT,
78                         FEATURE_CONTENT);
79         
80     ACE_CREATE_FEATURE_LIST(CONTENT_FEATURES_READ);
81     ACE_ADD_API_FEATURE(CONTENT_FEATURES_READ,
82                         FEATURE_CONTENT_READ);
83
84     ACE_CREATE_FEATURE_LIST(CONTENT_FEATURES_WRITE);
85     ACE_ADD_API_FEATURE(CONTENT_FEATURES_WRITE,
86                         FEATURE_CONTENT_WRITE);
87 #endif
88     /**
89      * Functions
90      */
91     FunctionMapping contentMapping;
92
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);
99
100     contentMapping.insert(std::make_pair(
101                                CONTENT_FUNCTION_API_GET_LOCAL_MEDIASOURCE,
102                                getLocalMediaSourceFunc));
103
104
105     //findItems
106     AceFunction findItemsFunc = ACE_CREATE_FUNCTION(
107             FUNCTION_FIND_ITEMS,
108             CONTENT_FUNCTION_API_FIND_ITEMS,
109             CONTENT_FEATURES_CONTENT_READ,
110             DEVICE_LIST_CONTENT_READ);
111
112     contentMapping.insert(std::make_pair(
113                                CONTENT_FUNCTION_API_FIND_ITEMS,
114                                findItemsFunc));
115
116
117     //updateItem
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);
123
124     contentMapping.insert(std::make_pair(
125                                CONTENT_FUNCTION_API_UPDATE_ITEM,
126                                updateItemFunc));
127
128     //updateItemsBatch
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);
134
135     contentMapping.insert(std::make_pair(
136                                CONTENT_FUNCTION_API_UPDATE_ITEMS_BATCH,
137                                updateItemsBatchFunc));
138
139     //scanFile
140     AceFunction scanFileFunc = ACE_CREATE_FUNCTION(
141             FUNCTION_SCAN_FILE,
142             CONTENT_FUNCTION_API_SCAN_FILE,
143             CONTENT_FEATURES_CONTENT_WRITE,
144             DEVICE_LIST_CONTENT_WRITE);
145
146     contentMapping.insert(std::make_pair(
147                                CONTENT_FUNCTION_API_SCAN_FILE,
148                                scanFileFunc));
149
150     //setChangeListener
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);
156
157     contentMapping.insert(std::make_pair(
158                                CONTENT_FUNCTION_API_SET_CHANGE_LISTENER,
159                                setListenerFunc));
160
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);
167
168     contentMapping.insert(std::make_pair(
169                                CONTENT_FUNCTION_API_UNSET_CHANGE_LISTENER,
170                                unsetListenerFunc));
171
172
173     return contentMapping;
174 }
175
176 }
177 }