Update change log and spec for wrt-plugins-tizen_0.4.12
[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
35 using namespace WrtDeviceApis::Commons;
36
37 namespace DeviceAPI {
38 namespace Content {
39
40 static FunctionMapping createContentFunctions();
41
42 static FunctionMapping ContentFunctions = createContentFunctions();
43
44 DEFINE_FUNCTION_GETTER(Content, ContentFunctions);
45
46 static FunctionMapping createContentFunctions()
47 {
48     /**
49      * Device capabilities
50      */
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);
53
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);
57
58     ACE_CREATE_DEVICE_CAPS_LIST(DEVICE_LIST_CONTENT_WRITE);
59     ACE_ADD_DEVICE_CAP(DEVICE_LIST_CONTENT_WRITE, DEVICE_CAP_CONTENT_WRITE);
60
61     /**
62      * Api Features
63      */
64     ACE_CREATE_FEATURE(FEATURE_CONTENT_READ, CONTENT_FEATURE_API_READ);
65     ACE_CREATE_FEATURE(FEATURE_CONTENT_WRITE, CONTENT_FEATURE_API_WRITE);
66
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);
70
71     ACE_CREATE_FEATURE_LIST(CONTENT_FEATURES_CONTENT_READ);
72     ACE_ADD_API_FEATURE(CONTENT_FEATURES_CONTENT_READ, FEATURE_CONTENT_READ);
73
74     ACE_CREATE_FEATURE_LIST(CONTENT_FEATURES_CONTENT_WRITE);
75     ACE_ADD_API_FEATURE(CONTENT_FEATURES_CONTENT_WRITE, FEATURE_CONTENT_WRITE);
76
77 #if 0
78     ACE_CREATE_FEATURE_LIST(CONTENT_FEATURES_CONTENT);
79     ACE_ADD_API_FEATURE(CONTENT_FEATURES_CONTENT,
80                         FEATURE_CONTENT);
81
82     ACE_CREATE_FEATURE_LIST(CONTENT_FEATURES_READ);
83     ACE_ADD_API_FEATURE(CONTENT_FEATURES_READ,
84                         FEATURE_CONTENT_READ);
85
86     ACE_CREATE_FEATURE_LIST(CONTENT_FEATURES_WRITE);
87     ACE_ADD_API_FEATURE(CONTENT_FEATURES_WRITE,
88                         FEATURE_CONTENT_WRITE);
89 #endif
90     /**
91      * Functions
92      */
93     FunctionMapping contentMapping;
94
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);
101
102     contentMapping.insert(std::make_pair(
103                                CONTENT_FUNCTION_API_GET_LOCAL_MEDIASOURCE,
104                                getLocalMediaSourceFunc));
105
106
107     //findItems
108     AceFunction findItemsFunc = ACE_CREATE_FUNCTION(
109             FUNCTION_FIND_ITEMS,
110             CONTENT_FUNCTION_API_FIND_ITEMS,
111             CONTENT_FEATURES_CONTENT_READ,
112             DEVICE_LIST_CONTENT_READ);
113
114     contentMapping.insert(std::make_pair(
115                                CONTENT_FUNCTION_API_FIND_ITEMS,
116                                findItemsFunc));
117
118
119     //updateItem
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);
125
126     contentMapping.insert(std::make_pair(
127                                CONTENT_FUNCTION_API_UPDATE_ITEM,
128                                updateItemFunc));
129
130     //updateItemsBatch
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);
136
137     contentMapping.insert(std::make_pair(
138                                CONTENT_FUNCTION_API_UPDATE_ITEMS_BATCH,
139                                updateItemsBatchFunc));
140
141     //scanFile
142     AceFunction scanFileFunc = ACE_CREATE_FUNCTION(
143             FUNCTION_SCAN_FILE,
144             CONTENT_FUNCTION_API_SCAN_FILE,
145             CONTENT_FEATURES_CONTENT_WRITE,
146             DEVICE_LIST_CONTENT_WRITE);
147
148     contentMapping.insert(std::make_pair(
149                                CONTENT_FUNCTION_API_SCAN_FILE,
150                                scanFileFunc));
151
152     //setChangeListener
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);
158
159     contentMapping.insert(std::make_pair(
160                                CONTENT_FUNCTION_API_SET_CHANGE_LISTENER,
161                                setListenerFunc));
162
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);
169
170     contentMapping.insert(std::make_pair(
171                                CONTENT_FUNCTION_API_UNSET_CHANGE_LISTENER,
172                                unsetListenerFunc));
173
174
175     return contentMapping;
176 }
177
178 }
179 }