e51423eddd43c90a2716c0afca34ce752ac2d532
[profile/ivi/wrt-plugins-tizen.git] / src / standards / Tizen / Call / plugin_config.cpp
1 /*
2  * Copyright (c) 2011 Samsung Electronics Co., Ltd All Rights Reserved
3  *
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
7  *
8  * http://www.apache.org/licenses/LICENSE-2.0
9  *
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. 
15  */
16
17
18 #include <map>
19 #include <utility>
20
21 #include <dpl/assert.h>
22 #include <Commons/FunctionDefinition.h>
23 #include <Commons/FunctionDeclaration.h>
24 #include <Commons/Exception.h>
25
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"
30
31 namespace TizenApis {
32 namespace Tizen1_0 {
33
34 const char* CALL_HISTORY_DEVICE_CAP_READ = "call.history.read";
35 const char* CALL_HISTORY_DEVICE_CAP_WRITE = "call.history.write";
36
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";
40
41 static WrtDeviceApis::Commons::FunctionMapping createCallFunctions();
42
43 static WrtDeviceApis::Commons::FunctionMapping CallFunctions = createCallFunctions();
44
45 DEFINE_FUNCTION_GETTER(Call, CallFunctions);
46
47 static WrtDeviceApis::Commons::FunctionMapping createCallFunctions()
48 {
49         using namespace WrtDeviceApis::Commons;
50
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);
53
54         ACE_CREATE_DEVICE_CAPS_LIST(EMPTY_DEVICE_LIST);
55
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);
58
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);
61
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);
66
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);
72
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);
77
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);
82
83         FunctionMapping CallMapping;
84
85         AceFunction findFunc = ACE_CREATE_FUNCTION(
86                         FUNCTION_FIND,
87                         CALL_HISTORY_FUNCTION_API_FIND,
88                         CALL_FEATURES_CALL_HISTORY_READ_WRITE,
89                         EMPTY_DEVICE_LIST);
90
91         CallMapping.insert(std::make_pair(CALL_HISTORY_FUNCTION_API_FIND, findFunc));
92
93         AceFunction removeFunc = ACE_CREATE_FUNCTION(
94                         FUNCTION_REMOVE,
95                         CALL_HISTORY_FUNCTION_API_REMOVE,
96                         CALL_FEATURES_CALL_HISTORY_WRITE,
97                         EMPTY_DEVICE_LIST);
98
99         CallMapping.insert(std::make_pair(CALL_HISTORY_FUNCTION_API_REMOVE, removeFunc));
100
101         AceFunction removeBatchFunc = ACE_CREATE_FUNCTION(
102                         FUNCTION_REMOVE_BATCH,
103                         CALL_HISTORY_FUNCTION_API_REMOVE_BATCH,
104                         CALL_FEATURES_CALL_HISTORY_WRITE,
105                         EMPTY_DEVICE_LIST);
106
107         CallMapping.insert(std::make_pair(CALL_HISTORY_FUNCTION_API_REMOVE_BATCH, removeBatchFunc));
108
109         return CallMapping;
110 }
111
112 }
113 }