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>
25 #include "plugin_config.h"
27 #define CALL_HISTORY_FEATURE_API_READ "http://tizen.org/privilege/callhistory.read"
28 #define CALL_HISTORY_FEATURE_API_WRITE "http://tizen.org/privilege/callhistory.write"
31 namespace CallHistory {
33 const char* CALL_HISTORY_DEVICE_CAP_READ = "callhistory.read";
34 const char* CALL_HISTORY_DEVICE_CAP_WRITE = "callhistory.write";
37 static WrtDeviceApis::Commons::FunctionMapping createCallHistoryFunctions();
39 static WrtDeviceApis::Commons::FunctionMapping CallHistoryFunctions = createCallHistoryFunctions();
41 DEFINE_FUNCTION_GETTER(CallHistory, CallHistoryFunctions);
43 static WrtDeviceApis::Commons::FunctionMapping createCallHistoryFunctions()
45 using namespace WrtDeviceApis::Commons;
47 ACE_CREATE_DEVICE_CAP(DEVICE_CAP_CALL_HISTORY_READ, CALL_HISTORY_DEVICE_CAP_READ);
48 ACE_CREATE_DEVICE_CAP(DEVICE_CAP_CALL_HISTORY_WRITE, CALL_HISTORY_DEVICE_CAP_WRITE);
50 ACE_CREATE_DEVICE_CAPS_LIST(EMPTY_DEVICE_LIST);
52 ACE_CREATE_DEVICE_CAPS_LIST(DEVICE_LIST_CALL_HISTORY_READ);
53 ACE_ADD_DEVICE_CAP(DEVICE_LIST_CALL_HISTORY_READ, DEVICE_CAP_CALL_HISTORY_READ);
55 ACE_CREATE_DEVICE_CAPS_LIST(DEVICE_LIST_CALL_HISTORY_WRITE);
56 ACE_ADD_DEVICE_CAP(DEVICE_LIST_CALL_HISTORY_WRITE, DEVICE_CAP_CALL_HISTORY_WRITE);
58 ACE_CREATE_FEATURE(FEATURE_CALL_HISTORY_READ, CALL_HISTORY_FEATURE_API_READ);
59 ACE_CREATE_FEATURE(FEATURE_CALL_HISTORY_WRITE, CALL_HISTORY_FEATURE_API_WRITE);
61 ACE_CREATE_FEATURE_LIST(CALL_FEATURES_CALL_HISTORY_READ);
62 ACE_ADD_API_FEATURE(CALL_FEATURES_CALL_HISTORY_READ, FEATURE_CALL_HISTORY_READ);
64 ACE_CREATE_FEATURE_LIST(CALL_FEATURES_CALL_HISTORY_WRITE);
65 ACE_ADD_API_FEATURE(CALL_FEATURES_CALL_HISTORY_WRITE, FEATURE_CALL_HISTORY_WRITE);
67 FunctionMapping CallHistoryMapping;
69 AceFunction findFunc = ACE_CREATE_FUNCTION(
71 CALL_HISTORY_FUNCTION_API_FIND,
72 CALL_FEATURES_CALL_HISTORY_READ,
75 CallHistoryMapping.insert(std::make_pair(CALL_HISTORY_FUNCTION_API_FIND, findFunc));
77 AceFunction removeFunc = ACE_CREATE_FUNCTION(
79 CALL_HISTORY_FUNCTION_API_REMOVE,
80 CALL_FEATURES_CALL_HISTORY_WRITE,
83 CallHistoryMapping.insert(std::make_pair(CALL_HISTORY_FUNCTION_API_REMOVE, removeFunc));
85 AceFunction removeBatchFunc = ACE_CREATE_FUNCTION(
86 FUNCTION_REMOVE_BATCH,
87 CALL_HISTORY_FUNCTION_API_REMOVE_BATCH,
88 CALL_FEATURES_CALL_HISTORY_WRITE,
91 CallHistoryMapping.insert(std::make_pair(CALL_HISTORY_FUNCTION_API_REMOVE_BATCH, removeBatchFunc));
93 AceFunction removeAllFunc = ACE_CREATE_FUNCTION(
95 CALL_HISTORY_FUNCTION_API_REMOVE_ALL,
96 CALL_FEATURES_CALL_HISTORY_WRITE,
99 CallHistoryMapping.insert(std::make_pair(CALL_HISTORY_FUNCTION_API_REMOVE_ALL, removeAllFunc));
101 AceFunction addListenerFunc = ACE_CREATE_FUNCTION(
102 FUNCTION_ADD_LISTENER,
103 CALL_HISTORY_FUNCTION_API_ADDLISTENER,
104 CALL_FEATURES_CALL_HISTORY_READ,
107 CallHistoryMapping.insert(std::make_pair(CALL_HISTORY_FUNCTION_API_ADDLISTENER, addListenerFunc));
109 AceFunction removeListenerFunc = ACE_CREATE_FUNCTION(
110 FUNCTION_REMOVE_LISTENER,
111 CALL_HISTORY_FUNCTION_API_REMOVELISTENER,
112 CALL_FEATURES_CALL_HISTORY_READ,
115 CallHistoryMapping.insert(std::make_pair(CALL_HISTORY_FUNCTION_API_REMOVELISTENER, removeListenerFunc));
117 return CallHistoryMapping;