4 * Copyright (c) 2012 - 2015 Samsung Electronics Co., Ltd. All rights reserved.
6 * Licensed under the Apache License, Version 2.0 (the "License");
7 * you may not use this file except in compliance with the License.
8 * You may obtain a copy of the License at
10 * http://www.apache.org/licenses/LICENSE-2.0
12 * Unless required by applicable law or agreed to in writing, software
13 * distributed under the License is distributed on an "AS IS" BASIS,
14 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15 * See the License for the specific language governing permissions and
16 * limitations under the License.
23 #include "cal_internal.h"
24 #include "cal_typedef.h"
26 #include "cal_mutex.h"
28 API const _calendar_book_property_ids _calendar_book = {
29 ._uri = CALENDAR_VIEW_CALENDAR,
30 .id = CAL_PROPERTY_CALENDAR_ID,
31 .uid = CAL_PROPERTY_CALENDAR_UID,
32 .name = CAL_PROPERTY_CALENDAR_NAME,
33 .description = CAL_PROPERTY_CALENDAR_DESCRIPTION,
34 .color = CAL_PROPERTY_CALENDAR_COLOR,
35 .location = CAL_PROPERTY_CALENDAR_LOCATION,
36 .visibility = CAL_PROPERTY_CALENDAR_VISIBILITY,
37 .sync_event = CAL_PROPERTY_CALENDAR_SYNC_EVENT,
38 .account_id = CAL_PROPERTY_CALENDAR_ACCOUNT_ID,
39 .store_type = CAL_PROPERTY_CALENDAR_STORE_TYPE,
40 .sync_data1 = CAL_PROPERTY_CALENDAR_SYNC_DATA1,
41 .sync_data2 = CAL_PROPERTY_CALENDAR_SYNC_DATA2,
42 .sync_data3 = CAL_PROPERTY_CALENDAR_SYNC_DATA3,
43 .sync_data4 = CAL_PROPERTY_CALENDAR_SYNC_DATA4,
44 .mode = CAL_PROPERTY_CALENDAR_MODE
47 API const _calendar_event_property_ids _calendar_event = {
48 ._uri = CALENDAR_VIEW_EVENT,
49 .id = CAL_PROPERTY_EVENT_ID,
50 .calendar_book_id = CAL_PROPERTY_EVENT_CALENDAR_ID,
51 .summary = CAL_PROPERTY_EVENT_SUMMARY,
52 .description = CAL_PROPERTY_EVENT_DESCRIPTION,
53 .location = CAL_PROPERTY_EVENT_LOCATION,
54 .categories = CAL_PROPERTY_EVENT_CATEGORIES,
55 .exdate = CAL_PROPERTY_EVENT_EXDATE,
56 .event_status = CAL_PROPERTY_EVENT_EVENT_STATUS,
57 .priority = CAL_PROPERTY_EVENT_PRIORITY,
58 .timezone = CAL_PROPERTY_EVENT_TIMEZONE,
59 .person_id = CAL_PROPERTY_EVENT_CONTACT_ID,
60 .busy_status = CAL_PROPERTY_EVENT_BUSY_STATUS,
61 .sensitivity = CAL_PROPERTY_EVENT_SENSITIVITY,
62 .uid = CAL_PROPERTY_EVENT_UID,
63 .organizer_name = CAL_PROPERTY_EVENT_ORGANIZER_NAME,
64 .organizer_email = CAL_PROPERTY_EVENT_ORGANIZER_EMAIL,
65 .meeting_status = CAL_PROPERTY_EVENT_MEETING_STATUS,
66 .original_event_id = CAL_PROPERTY_EVENT_ORIGINAL_EVENT_ID,
67 .latitude = CAL_PROPERTY_EVENT_LATITUDE,
68 .longitude = CAL_PROPERTY_EVENT_LONGITUDE,
69 .email_id = CAL_PROPERTY_EVENT_EMAIL_ID,
70 .created_time = CAL_PROPERTY_EVENT_CREATED_TIME,
71 .last_modified_time = CAL_PROPERTY_EVENT_LAST_MODIFIED_TIME,
72 .is_deleted = CAL_PROPERTY_EVENT_IS_DELETED,
73 .freq = CAL_PROPERTY_EVENT_FREQ,
74 .range_type = CAL_PROPERTY_EVENT_RANGE_TYPE,
75 .until_time = CAL_PROPERTY_EVENT_UNTIL,
76 .count = CAL_PROPERTY_EVENT_COUNT,
77 .interval = CAL_PROPERTY_EVENT_INTERVAL,
78 .bysecond = CAL_PROPERTY_EVENT_BYSECOND,
79 .byminute = CAL_PROPERTY_EVENT_BYMINUTE,
80 .byhour = CAL_PROPERTY_EVENT_BYHOUR,
81 .byday = CAL_PROPERTY_EVENT_BYDAY,
82 .bymonthday = CAL_PROPERTY_EVENT_BYMONTHDAY,
83 .byyearday = CAL_PROPERTY_EVENT_BYYEARDAY,
84 .byweekno = CAL_PROPERTY_EVENT_BYWEEKNO,
85 .bymonth = CAL_PROPERTY_EVENT_BYMONTH,
86 .bysetpos = CAL_PROPERTY_EVENT_BYSETPOS,
87 .wkst = CAL_PROPERTY_EVENT_WKST,
88 .recurrence_id = CAL_PROPERTY_EVENT_RECURRENCE_ID,
89 .rdate = CAL_PROPERTY_EVENT_RDATE,
90 .has_attendee = CAL_PROPERTY_EVENT_HAS_ATTENDEE,
91 .has_alarm = CAL_PROPERTY_EVENT_HAS_ALARM,
92 .calendar_system_type = CAL_PROPERTY_EVENT_CALENDAR_SYSTEM_TYPE,
93 .sync_data1 = CAL_PROPERTY_EVENT_SYNC_DATA1,
94 .sync_data2 = CAL_PROPERTY_EVENT_SYNC_DATA2,
95 .sync_data3 = CAL_PROPERTY_EVENT_SYNC_DATA3,
96 .sync_data4 = CAL_PROPERTY_EVENT_SYNC_DATA4,
97 .start_time = CAL_PROPERTY_EVENT_START,
98 .start_tzid = CAL_PROPERTY_EVENT_START_TZID,
99 .end_time = CAL_PROPERTY_EVENT_END,
100 .end_tzid = CAL_PROPERTY_EVENT_END_TZID,
101 .calendar_alarm = CAL_PROPERTY_EVENT_CALENDAR_ALARM,
102 .calendar_attendee = CAL_PROPERTY_EVENT_CALENDAR_ATTENDEE,
103 .exception = CAL_PROPERTY_EVENT_EXCEPTION,
104 .extended = CAL_PROPERTY_EVENT_EXTENDED,
105 .is_allday = CAL_PROPERTY_EVENT_IS_ALLDAY
108 API const _calendar_todo_property_ids _calendar_todo = {
109 ._uri = CALENDAR_VIEW_TODO,
110 .id = CAL_PROPERTY_TODO_ID,
111 .calendar_book_id = CAL_PROPERTY_TODO_CALENDAR_ID,
112 .summary = CAL_PROPERTY_TODO_SUMMARY,
113 .description = CAL_PROPERTY_TODO_DESCRIPTION,
114 .location = CAL_PROPERTY_TODO_LOCATION,
115 .categories = CAL_PROPERTY_TODO_CATEGORIES,
116 .todo_status = CAL_PROPERTY_TODO_TODO_STATUS,
117 .priority = CAL_PROPERTY_TODO_PRIORITY,
118 .sensitivity = CAL_PROPERTY_TODO_SENSITIVITY,
119 .uid = CAL_PROPERTY_TODO_UID,
120 .latitude = CAL_PROPERTY_TODO_LATITUDE,
121 .longitude = CAL_PROPERTY_TODO_LONGITUDE,
122 .created_time = CAL_PROPERTY_TODO_CREATED_TIME,
123 .last_modified_time = CAL_PROPERTY_TODO_LAST_MODIFIED_TIME,
124 .completed_time = CAL_PROPERTY_TODO_COMPLETED_TIME,
125 .progress = CAL_PROPERTY_TODO_PROGRESS,
126 .is_deleted = CAL_PROPERTY_TODO_IS_DELETED,
127 .freq = CAL_PROPERTY_TODO_FREQ,
128 .range_type = CAL_PROPERTY_TODO_RANGE_TYPE,
129 .until_time = CAL_PROPERTY_TODO_UNTIL,
130 .count = CAL_PROPERTY_TODO_COUNT,
131 .interval = CAL_PROPERTY_TODO_INTERVAL,
132 .bysecond = CAL_PROPERTY_TODO_BYSECOND,
133 .byminute = CAL_PROPERTY_TODO_BYMINUTE,
134 .byhour = CAL_PROPERTY_TODO_BYHOUR,
135 .byday = CAL_PROPERTY_TODO_BYDAY,
136 .bymonthday = CAL_PROPERTY_TODO_BYMONTHDAY,
137 .byyearday = CAL_PROPERTY_TODO_BYYEARDAY,
138 .byweekno = CAL_PROPERTY_TODO_BYWEEKNO,
139 .bymonth = CAL_PROPERTY_TODO_BYMONTH,
140 .bysetpos = CAL_PROPERTY_TODO_BYSETPOS,
141 .wkst = CAL_PROPERTY_TODO_WKST,
142 .has_alarm = CAL_PROPERTY_TODO_HAS_ALARM,
143 .sync_data1 = CAL_PROPERTY_TODO_SYNC_DATA1,
144 .sync_data2 = CAL_PROPERTY_TODO_SYNC_DATA2,
145 .sync_data3 = CAL_PROPERTY_TODO_SYNC_DATA3,
146 .sync_data4 = CAL_PROPERTY_TODO_SYNC_DATA4,
147 .start_time = CAL_PROPERTY_TODO_START,
148 .start_tzid = CAL_PROPERTY_TODO_START_TZID,
149 .due_time = CAL_PROPERTY_TODO_DUE,
150 .due_tzid = CAL_PROPERTY_TODO_DUE_TZID,
151 .calendar_alarm = CAL_PROPERTY_TODO_CALENDAR_ALARM,
152 .organizer_name = CAL_PROPERTY_TODO_ORGANIZER_NAME,
153 .organizer_email = CAL_PROPERTY_TODO_ORGANIZER_EMAIL,
154 .has_attendee = CAL_PROPERTY_TODO_HAS_ATTENDEE,
155 .calendar_attendee = CAL_PROPERTY_TODO_CALENDAR_ATTENDEE,
156 .extended = CAL_PROPERTY_TODO_EXTENDED,
157 .is_allday = CAL_PROPERTY_TODO_IS_ALLDAY
160 API const _calendar_timezone_property_ids _calendar_timezone = {
161 ._uri = CALENDAR_VIEW_TIMEZONE,
162 .id = CAL_PROPERTY_TIMEZONE_ID,
163 .calendar_book_id = CAL_PROPERTY_TIMEZONE_CALENDAR_ID,
164 .tz_offset_from_gmt = CAL_PROPERTY_TIMEZONE_TZ_OFFSET_FROM_GMT,
165 .standard_name = CAL_PROPERTY_TIMEZONE_STANDARD_NAME,
166 .standard_start_month = CAL_PROPERTY_TIMEZONE_STD_START_MONTH,
167 .standard_start_position_of_week = CAL_PROPERTY_TIMEZONE_STD_START_POSITION_OF_WEEK,
168 .standard_start_day = CAL_PROPERTY_TIMEZONE_STD_START_DAY,
169 .standard_start_hour = CAL_PROPERTY_TIMEZONE_STD_START_HOUR,
170 .standard_bias = CAL_PROPERTY_TIMEZONE_STANDARD_BIAS,
171 .day_light_name = CAL_PROPERTY_TIMEZONE_DAY_LIGHT_NAME,
172 .day_light_start_month = CAL_PROPERTY_TIMEZONE_DAY_LIGHT_START_MONTH,
173 .day_light_start_position_of_week = CAL_PROPERTY_TIMEZONE_DAY_LIGHT_START_POSITION_OF_WEEK,
174 .day_light_start_day = CAL_PROPERTY_TIMEZONE_DAY_LIGHT_START_DAY,
175 .day_light_start_hour = CAL_PROPERTY_TIMEZONE_DAY_LIGHT_START_HOUR,
176 .day_light_bias = CAL_PROPERTY_TIMEZONE_DAY_LIGHT_BIAS
179 API const _calendar_attendee_property_ids _calendar_attendee = {
180 ._uri = CALENDAR_VIEW_ATTENDEE,
181 .parent_id = CAL_PROPERTY_ATTENDEE_PARENT_ID,
182 .number = CAL_PROPERTY_ATTENDEE_NUMBER,
183 .cutype = CAL_PROPERTY_ATTENDEE_CUTYPE,
184 .person_id = CAL_PROPERTY_ATTENDEE_CT_INDEX,
185 .uid = CAL_PROPERTY_ATTENDEE_UID,
186 .group = CAL_PROPERTY_ATTENDEE_GROUP,
187 .email = CAL_PROPERTY_ATTENDEE_EMAIL,
188 .role = CAL_PROPERTY_ATTENDEE_ROLE,
189 .status = CAL_PROPERTY_ATTENDEE_STATUS,
190 .rsvp = CAL_PROPERTY_ATTENDEE_RSVP,
191 .delegatee_uri = CAL_PROPERTY_ATTENDEE_DELEGATEE_URI,
192 .delegator_uri = CAL_PROPERTY_ATTENDEE_DELEGATOR_URI,
193 .name = CAL_PROPERTY_ATTENDEE_NAME,
194 .member = CAL_PROPERTY_ATTENDEE_MEMBER
197 API const _calendar_alarm_property_ids _calendar_alarm = {
198 ._uri = CALENDAR_VIEW_ALARM,
199 .parent_id = CAL_PROPERTY_ALARM_PARENT_ID,
200 .tick = CAL_PROPERTY_ALARM_TICK,
201 .tick_unit = CAL_PROPERTY_ALARM_TICK_UNIT,
202 .description = CAL_PROPERTY_ALARM_DESCRIPTION,
203 .summary = CAL_PROPERTY_ALARM_SUMMARY,
204 .action = CAL_PROPERTY_ALARM_ACTION,
205 .attach = CAL_PROPERTY_ALARM_ATTACH,
206 .alarm_time = CAL_PROPERTY_ALARM_ALARM,
209 API const _calendar_updated_info_property_ids _calendar_updated_info = {
210 ._uri = CALENDAR_VIEW_UPDATED_INFO,
211 .id = CAL_PROPERTY_UPDATED_INFO_ID,
212 .calendar_book_id = CAL_PROPERTY_UPDATED_INFO_CALENDAR_ID,
213 .modified_status = CAL_PROPERTY_UPDATED_INFO_TYPE,
214 .version = CAL_PROPERTY_UPDATED_INFO_VERSION
217 API const _calendar_event_calendar_book_property_ids _calendar_event_calendar_book = {
218 ._uri = CALENDAR_VIEW_EVENT_CALENDAR,
219 .event_id = CAL_PROPERTY_EVENT_ID,
220 .calendar_book_id = CAL_PROPERTY_EVENT_CALENDAR_ID,
221 .summary = CAL_PROPERTY_EVENT_SUMMARY,
222 .description = CAL_PROPERTY_EVENT_DESCRIPTION,
223 .location = CAL_PROPERTY_EVENT_LOCATION,
224 .categories = CAL_PROPERTY_EVENT_CATEGORIES,
225 .exdate = CAL_PROPERTY_EVENT_EXDATE,
226 .event_status = CAL_PROPERTY_EVENT_EVENT_STATUS,
227 .priority = CAL_PROPERTY_EVENT_PRIORITY,
228 .timezone = CAL_PROPERTY_EVENT_TIMEZONE,
229 .person_id = CAL_PROPERTY_EVENT_CONTACT_ID,
230 .busy_status = CAL_PROPERTY_EVENT_BUSY_STATUS,
231 .sensitivity = CAL_PROPERTY_EVENT_SENSITIVITY,
232 .uid = CAL_PROPERTY_EVENT_UID,
233 .organizer_name = CAL_PROPERTY_EVENT_ORGANIZER_NAME,
234 .organizer_email = CAL_PROPERTY_EVENT_ORGANIZER_EMAIL,
235 .meeting_status = CAL_PROPERTY_EVENT_MEETING_STATUS,
236 .original_event_id = CAL_PROPERTY_EVENT_ORIGINAL_EVENT_ID,
237 .latitude = CAL_PROPERTY_EVENT_LATITUDE,
238 .longitude = CAL_PROPERTY_EVENT_LONGITUDE,
239 .email_id = CAL_PROPERTY_EVENT_EMAIL_ID,
240 .created_time = CAL_PROPERTY_EVENT_CREATED_TIME,
241 .last_modified_time = CAL_PROPERTY_EVENT_LAST_MODIFIED_TIME,
242 .freq = CAL_PROPERTY_EVENT_FREQ,
243 .range_type = CAL_PROPERTY_EVENT_RANGE_TYPE,
244 .until_time = CAL_PROPERTY_EVENT_UNTIL,
245 .count = CAL_PROPERTY_EVENT_COUNT,
246 .interval = CAL_PROPERTY_EVENT_INTERVAL,
247 .bysecond = CAL_PROPERTY_EVENT_BYSECOND,
248 .byminute = CAL_PROPERTY_EVENT_BYMINUTE,
249 .byhour = CAL_PROPERTY_EVENT_BYHOUR,
250 .byday = CAL_PROPERTY_EVENT_BYDAY,
251 .bymonthday = CAL_PROPERTY_EVENT_BYMONTHDAY,
252 .byyearday = CAL_PROPERTY_EVENT_BYYEARDAY,
253 .byweekno = CAL_PROPERTY_EVENT_BYWEEKNO,
254 .bymonth = CAL_PROPERTY_EVENT_BYMONTH,
255 .bysetpos = CAL_PROPERTY_EVENT_BYSETPOS,
256 .wkst = CAL_PROPERTY_EVENT_WKST,
257 .recurrence_id = CAL_PROPERTY_EVENT_RECURRENCE_ID,
258 .rdate = CAL_PROPERTY_EVENT_RDATE,
259 .has_attendee = CAL_PROPERTY_EVENT_HAS_ATTENDEE,
260 .has_alarm = CAL_PROPERTY_EVENT_HAS_ALARM,
261 .calendar_system_type = CAL_PROPERTY_EVENT_CALENDAR_SYSTEM_TYPE,
262 .sync_data1 = CAL_PROPERTY_EVENT_SYNC_DATA1,
263 .sync_data2 = CAL_PROPERTY_EVENT_SYNC_DATA2,
264 .sync_data3 = CAL_PROPERTY_EVENT_SYNC_DATA3,
265 .sync_data4 = CAL_PROPERTY_EVENT_SYNC_DATA4,
266 .start_time = CAL_PROPERTY_EVENT_START,
267 .start_tzid = CAL_PROPERTY_EVENT_START_TZID,
268 .end_time = CAL_PROPERTY_EVENT_END,
269 .end_tzid = CAL_PROPERTY_EVENT_END_TZID,
270 .is_allday = CAL_PROPERTY_EVENT_IS_ALLDAY,
271 .calendar_book_visibility = CAL_PROPERTY_CALENDAR_VISIBILITY | CAL_PROPERTY_FLAGS_FILTER,
272 .calendar_book_account_id = CAL_PROPERTY_CALENDAR_ACCOUNT_ID | CAL_PROPERTY_FLAGS_FILTER
275 API const _calendar_todo_calendar_book_property_ids _calendar_todo_calendar_book = {
276 ._uri = CALENDAR_VIEW_TODO_CALENDAR,
277 .todo_id = CAL_PROPERTY_TODO_ID,
278 .calendar_book_id = CAL_PROPERTY_TODO_CALENDAR_ID,
279 .summary = CAL_PROPERTY_TODO_SUMMARY,
280 .description = CAL_PROPERTY_TODO_DESCRIPTION,
281 .location = CAL_PROPERTY_TODO_LOCATION,
282 .categories = CAL_PROPERTY_TODO_CATEGORIES,
283 .todo_status = CAL_PROPERTY_TODO_TODO_STATUS,
284 .priority = CAL_PROPERTY_TODO_PRIORITY,
285 .sensitivity = CAL_PROPERTY_TODO_SENSITIVITY,
286 .uid = CAL_PROPERTY_TODO_UID,
287 .latitude = CAL_PROPERTY_TODO_LATITUDE,
288 .longitude = CAL_PROPERTY_TODO_LONGITUDE,
289 .created_time = CAL_PROPERTY_TODO_CREATED_TIME,
290 .last_modified_time = CAL_PROPERTY_TODO_LAST_MODIFIED_TIME,
291 .completed_time = CAL_PROPERTY_TODO_COMPLETED_TIME,
292 .progress = CAL_PROPERTY_TODO_PROGRESS,
293 .freq = CAL_PROPERTY_TODO_FREQ,
294 .range_type = CAL_PROPERTY_TODO_RANGE_TYPE,
295 .until_time = CAL_PROPERTY_TODO_UNTIL,
296 .count = CAL_PROPERTY_TODO_COUNT,
297 .interval = CAL_PROPERTY_TODO_INTERVAL,
298 .bysecond = CAL_PROPERTY_TODO_BYSECOND,
299 .byminute = CAL_PROPERTY_TODO_BYMINUTE,
300 .byhour = CAL_PROPERTY_TODO_BYHOUR,
301 .byday = CAL_PROPERTY_TODO_BYDAY,
302 .bymonthday = CAL_PROPERTY_TODO_BYMONTHDAY,
303 .byyearday = CAL_PROPERTY_TODO_BYYEARDAY,
304 .byweekno = CAL_PROPERTY_TODO_BYWEEKNO,
305 .bymonth = CAL_PROPERTY_TODO_BYMONTH,
306 .bysetpos = CAL_PROPERTY_TODO_BYSETPOS,
307 .wkst = CAL_PROPERTY_TODO_WKST,
308 .has_alarm = CAL_PROPERTY_TODO_HAS_ALARM,
309 .sync_data1 = CAL_PROPERTY_TODO_SYNC_DATA1,
310 .sync_data2 = CAL_PROPERTY_TODO_SYNC_DATA2,
311 .sync_data3 = CAL_PROPERTY_TODO_SYNC_DATA3,
312 .sync_data4 = CAL_PROPERTY_TODO_SYNC_DATA4,
313 .start_time = CAL_PROPERTY_TODO_START,
314 .start_tzid = CAL_PROPERTY_TODO_START_TZID,
315 .due_time = CAL_PROPERTY_TODO_DUE,
316 .due_tzid = CAL_PROPERTY_TODO_DUE_TZID,
317 .organizer_name = CAL_PROPERTY_TODO_ORGANIZER_NAME,
318 .organizer_email = CAL_PROPERTY_TODO_ORGANIZER_EMAIL,
319 .has_attendee = CAL_PROPERTY_TODO_HAS_ATTENDEE,
320 .is_allday = CAL_PROPERTY_TODO_IS_ALLDAY,
321 .calendar_book_visibility = CAL_PROPERTY_CALENDAR_VISIBILITY | CAL_PROPERTY_FLAGS_FILTER,
322 .calendar_book_account_id = CAL_PROPERTY_CALENDAR_ACCOUNT_ID | CAL_PROPERTY_FLAGS_FILTER
325 API const _calendar_event_calendar_book_attendee_property_ids _calendar_event_calendar_book_attendee = {
326 ._uri = CALENDAR_VIEW_EVENT_CALENDAR_ATTENDEE,
327 .event_id = CAL_PROPERTY_EVENT_ID,
328 .calendar_book_id = CAL_PROPERTY_EVENT_CALENDAR_ID,
329 .summary = CAL_PROPERTY_EVENT_SUMMARY,
330 .description = CAL_PROPERTY_EVENT_DESCRIPTION,
331 .location = CAL_PROPERTY_EVENT_LOCATION,
332 .categories = CAL_PROPERTY_EVENT_CATEGORIES,
333 .exdate = CAL_PROPERTY_EVENT_EXDATE,
334 .event_status = CAL_PROPERTY_EVENT_EVENT_STATUS,
335 .priority = CAL_PROPERTY_EVENT_PRIORITY,
336 .timezone = CAL_PROPERTY_EVENT_TIMEZONE,
337 .person_id = CAL_PROPERTY_EVENT_CONTACT_ID,
338 .busy_status = CAL_PROPERTY_EVENT_BUSY_STATUS,
339 .sensitivity = CAL_PROPERTY_EVENT_SENSITIVITY,
340 .uid = CAL_PROPERTY_EVENT_UID,
341 .organizer_name = CAL_PROPERTY_EVENT_ORGANIZER_NAME,
342 .organizer_email = CAL_PROPERTY_EVENT_ORGANIZER_EMAIL,
343 .meeting_status = CAL_PROPERTY_EVENT_MEETING_STATUS,
344 .original_event_id = CAL_PROPERTY_EVENT_ORIGINAL_EVENT_ID,
345 .latitude = CAL_PROPERTY_EVENT_LATITUDE,
346 .longitude = CAL_PROPERTY_EVENT_LONGITUDE,
347 .email_id = CAL_PROPERTY_EVENT_EMAIL_ID,
348 .created_time = CAL_PROPERTY_EVENT_CREATED_TIME,
349 .last_modified_time = CAL_PROPERTY_EVENT_LAST_MODIFIED_TIME,
350 .freq = CAL_PROPERTY_EVENT_FREQ,
351 .range_type = CAL_PROPERTY_EVENT_RANGE_TYPE,
352 .until_time = CAL_PROPERTY_EVENT_UNTIL,
353 .count = CAL_PROPERTY_EVENT_COUNT,
354 .interval = CAL_PROPERTY_EVENT_INTERVAL,
355 .bysecond = CAL_PROPERTY_EVENT_BYSECOND,
356 .byminute = CAL_PROPERTY_EVENT_BYMINUTE,
357 .byhour = CAL_PROPERTY_EVENT_BYHOUR,
358 .byday = CAL_PROPERTY_EVENT_BYDAY,
359 .bymonthday = CAL_PROPERTY_EVENT_BYMONTHDAY,
360 .byyearday = CAL_PROPERTY_EVENT_BYYEARDAY,
361 .byweekno = CAL_PROPERTY_EVENT_BYWEEKNO,
362 .bymonth = CAL_PROPERTY_EVENT_BYMONTH,
363 .bysetpos = CAL_PROPERTY_EVENT_BYSETPOS,
364 .wkst = CAL_PROPERTY_EVENT_WKST,
365 .recurrence_id = CAL_PROPERTY_EVENT_RECURRENCE_ID,
366 .rdate = CAL_PROPERTY_EVENT_RDATE,
367 .has_attendee = CAL_PROPERTY_EVENT_HAS_ATTENDEE,
368 .has_alarm = CAL_PROPERTY_EVENT_HAS_ALARM,
369 .calendar_system_type = CAL_PROPERTY_EVENT_CALENDAR_SYSTEM_TYPE,
370 .sync_data1 = CAL_PROPERTY_EVENT_SYNC_DATA1,
371 .sync_data2 = CAL_PROPERTY_EVENT_SYNC_DATA2,
372 .sync_data3 = CAL_PROPERTY_EVENT_SYNC_DATA3,
373 .sync_data4 = CAL_PROPERTY_EVENT_SYNC_DATA4,
374 .start_time = CAL_PROPERTY_EVENT_START,
375 .start_tzid = CAL_PROPERTY_EVENT_START_TZID,
376 .end_time = CAL_PROPERTY_EVENT_END,
377 .end_tzid = CAL_PROPERTY_EVENT_END_TZID,
378 .is_allday = CAL_PROPERTY_EVENT_IS_ALLDAY,
379 .calendar_book_visibility = CAL_PROPERTY_CALENDAR_VISIBILITY | CAL_PROPERTY_FLAGS_FILTER,
380 .calendar_book_account_id = CAL_PROPERTY_CALENDAR_ACCOUNT_ID | CAL_PROPERTY_FLAGS_FILTER,
381 .attendee_email = CAL_PROPERTY_ATTENDEE_EMAIL | CAL_PROPERTY_FLAGS_FILTER,
382 .attendee_name = CAL_PROPERTY_ATTENDEE_NAME | CAL_PROPERTY_FLAGS_FILTER,
383 .attendee_member = CAL_PROPERTY_ATTENDEE_MEMBER | CAL_PROPERTY_FLAGS_FILTER
386 API const _calendar_instance_utime_calendar_book_property_ids _calendar_instance_utime_calendar_book = {
387 ._uri = CALENDAR_VIEW_INSTANCE_UTIME_CALENDAR,
388 .event_id = CAL_PROPERTY_INSTANCE_NORMAL_EVENT_ID,
389 .start_time = CAL_PROPERTY_INSTANCE_NORMAL_START,
390 .end_time = CAL_PROPERTY_INSTANCE_NORMAL_END,
391 .summary = CAL_PROPERTY_INSTANCE_NORMAL_SUMMARY,
392 .location = CAL_PROPERTY_INSTANCE_NORMAL_LOCATION,
393 .calendar_book_id = CAL_PROPERTY_INSTANCE_NORMAL_CALENDAR_ID,
394 .description = CAL_PROPERTY_INSTANCE_NORMAL_DESCRIPTION,
395 .busy_status = CAL_PROPERTY_INSTANCE_NORMAL_BUSY_STATUS,
396 .event_status = CAL_PROPERTY_INSTANCE_NORMAL_EVENT_STATUS,
397 .priority = CAL_PROPERTY_INSTANCE_NORMAL_PRIORITY,
398 .sensitivity = CAL_PROPERTY_INSTANCE_NORMAL_SENSITIVITY,
399 .has_rrule = CAL_PROPERTY_INSTANCE_NORMAL_HAS_RRULE,
400 .latitude = CAL_PROPERTY_INSTANCE_NORMAL_LATITUDE,
401 .longitude = CAL_PROPERTY_INSTANCE_NORMAL_LONGITUDE,
402 .has_alarm = CAL_PROPERTY_INSTANCE_NORMAL_HAS_ALARM,
403 .original_event_id = CAL_PROPERTY_INSTANCE_NORMAL_ORIGINAL_EVENT_ID,
404 .calendar_book_visibility = CAL_PROPERTY_CALENDAR_VISIBILITY | CAL_PROPERTY_FLAGS_FILTER,
405 .calendar_book_account_id = CAL_PROPERTY_CALENDAR_ACCOUNT_ID | CAL_PROPERTY_FLAGS_FILTER,
406 .last_modified_time = CAL_PROPERTY_INSTANCE_NORMAL_LAST_MODIFIED_TIME,
407 .sync_data1 = CAL_PROPERTY_INSTANCE_NORMAL_SYNC_DATA1
410 API const _calendar_instance_localtime_calendar_book_property_ids _calendar_instance_localtime_calendar_book = {
411 ._uri = CALENDAR_VIEW_INSTANCE_LOCALTIME_CALENDAR,
412 .event_id = CAL_PROPERTY_INSTANCE_ALLDAY_EVENT_ID,
413 .start_time = CAL_PROPERTY_INSTANCE_ALLDAY_START,
414 .end_time = CAL_PROPERTY_INSTANCE_ALLDAY_END,
415 .summary = CAL_PROPERTY_INSTANCE_ALLDAY_SUMMARY,
416 .location = CAL_PROPERTY_INSTANCE_ALLDAY_LOCATION,
417 .calendar_book_id = CAL_PROPERTY_INSTANCE_ALLDAY_CALENDAR_ID,
418 .description = CAL_PROPERTY_INSTANCE_ALLDAY_DESCRIPTION,
419 .busy_status = CAL_PROPERTY_INSTANCE_ALLDAY_BUSY_STATUS,
420 .event_status = CAL_PROPERTY_INSTANCE_ALLDAY_EVENT_STATUS,
421 .priority = CAL_PROPERTY_INSTANCE_ALLDAY_PRIORITY,
422 .sensitivity = CAL_PROPERTY_INSTANCE_ALLDAY_SENSITIVITY,
423 .has_rrule = CAL_PROPERTY_INSTANCE_ALLDAY_HAS_RRULE,
424 .latitude = CAL_PROPERTY_INSTANCE_ALLDAY_LATITUDE,
425 .longitude = CAL_PROPERTY_INSTANCE_ALLDAY_LONGITUDE,
426 .has_alarm = CAL_PROPERTY_INSTANCE_ALLDAY_HAS_ALARM,
427 .original_event_id = CAL_PROPERTY_INSTANCE_ALLDAY_ORIGINAL_EVENT_ID,
428 .calendar_book_visibility = CAL_PROPERTY_CALENDAR_VISIBILITY | CAL_PROPERTY_FLAGS_FILTER,
429 .calendar_book_account_id = CAL_PROPERTY_CALENDAR_ACCOUNT_ID | CAL_PROPERTY_FLAGS_FILTER,
430 .last_modified_time = CAL_PROPERTY_INSTANCE_ALLDAY_LAST_MODIFIED_TIME,
431 .sync_data1 = CAL_PROPERTY_INSTANCE_ALLDAY_SYNC_DATA1,
432 .is_allday = CAL_PROPERTY_INSTANCE_ALLDAY_IS_ALLDAY
435 API const _calendar_instance_utime_calendar_book_extended_property_ids _calendar_instance_utime_calendar_book_extended = {
436 ._uri = CALENDAR_VIEW_INSTANCE_UTIME_CALENDAR_EXTENDED,
437 .event_id = CAL_PROPERTY_INSTANCE_NORMAL_EXTENDED_EVENT_ID,
438 .start_time = CAL_PROPERTY_INSTANCE_NORMAL_EXTENDED_START,
439 .end_time = CAL_PROPERTY_INSTANCE_NORMAL_EXTENDED_END,
440 .summary = CAL_PROPERTY_INSTANCE_NORMAL_EXTENDED_SUMMARY,
441 .location = CAL_PROPERTY_INSTANCE_NORMAL_EXTENDED_LOCATION,
442 .calendar_book_id = CAL_PROPERTY_INSTANCE_NORMAL_EXTENDED_CALENDAR_ID,
443 .description = CAL_PROPERTY_INSTANCE_NORMAL_EXTENDED_DESCRIPTION,
444 .busy_status = CAL_PROPERTY_INSTANCE_NORMAL_EXTENDED_BUSY_STATUS,
445 .event_status = CAL_PROPERTY_INSTANCE_NORMAL_EXTENDED_EVENT_STATUS,
446 .priority = CAL_PROPERTY_INSTANCE_NORMAL_EXTENDED_PRIORITY,
447 .sensitivity = CAL_PROPERTY_INSTANCE_NORMAL_EXTENDED_SENSITIVITY,
448 .has_rrule = CAL_PROPERTY_INSTANCE_NORMAL_EXTENDED_HAS_RRULE,
449 .latitude = CAL_PROPERTY_INSTANCE_NORMAL_EXTENDED_LATITUDE,
450 .longitude = CAL_PROPERTY_INSTANCE_NORMAL_EXTENDED_LONGITUDE,
451 .has_alarm = CAL_PROPERTY_INSTANCE_NORMAL_EXTENDED_HAS_ALARM,
452 .original_event_id = CAL_PROPERTY_INSTANCE_NORMAL_EXTENDED_ORIGINAL_EVENT_ID,
453 .calendar_book_visibility = CAL_PROPERTY_CALENDAR_VISIBILITY | CAL_PROPERTY_FLAGS_FILTER,
454 .calendar_book_account_id = CAL_PROPERTY_CALENDAR_ACCOUNT_ID | CAL_PROPERTY_FLAGS_FILTER,
455 .last_modified_time = CAL_PROPERTY_INSTANCE_NORMAL_EXTENDED_LAST_MODIFIED_TIME,
456 .sync_data1 = CAL_PROPERTY_INSTANCE_NORMAL_EXTENDED_SYNC_DATA1,
457 .organizer_name = CAL_PROPERTY_INSTANCE_NORMAL_EXTENDED_ORGANIZER_NAME,
458 .categories = CAL_PROPERTY_INSTANCE_NORMAL_EXTENDED_CATEGORIES,
459 .has_attendee = CAL_PROPERTY_INSTANCE_NORMAL_EXTENDED_HAS_ATTENDEE,
460 .sync_data2 = CAL_PROPERTY_INSTANCE_NORMAL_EXTENDED_SYNC_DATA2,
461 .sync_data3 = CAL_PROPERTY_INSTANCE_NORMAL_EXTENDED_SYNC_DATA3,
462 .sync_data4 = CAL_PROPERTY_INSTANCE_NORMAL_EXTENDED_SYNC_DATA4
465 API const _calendar_instance_localtime_calendar_book_extended_property_ids _calendar_instance_localtime_calendar_book_extended = {
466 ._uri = CALENDAR_VIEW_INSTANCE_LOCALTIME_CALENDAR_EXTENDED,
467 .event_id = CAL_PROPERTY_INSTANCE_ALLDAY_EXTENDED_EVENT_ID,
468 .start_time = CAL_PROPERTY_INSTANCE_ALLDAY_EXTENDED_START,
469 .end_time = CAL_PROPERTY_INSTANCE_ALLDAY_EXTENDED_END,
470 .summary = CAL_PROPERTY_INSTANCE_ALLDAY_EXTENDED_SUMMARY,
471 .location = CAL_PROPERTY_INSTANCE_ALLDAY_EXTENDED_LOCATION,
472 .calendar_book_id = CAL_PROPERTY_INSTANCE_ALLDAY_EXTENDED_CALENDAR_ID,
473 .description = CAL_PROPERTY_INSTANCE_ALLDAY_EXTENDED_DESCRIPTION,
474 .busy_status = CAL_PROPERTY_INSTANCE_ALLDAY_EXTENDED_BUSY_STATUS,
475 .event_status = CAL_PROPERTY_INSTANCE_ALLDAY_EXTENDED_EVENT_STATUS,
476 .priority = CAL_PROPERTY_INSTANCE_ALLDAY_EXTENDED_PRIORITY,
477 .sensitivity = CAL_PROPERTY_INSTANCE_ALLDAY_EXTENDED_SENSITIVITY,
478 .has_rrule = CAL_PROPERTY_INSTANCE_ALLDAY_EXTENDED_HAS_RRULE,
479 .latitude = CAL_PROPERTY_INSTANCE_ALLDAY_EXTENDED_LATITUDE,
480 .longitude = CAL_PROPERTY_INSTANCE_ALLDAY_EXTENDED_LONGITUDE,
481 .has_alarm = CAL_PROPERTY_INSTANCE_ALLDAY_EXTENDED_HAS_ALARM,
482 .original_event_id = CAL_PROPERTY_INSTANCE_ALLDAY_EXTENDED_ORIGINAL_EVENT_ID,
483 .calendar_book_visibility = CAL_PROPERTY_CALENDAR_VISIBILITY | CAL_PROPERTY_FLAGS_FILTER,
484 .calendar_book_account_id = CAL_PROPERTY_CALENDAR_ACCOUNT_ID | CAL_PROPERTY_FLAGS_FILTER,
485 .last_modified_time = CAL_PROPERTY_INSTANCE_ALLDAY_EXTENDED_LAST_MODIFIED_TIME,
486 .sync_data1 = CAL_PROPERTY_INSTANCE_ALLDAY_EXTENDED_SYNC_DATA1,
487 .organizer_name = CAL_PROPERTY_INSTANCE_ALLDAY_EXTENDED_ORGANIZER_NAME,
488 .categories = CAL_PROPERTY_INSTANCE_ALLDAY_EXTENDED_CATEGORIES,
489 .has_attendee = CAL_PROPERTY_INSTANCE_ALLDAY_EXTENDED_HAS_ATTENDEE,
490 .sync_data2 = CAL_PROPERTY_INSTANCE_ALLDAY_EXTENDED_SYNC_DATA2,
491 .sync_data3 = CAL_PROPERTY_INSTANCE_ALLDAY_EXTENDED_SYNC_DATA3,
492 .sync_data4 = CAL_PROPERTY_INSTANCE_ALLDAY_EXTENDED_SYNC_DATA4,
493 .is_allday = CAL_PROPERTY_INSTANCE_ALLDAY_EXTENDED_IS_ALLDAY
496 API const _calendar_extended_property_property_ids _calendar_extended_property = {
497 ._uri = CALENDAR_VIEW_EXTENDED,
498 .id = CAL_PROPERTY_EXTENDED_ID,
499 .record_id = CAL_PROPERTY_EXTENDED_RECORD_ID,
500 .record_type = CAL_PROPERTY_EXTENDED_RECORD_TYPE,
501 .key = CAL_PROPERTY_EXTENDED_KEY,
502 .value = CAL_PROPERTY_EXTENDED_VALUE
505 const cal_property_info_s __property_calendar_book[] = {
506 {CAL_PROPERTY_CALENDAR_ID , "id"},
507 {CAL_PROPERTY_CALENDAR_UID , "uid"},
508 {CAL_PROPERTY_CALENDAR_NAME , "name"},
509 {CAL_PROPERTY_CALENDAR_DESCRIPTION , "description"},
510 {CAL_PROPERTY_CALENDAR_COLOR , "color"},
511 {CAL_PROPERTY_CALENDAR_LOCATION , "location"},
512 {CAL_PROPERTY_CALENDAR_VISIBILITY , "visibility"},
513 {CAL_PROPERTY_CALENDAR_SYNC_EVENT , "sync_event"},
514 {CAL_PROPERTY_CALENDAR_ACCOUNT_ID , "account_id"},
515 {CAL_PROPERTY_CALENDAR_STORE_TYPE , "store_type"},
516 {CAL_PROPERTY_CALENDAR_SYNC_DATA1 , "sync_data1"},
517 {CAL_PROPERTY_CALENDAR_SYNC_DATA2 , "sync_data2"},
518 {CAL_PROPERTY_CALENDAR_SYNC_DATA3 , "sync_data3"},
519 {CAL_PROPERTY_CALENDAR_SYNC_DATA4 , "sync_data4"},
520 {CAL_PROPERTY_CALENDAR_MODE, "mode"},
523 const cal_property_info_s __property_event[] = {
524 {CAL_PROPERTY_EVENT_ID, "id"},
525 {CAL_PROPERTY_EVENT_CALENDAR_ID, "calendar_id"},
526 {CAL_PROPERTY_EVENT_SUMMARY, "summary"},
527 {CAL_PROPERTY_EVENT_DESCRIPTION, "description"},
528 {CAL_PROPERTY_EVENT_LOCATION, "location"},
529 {CAL_PROPERTY_EVENT_CATEGORIES, "categories"},
530 {CAL_PROPERTY_EVENT_EXDATE, "exdate"},
531 {CAL_PROPERTY_EVENT_EVENT_STATUS, "task_status"},
532 {CAL_PROPERTY_EVENT_PRIORITY, "priority"},
533 {CAL_PROPERTY_EVENT_TIMEZONE, "timezone"},
534 {CAL_PROPERTY_EVENT_CONTACT_ID, "contact_id"},
535 {CAL_PROPERTY_EVENT_BUSY_STATUS, "busy_status"},
536 {CAL_PROPERTY_EVENT_SENSITIVITY, "sensitivity"},
537 {CAL_PROPERTY_EVENT_UID, "uid"},
538 {CAL_PROPERTY_EVENT_ORGANIZER_NAME, "organizer_name"},
539 {CAL_PROPERTY_EVENT_ORGANIZER_EMAIL, "organizer_email"},
540 {CAL_PROPERTY_EVENT_MEETING_STATUS, "meeting_status"},
541 {CAL_PROPERTY_EVENT_ORIGINAL_EVENT_ID, "original_event_id"},
542 {CAL_PROPERTY_EVENT_LATITUDE, "latitude"},
543 {CAL_PROPERTY_EVENT_LONGITUDE, "longitude"},
544 {CAL_PROPERTY_EVENT_EMAIL_ID, "email_id"},
545 {CAL_PROPERTY_EVENT_CREATED_TIME, "created_time"},
546 {CAL_PROPERTY_EVENT_LAST_MODIFIED_TIME, "last_mod"},
547 {CAL_PROPERTY_EVENT_IS_DELETED, "is_deleted"},
548 {CAL_PROPERTY_EVENT_FREQ, "freq"},
549 {CAL_PROPERTY_EVENT_RANGE_TYPE, "range_type"},
550 {CAL_PROPERTY_EVENT_UNTIL, "until_type,until_utime,until_datetime"},
551 {CAL_PROPERTY_EVENT_COUNT, "count"},
552 {CAL_PROPERTY_EVENT_INTERVAL, "interval"},
553 {CAL_PROPERTY_EVENT_BYSECOND, "bysecond"},
554 {CAL_PROPERTY_EVENT_BYMINUTE, "byminute"},
555 {CAL_PROPERTY_EVENT_BYHOUR, "byhour"},
556 {CAL_PROPERTY_EVENT_BYDAY, "byday"},
557 {CAL_PROPERTY_EVENT_BYMONTHDAY, "bymonthday"},
558 {CAL_PROPERTY_EVENT_BYYEARDAY, "byyearday"},
559 {CAL_PROPERTY_EVENT_BYWEEKNO, "byweekno"},
560 {CAL_PROPERTY_EVENT_BYMONTH, "bymonth"},
561 {CAL_PROPERTY_EVENT_BYSETPOS, "bysetpos"},
562 {CAL_PROPERTY_EVENT_WKST, "wkst"},
563 {CAL_PROPERTY_EVENT_RECURRENCE_ID, "recurrence_id"},
564 {CAL_PROPERTY_EVENT_RDATE, "rdate"},
565 {CAL_PROPERTY_EVENT_HAS_ATTENDEE, "has_attendee"},
566 {CAL_PROPERTY_EVENT_HAS_ALARM, "has_alarm"},
567 {CAL_PROPERTY_EVENT_SYNC_DATA1, "sync_data1"},
568 {CAL_PROPERTY_EVENT_SYNC_DATA2, "sync_data2"},
569 {CAL_PROPERTY_EVENT_SYNC_DATA3, "sync_data3"},
570 {CAL_PROPERTY_EVENT_SYNC_DATA4, "sync_data4"},
571 {CAL_PROPERTY_EVENT_START, "dtstart_type,dtstart_utime,dtstart_datetime"},
572 {CAL_PROPERTY_EVENT_END, "dtend_type,dtend_utime,dtend_datetime"},
573 {CAL_PROPERTY_EVENT_CALENDAR_ALARM, NULL},
574 {CAL_PROPERTY_EVENT_CALENDAR_ATTENDEE, NULL},
575 {CAL_PROPERTY_EVENT_CALENDAR_SYSTEM_TYPE, "system_type"},
576 {CAL_PROPERTY_EVENT_START_TZID, "dtstart_tzid"},
577 {CAL_PROPERTY_EVENT_END_TZID, "dtend_tzid"},
578 {CAL_PROPERTY_EVENT_EXCEPTION, NULL},
579 {CAL_PROPERTY_EVENT_EXTENDED, NULL},
580 {CAL_PROPERTY_EVENT_IS_ALLDAY, "is_allday"},
583 const cal_property_info_s __property_todo[] = {
584 {CAL_PROPERTY_TODO_ID, "id"},
585 {CAL_PROPERTY_TODO_CALENDAR_ID, "calendar_id"},
586 {CAL_PROPERTY_TODO_SUMMARY, "summary"},
587 {CAL_PROPERTY_TODO_DESCRIPTION, "description"},
588 {CAL_PROPERTY_TODO_LOCATION, "location"},
589 {CAL_PROPERTY_TODO_CATEGORIES, "categories"},
590 {CAL_PROPERTY_TODO_TODO_STATUS, "task_status"},
591 {CAL_PROPERTY_TODO_PRIORITY, "priority"},
592 {CAL_PROPERTY_TODO_SENSITIVITY, "sensitivity"},
593 {CAL_PROPERTY_TODO_UID, "uid"},
594 {CAL_PROPERTY_TODO_LATITUDE, "latitude"},
595 {CAL_PROPERTY_TODO_LONGITUDE, "longitude"},
596 {CAL_PROPERTY_TODO_PROGRESS, "progress"},
597 {CAL_PROPERTY_TODO_CREATED_TIME, "created_time"},
598 {CAL_PROPERTY_TODO_LAST_MODIFIED_TIME, "last_mod"},
599 {CAL_PROPERTY_TODO_COMPLETED_TIME, "completed_time"},
600 {CAL_PROPERTY_TODO_IS_DELETED, "is_deleted"},
601 {CAL_PROPERTY_TODO_FREQ, "freq"},
602 {CAL_PROPERTY_TODO_RANGE_TYPE, "range_type"},
603 {CAL_PROPERTY_TODO_UNTIL, "until_type,until_utime,until_datetime"},
604 {CAL_PROPERTY_TODO_COUNT, "count"},
605 {CAL_PROPERTY_TODO_INTERVAL, "interval"},
606 {CAL_PROPERTY_TODO_BYSECOND, "bysecond"},
607 {CAL_PROPERTY_TODO_BYMINUTE, "byminute"},
608 {CAL_PROPERTY_TODO_BYHOUR, "byhour"},
609 {CAL_PROPERTY_TODO_BYDAY, "byday"},
610 {CAL_PROPERTY_TODO_BYMONTHDAY, "bymonthday"},
611 {CAL_PROPERTY_TODO_BYYEARDAY, "byyearday"},
612 {CAL_PROPERTY_TODO_BYWEEKNO, "byweekno"},
613 {CAL_PROPERTY_TODO_BYMONTH, "bymonth"},
614 {CAL_PROPERTY_TODO_BYSETPOS, "bysetpos"},
615 {CAL_PROPERTY_TODO_WKST, "wkst"},
616 {CAL_PROPERTY_TODO_HAS_ALARM, "has_alarm"},
617 {CAL_PROPERTY_TODO_SYNC_DATA1, "sync_data1"},
618 {CAL_PROPERTY_TODO_SYNC_DATA2, "sync_data2"},
619 {CAL_PROPERTY_TODO_SYNC_DATA3, "sync_data3"},
620 {CAL_PROPERTY_TODO_SYNC_DATA4, "sync_data4"},
621 {CAL_PROPERTY_TODO_START, "dtstart_type,dtstart_utime,dtstart_datetime"},
622 {CAL_PROPERTY_TODO_DUE, "dtend_type,dtend_utime,dtend_datetime"},
623 {CAL_PROPERTY_TODO_CALENDAR_ALARM, NULL},
624 {CAL_PROPERTY_TODO_START_TZID, "dtstart_tzid"},
625 {CAL_PROPERTY_TODO_DUE_TZID, "dtend_tzid"},
626 {CAL_PROPERTY_TODO_ORGANIZER_NAME, "organizer_name"},
627 {CAL_PROPERTY_TODO_ORGANIZER_EMAIL, "organizer_email"},
628 {CAL_PROPERTY_TODO_HAS_ATTENDEE, "has_attendee"},
629 {CAL_PROPERTY_TODO_CALENDAR_ATTENDEE, NULL},
630 {CAL_PROPERTY_TODO_EXTENDED, NULL},
631 {CAL_PROPERTY_TODO_IS_ALLDAY, "dtend_type"},
634 const cal_property_info_s __property_timezone[] = {
635 {CAL_PROPERTY_TIMEZONE_ID, "id"},
636 {CAL_PROPERTY_TIMEZONE_TZ_OFFSET_FROM_GMT, "tz_offset_from_gmt"},
637 {CAL_PROPERTY_TIMEZONE_STANDARD_NAME, "standard_name"},
638 {CAL_PROPERTY_TIMEZONE_STD_START_MONTH, "std_start_month"},
639 {CAL_PROPERTY_TIMEZONE_STD_START_POSITION_OF_WEEK, "std_start_position_of_week"},
640 {CAL_PROPERTY_TIMEZONE_STD_START_DAY, "std_start_day"},
641 {CAL_PROPERTY_TIMEZONE_STD_START_HOUR, "std_start_hour"},
642 {CAL_PROPERTY_TIMEZONE_STANDARD_BIAS, "standard_bias"},
643 {CAL_PROPERTY_TIMEZONE_DAY_LIGHT_NAME, "day_light_name"},
644 {CAL_PROPERTY_TIMEZONE_DAY_LIGHT_START_MONTH, "day_light_start_month"},
645 {CAL_PROPERTY_TIMEZONE_DAY_LIGHT_START_POSITION_OF_WEEK, "day_light_start_position_of_week"},
646 {CAL_PROPERTY_TIMEZONE_DAY_LIGHT_START_DAY, "day_light_start_day"},
647 {CAL_PROPERTY_TIMEZONE_DAY_LIGHT_START_HOUR, "day_light_start_hour"},
648 {CAL_PROPERTY_TIMEZONE_DAY_LIGHT_BIAS, "day_light_bias"},
649 {CAL_PROPERTY_TIMEZONE_CALENDAR_ID, "calendar_id"},
652 const cal_property_info_s __property_attendee[] = {
653 {CAL_PROPERTY_ATTENDEE_NUMBER, "attendee_number"},
654 {CAL_PROPERTY_ATTENDEE_CUTYPE, "attendee_cutype"},
655 {CAL_PROPERTY_ATTENDEE_CT_INDEX, "attendee_ct_index"},
656 {CAL_PROPERTY_ATTENDEE_UID, "attendee_uid"},
657 {CAL_PROPERTY_ATTENDEE_GROUP, "attendee_group"},
658 {CAL_PROPERTY_ATTENDEE_EMAIL, "attendee_email"},
659 {CAL_PROPERTY_ATTENDEE_ROLE, "attendee_role"},
660 {CAL_PROPERTY_ATTENDEE_STATUS, "attendee_status"},
661 {CAL_PROPERTY_ATTENDEE_RSVP, "attendee_rsvp"},
662 {CAL_PROPERTY_ATTENDEE_DELEGATEE_URI, "attendee_delegatee_uri"},
663 {CAL_PROPERTY_ATTENDEE_DELEGATOR_URI, "attendee_delegator_uri"},
664 {CAL_PROPERTY_ATTENDEE_NAME, "attendee_name"},
665 {CAL_PROPERTY_ATTENDEE_MEMBER, "attendee_member"},
666 {CAL_PROPERTY_ATTENDEE_PARENT_ID, "event_id"},
669 const cal_property_info_s __property_alarm[] = {
670 {CAL_PROPERTY_ALARM_TICK, "remind_tick"},
671 {CAL_PROPERTY_ALARM_TICK_UNIT, "remind_tick_unit"},
672 {CAL_PROPERTY_ALARM_DESCRIPTION, "alarm_description"},
673 {CAL_PROPERTY_ALARM_PARENT_ID, "event_id"},
674 {CAL_PROPERTY_ALARM_SUMMARY, "alarm_summary"},
675 {CAL_PROPERTY_ALARM_ACTION, "alarm_action"},
676 {CAL_PROPERTY_ALARM_ATTACH, "alarm_attach"},
677 {CAL_PROPERTY_ALARM_ALARM, "alarm_type,alarm_utime,alarm_datetime"},
680 const cal_property_info_s __property_updated_info[] = {
681 {CAL_PROPERTY_UPDATED_INFO_ID, "id"},
682 {CAL_PROPERTY_UPDATED_INFO_CALENDAR_ID, "calendar_id"},
683 {CAL_PROPERTY_UPDATED_INFO_TYPE, "type"},
684 {CAL_PROPERTY_UPDATED_INFO_VERSION, "ver"},
687 const cal_property_info_s __property_search_event_calendar[] = {
688 {CAL_PROPERTY_EVENT_ID, "id"},
689 {CAL_PROPERTY_EVENT_CALENDAR_ID, "calendar_id"},
690 {CAL_PROPERTY_EVENT_SUMMARY, "summary"},
691 {CAL_PROPERTY_EVENT_DESCRIPTION, "description"},
692 {CAL_PROPERTY_EVENT_LOCATION, "location"},
693 {CAL_PROPERTY_EVENT_CATEGORIES, "categories"},
694 {CAL_PROPERTY_EVENT_EXDATE, "exdate"},
695 {CAL_PROPERTY_EVENT_EVENT_STATUS, "task_status"},
696 {CAL_PROPERTY_EVENT_PRIORITY, "priority"},
697 {CAL_PROPERTY_EVENT_TIMEZONE, "timezone"},
698 {CAL_PROPERTY_EVENT_CONTACT_ID, "contact_id"},
699 {CAL_PROPERTY_EVENT_BUSY_STATUS, "busy_status"},
700 {CAL_PROPERTY_EVENT_SENSITIVITY, "sensitivity"},
701 {CAL_PROPERTY_EVENT_UID, "uid"},
702 {CAL_PROPERTY_EVENT_ORGANIZER_NAME, "organizer_name"},
703 {CAL_PROPERTY_EVENT_ORGANIZER_EMAIL, "organizer_email"},
704 {CAL_PROPERTY_EVENT_MEETING_STATUS, "meeting_status"},
705 {CAL_PROPERTY_EVENT_ORIGINAL_EVENT_ID, "original_event_id"},
706 {CAL_PROPERTY_EVENT_LATITUDE, "latitude"},
707 {CAL_PROPERTY_EVENT_LONGITUDE, "longitude"},
708 {CAL_PROPERTY_EVENT_EMAIL_ID, "email_id"},
709 {CAL_PROPERTY_EVENT_CREATED_TIME, "created_time"},
710 {CAL_PROPERTY_EVENT_LAST_MODIFIED_TIME, "last_mod"},
711 {CAL_PROPERTY_EVENT_FREQ, "freq"},
712 {CAL_PROPERTY_EVENT_RANGE_TYPE, "range_type"},
713 {CAL_PROPERTY_EVENT_UNTIL, "until_type,until_utime,until_datetime"},
714 {CAL_PROPERTY_EVENT_COUNT, "count"},
715 {CAL_PROPERTY_EVENT_INTERVAL, "interval"},
716 {CAL_PROPERTY_EVENT_BYSECOND, "bysecond"},
717 {CAL_PROPERTY_EVENT_BYMINUTE, "byminute"},
718 {CAL_PROPERTY_EVENT_BYHOUR, "byhour"},
719 {CAL_PROPERTY_EVENT_BYDAY, "byday"},
720 {CAL_PROPERTY_EVENT_BYMONTHDAY, "bymonthday"},
721 {CAL_PROPERTY_EVENT_BYYEARDAY, "byyearday"},
722 {CAL_PROPERTY_EVENT_BYWEEKNO, "byweekno"},
723 {CAL_PROPERTY_EVENT_BYMONTH, "bymonth"},
724 {CAL_PROPERTY_EVENT_BYSETPOS, "bysetpos"},
725 {CAL_PROPERTY_EVENT_WKST, "wkst"},
726 {CAL_PROPERTY_EVENT_RECURRENCE_ID, "recurrence_id"},
727 {CAL_PROPERTY_EVENT_RDATE, "rdate"},
728 {CAL_PROPERTY_EVENT_HAS_ATTENDEE, "has_attendee"},
729 {CAL_PROPERTY_EVENT_HAS_ALARM, "has_alarm"},
730 {CAL_PROPERTY_EVENT_SYNC_DATA1, "sync_data1"},
731 {CAL_PROPERTY_EVENT_SYNC_DATA2, "sync_data2"},
732 {CAL_PROPERTY_EVENT_SYNC_DATA3, "sync_data3"},
733 {CAL_PROPERTY_EVENT_SYNC_DATA4, "sync_data4"},
734 {CAL_PROPERTY_EVENT_START, "dtstart_type,dtstart_utime,dtstart_datetime"},
735 {CAL_PROPERTY_EVENT_END, "dtend_type,dtend_utime,dtend_datetime"},
736 {CAL_PROPERTY_EVENT_CALENDAR_SYSTEM_TYPE, "system_type"},
737 {CAL_PROPERTY_EVENT_START_TZID, "dtstart_tzid"},
738 {CAL_PROPERTY_EVENT_END_TZID, "dtend_tzid"},
739 {CAL_PROPERTY_EVENT_IS_ALLDAY, "is_allday"},
740 {(CAL_PROPERTY_CALENDAR_VISIBILITY|CAL_PROPERTY_FLAGS_FILTER), "visibility"},
741 {(CAL_PROPERTY_CALENDAR_ACCOUNT_ID|CAL_PROPERTY_FLAGS_FILTER), "account_id"},
744 const cal_property_info_s __property_search_todo_calendar[] = {
745 {CAL_PROPERTY_TODO_ID, "id"},
746 {CAL_PROPERTY_TODO_CALENDAR_ID, "calendar_id"},
747 {CAL_PROPERTY_TODO_SUMMARY, "summary"},
748 {CAL_PROPERTY_TODO_DESCRIPTION, "description"},
749 {CAL_PROPERTY_TODO_LOCATION, "location"},
750 {CAL_PROPERTY_TODO_CATEGORIES, "categories"},
751 {CAL_PROPERTY_TODO_TODO_STATUS, "task_status"},
752 {CAL_PROPERTY_TODO_PRIORITY, "priority"},
753 {CAL_PROPERTY_TODO_SENSITIVITY, "sensitivity"},
754 {CAL_PROPERTY_TODO_UID, "uid"},
755 {CAL_PROPERTY_TODO_LATITUDE, "latitude"},
756 {CAL_PROPERTY_TODO_LONGITUDE, "longitude"},
757 {CAL_PROPERTY_TODO_PROGRESS, "progress"},
758 {CAL_PROPERTY_TODO_CREATED_TIME, "created_time"},
759 {CAL_PROPERTY_TODO_LAST_MODIFIED_TIME, "last_mod"},
760 {CAL_PROPERTY_TODO_COMPLETED_TIME, "completed_time"},
761 {CAL_PROPERTY_TODO_FREQ, "freq"},
762 {CAL_PROPERTY_TODO_RANGE_TYPE, "range_type"},
763 {CAL_PROPERTY_TODO_UNTIL, "until_type,until_utime,until_datetime"},
764 {CAL_PROPERTY_TODO_COUNT, "count"},
765 {CAL_PROPERTY_TODO_INTERVAL, "interval"},
766 {CAL_PROPERTY_TODO_BYSECOND, "bysecond"},
767 {CAL_PROPERTY_TODO_BYMINUTE, "byminute"},
768 {CAL_PROPERTY_TODO_BYHOUR, "byhour"},
769 {CAL_PROPERTY_TODO_BYDAY, "byday"},
770 {CAL_PROPERTY_TODO_BYMONTHDAY, "bymonthday"},
771 {CAL_PROPERTY_TODO_BYYEARDAY, "byyearday"},
772 {CAL_PROPERTY_TODO_BYWEEKNO, "byweekno"},
773 {CAL_PROPERTY_TODO_BYMONTH, "bymonth"},
774 {CAL_PROPERTY_TODO_BYSETPOS, "bysetpos"},
775 {CAL_PROPERTY_TODO_WKST, "wkst"},
776 {CAL_PROPERTY_TODO_HAS_ALARM, "has_alarm"},
777 {CAL_PROPERTY_TODO_SYNC_DATA1, "sync_data1"},
778 {CAL_PROPERTY_TODO_SYNC_DATA2, "sync_data2"},
779 {CAL_PROPERTY_TODO_SYNC_DATA3, "sync_data3"},
780 {CAL_PROPERTY_TODO_SYNC_DATA4, "sync_data4"},
781 {CAL_PROPERTY_TODO_START, "dtstart_type,dtstart_utime,dtstart_datetime"},
782 {CAL_PROPERTY_TODO_DUE, "dtend_type,dtend_utime,dtend_datetime"},
783 {CAL_PROPERTY_TODO_START_TZID, "dtstart_tzid"},
784 {CAL_PROPERTY_TODO_DUE_TZID, "dtend_tzid"},
785 {CAL_PROPERTY_TODO_ORGANIZER_NAME, "organizer_name"},
786 {CAL_PROPERTY_TODO_ORGANIZER_EMAIL, "organizer_email"},
787 {CAL_PROPERTY_TODO_HAS_ATTENDEE, "has_attendee"},
788 {CAL_PROPERTY_TODO_IS_ALLDAY, "dtend_type"},
789 {(CAL_PROPERTY_CALENDAR_VISIBILITY|CAL_PROPERTY_FLAGS_FILTER), "visibility"},
790 {(CAL_PROPERTY_CALENDAR_ACCOUNT_ID|CAL_PROPERTY_FLAGS_FILTER), "account_id"},
793 const cal_property_info_s __property_search_event_calendar_attendee[] = {
794 {CAL_PROPERTY_EVENT_ID, "id"},
795 {CAL_PROPERTY_EVENT_CALENDAR_ID, "calendar_id"},
796 {CAL_PROPERTY_EVENT_SUMMARY, "summary"},
797 {CAL_PROPERTY_EVENT_DESCRIPTION, "description"},
798 {CAL_PROPERTY_EVENT_LOCATION, "location"},
799 {CAL_PROPERTY_EVENT_CATEGORIES, "categories"},
800 {CAL_PROPERTY_EVENT_EXDATE, "exdate"},
801 {CAL_PROPERTY_EVENT_EVENT_STATUS, "task_status"},
802 {CAL_PROPERTY_EVENT_PRIORITY, "priority"},
803 {CAL_PROPERTY_EVENT_TIMEZONE, "timezone"},
804 {CAL_PROPERTY_EVENT_CONTACT_ID, "contact_id"},
805 {CAL_PROPERTY_EVENT_BUSY_STATUS, "busy_status"},
806 {CAL_PROPERTY_EVENT_SENSITIVITY, "sensitivity"},
807 {CAL_PROPERTY_EVENT_UID, "uid"},
808 {CAL_PROPERTY_EVENT_ORGANIZER_NAME, "organizer_name"},
809 {CAL_PROPERTY_EVENT_ORGANIZER_EMAIL, "organizer_email"},
810 {CAL_PROPERTY_EVENT_MEETING_STATUS, "meeting_status"},
811 {CAL_PROPERTY_EVENT_ORIGINAL_EVENT_ID, "original_event_id"},
812 {CAL_PROPERTY_EVENT_LATITUDE, "latitude"},
813 {CAL_PROPERTY_EVENT_LONGITUDE, "longitude"},
814 {CAL_PROPERTY_EVENT_EMAIL_ID, "email_id"},
815 {CAL_PROPERTY_EVENT_CREATED_TIME, "created_time"},
816 {CAL_PROPERTY_EVENT_LAST_MODIFIED_TIME, "last_mod"},
817 {CAL_PROPERTY_EVENT_FREQ, "freq"},
818 {CAL_PROPERTY_EVENT_RANGE_TYPE, "range_type"},
819 {CAL_PROPERTY_EVENT_UNTIL, "until_type,until_utime,until_datetime"},
820 {CAL_PROPERTY_EVENT_COUNT, "count"},
821 {CAL_PROPERTY_EVENT_INTERVAL, "interval"},
822 {CAL_PROPERTY_EVENT_BYSECOND, "bysecond"},
823 {CAL_PROPERTY_EVENT_BYMINUTE, "byminute"},
824 {CAL_PROPERTY_EVENT_BYHOUR, "byhour"},
825 {CAL_PROPERTY_EVENT_BYDAY, "byday"},
826 {CAL_PROPERTY_EVENT_BYMONTHDAY, "bymonthday"},
827 {CAL_PROPERTY_EVENT_BYYEARDAY, "byyearday"},
828 {CAL_PROPERTY_EVENT_BYWEEKNO, "byweekno"},
829 {CAL_PROPERTY_EVENT_BYMONTH, "bymonth"},
830 {CAL_PROPERTY_EVENT_BYSETPOS, "bysetpos"},
831 {CAL_PROPERTY_EVENT_WKST, "wkst"},
832 {CAL_PROPERTY_EVENT_RECURRENCE_ID, "recurrence_id"},
833 {CAL_PROPERTY_EVENT_RDATE, "rdate"},
834 {CAL_PROPERTY_EVENT_HAS_ATTENDEE, "has_attendee"},
835 {CAL_PROPERTY_EVENT_HAS_ALARM, "has_alarm"},
836 {CAL_PROPERTY_EVENT_SYNC_DATA1, "sync_data1"},
837 {CAL_PROPERTY_EVENT_SYNC_DATA2, "sync_data2"},
838 {CAL_PROPERTY_EVENT_SYNC_DATA3, "sync_data3"},
839 {CAL_PROPERTY_EVENT_SYNC_DATA4, "sync_data4"},
840 {CAL_PROPERTY_EVENT_START, "dtstart_type,dtstart_utime,dtstart_datetime"},
841 {CAL_PROPERTY_EVENT_END, "dtend_type,dtend_utime,dtend_datetime"},
842 {CAL_PROPERTY_EVENT_CALENDAR_SYSTEM_TYPE, "system_type"},
843 {CAL_PROPERTY_EVENT_START_TZID, "dtstart_tzid"},
844 {CAL_PROPERTY_EVENT_END_TZID, "dtend_tzid"},
845 {CAL_PROPERTY_EVENT_IS_ALLDAY, "is_allday"},
846 {(CAL_PROPERTY_CALENDAR_VISIBILITY|CAL_PROPERTY_FLAGS_FILTER), "visibility"},
847 {(CAL_PROPERTY_CALENDAR_ACCOUNT_ID|CAL_PROPERTY_FLAGS_FILTER), "account_id"},
848 {(CAL_PROPERTY_ATTENDEE_EMAIL|CAL_PROPERTY_FLAGS_FILTER), "attendee_email"},
849 {(CAL_PROPERTY_ATTENDEE_NAME|CAL_PROPERTY_FLAGS_FILTER), "attendee_name"},
850 {(CAL_PROPERTY_ATTENDEE_MEMBER|CAL_PROPERTY_FLAGS_FILTER), "attendee_member"},
853 const cal_property_info_s __property_search_instance_utime_calendar[] = {
854 {CAL_PROPERTY_INSTANCE_NORMAL_EVENT_ID, "event_id"},
855 {CAL_PROPERTY_INSTANCE_NORMAL_START, "dtstart_type,dtstart_utime,dtstart_datetime"},
856 {CAL_PROPERTY_INSTANCE_NORMAL_END, "dtend_type,dtend_utime,dtend_datetime"},
857 {CAL_PROPERTY_INSTANCE_NORMAL_SUMMARY, "summary"},
858 {CAL_PROPERTY_INSTANCE_NORMAL_LOCATION, "location"},
859 {CAL_PROPERTY_INSTANCE_NORMAL_CALENDAR_ID, "calendar_id"},
860 {CAL_PROPERTY_INSTANCE_NORMAL_DESCRIPTION, "description"},
861 {CAL_PROPERTY_INSTANCE_NORMAL_BUSY_STATUS, "busy_status"},
862 {CAL_PROPERTY_INSTANCE_NORMAL_EVENT_STATUS, "task_status"},
863 {CAL_PROPERTY_INSTANCE_NORMAL_PRIORITY, "priority"},
864 {CAL_PROPERTY_INSTANCE_NORMAL_SENSITIVITY, "sensitivity"},
865 {CAL_PROPERTY_INSTANCE_NORMAL_HAS_RRULE, "rrule_id"},
866 {CAL_PROPERTY_INSTANCE_NORMAL_LATITUDE, "latitude"},
867 {CAL_PROPERTY_INSTANCE_NORMAL_LONGITUDE, "longitude"},
868 {CAL_PROPERTY_INSTANCE_NORMAL_HAS_ALARM, "has_alarm"},
869 {CAL_PROPERTY_INSTANCE_NORMAL_ORIGINAL_EVENT_ID, "original_event_id"},
870 {(CAL_PROPERTY_CALENDAR_VISIBILITY|CAL_PROPERTY_FLAGS_FILTER), "visibility"},
871 {(CAL_PROPERTY_CALENDAR_ACCOUNT_ID|CAL_PROPERTY_FLAGS_FILTER), "account_id"},
872 {CAL_PROPERTY_INSTANCE_NORMAL_LAST_MODIFIED_TIME, "last_mod"},
873 {CAL_PROPERTY_INSTANCE_NORMAL_SYNC_DATA1, "sync_data1"},
876 const cal_property_info_s __property_search_instance_localtime_calendar[] = {
877 {CAL_PROPERTY_INSTANCE_ALLDAY_EVENT_ID, "event_id"},
878 {CAL_PROPERTY_INSTANCE_ALLDAY_START, "dtstart_type,dtstart_utime,dtstart_datetime"},
879 {CAL_PROPERTY_INSTANCE_ALLDAY_END, "dtend_type,dtend_utime,dtend_datetime"},
880 {CAL_PROPERTY_INSTANCE_ALLDAY_SUMMARY, "summary"},
881 {CAL_PROPERTY_INSTANCE_ALLDAY_LOCATION, "location"},
882 {CAL_PROPERTY_INSTANCE_ALLDAY_CALENDAR_ID, "calendar_id"},
883 {CAL_PROPERTY_INSTANCE_ALLDAY_DESCRIPTION, "description"},
884 {CAL_PROPERTY_INSTANCE_ALLDAY_BUSY_STATUS, "busy_status"},
885 {CAL_PROPERTY_INSTANCE_ALLDAY_EVENT_STATUS, "task_status"},
886 {CAL_PROPERTY_INSTANCE_ALLDAY_PRIORITY, "priority"},
887 {CAL_PROPERTY_INSTANCE_ALLDAY_SENSITIVITY, "sensitivity"},
888 {CAL_PROPERTY_INSTANCE_ALLDAY_HAS_RRULE, "rrule_id"},
889 {CAL_PROPERTY_INSTANCE_ALLDAY_LATITUDE, "latitude"},
890 {CAL_PROPERTY_INSTANCE_ALLDAY_LONGITUDE, "longitude"},
891 {CAL_PROPERTY_INSTANCE_ALLDAY_HAS_ALARM, "has_alarm"},
892 {CAL_PROPERTY_INSTANCE_ALLDAY_ORIGINAL_EVENT_ID, "original_event_id"},
893 {(CAL_PROPERTY_CALENDAR_VISIBILITY|CAL_PROPERTY_FLAGS_FILTER), "visibility"},
894 {(CAL_PROPERTY_CALENDAR_ACCOUNT_ID|CAL_PROPERTY_FLAGS_FILTER), "account_id"},
895 {CAL_PROPERTY_INSTANCE_ALLDAY_LAST_MODIFIED_TIME, "last_mod"},
896 {CAL_PROPERTY_INSTANCE_ALLDAY_SYNC_DATA1, "sync_data1"},
897 {CAL_PROPERTY_INSTANCE_ALLDAY_IS_ALLDAY, "is_allday"},
900 const cal_property_info_s __property_search_instance_utime_calendar_extended[] = {
901 {CAL_PROPERTY_INSTANCE_NORMAL_EXTENDED_EVENT_ID, "event_id"},
902 {CAL_PROPERTY_INSTANCE_NORMAL_EXTENDED_START, "dtstart_type,dtstart_utime,dtstart_datetime"},
903 {CAL_PROPERTY_INSTANCE_NORMAL_EXTENDED_END, "dtend_type,dtend_utime,dtend_datetime"},
904 {CAL_PROPERTY_INSTANCE_NORMAL_EXTENDED_SUMMARY, "summary"},
905 {CAL_PROPERTY_INSTANCE_NORMAL_EXTENDED_LOCATION, "location"},
906 {CAL_PROPERTY_INSTANCE_NORMAL_EXTENDED_CALENDAR_ID, "calendar_id"},
907 {CAL_PROPERTY_INSTANCE_NORMAL_EXTENDED_DESCRIPTION, "description"},
908 {CAL_PROPERTY_INSTANCE_NORMAL_EXTENDED_BUSY_STATUS, "busy_status"},
909 {CAL_PROPERTY_INSTANCE_NORMAL_EXTENDED_EVENT_STATUS, "task_status"},
910 {CAL_PROPERTY_INSTANCE_NORMAL_EXTENDED_PRIORITY, "priority"},
911 {CAL_PROPERTY_INSTANCE_NORMAL_EXTENDED_SENSITIVITY, "sensitivity"},
912 {CAL_PROPERTY_INSTANCE_NORMAL_EXTENDED_HAS_RRULE, "rrule_id"},
913 {CAL_PROPERTY_INSTANCE_NORMAL_EXTENDED_LATITUDE, "latitude"},
914 {CAL_PROPERTY_INSTANCE_NORMAL_EXTENDED_LONGITUDE, "longitude"},
915 {CAL_PROPERTY_INSTANCE_NORMAL_EXTENDED_HAS_ALARM, "has_alarm"},
916 {CAL_PROPERTY_INSTANCE_NORMAL_EXTENDED_ORIGINAL_EVENT_ID, "original_event_id"},
917 {(CAL_PROPERTY_CALENDAR_VISIBILITY|CAL_PROPERTY_FLAGS_FILTER), "visibility"},
918 {(CAL_PROPERTY_CALENDAR_ACCOUNT_ID|CAL_PROPERTY_FLAGS_FILTER), "account_id"},
919 {CAL_PROPERTY_INSTANCE_NORMAL_EXTENDED_LAST_MODIFIED_TIME, "last_mod"},
920 {CAL_PROPERTY_INSTANCE_NORMAL_EXTENDED_SYNC_DATA1, "sync_data1"},
921 {CAL_PROPERTY_INSTANCE_NORMAL_EXTENDED_ORGANIZER_NAME, "organizer_name"},
922 {CAL_PROPERTY_INSTANCE_NORMAL_EXTENDED_CATEGORIES, "categories"},
923 {CAL_PROPERTY_INSTANCE_NORMAL_EXTENDED_HAS_ATTENDEE, "has_attendee"},
924 {CAL_PROPERTY_INSTANCE_NORMAL_EXTENDED_SYNC_DATA2, "sync_data2"},
925 {CAL_PROPERTY_INSTANCE_NORMAL_EXTENDED_SYNC_DATA3, "sync_data3"},
926 {CAL_PROPERTY_INSTANCE_NORMAL_EXTENDED_SYNC_DATA4, "sync_data4"},
930 const cal_property_info_s __property_search_instance_localtime_calendar_extended[] = {
931 {CAL_PROPERTY_INSTANCE_ALLDAY_EXTENDED_EVENT_ID, "event_id"},
932 {CAL_PROPERTY_INSTANCE_ALLDAY_EXTENDED_START, "dtstart_type,dtstart_utime,dtstart_datetime"},
933 {CAL_PROPERTY_INSTANCE_ALLDAY_EXTENDED_END, "dtend_type,dtend_utime,dtend_datetime"},
934 {CAL_PROPERTY_INSTANCE_ALLDAY_EXTENDED_SUMMARY, "summary"},
935 {CAL_PROPERTY_INSTANCE_ALLDAY_EXTENDED_LOCATION, "location"},
936 {CAL_PROPERTY_INSTANCE_ALLDAY_EXTENDED_CALENDAR_ID, "calendar_id"},
937 {CAL_PROPERTY_INSTANCE_ALLDAY_EXTENDED_DESCRIPTION, "description"},
938 {CAL_PROPERTY_INSTANCE_ALLDAY_EXTENDED_BUSY_STATUS, "busy_status"},
939 {CAL_PROPERTY_INSTANCE_ALLDAY_EXTENDED_EVENT_STATUS, "task_status"},
940 {CAL_PROPERTY_INSTANCE_ALLDAY_EXTENDED_PRIORITY, "priority"},
941 {CAL_PROPERTY_INSTANCE_ALLDAY_EXTENDED_SENSITIVITY, "sensitivity"},
942 {CAL_PROPERTY_INSTANCE_ALLDAY_EXTENDED_HAS_RRULE, "rrule_id"},
943 {CAL_PROPERTY_INSTANCE_ALLDAY_EXTENDED_LATITUDE, "latitude"},
944 {CAL_PROPERTY_INSTANCE_ALLDAY_EXTENDED_LONGITUDE, "longitude"},
945 {CAL_PROPERTY_INSTANCE_ALLDAY_EXTENDED_HAS_ALARM, "has_alarm"},
946 {CAL_PROPERTY_INSTANCE_ALLDAY_EXTENDED_ORIGINAL_EVENT_ID, "original_event_id"},
947 {(CAL_PROPERTY_CALENDAR_VISIBILITY|CAL_PROPERTY_FLAGS_FILTER), "visibility"},
948 {(CAL_PROPERTY_CALENDAR_ACCOUNT_ID|CAL_PROPERTY_FLAGS_FILTER), "account_id"},
949 {CAL_PROPERTY_INSTANCE_ALLDAY_EXTENDED_LAST_MODIFIED_TIME, "last_mod"},
950 {CAL_PROPERTY_INSTANCE_ALLDAY_EXTENDED_SYNC_DATA1, "sync_data1"},
951 {CAL_PROPERTY_INSTANCE_ALLDAY_EXTENDED_ORGANIZER_NAME, "organizer_name"},
952 {CAL_PROPERTY_INSTANCE_ALLDAY_EXTENDED_CATEGORIES, "categories"},
953 {CAL_PROPERTY_INSTANCE_ALLDAY_EXTENDED_HAS_ATTENDEE, "has_attendee"},
954 {CAL_PROPERTY_INSTANCE_ALLDAY_EXTENDED_SYNC_DATA2, "sync_data2"},
955 {CAL_PROPERTY_INSTANCE_ALLDAY_EXTENDED_SYNC_DATA3, "sync_data3"},
956 {CAL_PROPERTY_INSTANCE_ALLDAY_EXTENDED_SYNC_DATA4, "sync_data4"},
957 {CAL_PROPERTY_INSTANCE_ALLDAY_EXTENDED_IS_ALLDAY, "is_allday"},
960 const cal_property_info_s __property_extended[] = {
961 {CAL_PROPERTY_EXTENDED_ID, "id"},
962 {CAL_PROPERTY_EXTENDED_RECORD_ID, "record_id"},
963 {CAL_PROPERTY_EXTENDED_RECORD_TYPE, "record_type"},
964 {CAL_PROPERTY_EXTENDED_KEY, "key"},
965 {CAL_PROPERTY_EXTENDED_VALUE, "value"},
970 cal_record_type_e type;
971 cal_property_info_s *properties;
973 } cal_view_uri_info_s;
975 #define PTR_COUNT(X) (void*)(X), sizeof(X)/sizeof(cal_property_info_s)
978 static const cal_view_uri_info_s __tables[] = {
979 {CALENDAR_VIEW_CALENDAR, CAL_RECORD_TYPE_CALENDAR, PTR_COUNT(__property_calendar_book) },
980 {CALENDAR_VIEW_EVENT, CAL_RECORD_TYPE_EVENT, PTR_COUNT(__property_event) },
981 {CALENDAR_VIEW_TODO, CAL_RECORD_TYPE_TODO, PTR_COUNT(__property_todo) },
982 {CALENDAR_VIEW_TIMEZONE, CAL_RECORD_TYPE_TIMEZONE, PTR_COUNT(__property_timezone) },
983 {CALENDAR_VIEW_ATTENDEE, CAL_RECORD_TYPE_ATTENDEE, PTR_COUNT(__property_attendee) },
984 {CALENDAR_VIEW_ALARM, CAL_RECORD_TYPE_ALARM, PTR_COUNT(__property_alarm) },
985 {CALENDAR_VIEW_UPDATED_INFO, CAL_RECORD_TYPE_UPDATED_INFO, PTR_COUNT(__property_updated_info) },
986 {CALENDAR_VIEW_EVENT_CALENDAR, CAL_RECORD_TYPE_SEARCH, PTR_COUNT(__property_search_event_calendar) },
987 {CALENDAR_VIEW_TODO_CALENDAR, CAL_RECORD_TYPE_SEARCH, PTR_COUNT(__property_search_todo_calendar) },
988 {CALENDAR_VIEW_EVENT_CALENDAR_ATTENDEE, CAL_RECORD_TYPE_SEARCH, PTR_COUNT(__property_search_event_calendar_attendee) },
989 {CALENDAR_VIEW_INSTANCE_UTIME_CALENDAR, CAL_RECORD_TYPE_INSTANCE_NORMAL, PTR_COUNT(__property_search_instance_utime_calendar) },
990 {CALENDAR_VIEW_INSTANCE_LOCALTIME_CALENDAR, CAL_RECORD_TYPE_INSTANCE_ALLDAY, PTR_COUNT(__property_search_instance_localtime_calendar) },
991 {CALENDAR_VIEW_INSTANCE_UTIME_CALENDAR_EXTENDED, CAL_RECORD_TYPE_INSTANCE_NORMAL_EXTENDED, PTR_COUNT(__property_search_instance_utime_calendar_extended) },
992 {CALENDAR_VIEW_INSTANCE_LOCALTIME_CALENDAR_EXTENDED, CAL_RECORD_TYPE_INSTANCE_ALLDAY_EXTENDED, PTR_COUNT(__property_search_instance_localtime_calendar_extended) },
993 {CALENDAR_VIEW_EXTENDED, CAL_RECORD_TYPE_EXTENDED, PTR_COUNT(__property_extended) },
996 static bool cal_uri_property_flag = false;
997 static GHashTable *cal_uri_property_hash = NULL;
998 #ifdef CAL_IPC_CLIENT
999 static int calendar_view_count = 0;
1002 void cal_view_initialize(void)
1004 bool bmutex = false;
1006 #ifdef CAL_IPC_CLIENT
1007 cal_mutex_lock(CAL_MUTEX_PROPERTY_HASH);
1008 calendar_view_count++;
1009 cal_mutex_unlock(CAL_MUTEX_PROPERTY_HASH);
1012 if (cal_uri_property_flag == false) {
1013 cal_mutex_lock(CAL_MUTEX_PROPERTY_HASH);
1017 if (NULL == cal_uri_property_hash) {
1018 cal_uri_property_hash = g_hash_table_new(g_str_hash, g_str_equal);
1019 if (cal_uri_property_hash) {
1020 g_hash_table_insert(cal_uri_property_hash, CALENDAR_VIEW_CALENDAR, GINT_TO_POINTER(&(__tables[0])));
1021 g_hash_table_insert(cal_uri_property_hash, CALENDAR_VIEW_EVENT, GINT_TO_POINTER(&(__tables[1])));
1022 g_hash_table_insert(cal_uri_property_hash, CALENDAR_VIEW_TODO, GINT_TO_POINTER(&(__tables[2])));
1023 g_hash_table_insert(cal_uri_property_hash, CALENDAR_VIEW_TIMEZONE, GINT_TO_POINTER(&(__tables[3])));
1024 g_hash_table_insert(cal_uri_property_hash, CALENDAR_VIEW_ATTENDEE, GINT_TO_POINTER(&(__tables[4])));
1025 g_hash_table_insert(cal_uri_property_hash, CALENDAR_VIEW_ALARM, GINT_TO_POINTER(&(__tables[5])));
1026 g_hash_table_insert(cal_uri_property_hash, CALENDAR_VIEW_UPDATED_INFO, GINT_TO_POINTER(&(__tables[6])));
1027 g_hash_table_insert(cal_uri_property_hash, CALENDAR_VIEW_EVENT_CALENDAR, GINT_TO_POINTER(&(__tables[7])));
1028 g_hash_table_insert(cal_uri_property_hash, CALENDAR_VIEW_TODO_CALENDAR, GINT_TO_POINTER(&(__tables[8])));
1029 g_hash_table_insert(cal_uri_property_hash, CALENDAR_VIEW_EVENT_CALENDAR_ATTENDEE, GINT_TO_POINTER(&(__tables[9])));
1030 g_hash_table_insert(cal_uri_property_hash, CALENDAR_VIEW_INSTANCE_UTIME_CALENDAR, GINT_TO_POINTER(&(__tables[10])));
1031 g_hash_table_insert(cal_uri_property_hash, CALENDAR_VIEW_INSTANCE_LOCALTIME_CALENDAR, GINT_TO_POINTER(&(__tables[11])));
1032 g_hash_table_insert(cal_uri_property_hash, CALENDAR_VIEW_INSTANCE_UTIME_CALENDAR_EXTENDED, GINT_TO_POINTER(&(__tables[12])));
1033 g_hash_table_insert(cal_uri_property_hash, CALENDAR_VIEW_INSTANCE_LOCALTIME_CALENDAR_EXTENDED, GINT_TO_POINTER(&(__tables[13])));
1034 g_hash_table_insert(cal_uri_property_hash, CALENDAR_VIEW_EXTENDED, GINT_TO_POINTER(&(__tables[14])));
1038 if (bmutex == true) {
1039 cal_uri_property_flag = true;
1040 cal_mutex_unlock(CAL_MUTEX_PROPERTY_HASH);
1046 cal_record_type_e cal_view_get_type(const char *view_uri)
1048 cal_view_uri_info_s* view_uri_info = NULL;
1049 cal_record_type_e type = CAL_RECORD_TYPE_INVALID;
1051 if (cal_uri_property_hash) {
1052 view_uri_info = g_hash_table_lookup(cal_uri_property_hash, view_uri);
1054 type = view_uri_info->type;
1056 ERR("g_hash_table_lookup() Fail");
1058 ERR("Unable to get cal_uri_property_hash[%s]", view_uri);
1064 void cal_view_finalize(void)
1066 #ifdef CAL_IPC_CLIENT
1067 cal_mutex_lock(CAL_MUTEX_PROPERTY_HASH);
1068 if (calendar_view_count <= 0) {
1069 cal_mutex_unlock(CAL_MUTEX_PROPERTY_HASH);
1072 calendar_view_count--;
1074 if (calendar_view_count == 0) {
1075 if (cal_uri_property_hash) {
1076 g_hash_table_destroy(cal_uri_property_hash);
1077 cal_uri_property_hash = NULL;
1080 cal_mutex_unlock(CAL_MUTEX_PROPERTY_HASH);
1084 const cal_property_info_s* cal_view_get_property_info(const char *view_uri, int *count)
1086 cal_property_info_s* tmp = NULL;
1087 cal_view_uri_info_s* view_uri_info = NULL;
1089 if (cal_uri_property_hash) {
1090 view_uri_info = g_hash_table_lookup(cal_uri_property_hash, view_uri);
1091 if (view_uri_info) {
1092 tmp = view_uri_info->properties;
1093 *count = view_uri_info->property_count;
1100 const char* cal_view_get_uri(const char *view_uri)
1102 cal_view_uri_info_s* view_uri_info = NULL;
1104 if (cal_uri_property_hash) {
1105 view_uri_info = g_hash_table_lookup(cal_uri_property_hash, view_uri);
1107 return view_uri_info->view_uri;