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.
22 #include <Commons/FunctionDefinition.h>
23 #include <Commons/FunctionDeclaration.h>
24 #include <Commons/Exception.h>
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"
30 namespace CallHistory {
32 const char* CALL_HISTORY_DEVICE_CAP_READ = "callhistory.read";
33 const char* CALL_HISTORY_DEVICE_CAP_WRITE = "callhistory.write";
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";
43 static WrtDeviceApis::Commons::FunctionMapping createCallHistoryFunctions();
45 static WrtDeviceApis::Commons::FunctionMapping CallHistoryFunctions = createCallHistoryFunctions();
47 #pragma GCC visibility push(default)
49 DEFINE_FUNCTION_GETTER(CallHistory, CallHistoryFunctions);
51 #pragma GCC visibility pop
53 static WrtDeviceApis::Commons::FunctionMapping createCallHistoryFunctions()
55 using namespace WrtDeviceApis::Commons;
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);
60 ACE_CREATE_DEVICE_CAPS_LIST(EMPTY_DEVICE_LIST);
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);
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);
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);
71 ACE_CREATE_FEATURE_LIST(CALL_FEATURES_CALL_HISTORY_READ);
72 ACE_ADD_API_FEATURE(CALL_FEATURES_CALL_HISTORY_READ, FEATURE_CALL_HISTORY_READ);
74 ACE_CREATE_FEATURE_LIST(CALL_FEATURES_CALL_HISTORY_WRITE);
75 ACE_ADD_API_FEATURE(CALL_FEATURES_CALL_HISTORY_WRITE, FEATURE_CALL_HISTORY_WRITE);
77 FunctionMapping CallHistoryMapping;
79 AceFunction findFunc = ACE_CREATE_FUNCTION(
81 CALL_HISTORY_FUNCTION_API_FIND,
82 CALL_FEATURES_CALL_HISTORY_READ,
85 CallHistoryMapping.insert(std::make_pair(CALL_HISTORY_FUNCTION_API_FIND, findFunc));
87 AceFunction removeFunc = ACE_CREATE_FUNCTION(
89 CALL_HISTORY_FUNCTION_API_REMOVE,
90 CALL_FEATURES_CALL_HISTORY_WRITE,
93 CallHistoryMapping.insert(std::make_pair(CALL_HISTORY_FUNCTION_API_REMOVE, removeFunc));
95 AceFunction removeBatchFunc = ACE_CREATE_FUNCTION(
96 FUNCTION_REMOVE_BATCH,
97 CALL_HISTORY_FUNCTION_API_REMOVE_BATCH,
98 CALL_FEATURES_CALL_HISTORY_WRITE,
101 CallHistoryMapping.insert(std::make_pair(CALL_HISTORY_FUNCTION_API_REMOVE_BATCH, removeBatchFunc));
103 AceFunction removeAllFunc = ACE_CREATE_FUNCTION(
105 CALL_HISTORY_FUNCTION_API_REMOVE_ALL,
106 CALL_FEATURES_CALL_HISTORY_WRITE,
109 CallHistoryMapping.insert(std::make_pair(CALL_HISTORY_FUNCTION_API_REMOVE_ALL, removeAllFunc));
111 AceFunction addListenerFunc = ACE_CREATE_FUNCTION(
112 FUNCTION_ADD_LISTENER,
113 CALL_HISTORY_FUNCTION_API_ADDLISTENER,
114 CALL_FEATURES_CALL_HISTORY_READ,
117 CallHistoryMapping.insert(std::make_pair(CALL_HISTORY_FUNCTION_API_ADDLISTENER, addListenerFunc));
119 AceFunction removeListenerFunc = ACE_CREATE_FUNCTION(
120 FUNCTION_REMOVE_LISTENER,
121 CALL_HISTORY_FUNCTION_API_REMOVELISTENER,
122 CALL_FEATURES_CALL_HISTORY_READ,
125 CallHistoryMapping.insert(std::make_pair(CALL_HISTORY_FUNCTION_API_REMOVELISTENER, removeListenerFunc));
127 return CallHistoryMapping;