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.
18 #include <Commons/FunctionDefinition.h>
19 #include <Commons/FunctionDeclaration.h>
21 #include <Commons/Exception.h>
22 #include <dpl/exception.h>
25 #include "plugin_config.h"
27 #define CALENDAR_FEATURE_API "http://tizen.org/api/calendar"
28 #define CALENDAR_FEATURE_API_READ "http://tizen.org/api/calendar.read"
29 #define CALENDAR_FEATURE_API_WRITE "http://tizen.org/api/calendar.write"
31 #define CALENDAR_DEVICE_CAP_READ "calendar.read"
32 #define CALENDAR_DEVICE_CAP_WRITE "calendar.write"
34 using namespace WrtDeviceApis::Commons;
40 static FunctionMapping createCalendarFunctions();
42 static FunctionMapping CalendarFunctions =
43 createCalendarFunctions();
45 DEFINE_FUNCTION_GETTER(Calendar, CalendarFunctions);
47 static FunctionMapping createCalendarFunctions()
52 ACE_CREATE_DEVICE_CAP(DEVICE_CAP_CALENDAR_READ, CALENDAR_DEVICE_CAP_READ);
53 ACE_CREATE_DEVICE_CAP(DEVICE_CAP_CALENDAR_WRITE, CALENDAR_DEVICE_CAP_WRITE);
55 ACE_CREATE_DEVICE_CAPS_LIST(DEVICE_LIST_CALENDAR_READ);
56 ACE_ADD_DEVICE_CAP(DEVICE_LIST_CALENDAR_READ, DEVICE_CAP_CALENDAR_READ);
58 ACE_CREATE_DEVICE_CAPS_LIST(DEVICE_LIST_CALENDAR_WRITE);
59 ACE_ADD_DEVICE_CAP(DEVICE_LIST_CALENDAR_WRITE, DEVICE_CAP_CALENDAR_WRITE);
64 ACE_CREATE_FEATURE(FEATURE_CALENDAR, CALENDAR_FEATURE_API);
65 ACE_CREATE_FEATURE(FEATURE_CALENDAR_READ, CALENDAR_FEATURE_API_READ);
66 ACE_CREATE_FEATURE(FEATURE_CALENDAR_WRITE, CALENDAR_FEATURE_API_WRITE);
68 ACE_CREATE_FEATURE_LIST(CALENDAR_FEATURES_CALENDAR_READ_WRITE);
69 ACE_ADD_API_FEATURE(CALENDAR_FEATURES_CALENDAR_READ_WRITE,
71 ACE_ADD_API_FEATURE(CALENDAR_FEATURES_CALENDAR_READ_WRITE,
72 FEATURE_CALENDAR_READ);
73 ACE_ADD_API_FEATURE(CALENDAR_FEATURES_CALENDAR_READ_WRITE,
74 FEATURE_CALENDAR_WRITE);
76 ACE_CREATE_FEATURE_LIST(CALENDAR_FEATURES_CALENDAR_READ);
77 ACE_ADD_API_FEATURE(CALENDAR_FEATURES_CALENDAR_READ, FEATURE_CALENDAR);
78 ACE_ADD_API_FEATURE(CALENDAR_FEATURES_CALENDAR_READ, FEATURE_CALENDAR_READ);
80 ACE_CREATE_FEATURE_LIST(CALENDAR_FEATURES_CALENDAR_WRITE);
81 ACE_ADD_API_FEATURE(CALENDAR_FEATURES_CALENDAR_WRITE, FEATURE_CALENDAR);
82 ACE_ADD_API_FEATURE(CALENDAR_FEATURES_CALENDAR_WRITE,
83 FEATURE_CALENDAR_WRITE);
88 FunctionMapping calendarMapping;
91 AceFunction getCalendarsFunc = ACE_CREATE_FUNCTION(
92 FUNCTION_GET_CALENDARS,
93 CALENDAR_FUNCTION_API_GET_CALENDARS,
94 CALENDAR_FEATURES_CALENDAR_READ_WRITE,
95 DEVICE_LIST_CALENDAR_READ);
97 calendarMapping.insert(std::make_pair(
98 CALENDAR_FUNCTION_API_GET_CALENDARS,
102 AceFunction getDefaultCalendarFunc = ACE_CREATE_FUNCTION(
103 FUNCTION_GET_DEFAULT_CALENDAR,
104 CALENDAR_FUNCTION_API_GET_DEFAULT_CALENDAR,
105 CALENDAR_FEATURES_CALENDAR_READ_WRITE,
106 DEVICE_LIST_CALENDAR_READ);
108 calendarMapping.insert(std::make_pair(
109 CALENDAR_FUNCTION_API_GET_DEFAULT_CALENDAR,
110 getDefaultCalendarFunc));
113 AceFunction getCalendarFunc = ACE_CREATE_FUNCTION(
114 FUNCTION_GET_CALENDAR,
115 CALENDAR_FUNCTION_API_GET_CALENDAR,
116 CALENDAR_FEATURES_CALENDAR_READ_WRITE,
117 DEVICE_LIST_CALENDAR_READ);
119 calendarMapping.insert(std::make_pair(
120 CALENDAR_FUNCTION_API_GET_CALENDAR,
124 AceFunction findFunc = ACE_CREATE_FUNCTION(
126 CALENDAR_FUNCTION_API_FIND,
127 CALENDAR_FEATURES_CALENDAR_READ,
128 DEVICE_LIST_CALENDAR_READ);
130 calendarMapping.insert(std::make_pair(
131 CALENDAR_FUNCTION_API_FIND,
135 AceFunction addFunc = ACE_CREATE_FUNCTION(
137 CALENDAR_FUNCTION_API_ADD,
138 CALENDAR_FEATURES_CALENDAR_WRITE,
139 DEVICE_LIST_CALENDAR_WRITE);
141 calendarMapping.insert(std::make_pair(
142 CALENDAR_FUNCTION_API_ADD,
146 AceFunction addBatchFunc = ACE_CREATE_FUNCTION(
148 CALENDAR_FUNCTION_API_ADD_BATCH,
149 CALENDAR_FEATURES_CALENDAR_WRITE,
150 DEVICE_LIST_CALENDAR_WRITE);
152 calendarMapping.insert(std::make_pair(
153 CALENDAR_FUNCTION_API_ADD_BATCH,
157 AceFunction updateFunc = ACE_CREATE_FUNCTION(
159 CALENDAR_FUNCTION_API_UPDATE,
160 CALENDAR_FEATURES_CALENDAR_WRITE,
161 DEVICE_LIST_CALENDAR_WRITE);
163 calendarMapping.insert(std::make_pair(
164 CALENDAR_FUNCTION_API_UPDATE,
168 AceFunction updateBatchFunc = ACE_CREATE_FUNCTION(
169 FUNCTION_UPDATE_BATCH,
170 CALENDAR_FUNCTION_API_UPDATE_BATCH,
171 CALENDAR_FEATURES_CALENDAR_WRITE,
172 DEVICE_LIST_CALENDAR_WRITE);
174 calendarMapping.insert(std::make_pair(
175 CALENDAR_FUNCTION_API_UPDATE_BATCH,
179 AceFunction removeFunc = ACE_CREATE_FUNCTION(
181 CALENDAR_FUNCTION_API_REMOVE,
182 CALENDAR_FEATURES_CALENDAR_WRITE,
183 DEVICE_LIST_CALENDAR_WRITE);
185 calendarMapping.insert(std::make_pair(
186 CALENDAR_FUNCTION_API_REMOVE,
190 AceFunction removeBatchFunc = ACE_CREATE_FUNCTION(
191 FUNCTION_REMOVE_BATCH,
192 CALENDAR_FUNCTION_API_REMOVE_BATCH,
193 CALENDAR_FEATURES_CALENDAR_WRITE,
194 DEVICE_LIST_CALENDAR_WRITE);
196 calendarMapping.insert(std::make_pair(
197 CALENDAR_FUNCTION_API_REMOVE_BATCH,
201 /*AceFunction convertFromStringFunc = ACE_CREATE_FUNCTION(
202 FUNCTION_CONVERT_FROM_STRING,
203 CALENDAR_FUNCTION_API_CONVERT_FROM_STRING,
204 CALENDAR_FEATURES_CALENDAR_READ_WRITE,
205 DEVICE_LIST_CALENDAR_READ);
207 calendarMapping.insert(std::make_pair(
208 CALENDAR_FUNCTION_API_CONVERT_FROM_STRING,
209 convertFromStringFunc));*/
212 AceFunction convertToStringFunc = ACE_CREATE_FUNCTION(
213 FUNCTION_CONVERT_TO_STRING,
214 CALENDAR_FUNCTION_API_CONVERT_TO_STRING,
215 CALENDAR_FEATURES_CALENDAR_READ_WRITE,
216 DEVICE_LIST_CALENDAR_READ);
218 calendarMapping.insert(std::make_pair(
219 CALENDAR_FUNCTION_API_CONVERT_TO_STRING,
220 convertToStringFunc));
223 AceFunction addChangeListenerFunc = ACE_CREATE_FUNCTION(
224 FUNCTION_ADD_CHANGE_LISTENER,
225 CALENDAR_FUNCTION_API_ADD_CHANGE_LISTENER,
226 CALENDAR_FEATURES_CALENDAR_READ,
227 DEVICE_LIST_CALENDAR_READ);
229 calendarMapping.insert(std::make_pair(
230 CALENDAR_FUNCTION_API_ADD_CHANGE_LISTENER,
231 addChangeListenerFunc));
233 //removeChangeListener
234 AceFunction removeChangeListenerFunc = ACE_CREATE_FUNCTION(
235 FUNCTION_REMOVE_CHANGE_LISTENER,
236 CALENDAR_FUNCTION_API_REMOVE_CHANGE_LISTENER,
237 CALENDAR_FEATURES_CALENDAR_READ,
238 DEVICE_LIST_CALENDAR_READ);
240 calendarMapping.insert(std::make_pair(
241 CALENDAR_FUNCTION_API_REMOVE_CHANGE_LISTENER,
242 removeChangeListenerFunc));
245 AceFunction expandRecurrenceFunc = ACE_CREATE_FUNCTION(
246 FUNCTION_EXPAND_RECURRENCE,
247 CALENDAR_FUNCTION_API_EXPAND_RECURRENCE,
248 CALENDAR_FEATURES_CALENDAR_READ,
249 DEVICE_LIST_CALENDAR_READ);
251 calendarMapping.insert(std::make_pair(
252 CALENDAR_FUNCTION_API_EXPAND_RECURRENCE,
253 expandRecurrenceFunc));
256 AceFunction getFunc = ACE_CREATE_FUNCTION(
258 CALENDAR_FUNCTION_API_GET,
259 CALENDAR_FEATURES_CALENDAR_READ,
260 DEVICE_LIST_CALENDAR_READ);
262 calendarMapping.insert(std::make_pair(
263 CALENDAR_FUNCTION_API_GET,
267 AceFunction cloneFunc = ACE_CREATE_FUNCTION(
269 CALENDAR_FUNCTION_API_CLONE,
270 CALENDAR_FEATURES_CALENDAR_READ,
271 DEVICE_LIST_CALENDAR_READ);
273 calendarMapping.insert(std::make_pair(
274 CALENDAR_FUNCTION_API_CLONE,
277 return calendarMapping;