Update change log and spec for wrt-plugins-tizen_0.4.46
[platform/framework/web/wrt-plugins-tizen.git] / src / Callhistory / 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 <map>
20 #include <utility>
21
22 #include <Commons/FunctionDefinition.h>
23 #include <Commons/FunctionDeclaration.h>
24 #include <Commons/Exception.h>
25
26 #define CALL_HISTORY_FEATURE_API_READ "http://tizen.org/privilege/callhistory.read"
27 #define CALL_HISTORY_FEATURE_API_WRITE "http://tizen.org/privilege/callhistory.write"
28
29 namespace DeviceAPI {
30 namespace CallHistory {
31
32 const char* CALL_HISTORY_DEVICE_CAP_READ = "callhistory.read";
33 const char* CALL_HISTORY_DEVICE_CAP_WRITE = "callhistory.write";
34
35 const char* CALL_HISTORY_FUNCTION_API_FIND = "find";
36 const char* CALL_HISTORY_FUNCTION_API_REMOVE = "remove";
37 const char* CALL_HISTORY_FUNCTION_API_REMOVE_BATCH = "removeBatch";
38 const char* CALL_HISTORY_FUNCTION_API_REMOVE_ALL = "removeAll";
39 const char* CALL_HISTORY_FUNCTION_API_ADDLISTENER = "addListener";
40 const char* CALL_HISTORY_FUNCTION_API_REMOVELISTENER = "removeListener";
41
42
43 static WrtDeviceApis::Commons::FunctionMapping createCallHistoryFunctions();
44
45 static WrtDeviceApis::Commons::FunctionMapping CallHistoryFunctions = createCallHistoryFunctions();
46
47 #pragma GCC visibility push(default)
48
49 DEFINE_FUNCTION_GETTER(CallHistory, CallHistoryFunctions);
50
51 #pragma GCC visibility pop
52
53 static WrtDeviceApis::Commons::FunctionMapping createCallHistoryFunctions()
54 {
55         using namespace WrtDeviceApis::Commons;
56
57         ACE_CREATE_DEVICE_CAP(DEVICE_CAP_CALL_HISTORY_READ, CALL_HISTORY_DEVICE_CAP_READ);
58         ACE_CREATE_DEVICE_CAP(DEVICE_CAP_CALL_HISTORY_WRITE, CALL_HISTORY_DEVICE_CAP_WRITE);
59
60         ACE_CREATE_DEVICE_CAPS_LIST(EMPTY_DEVICE_LIST);
61
62         ACE_CREATE_DEVICE_CAPS_LIST(DEVICE_LIST_CALL_HISTORY_READ);
63         ACE_ADD_DEVICE_CAP(DEVICE_LIST_CALL_HISTORY_READ, DEVICE_CAP_CALL_HISTORY_READ);
64
65         ACE_CREATE_DEVICE_CAPS_LIST(DEVICE_LIST_CALL_HISTORY_WRITE);
66         ACE_ADD_DEVICE_CAP(DEVICE_LIST_CALL_HISTORY_WRITE, DEVICE_CAP_CALL_HISTORY_WRITE);
67
68         ACE_CREATE_FEATURE(FEATURE_CALL_HISTORY_READ, CALL_HISTORY_FEATURE_API_READ);
69         ACE_CREATE_FEATURE(FEATURE_CALL_HISTORY_WRITE, CALL_HISTORY_FEATURE_API_WRITE);
70
71         ACE_CREATE_FEATURE_LIST(CALL_FEATURES_CALL_HISTORY_READ);
72         ACE_ADD_API_FEATURE(CALL_FEATURES_CALL_HISTORY_READ, FEATURE_CALL_HISTORY_READ);
73
74         ACE_CREATE_FEATURE_LIST(CALL_FEATURES_CALL_HISTORY_WRITE);
75         ACE_ADD_API_FEATURE(CALL_FEATURES_CALL_HISTORY_WRITE, FEATURE_CALL_HISTORY_WRITE);
76
77         FunctionMapping CallHistoryMapping;
78
79         AceFunction findFunc = ACE_CREATE_FUNCTION(
80                         FUNCTION_FIND,
81                         CALL_HISTORY_FUNCTION_API_FIND,
82                         CALL_FEATURES_CALL_HISTORY_READ,
83                         EMPTY_DEVICE_LIST);
84
85         CallHistoryMapping.insert(std::make_pair(CALL_HISTORY_FUNCTION_API_FIND, findFunc));
86
87         AceFunction removeFunc = ACE_CREATE_FUNCTION(
88                         FUNCTION_REMOVE,
89                         CALL_HISTORY_FUNCTION_API_REMOVE,
90                         CALL_FEATURES_CALL_HISTORY_WRITE,
91                         EMPTY_DEVICE_LIST);
92
93         CallHistoryMapping.insert(std::make_pair(CALL_HISTORY_FUNCTION_API_REMOVE, removeFunc));
94
95         AceFunction removeBatchFunc = ACE_CREATE_FUNCTION(
96                         FUNCTION_REMOVE_BATCH,
97                         CALL_HISTORY_FUNCTION_API_REMOVE_BATCH,
98                         CALL_FEATURES_CALL_HISTORY_WRITE,
99                         EMPTY_DEVICE_LIST);
100
101         CallHistoryMapping.insert(std::make_pair(CALL_HISTORY_FUNCTION_API_REMOVE_BATCH, removeBatchFunc));
102
103         AceFunction removeAllFunc = ACE_CREATE_FUNCTION(
104                         FUNCTION_REMOVE_ALL,
105                         CALL_HISTORY_FUNCTION_API_REMOVE_ALL,
106                         CALL_FEATURES_CALL_HISTORY_WRITE,
107                         EMPTY_DEVICE_LIST);
108
109         CallHistoryMapping.insert(std::make_pair(CALL_HISTORY_FUNCTION_API_REMOVE_ALL, removeAllFunc));
110
111         AceFunction addListenerFunc = ACE_CREATE_FUNCTION(
112                         FUNCTION_ADD_LISTENER,
113                         CALL_HISTORY_FUNCTION_API_ADDLISTENER,
114                         CALL_FEATURES_CALL_HISTORY_READ,
115                         EMPTY_DEVICE_LIST);
116
117         CallHistoryMapping.insert(std::make_pair(CALL_HISTORY_FUNCTION_API_ADDLISTENER, addListenerFunc));
118
119         AceFunction removeListenerFunc = ACE_CREATE_FUNCTION(
120                         FUNCTION_REMOVE_LISTENER,
121                         CALL_HISTORY_FUNCTION_API_REMOVELISTENER,
122                         CALL_FEATURES_CALL_HISTORY_READ,
123                         EMPTY_DEVICE_LIST);
124
125         CallHistoryMapping.insert(std::make_pair(CALL_HISTORY_FUNCTION_API_REMOVELISTENER, removeListenerFunc));
126
127         return CallHistoryMapping;
128 }
129
130 }
131 }