4 * Copyright (c) 2012 - 2013 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 // !! TODO : please check ids number
29 API const _calendar_book_property_ids _calendar_book =
31 ._uri = CALENDAR_VIEW_CALENDAR,
32 .id = CAL_PROPERTY_CALENDAR_ID,
33 .uid = CAL_PROPERTY_CALENDAR_UID,
34 .name = CAL_PROPERTY_CALENDAR_NAME,
35 .description = CAL_PROPERTY_CALENDAR_DESCRIPTION,
36 .color = CAL_PROPERTY_CALENDAR_COLOR,
37 .location = CAL_PROPERTY_CALENDAR_LOCATION,
38 .visibility = CAL_PROPERTY_CALENDAR_VISIBILITY,
39 .sync_event = CAL_PROPERTY_CALENDAR_SYNC_EVENT,
40 .is_deleted = CAL_PROPERTY_CALENDAR_IS_DELETED,
41 .account_id = CAL_PROPERTY_CALENDAR_ACCOUNT_ID,
42 .store_type = CAL_PROPERTY_CALENDAR_STORE_TYPE,
43 .sync_data1 = CAL_PROPERTY_CALENDAR_SYNC_DATA1,
44 .sync_data2 = CAL_PROPERTY_CALENDAR_SYNC_DATA2,
45 .sync_data3 = CAL_PROPERTY_CALENDAR_SYNC_DATA3,
46 .sync_data4 = CAL_PROPERTY_CALENDAR_SYNC_DATA4
48 API const _calendar_event_property_ids _calendar_event =
50 ._uri = CALENDAR_VIEW_EVENT,
51 .id = CAL_PROPERTY_EVENT_ID,
52 .calendar_book_id = CAL_PROPERTY_EVENT_CALENDAR_ID,
53 .summary = CAL_PROPERTY_EVENT_SUMMARY,
54 .description = CAL_PROPERTY_EVENT_DESCRIPTION,
55 .location = CAL_PROPERTY_EVENT_LOCATION,
56 .categories = CAL_PROPERTY_EVENT_CATEGORIES,
57 .exdate = CAL_PROPERTY_EVENT_EXDATE,
58 .event_status = CAL_PROPERTY_EVENT_EVENT_STATUS,
59 .priority = CAL_PROPERTY_EVENT_PRIORITY,
60 .timezone = CAL_PROPERTY_EVENT_TIMEZONE,
61 .person_id = CAL_PROPERTY_EVENT_CONTACT_ID,
62 .busy_status = CAL_PROPERTY_EVENT_BUSY_STATUS,
63 .sensitivity = CAL_PROPERTY_EVENT_SENSITIVITY,
64 .uid = CAL_PROPERTY_EVENT_UID,
65 .organizer_name = CAL_PROPERTY_EVENT_ORGANIZER_NAME,
66 .organizer_email = CAL_PROPERTY_EVENT_ORGANIZER_EMAIL,
67 .meeting_status = CAL_PROPERTY_EVENT_MEETING_STATUS,
68 .original_event_id = CAL_PROPERTY_EVENT_ORIGINAL_EVENT_ID,
69 .latitude = CAL_PROPERTY_EVENT_LATITUDE,
70 .longitude = CAL_PROPERTY_EVENT_LONGITUDE,
71 .email_id = CAL_PROPERTY_EVENT_EMAIL_ID,
72 .created_time = CAL_PROPERTY_EVENT_CREATED_TIME,
73 .last_modified_time = CAL_PROPERTY_EVENT_LAST_MODIFIED_TIME,
74 .is_deleted = CAL_PROPERTY_EVENT_IS_DELETED,
75 //CAL_PROPERTY_EVENT_HAS_RRULE,
76 .freq = CAL_PROPERTY_EVENT_FREQ,
77 .range_type = CAL_PROPERTY_EVENT_RANGE_TYPE,
78 .until_time = CAL_PROPERTY_EVENT_UNTIL,
79 .count = CAL_PROPERTY_EVENT_COUNT,
80 .interval = CAL_PROPERTY_EVENT_INTERVAL,
81 .bysecond = CAL_PROPERTY_EVENT_BYSECOND,
82 .byminute = CAL_PROPERTY_EVENT_BYMINUTE,
83 .byhour = CAL_PROPERTY_EVENT_BYHOUR,
84 .byday = CAL_PROPERTY_EVENT_BYDAY,
85 .bymonthday = CAL_PROPERTY_EVENT_BYMONTHDAY,
86 .byyearday = CAL_PROPERTY_EVENT_BYYEARDAY,
87 .byweekno = CAL_PROPERTY_EVENT_BYWEEKNO,
88 .bymonth = CAL_PROPERTY_EVENT_BYMONTH,
89 .bysetpos = CAL_PROPERTY_EVENT_BYSETPOS,
90 .wkst = CAL_PROPERTY_EVENT_WKST,
91 .recurrence_id = CAL_PROPERTY_EVENT_RECURRENCE_ID,
92 .rdate = CAL_PROPERTY_EVENT_RDATE,
93 .has_attendee = CAL_PROPERTY_EVENT_HAS_ATTENDEE,
94 .has_alarm = CAL_PROPERTY_EVENT_HAS_ALARM,
95 .calendar_system_type = CAL_PROPERTY_EVENT_CALENDAR_SYSTEM_TYPE,
96 .sync_data1 = CAL_PROPERTY_EVENT_SYNC_DATA1,
97 .sync_data2 = CAL_PROPERTY_EVENT_SYNC_DATA2,
98 .sync_data3 = CAL_PROPERTY_EVENT_SYNC_DATA3,
99 .sync_data4 = CAL_PROPERTY_EVENT_SYNC_DATA4,
100 .start_time = CAL_PROPERTY_EVENT_START,
101 .start_tzid = CAL_PROPERTY_EVENT_START_TZID,
102 .end_time = CAL_PROPERTY_EVENT_END,
103 .end_tzid = CAL_PROPERTY_EVENT_END_TZID,
104 .calendar_alarm = CAL_PROPERTY_EVENT_CALENDAR_ALARM,
105 .calendar_attendee = CAL_PROPERTY_EVENT_CALENDAR_ATTENDEE,
106 .exception = CAL_PROPERTY_EVENT_EXCEPTION,
107 .extended = CAL_PROPERTY_EVENT_EXTENDED,
108 .is_allday = CAL_PROPERTY_EVENT_IS_ALLDAY
110 API const _calendar_todo_property_ids _calendar_todo =
112 ._uri = CALENDAR_VIEW_TODO,
113 .id = CAL_PROPERTY_TODO_ID,
114 .calendar_book_id = CAL_PROPERTY_TODO_CALENDAR_ID,
115 .summary = CAL_PROPERTY_TODO_SUMMARY,
116 .description = CAL_PROPERTY_TODO_DESCRIPTION,
117 .location = CAL_PROPERTY_TODO_LOCATION,
118 .categories = CAL_PROPERTY_TODO_CATEGORIES,
119 .todo_status = CAL_PROPERTY_TODO_TODO_STATUS,
120 .priority = CAL_PROPERTY_TODO_PRIORITY,
121 .sensitivity = CAL_PROPERTY_TODO_SENSITIVITY,
122 .uid = CAL_PROPERTY_TODO_UID,
123 .latitude = CAL_PROPERTY_TODO_LATITUDE,
124 .longitude = CAL_PROPERTY_TODO_LONGITUDE,
125 .created_time = CAL_PROPERTY_TODO_CREATED_TIME,
126 .last_modified_time = CAL_PROPERTY_TODO_LAST_MODIFIED_TIME,
127 .completed_time = CAL_PROPERTY_TODO_COMPLETED_TIME,
128 .progress = CAL_PROPERTY_TODO_PROGRESS,
129 .is_deleted = CAL_PROPERTY_TODO_IS_DELETED,
130 //CAL_PROPERTY_TODO_HAS_RRULE,
131 .freq = CAL_PROPERTY_TODO_FREQ,
132 .range_type = CAL_PROPERTY_TODO_RANGE_TYPE,
133 .until_time = CAL_PROPERTY_TODO_UNTIL,
134 .count = CAL_PROPERTY_TODO_COUNT,
135 .interval = CAL_PROPERTY_TODO_INTERVAL,
136 .bysecond = CAL_PROPERTY_TODO_BYSECOND,
137 .byminute = CAL_PROPERTY_TODO_BYMINUTE,
138 .byhour = CAL_PROPERTY_TODO_BYHOUR,
139 .byday = CAL_PROPERTY_TODO_BYDAY,
140 .bymonthday = CAL_PROPERTY_TODO_BYMONTHDAY,
141 .byyearday = CAL_PROPERTY_TODO_BYYEARDAY,
142 .byweekno = CAL_PROPERTY_TODO_BYWEEKNO,
143 .bymonth = CAL_PROPERTY_TODO_BYMONTH,
144 .bysetpos = CAL_PROPERTY_TODO_BYSETPOS,
145 .wkst = CAL_PROPERTY_TODO_WKST,
146 .has_alarm = CAL_PROPERTY_TODO_HAS_ALARM,
147 .sync_data1 = CAL_PROPERTY_TODO_SYNC_DATA1,
148 .sync_data2 = CAL_PROPERTY_TODO_SYNC_DATA2,
149 .sync_data3 = CAL_PROPERTY_TODO_SYNC_DATA3,
150 .sync_data4 = CAL_PROPERTY_TODO_SYNC_DATA4,
151 .start_time = CAL_PROPERTY_TODO_START,
152 .start_tzid = CAL_PROPERTY_TODO_START_TZID,
153 .due_time = CAL_PROPERTY_TODO_DUE,
154 .due_tzid = CAL_PROPERTY_TODO_DUE_TZID,
155 .calendar_alarm = CAL_PROPERTY_TODO_CALENDAR_ALARM,
156 .organizer_name = CAL_PROPERTY_TODO_ORGANIZER_NAME,
157 .organizer_email = CAL_PROPERTY_TODO_ORGANIZER_EMAIL,
158 .has_attendee = CAL_PROPERTY_TODO_HAS_ATTENDEE,
159 .calendar_attendee = CAL_PROPERTY_TODO_CALENDAR_ATTENDEE,
160 .extended = CAL_PROPERTY_TODO_EXTENDED,
161 .is_allday = CAL_PROPERTY_TODO_IS_ALLDAY
164 API const _calendar_timezone_property_ids _calendar_timezone =
166 ._uri = CALENDAR_VIEW_TIMEZONE,
167 .id = CAL_PROPERTY_TIMEZONE_ID,
168 .calendar_book_id = CAL_PROPERTY_TIMEZONE_CALENDAR_ID,
169 .tz_offset_from_gmt = CAL_PROPERTY_TIMEZONE_TZ_OFFSET_FROM_GMT,
170 .standard_name = CAL_PROPERTY_TIMEZONE_STANDARD_NAME,
171 .standard_start_month = CAL_PROPERTY_TIMEZONE_STD_START_MONTH,
172 .standard_start_position_of_week = CAL_PROPERTY_TIMEZONE_STD_START_POSITION_OF_WEEK,
173 .standard_start_day = CAL_PROPERTY_TIMEZONE_STD_START_DAY,
174 .standard_start_hour = CAL_PROPERTY_TIMEZONE_STD_START_HOUR,
175 .standard_bias = CAL_PROPERTY_TIMEZONE_STANDARD_BIAS,
176 .day_light_name = CAL_PROPERTY_TIMEZONE_DAY_LIGHT_NAME,
177 .day_light_start_month = CAL_PROPERTY_TIMEZONE_DAY_LIGHT_START_MONTH,
178 .day_light_start_position_of_week = CAL_PROPERTY_TIMEZONE_DAY_LIGHT_START_POSITION_OF_WEEK,
179 .day_light_start_day = CAL_PROPERTY_TIMEZONE_DAY_LIGHT_START_DAY,
180 .day_light_start_hour = CAL_PROPERTY_TIMEZONE_DAY_LIGHT_START_HOUR,
181 .day_light_bias = CAL_PROPERTY_TIMEZONE_DAY_LIGHT_BIAS,
183 API const _calendar_attendee_property_ids _calendar_attendee =
185 ._uri = CALENDAR_VIEW_ATTENDEE,
186 .event_id = CAL_PROPERTY_ATTENDEE_EVENT_ID,
187 .number = CAL_PROPERTY_ATTENDEE_NUMBER,
188 .type = CAL_PROPERTY_ATTENDEE_TYPE,
189 .person_id = CAL_PROPERTY_ATTENDEE_CT_INDEX,
190 .uid = CAL_PROPERTY_ATTENDEE_UID,
191 .group = CAL_PROPERTY_ATTENDEE_GROUP,
192 .email = CAL_PROPERTY_ATTENDEE_EMAIL,
193 .role = CAL_PROPERTY_ATTENDEE_ROLE,
194 .status = CAL_PROPERTY_ATTENDEE_STATUS,
195 .rsvp = CAL_PROPERTY_ATTENDEE_RSVP,
196 .delegate_uri = CAL_PROPERTY_ATTENDEE_DELEGATE_URI,
197 .delegator_uri = CAL_PROPERTY_ATTENDEE_DELEGATOR_URI,
198 .name = CAL_PROPERTY_ATTENDEE_NAME
200 API const _calendar_alarm_property_ids _calendar_alarm =
202 ._uri = CALENDAR_VIEW_ALARM,
203 .event_id = CAL_PROPERTY_ALARM_EVENT_TODO_ID,
204 .todo_id = CAL_PROPERTY_ALARM_EVENT_TODO_ID,
205 .type = CAL_PROPERTY_ALARM_TYPE,
206 .time = CAL_PROPERTY_ALARM_TIME,
207 .tick = CAL_PROPERTY_ALARM_TICK,
208 .tick_unit = CAL_PROPERTY_ALARM_TICK_UNIT,
209 .tone = CAL_PROPERTY_ALARM_TONE,
210 .description = CAL_PROPERTY_ALARM_DESCRIPTION,
211 .alarm_id = CAL_PROPERTY_ALARM_ID
213 API const _calendar_instance_normal_property_ids _calendar_instance_normal =
215 ._uri = CALENDAR_VIEW_INSTANCE_NORMAL,
216 .event_id = CAL_PROPERTY_INSTANCE_NORMAL_EVENT_ID,
217 .start_time = CAL_PROPERTY_INSTANCE_NORMAL_START,
218 .end_time = CAL_PROPERTY_INSTANCE_NORMAL_END,
219 .summary = CAL_PROPERTY_INSTANCE_NORMAL_SUMMARY,
220 .location = CAL_PROPERTY_INSTANCE_NORMAL_LOCATION,
221 .calendar_book_id = CAL_PROPERTY_INSTANCE_NORMAL_CALENDAR_ID,
222 .description = CAL_PROPERTY_INSTANCE_NORMAL_DESCRIPTION,
223 .busy_status = CAL_PROPERTY_INSTANCE_NORMAL_BUSY_STATUS,
224 .event_status = CAL_PROPERTY_INSTANCE_NORMAL_EVENT_STATUS,
225 .priority = CAL_PROPERTY_INSTANCE_NORMAL_PRIORITY,
226 .sensitivity = CAL_PROPERTY_INSTANCE_NORMAL_SENSITIVITY,
227 .has_rrule = CAL_PROPERTY_INSTANCE_NORMAL_HAS_RRULE,
228 .latitude = CAL_PROPERTY_INSTANCE_NORMAL_LATITUDE,
229 .longitude = CAL_PROPERTY_INSTANCE_NORMAL_LONGITUDE,
230 .has_alarm = CAL_PROPERTY_INSTANCE_NORMAL_HAS_ALARM,
231 .original_event_id = CAL_PROPERTY_INSTANCE_NORMAL_ORIGINAL_EVENT_ID,
232 .last_modified_time = CAL_PROPERTY_INSTANCE_NORMAL_LAST_MODIFIED_TIME
234 API const _calendar_instance_allday_property_ids _calendar_instance_allday =
236 ._uri = CALENDAR_VIEW_INSTANCE_ALLDAY,
237 .event_id = CAL_PROPERTY_INSTANCE_ALLDAY_EVENT_ID,
238 .start_time = CAL_PROPERTY_INSTANCE_ALLDAY_START,
239 .end_time = CAL_PROPERTY_INSTANCE_ALLDAY_END,
240 .summary = CAL_PROPERTY_INSTANCE_ALLDAY_SUMMARY,
241 .location = CAL_PROPERTY_INSTANCE_ALLDAY_LOCATION,
242 .calendar_book_id = CAL_PROPERTY_INSTANCE_ALLDAY_CALENDAR_ID,
243 .description = CAL_PROPERTY_INSTANCE_ALLDAY_DESCRIPTION,
244 .busy_status = CAL_PROPERTY_INSTANCE_ALLDAY_BUSY_STATUS,
245 .event_status = CAL_PROPERTY_INSTANCE_ALLDAY_EVENT_STATUS,
246 .priority = CAL_PROPERTY_INSTANCE_ALLDAY_PRIORITY,
247 .sensitivity = CAL_PROPERTY_INSTANCE_ALLDAY_SENSITIVITY,
248 .has_rrule = CAL_PROPERTY_INSTANCE_ALLDAY_HAS_RRULE,
249 .latitude = CAL_PROPERTY_INSTANCE_ALLDAY_LATITUDE,
250 .longitude = CAL_PROPERTY_INSTANCE_ALLDAY_LONGITUDE,
251 .has_alarm = CAL_PROPERTY_INSTANCE_ALLDAY_HAS_ALARM,
252 .original_event_id = CAL_PROPERTY_INSTANCE_ALLDAY_ORIGINAL_EVENT_ID,
253 .last_modified_time = CAL_PROPERTY_INSTANCE_ALLDAY_LAST_MODIFIED_TIME
255 API const _calendar_updated_info_property_ids _calendar_updated_info =
257 ._uri = CALENDAR_VIEW_UPDATED_INFO,
258 .id = CAL_PROPERTY_UPDATED_INFO_ID,
259 .calendar_book_id = CAL_PROPERTY_UPDATED_INFO_CALENDAR_ID,
260 .modified_status = CAL_PROPERTY_UPDATED_INFO_TYPE,
261 .version = CAL_PROPERTY_UPDATED_INFO_VERSION
264 API const _calendar_event_calendar_book_property_ids _calendar_event_calendar_book =
266 ._uri = CALENDAR_VIEW_EVENT_CALENDAR,
267 .event_id = CAL_PROPERTY_EVENT_ID,
268 .calendar_book_id = CAL_PROPERTY_EVENT_CALENDAR_ID,
269 .summary = CAL_PROPERTY_EVENT_SUMMARY,
270 .description = CAL_PROPERTY_EVENT_DESCRIPTION,
271 .location = CAL_PROPERTY_EVENT_LOCATION,
272 .categories = CAL_PROPERTY_EVENT_CATEGORIES,
273 .exdate = CAL_PROPERTY_EVENT_EXDATE,
274 .event_status = CAL_PROPERTY_EVENT_EVENT_STATUS,
275 .priority = CAL_PROPERTY_EVENT_PRIORITY,
276 .timezone = CAL_PROPERTY_EVENT_TIMEZONE,
277 .person_id = CAL_PROPERTY_EVENT_CONTACT_ID,
278 .busy_status = CAL_PROPERTY_EVENT_BUSY_STATUS,
279 .sensitivity = CAL_PROPERTY_EVENT_SENSITIVITY,
280 .uid = CAL_PROPERTY_EVENT_UID,
281 .organizer_name = CAL_PROPERTY_EVENT_ORGANIZER_NAME,
282 .organizer_email = CAL_PROPERTY_EVENT_ORGANIZER_EMAIL,
283 .meeting_status = CAL_PROPERTY_EVENT_MEETING_STATUS,
284 .original_event_id = CAL_PROPERTY_EVENT_ORIGINAL_EVENT_ID,
285 .latitude = CAL_PROPERTY_EVENT_LATITUDE,
286 .longitude = CAL_PROPERTY_EVENT_LONGITUDE,
287 .email_id = CAL_PROPERTY_EVENT_EMAIL_ID,
288 .created_time = CAL_PROPERTY_EVENT_CREATED_TIME,
289 .last_modified_time = CAL_PROPERTY_EVENT_LAST_MODIFIED_TIME,
290 .is_deleted = CAL_PROPERTY_EVENT_IS_DELETED,
291 //CAL_PROPERTY_EVENT_HAS_RRULE,
292 .freq = CAL_PROPERTY_EVENT_FREQ,
293 .range_type = CAL_PROPERTY_EVENT_RANGE_TYPE,
294 .until_time = CAL_PROPERTY_EVENT_UNTIL,
295 .count = CAL_PROPERTY_EVENT_COUNT,
296 .interval = CAL_PROPERTY_EVENT_INTERVAL,
297 .bysecond = CAL_PROPERTY_EVENT_BYSECOND,
298 .byminute = CAL_PROPERTY_EVENT_BYMINUTE,
299 .byhour = CAL_PROPERTY_EVENT_BYHOUR,
300 .byday = CAL_PROPERTY_EVENT_BYDAY,
301 .bymonthday = CAL_PROPERTY_EVENT_BYMONTHDAY,
302 .byyearday = CAL_PROPERTY_EVENT_BYYEARDAY,
303 .byweekno = CAL_PROPERTY_EVENT_BYWEEKNO,
304 .bymonth = CAL_PROPERTY_EVENT_BYMONTH,
305 .bysetpos = CAL_PROPERTY_EVENT_BYSETPOS,
306 .wkst = CAL_PROPERTY_EVENT_WKST,
307 .recurrence_id = CAL_PROPERTY_EVENT_RECURRENCE_ID,
308 .rdate = CAL_PROPERTY_EVENT_RDATE,
309 .has_attendee = CAL_PROPERTY_EVENT_HAS_ATTENDEE,
310 .has_alarm = CAL_PROPERTY_EVENT_HAS_ALARM,
311 .calendar_system_type = CAL_PROPERTY_EVENT_CALENDAR_SYSTEM_TYPE,
312 .sync_data1 = CAL_PROPERTY_EVENT_SYNC_DATA1,
313 .sync_data2 = CAL_PROPERTY_EVENT_SYNC_DATA2,
314 .sync_data3 = CAL_PROPERTY_EVENT_SYNC_DATA3,
315 .sync_data4 = CAL_PROPERTY_EVENT_SYNC_DATA4,
316 .start_time = CAL_PROPERTY_EVENT_START,
317 .start_tzid = CAL_PROPERTY_EVENT_START_TZID,
318 .end_time = CAL_PROPERTY_EVENT_END,
319 .end_tzid = CAL_PROPERTY_EVENT_END_TZID,
320 .is_allday = CAL_PROPERTY_EVENT_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_todo_calendar_book_property_ids _calendar_todo_calendar_book =
327 ._uri = CALENDAR_VIEW_TODO_CALENDAR,
328 .todo_id = CAL_PROPERTY_TODO_ID,
329 .calendar_book_id = CAL_PROPERTY_TODO_CALENDAR_ID,
330 .summary = CAL_PROPERTY_TODO_SUMMARY,
331 .description = CAL_PROPERTY_TODO_DESCRIPTION,
332 .location = CAL_PROPERTY_TODO_LOCATION,
333 .categories = CAL_PROPERTY_TODO_CATEGORIES,
334 .todo_status = CAL_PROPERTY_TODO_TODO_STATUS,
335 .priority = CAL_PROPERTY_TODO_PRIORITY,
336 .sensitivity = CAL_PROPERTY_TODO_SENSITIVITY,
337 .uid = CAL_PROPERTY_TODO_UID,
338 .latitude = CAL_PROPERTY_TODO_LATITUDE,
339 .longitude = CAL_PROPERTY_TODO_LONGITUDE,
340 .created_time = CAL_PROPERTY_TODO_CREATED_TIME,
341 .last_modified_time = CAL_PROPERTY_TODO_LAST_MODIFIED_TIME,
342 .completed_time = CAL_PROPERTY_TODO_COMPLETED_TIME,
343 .progress = CAL_PROPERTY_TODO_PROGRESS,
344 .is_deleted = CAL_PROPERTY_TODO_IS_DELETED,
345 //CAL_PROPERTY_TODO_HAS_RRULE,
346 .freq = CAL_PROPERTY_TODO_FREQ,
347 .range_type = CAL_PROPERTY_TODO_RANGE_TYPE,
348 .until_time = CAL_PROPERTY_TODO_UNTIL,
349 .count = CAL_PROPERTY_TODO_COUNT,
350 .interval = CAL_PROPERTY_TODO_INTERVAL,
351 .bysecond = CAL_PROPERTY_TODO_BYSECOND,
352 .byminute = CAL_PROPERTY_TODO_BYMINUTE,
353 .byhour = CAL_PROPERTY_TODO_BYHOUR,
354 .byday = CAL_PROPERTY_TODO_BYDAY,
355 .bymonthday = CAL_PROPERTY_TODO_BYMONTHDAY,
356 .byyearday = CAL_PROPERTY_TODO_BYYEARDAY,
357 .byweekno = CAL_PROPERTY_TODO_BYWEEKNO,
358 .bymonth = CAL_PROPERTY_TODO_BYMONTH,
359 .bysetpos = CAL_PROPERTY_TODO_BYSETPOS,
360 .wkst = CAL_PROPERTY_TODO_WKST,
361 .has_alarm = CAL_PROPERTY_TODO_HAS_ALARM,
362 .sync_data1 = CAL_PROPERTY_TODO_SYNC_DATA1,
363 .sync_data2 = CAL_PROPERTY_TODO_SYNC_DATA2,
364 .sync_data3 = CAL_PROPERTY_TODO_SYNC_DATA3,
365 .sync_data4 = CAL_PROPERTY_TODO_SYNC_DATA4,
366 .start_time = CAL_PROPERTY_TODO_START,
367 .start_tzid = CAL_PROPERTY_TODO_START_TZID,
368 .due_time = CAL_PROPERTY_TODO_DUE,
369 .due_tzid = CAL_PROPERTY_TODO_DUE_TZID,
370 .organizer_name = CAL_PROPERTY_TODO_ORGANIZER_NAME,
371 .organizer_email = CAL_PROPERTY_TODO_ORGANIZER_EMAIL,
372 .has_attendee = CAL_PROPERTY_TODO_HAS_ATTENDEE,
373 .is_allday = CAL_PROPERTY_TODO_IS_ALLDAY,
374 .calendar_book_visibility = CAL_PROPERTY_CALENDAR_VISIBILITY | CAL_PROPERTY_FLAGS_FILTER,
375 .calendar_book_account_id = CAL_PROPERTY_CALENDAR_ACCOUNT_ID | CAL_PROPERTY_FLAGS_FILTER,
378 API const _calendar_event_calendar_book_attendee_property_ids _calendar_event_calendar_book_attendee =
380 ._uri = CALENDAR_VIEW_EVENT_CALENDAR_ATTENDEE,
381 .event_id = CAL_PROPERTY_EVENT_ID,
382 .calendar_book_id = CAL_PROPERTY_EVENT_CALENDAR_ID,
383 .summary = CAL_PROPERTY_EVENT_SUMMARY,
384 .description = CAL_PROPERTY_EVENT_DESCRIPTION,
385 .location = CAL_PROPERTY_EVENT_LOCATION,
386 .categories = CAL_PROPERTY_EVENT_CATEGORIES,
387 .exdate = CAL_PROPERTY_EVENT_EXDATE,
388 .event_status = CAL_PROPERTY_EVENT_EVENT_STATUS,
389 .priority = CAL_PROPERTY_EVENT_PRIORITY,
390 .timezone = CAL_PROPERTY_EVENT_TIMEZONE,
391 .person_id = CAL_PROPERTY_EVENT_CONTACT_ID,
392 .busy_status = CAL_PROPERTY_EVENT_BUSY_STATUS,
393 .sensitivity = CAL_PROPERTY_EVENT_SENSITIVITY,
394 .uid = CAL_PROPERTY_EVENT_UID,
395 .organizer_name = CAL_PROPERTY_EVENT_ORGANIZER_NAME,
396 .organizer_email = CAL_PROPERTY_EVENT_ORGANIZER_EMAIL,
397 .meeting_status = CAL_PROPERTY_EVENT_MEETING_STATUS,
398 .original_event_id = CAL_PROPERTY_EVENT_ORIGINAL_EVENT_ID,
399 .latitude = CAL_PROPERTY_EVENT_LATITUDE,
400 .longitude = CAL_PROPERTY_EVENT_LONGITUDE,
401 .email_id = CAL_PROPERTY_EVENT_EMAIL_ID,
402 .created_time = CAL_PROPERTY_EVENT_CREATED_TIME,
403 .last_modified_time = CAL_PROPERTY_EVENT_LAST_MODIFIED_TIME,
404 .is_deleted = CAL_PROPERTY_EVENT_IS_DELETED,
405 //CAL_PROPERTY_EVENT_HAS_RRULE,
406 .freq = CAL_PROPERTY_EVENT_FREQ,
407 .range_type = CAL_PROPERTY_EVENT_RANGE_TYPE,
408 .until_time = CAL_PROPERTY_EVENT_UNTIL,
409 .count = CAL_PROPERTY_EVENT_COUNT,
410 .interval = CAL_PROPERTY_EVENT_INTERVAL,
411 .bysecond = CAL_PROPERTY_EVENT_BYSECOND,
412 .byminute = CAL_PROPERTY_EVENT_BYMINUTE,
413 .byhour = CAL_PROPERTY_EVENT_BYHOUR,
414 .byday = CAL_PROPERTY_EVENT_BYDAY,
415 .bymonthday = CAL_PROPERTY_EVENT_BYMONTHDAY,
416 .byyearday = CAL_PROPERTY_EVENT_BYYEARDAY,
417 .byweekno = CAL_PROPERTY_EVENT_BYWEEKNO,
418 .bymonth = CAL_PROPERTY_EVENT_BYMONTH,
419 .bysetpos = CAL_PROPERTY_EVENT_BYSETPOS,
420 .wkst = CAL_PROPERTY_EVENT_WKST,
421 .recurrence_id = CAL_PROPERTY_EVENT_RECURRENCE_ID,
422 .rdate = CAL_PROPERTY_EVENT_RDATE,
423 .has_attendee = CAL_PROPERTY_EVENT_HAS_ATTENDEE,
424 .has_alarm = CAL_PROPERTY_EVENT_HAS_ALARM,
425 .calendar_system_type = CAL_PROPERTY_EVENT_CALENDAR_SYSTEM_TYPE,
426 .sync_data1 = CAL_PROPERTY_EVENT_SYNC_DATA1,
427 .sync_data2 = CAL_PROPERTY_EVENT_SYNC_DATA2,
428 .sync_data3 = CAL_PROPERTY_EVENT_SYNC_DATA3,
429 .sync_data4 = CAL_PROPERTY_EVENT_SYNC_DATA4,
430 .start_time = CAL_PROPERTY_EVENT_START,
431 .start_tzid = CAL_PROPERTY_EVENT_START_TZID,
432 .end_time = CAL_PROPERTY_EVENT_END,
433 .end_tzid = CAL_PROPERTY_EVENT_END_TZID,
434 .is_allday = CAL_PROPERTY_EVENT_IS_ALLDAY,
435 .calendar_book_visibility = CAL_PROPERTY_CALENDAR_VISIBILITY | CAL_PROPERTY_FLAGS_FILTER,
436 .calendar_book_account_id = CAL_PROPERTY_CALENDAR_ACCOUNT_ID | CAL_PROPERTY_FLAGS_FILTER,
437 .attendee_email = CAL_PROPERTY_ATTENDEE_EMAIL | CAL_PROPERTY_FLAGS_FILTER,
438 .attendee_name = CAL_PROPERTY_ATTENDEE_NAME | CAL_PROPERTY_FLAGS_FILTER
441 API const _calendar_instance_normal_calendar_book_property_ids _calendar_instance_normal_calendar_book =
443 ._uri = CALENDAR_VIEW_INSTANCE_NORMAL_CALENDAR,
444 .event_id = CAL_PROPERTY_INSTANCE_NORMAL_EVENT_ID,
445 .start_time = CAL_PROPERTY_INSTANCE_NORMAL_START,
446 .end_time = CAL_PROPERTY_INSTANCE_NORMAL_END,
447 .summary = CAL_PROPERTY_INSTANCE_NORMAL_SUMMARY,
448 .location = CAL_PROPERTY_INSTANCE_NORMAL_LOCATION,
449 .calendar_book_id = CAL_PROPERTY_INSTANCE_NORMAL_CALENDAR_ID,
450 .description = CAL_PROPERTY_INSTANCE_NORMAL_DESCRIPTION,
451 .busy_status = CAL_PROPERTY_INSTANCE_NORMAL_BUSY_STATUS,
452 .event_status = CAL_PROPERTY_INSTANCE_NORMAL_EVENT_STATUS,
453 .priority = CAL_PROPERTY_INSTANCE_NORMAL_PRIORITY,
454 .sensitivity = CAL_PROPERTY_INSTANCE_NORMAL_SENSITIVITY,
455 .has_rrule = CAL_PROPERTY_INSTANCE_NORMAL_HAS_RRULE,
456 .latitude = CAL_PROPERTY_INSTANCE_NORMAL_LATITUDE,
457 .longitude = CAL_PROPERTY_INSTANCE_NORMAL_LONGITUDE,
458 .has_alarm = CAL_PROPERTY_INSTANCE_NORMAL_HAS_ALARM,
459 .original_event_id = CAL_PROPERTY_INSTANCE_NORMAL_ORIGINAL_EVENT_ID,
460 .calendar_book_visibility = CAL_PROPERTY_CALENDAR_VISIBILITY | CAL_PROPERTY_FLAGS_FILTER,
461 .calendar_book_account_id = CAL_PROPERTY_CALENDAR_ACCOUNT_ID | CAL_PROPERTY_FLAGS_FILTER,
462 .last_modified_time = CAL_PROPERTY_INSTANCE_NORMAL_LAST_MODIFIED_TIME
465 API const _calendar_instance_allday_calendar_book_property_ids _calendar_instance_allday_calendar_book =
467 ._uri = CALENDAR_VIEW_INSTANCE_ALLDAY_CALENDAR,
468 .event_id = CAL_PROPERTY_INSTANCE_ALLDAY_EVENT_ID,
469 .start_time = CAL_PROPERTY_INSTANCE_ALLDAY_START,
470 .end_time = CAL_PROPERTY_INSTANCE_ALLDAY_END,
471 .summary = CAL_PROPERTY_INSTANCE_ALLDAY_SUMMARY,
472 .location = CAL_PROPERTY_INSTANCE_ALLDAY_LOCATION,
473 .calendar_book_id = CAL_PROPERTY_INSTANCE_ALLDAY_CALENDAR_ID,
474 .description = CAL_PROPERTY_INSTANCE_ALLDAY_DESCRIPTION,
475 .busy_status = CAL_PROPERTY_INSTANCE_ALLDAY_BUSY_STATUS,
476 .event_status = CAL_PROPERTY_INSTANCE_ALLDAY_EVENT_STATUS,
477 .priority = CAL_PROPERTY_INSTANCE_ALLDAY_PRIORITY,
478 .sensitivity = CAL_PROPERTY_INSTANCE_ALLDAY_SENSITIVITY,
479 .has_rrule = CAL_PROPERTY_INSTANCE_ALLDAY_HAS_RRULE,
480 .latitude = CAL_PROPERTY_INSTANCE_ALLDAY_LATITUDE,
481 .longitude = CAL_PROPERTY_INSTANCE_ALLDAY_LONGITUDE,
482 .has_alarm = CAL_PROPERTY_INSTANCE_ALLDAY_HAS_ALARM,
483 .original_event_id = CAL_PROPERTY_INSTANCE_ALLDAY_ORIGINAL_EVENT_ID,
484 .calendar_book_visibility = CAL_PROPERTY_CALENDAR_VISIBILITY | CAL_PROPERTY_FLAGS_FILTER,
485 .calendar_book_account_id = CAL_PROPERTY_CALENDAR_ACCOUNT_ID | CAL_PROPERTY_FLAGS_FILTER,
486 .last_modified_time = CAL_PROPERTY_INSTANCE_ALLDAY_LAST_MODIFIED_TIME
489 API const _calendar_extended_property_property_ids _calendar_extended_property =
491 ._uri = CALENDAR_VIEW_EXTENDED,
492 .id = CAL_PROPERTY_EXTENDED_ID,
493 .record_id = CAL_PROPERTY_EXTENDED_RECORD_ID,
494 .record_type = CAL_PROPERTY_EXTENDED_RECORD_TYPE,
495 .key = CAL_PROPERTY_EXTENDED_KEY,
496 .value = CAL_PROPERTY_EXTENDED_VALUE
499 //////////////////////
500 // cal_property_info_s
502 const cal_property_info_s __property_calendar_book[] = {
503 {CAL_PROPERTY_CALENDAR_ID , "id"},
504 {CAL_PROPERTY_CALENDAR_UID , "uid"},
505 {CAL_PROPERTY_CALENDAR_NAME , "name"},
506 {CAL_PROPERTY_CALENDAR_DESCRIPTION , "description"},
507 {CAL_PROPERTY_CALENDAR_COLOR , "color"},
508 {CAL_PROPERTY_CALENDAR_LOCATION , "location"},
509 {CAL_PROPERTY_CALENDAR_VISIBILITY , "visibility"},
510 {CAL_PROPERTY_CALENDAR_SYNC_EVENT , "sync_event"},
511 {CAL_PROPERTY_CALENDAR_IS_DELETED , "is_deleted"},
512 {CAL_PROPERTY_CALENDAR_ACCOUNT_ID , "account_id"},
513 {CAL_PROPERTY_CALENDAR_STORE_TYPE , "store_type"},
514 {CAL_PROPERTY_CALENDAR_SYNC_DATA1 , "sync_data1"},
515 {CAL_PROPERTY_CALENDAR_SYNC_DATA2 , "sync_data2"},
516 {CAL_PROPERTY_CALENDAR_SYNC_DATA3 , "sync_data3"},
517 {CAL_PROPERTY_CALENDAR_SYNC_DATA4 , "sync_data4"},
520 const cal_property_info_s __property_event[] =
522 {CAL_PROPERTY_EVENT_ID, "id"},
523 {CAL_PROPERTY_EVENT_CALENDAR_ID, "calendar_id"},
524 {CAL_PROPERTY_EVENT_SUMMARY, "summary"},
525 {CAL_PROPERTY_EVENT_DESCRIPTION, "description"},
526 {CAL_PROPERTY_EVENT_LOCATION, "location"},
527 {CAL_PROPERTY_EVENT_CATEGORIES, "categories"},
528 {CAL_PROPERTY_EVENT_EXDATE, "exdate"},
529 {CAL_PROPERTY_EVENT_EVENT_STATUS, "task_status"},
530 {CAL_PROPERTY_EVENT_PRIORITY, "priority"},
531 {CAL_PROPERTY_EVENT_TIMEZONE, "timezone"},
532 {CAL_PROPERTY_EVENT_CONTACT_ID, "contact_id"},
533 {CAL_PROPERTY_EVENT_BUSY_STATUS, "busy_status"},
534 {CAL_PROPERTY_EVENT_SENSITIVITY, "sensitivity"},
535 {CAL_PROPERTY_EVENT_UID, "uid"},
536 {CAL_PROPERTY_EVENT_ORGANIZER_NAME, "organizer_name"},
537 {CAL_PROPERTY_EVENT_ORGANIZER_EMAIL, "organizer_email"},
538 {CAL_PROPERTY_EVENT_MEETING_STATUS, "meeting_status"},
539 {CAL_PROPERTY_EVENT_ORIGINAL_EVENT_ID, "original_event_id"},
540 {CAL_PROPERTY_EVENT_LATITUDE, "latitude"},
541 {CAL_PROPERTY_EVENT_LONGITUDE, "longitude"},
542 {CAL_PROPERTY_EVENT_EMAIL_ID, "email_id"},
543 {CAL_PROPERTY_EVENT_CREATED_TIME, "created_time"},
544 {CAL_PROPERTY_EVENT_LAST_MODIFIED_TIME, "last_mod"},
545 {CAL_PROPERTY_EVENT_IS_DELETED, "is_deleted"},
546 {CAL_PROPERTY_EVENT_FREQ, "freq"},
547 {CAL_PROPERTY_EVENT_RANGE_TYPE, "range_type"},
548 {CAL_PROPERTY_EVENT_UNTIL, "until_type, until_utime, until_datetime"},
549 {CAL_PROPERTY_EVENT_COUNT, "count"},
550 {CAL_PROPERTY_EVENT_INTERVAL, "interval"},
551 {CAL_PROPERTY_EVENT_BYSECOND, "bysecond"},
552 {CAL_PROPERTY_EVENT_BYMINUTE, "byminute"},
553 {CAL_PROPERTY_EVENT_BYHOUR, "byhour"},
554 {CAL_PROPERTY_EVENT_BYDAY, "byday"},
555 {CAL_PROPERTY_EVENT_BYMONTHDAY, "bymonthday"},
556 {CAL_PROPERTY_EVENT_BYYEARDAY, "byyearday"},
557 {CAL_PROPERTY_EVENT_BYWEEKNO, "byweekno"},
558 {CAL_PROPERTY_EVENT_BYMONTH, "bymonth"},
559 {CAL_PROPERTY_EVENT_BYSETPOS, "bysetpos"},
560 {CAL_PROPERTY_EVENT_WKST, "wkst"},
561 {CAL_PROPERTY_EVENT_RECURRENCE_ID, "recurrence_id"},
562 {CAL_PROPERTY_EVENT_RDATE, "rdate"},
563 {CAL_PROPERTY_EVENT_HAS_ATTENDEE, "has_attendee"},
564 {CAL_PROPERTY_EVENT_HAS_ALARM, "has_alarm"},
565 {CAL_PROPERTY_EVENT_SYNC_DATA1, "sync_data1"},
566 {CAL_PROPERTY_EVENT_SYNC_DATA2, "sync_data2"},
567 {CAL_PROPERTY_EVENT_SYNC_DATA3, "sync_data3"},
568 {CAL_PROPERTY_EVENT_SYNC_DATA4, "sync_data4"},
569 {CAL_PROPERTY_EVENT_START, "dtstart_type, dtstart_utime, dtstart_datetime"},
570 {CAL_PROPERTY_EVENT_END, "dtend_type, dtend_utime, dtend_datetime"},
571 {CAL_PROPERTY_EVENT_CALENDAR_ALARM, NULL},
572 {CAL_PROPERTY_EVENT_CALENDAR_ATTENDEE, NULL},
573 {CAL_PROPERTY_EVENT_CALENDAR_SYSTEM_TYPE, "system_type"},
574 {CAL_PROPERTY_EVENT_START_TZID, "dtstart_tzid"},
575 {CAL_PROPERTY_EVENT_END_TZID, "dtend_tzid"},
576 {CAL_PROPERTY_EVENT_EXCEPTION, NULL},
577 {CAL_PROPERTY_EVENT_EXTENDED, NULL},
578 {CAL_PROPERTY_EVENT_IS_ALLDAY, "dtstart_type"},
581 const cal_property_info_s __property_todo[] =
583 {CAL_PROPERTY_TODO_ID, "id"},
584 {CAL_PROPERTY_TODO_CALENDAR_ID, "calendar_id"},
585 {CAL_PROPERTY_TODO_SUMMARY, "summary"},
586 {CAL_PROPERTY_TODO_DESCRIPTION, "description"},
587 {CAL_PROPERTY_TODO_LOCATION, "location"},
588 {CAL_PROPERTY_TODO_CATEGORIES, "categories"},
589 {CAL_PROPERTY_TODO_TODO_STATUS, "task_status"},
590 {CAL_PROPERTY_TODO_PRIORITY, "priority"},
591 {CAL_PROPERTY_TODO_SENSITIVITY, "sensitivity"},
592 {CAL_PROPERTY_TODO_UID, "uid"},
593 {CAL_PROPERTY_TODO_LATITUDE, "latitude"},
594 {CAL_PROPERTY_TODO_LONGITUDE, "longitude"},
595 {CAL_PROPERTY_TODO_PROGRESS, "progress"},
596 {CAL_PROPERTY_TODO_CREATED_TIME, "created_time"},
597 {CAL_PROPERTY_TODO_LAST_MODIFIED_TIME, "last_mod"},
598 {CAL_PROPERTY_TODO_COMPLETED_TIME, "completed_time"},
599 {CAL_PROPERTY_TODO_IS_DELETED, "is_deleted"},
600 {CAL_PROPERTY_TODO_FREQ, "freq"},
601 {CAL_PROPERTY_TODO_RANGE_TYPE, "range_type"},
602 {CAL_PROPERTY_TODO_UNTIL, "until_type, until_utime, until_datetime"},
603 {CAL_PROPERTY_TODO_COUNT, "count"},
604 {CAL_PROPERTY_TODO_INTERVAL, "interval"},
605 {CAL_PROPERTY_TODO_BYSECOND, "bysecond"},
606 {CAL_PROPERTY_TODO_BYMINUTE, "byminute"},
607 {CAL_PROPERTY_TODO_BYHOUR, "byhour"},
608 {CAL_PROPERTY_TODO_BYDAY, "byday"},
609 {CAL_PROPERTY_TODO_BYMONTHDAY, "bymonthday"},
610 {CAL_PROPERTY_TODO_BYYEARDAY, "byyearday"},
611 {CAL_PROPERTY_TODO_BYWEEKNO, "byweekno"},
612 {CAL_PROPERTY_TODO_BYMONTH, "bymonth"},
613 {CAL_PROPERTY_TODO_BYSETPOS, "bysetpos"},
614 {CAL_PROPERTY_TODO_WKST, "wkst"},
615 {CAL_PROPERTY_TODO_HAS_ALARM, "has_alarm"},
616 {CAL_PROPERTY_TODO_SYNC_DATA1, "sync_data1"},
617 {CAL_PROPERTY_TODO_SYNC_DATA2, "sync_data2"},
618 {CAL_PROPERTY_TODO_SYNC_DATA3, "sync_data3"},
619 {CAL_PROPERTY_TODO_SYNC_DATA4, "sync_data4"},
620 {CAL_PROPERTY_TODO_START, "dtstart_type, dtstart_utime, dtstart_datetime"},
621 {CAL_PROPERTY_TODO_DUE, "dtend_type, dtend_utime, dtend_datetime"},
622 {CAL_PROPERTY_TODO_CALENDAR_ALARM, NULL},
623 {CAL_PROPERTY_TODO_START_TZID, "dtstart_tzid"},
624 {CAL_PROPERTY_TODO_DUE_TZID, "dtend_tzid"},
625 {CAL_PROPERTY_TODO_ORGANIZER_NAME, "organizer_name"},
626 {CAL_PROPERTY_TODO_ORGANIZER_EMAIL, "organizer_email"},
627 {CAL_PROPERTY_TODO_HAS_ATTENDEE, "has_attendee"},
628 {CAL_PROPERTY_TODO_CALENDAR_ATTENDEE, NULL},
629 {CAL_PROPERTY_TODO_EXTENDED, NULL},
630 {CAL_PROPERTY_TODO_IS_ALLDAY, "dtend_type"},
633 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[] =
654 {CAL_PROPERTY_ATTENDEE_NUMBER, "attendee_number"},
655 {CAL_PROPERTY_ATTENDEE_TYPE, "attendee_type"},
656 {CAL_PROPERTY_ATTENDEE_CT_INDEX, "attendee_ct_index"},
657 {CAL_PROPERTY_ATTENDEE_UID, "attendee_uid"},
658 {CAL_PROPERTY_ATTENDEE_GROUP, "attendee_group"},
659 {CAL_PROPERTY_ATTENDEE_EMAIL, "attendee_email"},
660 {CAL_PROPERTY_ATTENDEE_ROLE, "attendee_role"},
661 {CAL_PROPERTY_ATTENDEE_STATUS, "attendee_status"},
662 {CAL_PROPERTY_ATTENDEE_RSVP, "attendee_rsvp"},
663 {CAL_PROPERTY_ATTENDEE_DELEGATE_URI, "attendee_delegate_uri"},
664 {CAL_PROPERTY_ATTENDEE_DELEGATOR_URI, "attendee_delegator_uri"},
665 {CAL_PROPERTY_ATTENDEE_NAME, "attendee_name"},
666 {CAL_PROPERTY_ATTENDEE_EVENT_ID, "event_id"},
669 const cal_property_info_s __property_alarm[] =
671 {CAL_PROPERTY_ALARM_TYPE, "alarm_type"},
672 {CAL_PROPERTY_ALARM_TIME, "alarm_time"},
673 {CAL_PROPERTY_ALARM_TICK, "remind_tick"},
674 {CAL_PROPERTY_ALARM_TICK_UNIT, "remind_tick_unit"},
675 {CAL_PROPERTY_ALARM_TONE, "alarm_tone"},
676 {CAL_PROPERTY_ALARM_DESCRIPTION, "alarm_description"},
677 {CAL_PROPERTY_ALARM_ID, "alarm_id"},
678 {CAL_PROPERTY_ALARM_EVENT_TODO_ID, "event_id"},
681 const cal_property_info_s __property_instance_normal[] =
683 {CAL_PROPERTY_INSTANCE_NORMAL_EVENT_ID, "event_id"},
684 {CAL_PROPERTY_INSTANCE_NORMAL_START, "dtstart_type, dtstart_utime, dtstart_datetime"},
685 {CAL_PROPERTY_INSTANCE_NORMAL_END, "dtend_type, dtend_utime, dtend_datetime"},
686 {CAL_PROPERTY_INSTANCE_NORMAL_SUMMARY, "summary"},
687 {CAL_PROPERTY_INSTANCE_NORMAL_LOCATION, "location"},
688 {CAL_PROPERTY_INSTANCE_NORMAL_CALENDAR_ID, "calendar_id"},
689 {CAL_PROPERTY_INSTANCE_NORMAL_DESCRIPTION, "description"},
690 {CAL_PROPERTY_INSTANCE_NORMAL_BUSY_STATUS, "busy_status"},
691 {CAL_PROPERTY_INSTANCE_NORMAL_EVENT_STATUS, "task_status"},
692 {CAL_PROPERTY_INSTANCE_NORMAL_PRIORITY, "priority"},
693 {CAL_PROPERTY_INSTANCE_NORMAL_SENSITIVITY, "sensitivity"},
694 {CAL_PROPERTY_INSTANCE_NORMAL_HAS_RRULE, "rrule_id"},
695 {CAL_PROPERTY_INSTANCE_NORMAL_LATITUDE, "latitude"},
696 {CAL_PROPERTY_INSTANCE_NORMAL_LONGITUDE, "longitude"},
697 {CAL_PROPERTY_INSTANCE_NORMAL_HAS_ALARM, "has_alarm"},
698 {CAL_PROPERTY_INSTANCE_NORMAL_ORIGINAL_EVENT_ID, "original_event_id"},
699 {CAL_PROPERTY_INSTANCE_NORMAL_LAST_MODIFIED_TIME, "last_mod"},
702 const cal_property_info_s __property_instance_allday[] =
704 {CAL_PROPERTY_INSTANCE_ALLDAY_EVENT_ID, "event_id"},
705 {CAL_PROPERTY_INSTANCE_ALLDAY_START, "dtstart_type, dtstart_utime, dtstart_datetime"},
706 {CAL_PROPERTY_INSTANCE_ALLDAY_END, "dtend_type, dtend_utime, dtend_datetime"},
707 {CAL_PROPERTY_INSTANCE_ALLDAY_SUMMARY, "summary"},
708 {CAL_PROPERTY_INSTANCE_ALLDAY_LOCATION, "location"},
709 {CAL_PROPERTY_INSTANCE_ALLDAY_CALENDAR_ID, "calendar_id"},
710 {CAL_PROPERTY_INSTANCE_ALLDAY_DESCRIPTION, "description"},
711 {CAL_PROPERTY_INSTANCE_ALLDAY_BUSY_STATUS, "busy_status"},
712 {CAL_PROPERTY_INSTANCE_ALLDAY_EVENT_STATUS, "task_status"},
713 {CAL_PROPERTY_INSTANCE_ALLDAY_PRIORITY, "priority"},
714 {CAL_PROPERTY_INSTANCE_ALLDAY_SENSITIVITY, "sensitivity"},
715 {CAL_PROPERTY_INSTANCE_ALLDAY_HAS_RRULE, "rrule_id"},
716 {CAL_PROPERTY_INSTANCE_ALLDAY_LATITUDE, "latitude"},
717 {CAL_PROPERTY_INSTANCE_ALLDAY_LONGITUDE, "longitude"},
718 {CAL_PROPERTY_INSTANCE_ALLDAY_HAS_ALARM, "has_alarm"},
719 {CAL_PROPERTY_INSTANCE_ALLDAY_ORIGINAL_EVENT_ID, "original_event_id"},
720 {CAL_PROPERTY_INSTANCE_ALLDAY_LAST_MODIFIED_TIME, "last_mod"},
723 const cal_property_info_s __property_updated_info[] =
725 {CAL_PROPERTY_UPDATED_INFO_ID, "id"},
726 {CAL_PROPERTY_UPDATED_INFO_CALENDAR_ID, "calendar_id"},
727 {CAL_PROPERTY_UPDATED_INFO_TYPE, "type"},
728 {CAL_PROPERTY_UPDATED_INFO_VERSION, "ver"},
731 const cal_property_info_s __property_search_event_calendar[] =
733 {CAL_PROPERTY_EVENT_ID, "id"},
734 {CAL_PROPERTY_EVENT_CALENDAR_ID, "calendar_id"},
735 {CAL_PROPERTY_EVENT_SUMMARY, "summary"},
736 {CAL_PROPERTY_EVENT_DESCRIPTION, "description"},
737 {CAL_PROPERTY_EVENT_LOCATION, "location"},
738 {CAL_PROPERTY_EVENT_CATEGORIES, "categories"},
739 {CAL_PROPERTY_EVENT_EXDATE, "exdate"},
740 {CAL_PROPERTY_EVENT_EVENT_STATUS, "task_status"},
741 {CAL_PROPERTY_EVENT_PRIORITY, "priority"},
742 {CAL_PROPERTY_EVENT_TIMEZONE, "timezone"},
743 {CAL_PROPERTY_EVENT_CONTACT_ID, "contact_id"},
744 {CAL_PROPERTY_EVENT_BUSY_STATUS, "busy_status"},
745 {CAL_PROPERTY_EVENT_SENSITIVITY, "sensitivity"},
746 {CAL_PROPERTY_EVENT_UID, "uid"},
747 {CAL_PROPERTY_EVENT_ORGANIZER_NAME, "organizer_name"},
748 {CAL_PROPERTY_EVENT_ORGANIZER_EMAIL, "organizer_email"},
749 {CAL_PROPERTY_EVENT_MEETING_STATUS, "meeting_status"},
750 {CAL_PROPERTY_EVENT_ORIGINAL_EVENT_ID, "original_event_id"},
751 {CAL_PROPERTY_EVENT_LATITUDE, "latitude"},
752 {CAL_PROPERTY_EVENT_LONGITUDE, "longitude"},
753 {CAL_PROPERTY_EVENT_EMAIL_ID, "email_id"},
754 {CAL_PROPERTY_EVENT_CREATED_TIME, "created_time"},
755 {CAL_PROPERTY_EVENT_LAST_MODIFIED_TIME, "last_mod"},
756 {CAL_PROPERTY_EVENT_IS_DELETED, "is_deleted"},
757 {CAL_PROPERTY_EVENT_FREQ, "freq"},
758 {CAL_PROPERTY_EVENT_RANGE_TYPE, "range_type"},
759 {CAL_PROPERTY_EVENT_UNTIL, "until_type, until_utime, until_datetime"},
760 {CAL_PROPERTY_EVENT_COUNT, "count"},
761 {CAL_PROPERTY_EVENT_INTERVAL, "interval"},
762 {CAL_PROPERTY_EVENT_BYSECOND, "bysecond"},
763 {CAL_PROPERTY_EVENT_BYMINUTE, "byminute"},
764 {CAL_PROPERTY_EVENT_BYHOUR, "byhour"},
765 {CAL_PROPERTY_EVENT_BYDAY, "byday"},
766 {CAL_PROPERTY_EVENT_BYMONTHDAY, "bymonthday"},
767 {CAL_PROPERTY_EVENT_BYYEARDAY, "byyearday"},
768 {CAL_PROPERTY_EVENT_BYWEEKNO, "byweekno"},
769 {CAL_PROPERTY_EVENT_BYMONTH, "bymonth"},
770 {CAL_PROPERTY_EVENT_BYSETPOS, "bysetpos"},
771 {CAL_PROPERTY_EVENT_WKST, "wkst"},
772 {CAL_PROPERTY_EVENT_RECURRENCE_ID, "recurrence_id"},
773 {CAL_PROPERTY_EVENT_RDATE, "rdate"},
774 {CAL_PROPERTY_EVENT_HAS_ATTENDEE, "has_attendee"},
775 {CAL_PROPERTY_EVENT_HAS_ALARM, "has_alarm"},
776 {CAL_PROPERTY_EVENT_SYNC_DATA1, "sync_data1"},
777 {CAL_PROPERTY_EVENT_SYNC_DATA2, "sync_data2"},
778 {CAL_PROPERTY_EVENT_SYNC_DATA3, "sync_data3"},
779 {CAL_PROPERTY_EVENT_SYNC_DATA4, "sync_data4"},
780 {CAL_PROPERTY_EVENT_START, "dtstart_type, dtstart_utime, dtstart_datetime"},
781 {CAL_PROPERTY_EVENT_END, "dtend_type, dtend_utime, dtend_datetime"},
782 {CAL_PROPERTY_EVENT_CALENDAR_SYSTEM_TYPE, "system_type"},
783 {CAL_PROPERTY_EVENT_START_TZID, "dtstart_tzid"},
784 {CAL_PROPERTY_EVENT_END_TZID, "dtend_tzid"},
785 {CAL_PROPERTY_EVENT_IS_ALLDAY, "dtstart_type"},
786 {(CAL_PROPERTY_CALENDAR_VISIBILITY|CAL_PROPERTY_FLAGS_FILTER) , "visibility"},
787 {(CAL_PROPERTY_CALENDAR_ACCOUNT_ID|CAL_PROPERTY_FLAGS_FILTER) , "account_id"},
790 const cal_property_info_s __property_search_todo_calendar[] =
792 {CAL_PROPERTY_TODO_ID, "id"},
793 {CAL_PROPERTY_TODO_CALENDAR_ID, "calendar_id"},
794 {CAL_PROPERTY_TODO_SUMMARY, "summary"},
795 {CAL_PROPERTY_TODO_DESCRIPTION, "description"},
796 {CAL_PROPERTY_TODO_LOCATION, "location"},
797 {CAL_PROPERTY_TODO_CATEGORIES, "categories"},
798 {CAL_PROPERTY_TODO_TODO_STATUS, "task_status"},
799 {CAL_PROPERTY_TODO_PRIORITY, "priority"},
800 {CAL_PROPERTY_TODO_SENSITIVITY, "sensitivity"},
801 {CAL_PROPERTY_TODO_UID, "uid"},
802 {CAL_PROPERTY_TODO_LATITUDE, "latitude"},
803 {CAL_PROPERTY_TODO_LONGITUDE, "longitude"},
804 {CAL_PROPERTY_TODO_PROGRESS, "progress"},
805 {CAL_PROPERTY_TODO_CREATED_TIME, "created_time"},
806 {CAL_PROPERTY_TODO_LAST_MODIFIED_TIME, "last_mod"},
807 {CAL_PROPERTY_TODO_COMPLETED_TIME, "completed_time"},
808 {CAL_PROPERTY_TODO_IS_DELETED, "is_deleted"},
809 {CAL_PROPERTY_TODO_FREQ, "freq"},
810 {CAL_PROPERTY_TODO_RANGE_TYPE, "range_type"},
811 {CAL_PROPERTY_TODO_UNTIL, "until_type, until_utime, until_datetime"},
812 {CAL_PROPERTY_TODO_COUNT, "count"},
813 {CAL_PROPERTY_TODO_INTERVAL, "interval"},
814 {CAL_PROPERTY_TODO_BYSECOND, "bysecond"},
815 {CAL_PROPERTY_TODO_BYMINUTE, "byminute"},
816 {CAL_PROPERTY_TODO_BYHOUR, "byhour"},
817 {CAL_PROPERTY_TODO_BYDAY, "byday"},
818 {CAL_PROPERTY_TODO_BYMONTHDAY, "bymonthday"},
819 {CAL_PROPERTY_TODO_BYYEARDAY, "byyearday"},
820 {CAL_PROPERTY_TODO_BYWEEKNO, "byweekno"},
821 {CAL_PROPERTY_TODO_BYMONTH, "bymonth"},
822 {CAL_PROPERTY_TODO_BYSETPOS, "bysetpos"},
823 {CAL_PROPERTY_TODO_WKST, "wkst"},
824 {CAL_PROPERTY_TODO_HAS_ALARM, "has_alarm"},
825 {CAL_PROPERTY_TODO_SYNC_DATA1, "sync_data1"},
826 {CAL_PROPERTY_TODO_SYNC_DATA2, "sync_data2"},
827 {CAL_PROPERTY_TODO_SYNC_DATA3, "sync_data3"},
828 {CAL_PROPERTY_TODO_SYNC_DATA4, "sync_data4"},
829 {CAL_PROPERTY_TODO_START, "dtstart_type, dtstart_utime, dtstart_datetime"},
830 {CAL_PROPERTY_TODO_DUE, "dtend_type, dtend_utime, dtend_datetime"},
831 {CAL_PROPERTY_TODO_START_TZID, "dtstart_tzid"},
832 {CAL_PROPERTY_TODO_DUE_TZID, "dtend_tzid"},
833 {CAL_PROPERTY_TODO_ORGANIZER_NAME, "organizer_name"},
834 {CAL_PROPERTY_TODO_ORGANIZER_EMAIL, "organizer_email"},
835 {CAL_PROPERTY_TODO_HAS_ATTENDEE, "has_attendee"},
836 {CAL_PROPERTY_TODO_IS_ALLDAY, "dtend_type"},
837 {(CAL_PROPERTY_CALENDAR_VISIBILITY|CAL_PROPERTY_FLAGS_FILTER) , "visibility"},
838 {(CAL_PROPERTY_CALENDAR_ACCOUNT_ID|CAL_PROPERTY_FLAGS_FILTER) , "account_id"},
841 const cal_property_info_s __property_search_event_calendar_attendee[] =
843 {CAL_PROPERTY_EVENT_ID, "id"},
844 {CAL_PROPERTY_EVENT_CALENDAR_ID, "calendar_id"},
845 {CAL_PROPERTY_EVENT_SUMMARY, "summary"},
846 {CAL_PROPERTY_EVENT_DESCRIPTION, "description"},
847 {CAL_PROPERTY_EVENT_LOCATION, "location"},
848 {CAL_PROPERTY_EVENT_CATEGORIES, "categories"},
849 {CAL_PROPERTY_EVENT_EXDATE, "exdate"},
850 {CAL_PROPERTY_EVENT_EVENT_STATUS, "task_status"},
851 {CAL_PROPERTY_EVENT_PRIORITY, "priority"},
852 {CAL_PROPERTY_EVENT_TIMEZONE, "timezone"},
853 {CAL_PROPERTY_EVENT_CONTACT_ID, "contact_id"},
854 {CAL_PROPERTY_EVENT_BUSY_STATUS, "busy_status"},
855 {CAL_PROPERTY_EVENT_SENSITIVITY, "sensitivity"},
856 {CAL_PROPERTY_EVENT_UID, "uid"},
857 {CAL_PROPERTY_EVENT_ORGANIZER_NAME, "organizer_name"},
858 {CAL_PROPERTY_EVENT_ORGANIZER_EMAIL, "organizer_email"},
859 {CAL_PROPERTY_EVENT_MEETING_STATUS, "meeting_status"},
860 {CAL_PROPERTY_EVENT_ORIGINAL_EVENT_ID, "original_event_id"},
861 {CAL_PROPERTY_EVENT_LATITUDE, "latitude"},
862 {CAL_PROPERTY_EVENT_LONGITUDE, "longitude"},
863 {CAL_PROPERTY_EVENT_EMAIL_ID, "email_id"},
864 {CAL_PROPERTY_EVENT_CREATED_TIME, "created_time"},
865 {CAL_PROPERTY_EVENT_LAST_MODIFIED_TIME, "last_mod"},
866 {CAL_PROPERTY_EVENT_IS_DELETED, "is_deleted"},
867 {CAL_PROPERTY_EVENT_FREQ, "freq"},
868 {CAL_PROPERTY_EVENT_RANGE_TYPE, "range_type"},
869 {CAL_PROPERTY_EVENT_UNTIL, "until_type, until_utime, until_datetime"},
870 {CAL_PROPERTY_EVENT_COUNT, "count"},
871 {CAL_PROPERTY_EVENT_INTERVAL, "interval"},
872 {CAL_PROPERTY_EVENT_BYSECOND, "bysecond"},
873 {CAL_PROPERTY_EVENT_BYMINUTE, "byminute"},
874 {CAL_PROPERTY_EVENT_BYHOUR, "byhour"},
875 {CAL_PROPERTY_EVENT_BYDAY, "byday"},
876 {CAL_PROPERTY_EVENT_BYMONTHDAY, "bymonthday"},
877 {CAL_PROPERTY_EVENT_BYYEARDAY, "byyearday"},
878 {CAL_PROPERTY_EVENT_BYWEEKNO, "byweekno"},
879 {CAL_PROPERTY_EVENT_BYMONTH, "bymonth"},
880 {CAL_PROPERTY_EVENT_BYSETPOS, "bysetpos"},
881 {CAL_PROPERTY_EVENT_WKST, "wkst"},
882 {CAL_PROPERTY_EVENT_RECURRENCE_ID, "recurrence_id"},
883 {CAL_PROPERTY_EVENT_RDATE, "rdate"},
884 {CAL_PROPERTY_EVENT_HAS_ATTENDEE, "has_attendee"},
885 {CAL_PROPERTY_EVENT_HAS_ALARM, "has_alarm"},
886 {CAL_PROPERTY_EVENT_SYNC_DATA1, "sync_data1"},
887 {CAL_PROPERTY_EVENT_SYNC_DATA2, "sync_data2"},
888 {CAL_PROPERTY_EVENT_SYNC_DATA3, "sync_data3"},
889 {CAL_PROPERTY_EVENT_SYNC_DATA4, "sync_data4"},
890 {CAL_PROPERTY_EVENT_START, "dtstart_type, dtstart_utime, dtstart_datetime"},
891 {CAL_PROPERTY_EVENT_END, "dtend_type, dtend_utime, dtend_datetime"},
892 {CAL_PROPERTY_EVENT_CALENDAR_SYSTEM_TYPE, "system_type"},
893 {CAL_PROPERTY_EVENT_START_TZID, "dtstart_tzid"},
894 {CAL_PROPERTY_EVENT_END_TZID, "dtend_tzid"},
895 {CAL_PROPERTY_EVENT_IS_ALLDAY, "dtstart_type"},
896 {(CAL_PROPERTY_CALENDAR_VISIBILITY|CAL_PROPERTY_FLAGS_FILTER) , "visibility"},
897 {(CAL_PROPERTY_CALENDAR_ACCOUNT_ID|CAL_PROPERTY_FLAGS_FILTER) , "account_id"},
898 {(CAL_PROPERTY_ATTENDEE_EMAIL|CAL_PROPERTY_FLAGS_FILTER), "attendee_email"},
899 {(CAL_PROPERTY_ATTENDEE_NAME|CAL_PROPERTY_FLAGS_FILTER), "attendee_name"},
902 const cal_property_info_s __property_search_instance_normal_calendar[] =
904 {CAL_PROPERTY_INSTANCE_NORMAL_EVENT_ID, "event_id"},
905 {CAL_PROPERTY_INSTANCE_NORMAL_START, "dtstart_type, dtstart_utime, dtstart_datetime"},
906 {CAL_PROPERTY_INSTANCE_NORMAL_END, "dtend_type, dtend_utime, dtend_datetime"},
907 {CAL_PROPERTY_INSTANCE_NORMAL_SUMMARY, "summary"},
908 {CAL_PROPERTY_INSTANCE_NORMAL_LOCATION, "location"},
909 {CAL_PROPERTY_INSTANCE_NORMAL_CALENDAR_ID, "calendar_id"},
910 {CAL_PROPERTY_INSTANCE_NORMAL_DESCRIPTION, "description"},
911 {CAL_PROPERTY_INSTANCE_NORMAL_BUSY_STATUS, "busy_status"},
912 {CAL_PROPERTY_INSTANCE_NORMAL_EVENT_STATUS, "task_status"},
913 {CAL_PROPERTY_INSTANCE_NORMAL_PRIORITY, "priority"},
914 {CAL_PROPERTY_INSTANCE_NORMAL_SENSITIVITY, "sensitivity"},
915 {CAL_PROPERTY_INSTANCE_NORMAL_HAS_RRULE, "rrule_id"},
916 {CAL_PROPERTY_INSTANCE_NORMAL_LATITUDE, "latitude"},
917 {CAL_PROPERTY_INSTANCE_NORMAL_LONGITUDE, "longitude"},
918 {CAL_PROPERTY_INSTANCE_NORMAL_HAS_ALARM, "has_alarm"},
919 {CAL_PROPERTY_INSTANCE_NORMAL_ORIGINAL_EVENT_ID, "original_event_id"},
920 {(CAL_PROPERTY_CALENDAR_VISIBILITY|CAL_PROPERTY_FLAGS_FILTER) , "visibility"},
921 {(CAL_PROPERTY_CALENDAR_ACCOUNT_ID|CAL_PROPERTY_FLAGS_FILTER) , "account_id"},
922 {CAL_PROPERTY_INSTANCE_NORMAL_LAST_MODIFIED_TIME, "last_mod"},
926 const cal_property_info_s __property_search_instance_allday_calendar[] =
928 {CAL_PROPERTY_INSTANCE_ALLDAY_EVENT_ID, "event_id"},
929 {CAL_PROPERTY_INSTANCE_ALLDAY_START, "dtstart_type, dtstart_utime, dtstart_datetime"},
930 {CAL_PROPERTY_INSTANCE_ALLDAY_END, "dtend_type, dtend_utime, dtend_datetime"},
931 {CAL_PROPERTY_INSTANCE_ALLDAY_SUMMARY, "summary"},
932 {CAL_PROPERTY_INSTANCE_ALLDAY_LOCATION, "location"},
933 {CAL_PROPERTY_INSTANCE_ALLDAY_CALENDAR_ID, "calendar_id"},
934 {CAL_PROPERTY_INSTANCE_ALLDAY_DESCRIPTION, "description"},
935 {CAL_PROPERTY_INSTANCE_ALLDAY_BUSY_STATUS, "busy_status"},
936 {CAL_PROPERTY_INSTANCE_ALLDAY_EVENT_STATUS, "task_status"},
937 {CAL_PROPERTY_INSTANCE_ALLDAY_PRIORITY, "priority"},
938 {CAL_PROPERTY_INSTANCE_ALLDAY_SENSITIVITY, "sensitivity"},
939 {CAL_PROPERTY_INSTANCE_ALLDAY_HAS_RRULE, "rrule_id"},
940 {CAL_PROPERTY_INSTANCE_ALLDAY_LATITUDE, "latitude"},
941 {CAL_PROPERTY_INSTANCE_ALLDAY_LONGITUDE, "longitude"},
942 {CAL_PROPERTY_INSTANCE_ALLDAY_HAS_ALARM, "has_alarm"},
943 {CAL_PROPERTY_INSTANCE_ALLDAY_ORIGINAL_EVENT_ID, "original_event_id"},
944 {(CAL_PROPERTY_CALENDAR_VISIBILITY|CAL_PROPERTY_FLAGS_FILTER) , "visibility"},
945 {(CAL_PROPERTY_CALENDAR_ACCOUNT_ID|CAL_PROPERTY_FLAGS_FILTER) , "account_id"},
946 {CAL_PROPERTY_INSTANCE_ALLDAY_LAST_MODIFIED_TIME, "last_mod"},
949 const cal_property_info_s __property_extended[] =
951 {CAL_PROPERTY_EXTENDED_ID, "id"},
952 {CAL_PROPERTY_EXTENDED_RECORD_ID, "record_id"},
953 {CAL_PROPERTY_EXTENDED_RECORD_TYPE, "record_type"},
954 {CAL_PROPERTY_EXTENDED_KEY, "key"},
955 {CAL_PROPERTY_EXTENDED_VALUE, "value"},
960 cal_record_type_e type;
961 cal_property_info_s *properties;
963 }cal_view_uri_info_s;
965 #define PTR_COUNT(X) (void*)(X), sizeof(X)/sizeof(cal_property_info_s)
968 static const cal_view_uri_info_s __tables[] = {
969 {CALENDAR_VIEW_CALENDAR, CAL_RECORD_TYPE_CALENDAR, PTR_COUNT(__property_calendar_book) },
970 {CALENDAR_VIEW_EVENT, CAL_RECORD_TYPE_EVENT, PTR_COUNT(__property_event) },
971 {CALENDAR_VIEW_TODO, CAL_RECORD_TYPE_TODO, PTR_COUNT(__property_todo) },
972 {CALENDAR_VIEW_TIMEZONE, CAL_RECORD_TYPE_TIMEZONE, PTR_COUNT(__property_timezone) },
973 {CALENDAR_VIEW_ATTENDEE, CAL_RECORD_TYPE_ATTENDEE, PTR_COUNT(__property_attendee) },
974 {CALENDAR_VIEW_ALARM, CAL_RECORD_TYPE_ALARM, PTR_COUNT(__property_alarm) },
975 {CALENDAR_VIEW_INSTANCE_NORMAL, CAL_RECORD_TYPE_INSTANCE_NORMAL, PTR_COUNT(__property_instance_normal) },
976 {CALENDAR_VIEW_INSTANCE_ALLDAY, CAL_RECORD_TYPE_INSTANCE_ALLDAY, PTR_COUNT(__property_instance_allday) },
977 {CALENDAR_VIEW_UPDATED_INFO, CAL_RECORD_TYPE_UPDATED_INFO, PTR_COUNT(__property_updated_info) },
978 {CALENDAR_VIEW_EVENT_CALENDAR, CAL_RECORD_TYPE_SEARCH, PTR_COUNT(__property_search_event_calendar) },
979 {CALENDAR_VIEW_TODO_CALENDAR, CAL_RECORD_TYPE_SEARCH, PTR_COUNT(__property_search_todo_calendar ) },
980 {CALENDAR_VIEW_EVENT_CALENDAR_ATTENDEE, CAL_RECORD_TYPE_SEARCH, PTR_COUNT(__property_search_event_calendar_attendee) },
981 {CALENDAR_VIEW_INSTANCE_NORMAL_CALENDAR, CAL_RECORD_TYPE_INSTANCE_NORMAL, PTR_COUNT(__property_search_instance_normal_calendar) },
982 {CALENDAR_VIEW_INSTANCE_ALLDAY_CALENDAR, CAL_RECORD_TYPE_INSTANCE_ALLDAY, PTR_COUNT(__property_search_instance_allday_calendar) },
983 {CALENDAR_VIEW_EXTENDED, CAL_RECORD_TYPE_EXTENDED, PTR_COUNT(__property_extended) },
986 //////////////////////
988 static bool cal_uri_property_flag = false;
989 static GHashTable *cal_uri_property_hash = NULL;
991 void _cal_view_initialize(void)
995 if (cal_uri_property_flag == false)
997 _cal_mutex_lock(CAL_MUTEX_PROPERTY_HASH);
1001 if ( cal_uri_property_hash == NULL)
1003 cal_uri_property_hash = g_hash_table_new(g_str_hash, g_str_equal);
1004 if (cal_uri_property_hash)
1006 g_hash_table_insert(cal_uri_property_hash, CALENDAR_VIEW_CALENDAR, GINT_TO_POINTER(&(__tables[0])) );
1007 g_hash_table_insert(cal_uri_property_hash, CALENDAR_VIEW_EVENT, GINT_TO_POINTER(&(__tables[1])) );
1008 g_hash_table_insert(cal_uri_property_hash, CALENDAR_VIEW_TODO, GINT_TO_POINTER(&(__tables[2])) );
1009 g_hash_table_insert(cal_uri_property_hash, CALENDAR_VIEW_TIMEZONE, GINT_TO_POINTER(&(__tables[3])));
1010 g_hash_table_insert(cal_uri_property_hash, CALENDAR_VIEW_ATTENDEE, GINT_TO_POINTER(&(__tables[4])));
1011 g_hash_table_insert(cal_uri_property_hash, CALENDAR_VIEW_ALARM, GINT_TO_POINTER(&(__tables[5])));
1012 g_hash_table_insert(cal_uri_property_hash, CALENDAR_VIEW_INSTANCE_NORMAL, GINT_TO_POINTER(&(__tables[6])));
1013 g_hash_table_insert(cal_uri_property_hash, CALENDAR_VIEW_INSTANCE_ALLDAY, GINT_TO_POINTER(&(__tables[7])));
1014 g_hash_table_insert(cal_uri_property_hash, CALENDAR_VIEW_UPDATED_INFO, GINT_TO_POINTER(&(__tables[8])));
1015 g_hash_table_insert(cal_uri_property_hash, CALENDAR_VIEW_EVENT_CALENDAR, GINT_TO_POINTER(&(__tables[9])));
1016 g_hash_table_insert(cal_uri_property_hash, CALENDAR_VIEW_TODO_CALENDAR, GINT_TO_POINTER(&(__tables[10])));
1017 g_hash_table_insert(cal_uri_property_hash, CALENDAR_VIEW_EVENT_CALENDAR_ATTENDEE, GINT_TO_POINTER(&(__tables[11])));
1018 g_hash_table_insert(cal_uri_property_hash, CALENDAR_VIEW_INSTANCE_NORMAL_CALENDAR, GINT_TO_POINTER(&(__tables[12])));
1019 g_hash_table_insert(cal_uri_property_hash, CALENDAR_VIEW_INSTANCE_ALLDAY_CALENDAR, GINT_TO_POINTER(&(__tables[13])));
1020 g_hash_table_insert(cal_uri_property_hash, CALENDAR_VIEW_EXTENDED, GINT_TO_POINTER(&(__tables[14])));
1026 cal_uri_property_flag = true;
1027 _cal_mutex_unlock(CAL_MUTEX_PROPERTY_HASH);
1033 cal_record_type_e _cal_view_get_type(const char *view_uri)
1035 cal_view_uri_info_s* view_uri_info = NULL;
1036 cal_record_type_e type = CAL_RECORD_TYPE_INVALID;
1038 if(cal_uri_property_hash){
1039 view_uri_info = g_hash_table_lookup(cal_uri_property_hash, view_uri);
1040 if( view_uri_info ) {
1041 type = view_uri_info->type;
1042 //CAL_DBG("%s:%d",view_uri,type);
1046 ERR("g_hash_table_lookup() failed");
1051 ERR("Unable to get cal_uri_property_hash");
1057 void _cal_view_finalize(void)
1060 if( cal_uri_property_hash != NULL) {
1061 g_hash_table_destroy(cal_uri_property_hash);
1062 cal_uri_property_hash = NULL;
1067 const cal_property_info_s* _cal_view_get_property_info(const char *view_uri, int *count)
1069 cal_property_info_s* tmp = NULL;
1070 cal_view_uri_info_s* view_uri_info = NULL;
1072 if(cal_uri_property_hash){
1073 view_uri_info = g_hash_table_lookup(cal_uri_property_hash, view_uri);
1074 if( view_uri_info ) {
1075 tmp = view_uri_info->properties;
1076 *count = view_uri_info->property_count;
1083 const char* _cal_view_get_uri(const char *view_uri)
1085 cal_view_uri_info_s* view_uri_info = NULL;
1087 if(cal_uri_property_hash){
1088 view_uri_info = g_hash_table_lookup(cal_uri_property_hash, view_uri);
1089 if( view_uri_info ) {
1090 return view_uri_info->view_uri;