2 * Copyright (c) 2011 Samsung Electronics Co., Ltd All Rights Reserved
4 * Licensed under the Apache License, Version 2.0 (the License);
5 * you may not use this file except in compliance with the License.
6 * You may obtain a copy of the License at
8 * http://www.apache.org/licenses/LICENSE-2.0
10 * Unless required by applicable law or agreed to in writing, software
11 * distributed under the License is distributed on an AS IS BASIS,
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 * See the License for the specific language governing permissions and
14 * limitations under the License.
21 #include <dpl/assert.h>
22 #include <Commons/FunctionDefinition.h>
23 #include <Commons/FunctionDeclaration.h>
24 #include <Commons/Exception.h>
26 #define CALL_FEATURE_API "http://tizen.org/api/call"
27 #define CALL_HISTORY_FEATURE_API "http://tizen.org/api/call.history"
28 #define CALL_HISTORY_FEATURE_API_READ "http://tizen.org/api/call.history.read"
29 #define CALL_HISTORY_FEATURE_API_WRITE "http://tizen.org/api/call.history.write"
34 const char* CALL_HISTORY_DEVICE_CAP_READ = "call.history.read";
35 const char* CALL_HISTORY_DEVICE_CAP_WRITE = "call.history.write";
37 const char* CALL_HISTORY_FUNCTION_API_FIND = "find";
38 const char* CALL_HISTORY_FUNCTION_API_REMOVE = "remove";
39 const char* CALL_HISTORY_FUNCTION_API_REMOVE_BATCH = "removeBatch";
41 static WrtDeviceApis::Commons::FunctionMapping createCallFunctions();
43 static WrtDeviceApis::Commons::FunctionMapping CallFunctions = createCallFunctions();
45 DEFINE_FUNCTION_GETTER(Call, CallFunctions);
47 static WrtDeviceApis::Commons::FunctionMapping createCallFunctions()
49 using namespace WrtDeviceApis::Commons;
51 ACE_CREATE_DEVICE_CAP(DEVICE_CAP_CALL_HISTORY_READ, CALL_HISTORY_DEVICE_CAP_READ);
52 ACE_CREATE_DEVICE_CAP(DEVICE_CAP_CALL_HISTORY_WRITE, CALL_HISTORY_DEVICE_CAP_WRITE);
54 ACE_CREATE_DEVICE_CAPS_LIST(EMPTY_DEVICE_LIST);
56 ACE_CREATE_DEVICE_CAPS_LIST(DEVICE_LIST_CALL_HISTORY_READ);
57 ACE_ADD_DEVICE_CAP(DEVICE_LIST_CALL_HISTORY_READ, DEVICE_CAP_CALL_HISTORY_READ);
59 ACE_CREATE_DEVICE_CAPS_LIST(DEVICE_LIST_CALL_HISTORY_WRITE);
60 ACE_ADD_DEVICE_CAP(DEVICE_LIST_CALL_HISTORY_WRITE, DEVICE_CAP_CALL_HISTORY_WRITE);
62 ACE_CREATE_FEATURE(FEATURE_CALL, CALL_FEATURE_API);
63 ACE_CREATE_FEATURE(FEATURE_CALL_HISTORY, CALL_HISTORY_FEATURE_API);
64 ACE_CREATE_FEATURE(FEATURE_CALL_HISTORY_READ, CALL_HISTORY_FEATURE_API_READ);
65 ACE_CREATE_FEATURE(FEATURE_CALL_HISTORY_WRITE, CALL_HISTORY_FEATURE_API_WRITE);
67 ACE_CREATE_FEATURE_LIST(CALL_FEATURES_CALL_HISTORY_READ_WRITE);
68 ACE_ADD_API_FEATURE(CALL_FEATURES_CALL_HISTORY_READ_WRITE, FEATURE_CALL);
69 ACE_ADD_API_FEATURE(CALL_FEATURES_CALL_HISTORY_READ_WRITE, FEATURE_CALL_HISTORY);
70 ACE_ADD_API_FEATURE(CALL_FEATURES_CALL_HISTORY_READ_WRITE, FEATURE_CALL_HISTORY_READ);
71 ACE_ADD_API_FEATURE(CALL_FEATURES_CALL_HISTORY_READ_WRITE, FEATURE_CALL_HISTORY_WRITE);
73 ACE_CREATE_FEATURE_LIST(CALL_FEATURES_CALL_HISTORY_READ);
74 ACE_ADD_API_FEATURE(CALL_FEATURES_CALL_HISTORY_READ, FEATURE_CALL);
75 ACE_ADD_API_FEATURE(CALL_FEATURES_CALL_HISTORY_READ, FEATURE_CALL_HISTORY);
76 ACE_ADD_API_FEATURE(CALL_FEATURES_CALL_HISTORY_READ, FEATURE_CALL_HISTORY_READ);
78 ACE_CREATE_FEATURE_LIST(CALL_FEATURES_CALL_HISTORY_WRITE);
79 ACE_ADD_API_FEATURE(CALL_FEATURES_CALL_HISTORY_WRITE, FEATURE_CALL);
80 ACE_ADD_API_FEATURE(CALL_FEATURES_CALL_HISTORY_WRITE, FEATURE_CALL_HISTORY);
81 ACE_ADD_API_FEATURE(CALL_FEATURES_CALL_HISTORY_WRITE, FEATURE_CALL_HISTORY_WRITE);
83 FunctionMapping CallMapping;
85 AceFunction findFunc = ACE_CREATE_FUNCTION(
87 CALL_HISTORY_FUNCTION_API_FIND,
88 CALL_FEATURES_CALL_HISTORY_READ_WRITE,
91 CallMapping.insert(std::make_pair(CALL_HISTORY_FUNCTION_API_FIND, findFunc));
93 AceFunction removeFunc = ACE_CREATE_FUNCTION(
95 CALL_HISTORY_FUNCTION_API_REMOVE,
96 CALL_FEATURES_CALL_HISTORY_WRITE,
99 CallMapping.insert(std::make_pair(CALL_HISTORY_FUNCTION_API_REMOVE, removeFunc));
101 AceFunction removeBatchFunc = ACE_CREATE_FUNCTION(
102 FUNCTION_REMOVE_BATCH,
103 CALL_HISTORY_FUNCTION_API_REMOVE_BATCH,
104 CALL_FEATURES_CALL_HISTORY_WRITE,
107 CallMapping.insert(std::make_pair(CALL_HISTORY_FUNCTION_API_REMOVE_BATCH, removeBatchFunc));