Resolved Native API Reference issues for calendar-service
[platform/core/pim/calendar-service.git] / common / cal_view.h
1 /*
2  * Calendar Service
3  *
4  * Copyright (c) 2012 - 2015 Samsung Electronics Co., Ltd. All rights reserved.
5  *
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
9  *
10  * http://www.apache.org/licenses/LICENSE-2.0
11  *
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.
17  *
18  */
19 #ifndef __CAL_VIEW_H__
20 #define __CAL_VIEW_H__
21
22 #include "cal_typedef.h"
23 #include "calendar_view.h"
24
25 /* db record view: get, get_list, insert, update, delete, filter */
26 #define CALENDAR_VIEW_BOOK "tizen.calendar_view.book"
27 #define CALENDAR_VIEW_EVENT "tizen.calendar_view.event"
28 #define CALENDAR_VIEW_TODO "tizen.calendar_view.todo"
29 #define CALENDAR_VIEW_TIMEZONE "tizen.calendar_view.timezone"
30
31 /* child view */
32 #define CALENDAR_VIEW_ATTENDEE "tizen.calendar_view.attendee"
33 #define CALENDAR_VIEW_ALARM "tizen.calendar_view.alarm"
34
35 /* updated info: get_list */
36 #define CALENDAR_VIEW_UPDATED_INFO "tizen.calendar_view.updated_info"
37
38 /* extended_table */
39 #define CALENDAR_VIEW_EXTENDED "tizen.calendar_view.extended_property"
40
41 /* only for query (filter) */
42 #define CALENDAR_VIEW_EVENT_BOOK "tizen.calendar_view.event/book"
43 #define CALENDAR_VIEW_TODO_BOOK "tizen.calendar_view.todo/book"
44 #define CALENDAR_VIEW_EVENT_BOOK_ATTENDEE "tizen.calendar_view.event/book/attendee"
45 #define CALENDAR_VIEW_INSTANCE_UTIME_BOOK "tizen.calendar_view.instance_utime/book"
46 #define CALENDAR_VIEW_INSTANCE_LOCALTIME_BOOK "tizen.calendar_view.instance_localtime/book"
47 #define CALENDAR_VIEW_INSTANCE_UTIME_BOOK_EXTENDED "tizen.calendar_view.extended/instance_utime/book"
48 #define CALENDAR_VIEW_INSTANCE_LOCALTIME_BOOK_EXTENDED "tizen.calendar_view.extended/instance_localtime/book"
49
50 /* for type check: data_type mask                0x000FF000 */
51 #define CAL_PROPERTY_DATA_TYPE_MASK              0x000FF000
52 #define CAL_PROPERTY_DATA_TYPE_INT               0x00001000
53 #define CAL_PROPERTY_DATA_TYPE_STR               0x00002000
54 #define CAL_PROPERTY_DATA_TYPE_DOUBLE            0x00003000
55 #define CAL_PROPERTY_DATA_TYPE_LLI               0x00004000
56 #define CAL_PROPERTY_DATA_TYPE_CALTIME           0x00005000
57 #define CAL_PROPERTY_DATA_TYPE_REC               0x00006000
58 #define CAL_PROPERTY_CHECK_DATA_TYPE(property_id, data_type) \
59         ((property_id&CAL_PROPERTY_DATA_TYPE_MASK) == data_type ? true : false)
60
61 /* for property                                  0xFF000000 */
62 #define CAL_PROPERTY_MASK                        0xFF000000
63 #define CAL_PROPERTY_BOOK                        0x01000000
64 #define CAL_PROPERTY_EVENT                       0x02000000
65 #define CAL_PROPERTY_TODO                        0x03000000
66 #define CAL_PROPERTY_TIMEZONE                    0x04000000
67 #define CAL_PROPERTY_ATTENDEE                    0x05000000
68 #define CAL_PROPERTY_ALARM                       0x06000000
69 #define CAL_PROPERTY_INSTANCE_UTIME              0x07000000
70 #define CAL_PROPERTY_INSTANCE_LOCALTIME          0x08000000
71 #define CAL_PROPERTY_UPDATED_INFO                0x09000000
72 #define CAL_PROPERTY_EXTENDED                    0x0A000000
73 #define CAL_PROPERTY_INSTANCE_UTIME_EXTENDED     0x0B000000
74 #define CAL_PROPERTY_INSTANCE_LOCALTIME_EXTENDED 0x0C000000
75 #define CAL_PROPERTY_CHECK(property_id, data_type) \
76         ((property_id&CAL_PROPERTY_MASK) == data_type ? true : false)
77
78 #define CAL_PROPERTY_FLAGS_MASK                  0x00F00000
79 #define CAL_PROPERTY_FLAGS_FILTER                0x00100000
80 #define CAL_PROPERTY_FLAGS_PROJECTION            0x00200000
81 #define CAL_PROPERTY_FLAGS_READ_ONLY             0x00300000
82 #define CAL_PROPERTY_CHECK_FLAGS(property_id, data_type) \
83         ((property_id&CAL_PROPERTY_FLAGS_MASK) == data_type ? true : false)
84
85 typedef enum {
86         CAL_PROPERTY_BOOK_ID          = (CAL_PROPERTY_BOOK|CAL_PROPERTY_DATA_TYPE_INT|CAL_PROPERTY_FLAGS_READ_ONLY),
87         CAL_PROPERTY_BOOK_UID         = (CAL_PROPERTY_BOOK|CAL_PROPERTY_DATA_TYPE_STR) + 1,
88         CAL_PROPERTY_BOOK_NAME        = (CAL_PROPERTY_BOOK|CAL_PROPERTY_DATA_TYPE_STR) + 2,
89         CAL_PROPERTY_BOOK_DESCRIPTION = (CAL_PROPERTY_BOOK|CAL_PROPERTY_DATA_TYPE_STR) + 3,
90         CAL_PROPERTY_BOOK_COLOR       = (CAL_PROPERTY_BOOK|CAL_PROPERTY_DATA_TYPE_STR) + 4,
91         CAL_PROPERTY_BOOK_LOCATION    = (CAL_PROPERTY_BOOK|CAL_PROPERTY_DATA_TYPE_STR) + 5,
92         CAL_PROPERTY_BOOK_VISIBILITY  = (CAL_PROPERTY_BOOK|CAL_PROPERTY_DATA_TYPE_INT) + 6,
93         CAL_PROPERTY_BOOK_SYNC_EVENT  = (CAL_PROPERTY_BOOK|CAL_PROPERTY_DATA_TYPE_INT) + 7,
94         CAL_PROPERTY_BOOK_ACCOUNT_ID  = (CAL_PROPERTY_BOOK|CAL_PROPERTY_DATA_TYPE_INT) + 8,
95         CAL_PROPERTY_BOOK_STORE_TYPE  = (CAL_PROPERTY_BOOK|CAL_PROPERTY_DATA_TYPE_INT) + 9,
96         CAL_PROPERTY_BOOK_SYNC_DATA1  = (CAL_PROPERTY_BOOK|CAL_PROPERTY_DATA_TYPE_STR) + 10,
97         CAL_PROPERTY_BOOK_SYNC_DATA2  = (CAL_PROPERTY_BOOK|CAL_PROPERTY_DATA_TYPE_STR) + 11,
98         CAL_PROPERTY_BOOK_SYNC_DATA3  = (CAL_PROPERTY_BOOK|CAL_PROPERTY_DATA_TYPE_STR) + 12,
99         CAL_PROPERTY_BOOK_SYNC_DATA4  = (CAL_PROPERTY_BOOK|CAL_PROPERTY_DATA_TYPE_STR) + 13,
100         CAL_PROPERTY_BOOK_MODE        = (CAL_PROPERTY_BOOK|CAL_PROPERTY_DATA_TYPE_INT) + 14,
101
102         CAL_PROPERTY_EVENT_ID                   = (CAL_PROPERTY_EVENT|CAL_PROPERTY_DATA_TYPE_INT|CAL_PROPERTY_FLAGS_READ_ONLY),
103         CAL_PROPERTY_EVENT_BOOK_ID              = (CAL_PROPERTY_EVENT|CAL_PROPERTY_DATA_TYPE_INT) + 1,
104         CAL_PROPERTY_EVENT_SUMMARY              = (CAL_PROPERTY_EVENT|CAL_PROPERTY_DATA_TYPE_STR) + 2,
105         CAL_PROPERTY_EVENT_DESCRIPTION          = (CAL_PROPERTY_EVENT|CAL_PROPERTY_DATA_TYPE_STR) + 3,
106         CAL_PROPERTY_EVENT_LOCATION             = (CAL_PROPERTY_EVENT|CAL_PROPERTY_DATA_TYPE_STR) + 4,
107         CAL_PROPERTY_EVENT_CATEGORIES           = (CAL_PROPERTY_EVENT|CAL_PROPERTY_DATA_TYPE_STR) + 5,
108         CAL_PROPERTY_EVENT_EXDATE               = (CAL_PROPERTY_EVENT|CAL_PROPERTY_DATA_TYPE_STR) + 6,
109         CAL_PROPERTY_EVENT_EVENT_STATUS         = (CAL_PROPERTY_EVENT|CAL_PROPERTY_DATA_TYPE_INT) + 7,
110         CAL_PROPERTY_EVENT_PRIORITY             = (CAL_PROPERTY_EVENT|CAL_PROPERTY_DATA_TYPE_INT) + 8,
111         CAL_PROPERTY_EVENT_TIMEZONE             = (CAL_PROPERTY_EVENT|CAL_PROPERTY_DATA_TYPE_INT) + 9,
112         CAL_PROPERTY_EVENT_CONTACT_ID           = (CAL_PROPERTY_EVENT|CAL_PROPERTY_DATA_TYPE_INT) + 10,
113         CAL_PROPERTY_EVENT_BUSY_STATUS          = (CAL_PROPERTY_EVENT|CAL_PROPERTY_DATA_TYPE_INT) + 11,
114         CAL_PROPERTY_EVENT_SENSITIVITY          = (CAL_PROPERTY_EVENT|CAL_PROPERTY_DATA_TYPE_INT) + 12,
115         CAL_PROPERTY_EVENT_UID                  = (CAL_PROPERTY_EVENT|CAL_PROPERTY_DATA_TYPE_STR) + 13,
116         CAL_PROPERTY_EVENT_ORGANIZER_NAME       = (CAL_PROPERTY_EVENT|CAL_PROPERTY_DATA_TYPE_STR) + 14,
117         CAL_PROPERTY_EVENT_ORGANIZER_EMAIL      = (CAL_PROPERTY_EVENT|CAL_PROPERTY_DATA_TYPE_STR) + 15,
118         CAL_PROPERTY_EVENT_MEETING_STATUS       = (CAL_PROPERTY_EVENT|CAL_PROPERTY_DATA_TYPE_INT) + 16,
119         CAL_PROPERTY_EVENT_ORIGINAL_EVENT_ID    = (CAL_PROPERTY_EVENT|CAL_PROPERTY_DATA_TYPE_INT) + 17,
120         CAL_PROPERTY_EVENT_LATITUDE             = (CAL_PROPERTY_EVENT|CAL_PROPERTY_DATA_TYPE_DOUBLE) + 18,
121         CAL_PROPERTY_EVENT_LONGITUDE            = (CAL_PROPERTY_EVENT|CAL_PROPERTY_DATA_TYPE_DOUBLE) + 19,
122         CAL_PROPERTY_EVENT_EMAIL_ID             = (CAL_PROPERTY_EVENT|CAL_PROPERTY_DATA_TYPE_INT) + 20,
123         CAL_PROPERTY_EVENT_CREATED_TIME         = (CAL_PROPERTY_EVENT|CAL_PROPERTY_DATA_TYPE_LLI) + 21,
124         CAL_PROPERTY_EVENT_LAST_MODIFIED_TIME   = (CAL_PROPERTY_EVENT|CAL_PROPERTY_DATA_TYPE_LLI|CAL_PROPERTY_FLAGS_READ_ONLY) + 22,
125         CAL_PROPERTY_EVENT_IS_DELETED           = (CAL_PROPERTY_EVENT|CAL_PROPERTY_DATA_TYPE_INT|CAL_PROPERTY_FLAGS_READ_ONLY) + 23,
126         CAL_PROPERTY_EVENT_FREQ                 = (CAL_PROPERTY_EVENT|CAL_PROPERTY_DATA_TYPE_INT) + 24,
127         CAL_PROPERTY_EVENT_RANGE_TYPE           = (CAL_PROPERTY_EVENT|CAL_PROPERTY_DATA_TYPE_INT) + 25,
128         CAL_PROPERTY_EVENT_UNTIL                = (CAL_PROPERTY_EVENT|CAL_PROPERTY_DATA_TYPE_CALTIME) + 26,
129         CAL_PROPERTY_EVENT_COUNT                = (CAL_PROPERTY_EVENT|CAL_PROPERTY_DATA_TYPE_INT) + 27,
130         CAL_PROPERTY_EVENT_INTERVAL             = (CAL_PROPERTY_EVENT|CAL_PROPERTY_DATA_TYPE_INT) + 28,
131         CAL_PROPERTY_EVENT_BYSECOND             = (CAL_PROPERTY_EVENT|CAL_PROPERTY_DATA_TYPE_STR) + 29,
132         CAL_PROPERTY_EVENT_BYMINUTE             = (CAL_PROPERTY_EVENT|CAL_PROPERTY_DATA_TYPE_STR) + 30,
133         CAL_PROPERTY_EVENT_BYHOUR               = (CAL_PROPERTY_EVENT|CAL_PROPERTY_DATA_TYPE_STR) + 31,
134         CAL_PROPERTY_EVENT_BYDAY                = (CAL_PROPERTY_EVENT|CAL_PROPERTY_DATA_TYPE_STR) + 32,
135         CAL_PROPERTY_EVENT_BYMONTHDAY           = (CAL_PROPERTY_EVENT|CAL_PROPERTY_DATA_TYPE_STR) + 33,
136         CAL_PROPERTY_EVENT_BYYEARDAY            = (CAL_PROPERTY_EVENT|CAL_PROPERTY_DATA_TYPE_STR) + 34,
137         CAL_PROPERTY_EVENT_BYWEEKNO             = (CAL_PROPERTY_EVENT|CAL_PROPERTY_DATA_TYPE_STR) + 35,
138         CAL_PROPERTY_EVENT_BYMONTH              = (CAL_PROPERTY_EVENT|CAL_PROPERTY_DATA_TYPE_STR) + 36,
139         CAL_PROPERTY_EVENT_BYSETPOS             = (CAL_PROPERTY_EVENT|CAL_PROPERTY_DATA_TYPE_STR) + 37,
140         CAL_PROPERTY_EVENT_WKST                 = (CAL_PROPERTY_EVENT|CAL_PROPERTY_DATA_TYPE_INT) + 38,
141         CAL_PROPERTY_EVENT_RECURRENCE_ID        = (CAL_PROPERTY_EVENT|CAL_PROPERTY_DATA_TYPE_STR) + 39,
142         CAL_PROPERTY_EVENT_RDATE                = (CAL_PROPERTY_EVENT|CAL_PROPERTY_DATA_TYPE_STR) + 40,
143         CAL_PROPERTY_EVENT_HAS_ATTENDEE         = (CAL_PROPERTY_EVENT|CAL_PROPERTY_DATA_TYPE_INT|CAL_PROPERTY_FLAGS_READ_ONLY) + 41,
144         CAL_PROPERTY_EVENT_HAS_ALARM            = (CAL_PROPERTY_EVENT|CAL_PROPERTY_DATA_TYPE_INT|CAL_PROPERTY_FLAGS_READ_ONLY) + 42,
145         CAL_PROPERTY_EVENT_SYNC_DATA1           = (CAL_PROPERTY_EVENT|CAL_PROPERTY_DATA_TYPE_STR) + 43,
146         CAL_PROPERTY_EVENT_SYNC_DATA2           = (CAL_PROPERTY_EVENT|CAL_PROPERTY_DATA_TYPE_STR) + 44,
147         CAL_PROPERTY_EVENT_SYNC_DATA3           = (CAL_PROPERTY_EVENT|CAL_PROPERTY_DATA_TYPE_STR) + 45,
148         CAL_PROPERTY_EVENT_SYNC_DATA4           = (CAL_PROPERTY_EVENT|CAL_PROPERTY_DATA_TYPE_STR) + 46,
149         CAL_PROPERTY_EVENT_START                = (CAL_PROPERTY_EVENT|CAL_PROPERTY_DATA_TYPE_CALTIME) + 47,
150         CAL_PROPERTY_EVENT_END                  = (CAL_PROPERTY_EVENT|CAL_PROPERTY_DATA_TYPE_CALTIME) + 48,
151         CAL_PROPERTY_EVENT_CALENDAR_ALARM       = (CAL_PROPERTY_EVENT|CAL_PROPERTY_DATA_TYPE_REC) + 49,
152         CAL_PROPERTY_EVENT_CALENDAR_ATTENDEE    = (CAL_PROPERTY_EVENT|CAL_PROPERTY_DATA_TYPE_REC) + 50,
153         CAL_PROPERTY_EVENT_CALENDAR_SYSTEM_TYPE = (CAL_PROPERTY_EVENT|CAL_PROPERTY_DATA_TYPE_INT) + 51,
154         CAL_PROPERTY_EVENT_START_TZID           = (CAL_PROPERTY_EVENT|CAL_PROPERTY_DATA_TYPE_STR) + 52,
155         CAL_PROPERTY_EVENT_END_TZID             = (CAL_PROPERTY_EVENT|CAL_PROPERTY_DATA_TYPE_STR) + 53,
156         CAL_PROPERTY_EVENT_EXCEPTION            = (CAL_PROPERTY_EVENT|CAL_PROPERTY_DATA_TYPE_REC) + 54,
157         CAL_PROPERTY_EVENT_EXTENDED             = (CAL_PROPERTY_EVENT|CAL_PROPERTY_DATA_TYPE_REC) + 55,
158         CAL_PROPERTY_EVENT_IS_ALLDAY            = (CAL_PROPERTY_EVENT|CAL_PROPERTY_DATA_TYPE_INT|CAL_PROPERTY_FLAGS_READ_ONLY) + 56,
159         CAL_PROPERTY_EVENT_LINK_COUNT           = (CAL_PROPERTY_EVENT|CAL_PROPERTY_DATA_TYPE_INT|CAL_PROPERTY_FLAGS_READ_ONLY) + 57,
160         CAL_PROPERTY_EVENT_LINK_BASE_ID         = (CAL_PROPERTY_EVENT|CAL_PROPERTY_DATA_TYPE_INT|CAL_PROPERTY_FLAGS_READ_ONLY) + 58,
161
162         CAL_PROPERTY_TODO_ID                    = (CAL_PROPERTY_TODO|CAL_PROPERTY_DATA_TYPE_INT|CAL_PROPERTY_FLAGS_READ_ONLY),
163         CAL_PROPERTY_TODO_BOOK_ID               = (CAL_PROPERTY_TODO|CAL_PROPERTY_DATA_TYPE_INT) + 1,
164         CAL_PROPERTY_TODO_SUMMARY               = (CAL_PROPERTY_TODO|CAL_PROPERTY_DATA_TYPE_STR) + 2,
165         CAL_PROPERTY_TODO_DESCRIPTION           = (CAL_PROPERTY_TODO|CAL_PROPERTY_DATA_TYPE_STR) + 3,
166         CAL_PROPERTY_TODO_LOCATION              = (CAL_PROPERTY_TODO|CAL_PROPERTY_DATA_TYPE_STR) + 4,
167         CAL_PROPERTY_TODO_CATEGORIES            = (CAL_PROPERTY_TODO|CAL_PROPERTY_DATA_TYPE_STR) + 5,
168         CAL_PROPERTY_TODO_TODO_STATUS           = (CAL_PROPERTY_TODO|CAL_PROPERTY_DATA_TYPE_INT) + 6,
169         CAL_PROPERTY_TODO_PRIORITY              = (CAL_PROPERTY_TODO|CAL_PROPERTY_DATA_TYPE_INT) + 7,
170         CAL_PROPERTY_TODO_SENSITIVITY           = (CAL_PROPERTY_TODO|CAL_PROPERTY_DATA_TYPE_INT) + 8,
171         CAL_PROPERTY_TODO_UID                   = (CAL_PROPERTY_TODO|CAL_PROPERTY_DATA_TYPE_STR) + 9,
172         CAL_PROPERTY_TODO_LATITUDE              = (CAL_PROPERTY_TODO|CAL_PROPERTY_DATA_TYPE_DOUBLE) + 10,
173         CAL_PROPERTY_TODO_LONGITUDE             = (CAL_PROPERTY_TODO|CAL_PROPERTY_DATA_TYPE_DOUBLE) + 11,
174         CAL_PROPERTY_TODO_PROGRESS              = (CAL_PROPERTY_TODO|CAL_PROPERTY_DATA_TYPE_INT) + 12,
175         CAL_PROPERTY_TODO_CREATED_TIME          = (CAL_PROPERTY_TODO|CAL_PROPERTY_DATA_TYPE_LLI) + 13,
176         CAL_PROPERTY_TODO_LAST_MODIFIED_TIME    = (CAL_PROPERTY_TODO|CAL_PROPERTY_DATA_TYPE_LLI|CAL_PROPERTY_FLAGS_READ_ONLY) + 14,
177         CAL_PROPERTY_TODO_COMPLETED_TIME        = (CAL_PROPERTY_TODO|CAL_PROPERTY_DATA_TYPE_LLI) + 15,
178         CAL_PROPERTY_TODO_IS_DELETED            = (CAL_PROPERTY_TODO|CAL_PROPERTY_DATA_TYPE_INT|CAL_PROPERTY_FLAGS_READ_ONLY) + 16,
179         CAL_PROPERTY_TODO_FREQ                  = (CAL_PROPERTY_TODO|CAL_PROPERTY_DATA_TYPE_INT) + 17,
180         CAL_PROPERTY_TODO_RANGE_TYPE            = (CAL_PROPERTY_TODO|CAL_PROPERTY_DATA_TYPE_INT) + 18,
181         CAL_PROPERTY_TODO_UNTIL                 = (CAL_PROPERTY_TODO|CAL_PROPERTY_DATA_TYPE_CALTIME) + 19,
182         CAL_PROPERTY_TODO_COUNT                 = (CAL_PROPERTY_TODO|CAL_PROPERTY_DATA_TYPE_INT) + 20,
183         CAL_PROPERTY_TODO_INTERVAL              = (CAL_PROPERTY_TODO|CAL_PROPERTY_DATA_TYPE_INT) + 21,
184         CAL_PROPERTY_TODO_BYSECOND              = (CAL_PROPERTY_TODO|CAL_PROPERTY_DATA_TYPE_STR) + 22,
185         CAL_PROPERTY_TODO_BYMINUTE              = (CAL_PROPERTY_TODO|CAL_PROPERTY_DATA_TYPE_STR) + 23,
186         CAL_PROPERTY_TODO_BYHOUR                = (CAL_PROPERTY_TODO|CAL_PROPERTY_DATA_TYPE_STR) + 24,
187         CAL_PROPERTY_TODO_BYDAY                 = (CAL_PROPERTY_TODO|CAL_PROPERTY_DATA_TYPE_STR) + 25,
188         CAL_PROPERTY_TODO_BYMONTHDAY            = (CAL_PROPERTY_TODO|CAL_PROPERTY_DATA_TYPE_STR) + 26,
189         CAL_PROPERTY_TODO_BYYEARDAY             = (CAL_PROPERTY_TODO|CAL_PROPERTY_DATA_TYPE_STR) + 27,
190         CAL_PROPERTY_TODO_BYWEEKNO              = (CAL_PROPERTY_TODO|CAL_PROPERTY_DATA_TYPE_STR) + 28,
191         CAL_PROPERTY_TODO_BYMONTH               = (CAL_PROPERTY_TODO|CAL_PROPERTY_DATA_TYPE_STR) + 29,
192         CAL_PROPERTY_TODO_BYSETPOS              = (CAL_PROPERTY_TODO|CAL_PROPERTY_DATA_TYPE_STR) + 30,
193         CAL_PROPERTY_TODO_WKST                  = (CAL_PROPERTY_TODO|CAL_PROPERTY_DATA_TYPE_INT) + 31,
194         CAL_PROPERTY_TODO_HAS_ALARM             = (CAL_PROPERTY_TODO|CAL_PROPERTY_DATA_TYPE_INT|CAL_PROPERTY_FLAGS_READ_ONLY) + 32,
195         CAL_PROPERTY_TODO_SYNC_DATA1            = (CAL_PROPERTY_TODO|CAL_PROPERTY_DATA_TYPE_STR) + 33,
196         CAL_PROPERTY_TODO_SYNC_DATA2            = (CAL_PROPERTY_TODO|CAL_PROPERTY_DATA_TYPE_STR) + 34,
197         CAL_PROPERTY_TODO_SYNC_DATA3            = (CAL_PROPERTY_TODO|CAL_PROPERTY_DATA_TYPE_STR) + 35,
198         CAL_PROPERTY_TODO_SYNC_DATA4            = (CAL_PROPERTY_TODO|CAL_PROPERTY_DATA_TYPE_STR) + 36,
199         CAL_PROPERTY_TODO_START                 = (CAL_PROPERTY_TODO|CAL_PROPERTY_DATA_TYPE_CALTIME) + 37,
200         CAL_PROPERTY_TODO_DUE                   = (CAL_PROPERTY_TODO|CAL_PROPERTY_DATA_TYPE_CALTIME) + 38,
201         CAL_PROPERTY_TODO_CALENDAR_ALARM        = (CAL_PROPERTY_TODO|CAL_PROPERTY_DATA_TYPE_REC) + 39,
202         CAL_PROPERTY_TODO_START_TZID            = (CAL_PROPERTY_TODO|CAL_PROPERTY_DATA_TYPE_STR) + 40,
203         CAL_PROPERTY_TODO_DUE_TZID              = (CAL_PROPERTY_TODO|CAL_PROPERTY_DATA_TYPE_STR) + 41,
204         CAL_PROPERTY_TODO_ORGANIZER_NAME        = (CAL_PROPERTY_TODO|CAL_PROPERTY_DATA_TYPE_STR) + 42,
205         CAL_PROPERTY_TODO_ORGANIZER_EMAIL       = (CAL_PROPERTY_TODO|CAL_PROPERTY_DATA_TYPE_STR) + 43,
206         CAL_PROPERTY_TODO_HAS_ATTENDEE          = (CAL_PROPERTY_TODO|CAL_PROPERTY_DATA_TYPE_INT|CAL_PROPERTY_FLAGS_READ_ONLY) + 44,
207         CAL_PROPERTY_TODO_CALENDAR_ATTENDEE     = (CAL_PROPERTY_TODO|CAL_PROPERTY_DATA_TYPE_REC) + 45,
208         CAL_PROPERTY_TODO_EXTENDED              = (CAL_PROPERTY_TODO|CAL_PROPERTY_DATA_TYPE_REC) + 46,
209         CAL_PROPERTY_TODO_IS_ALLDAY             = (CAL_PROPERTY_TODO|CAL_PROPERTY_DATA_TYPE_INT|CAL_PROPERTY_FLAGS_READ_ONLY) + 47,
210
211         CAL_PROPERTY_TIMEZONE_ID                                = (CAL_PROPERTY_TIMEZONE|CAL_PROPERTY_DATA_TYPE_INT|CAL_PROPERTY_FLAGS_READ_ONLY),
212         CAL_PROPERTY_TIMEZONE_TZ_OFFSET_FROM_GMT                = (CAL_PROPERTY_TIMEZONE|CAL_PROPERTY_DATA_TYPE_INT) + 1,
213         CAL_PROPERTY_TIMEZONE_STANDARD_NAME                     = (CAL_PROPERTY_TIMEZONE|CAL_PROPERTY_DATA_TYPE_STR) + 2,
214         CAL_PROPERTY_TIMEZONE_STD_START_MONTH                   = (CAL_PROPERTY_TIMEZONE|CAL_PROPERTY_DATA_TYPE_INT) + 3,
215         CAL_PROPERTY_TIMEZONE_STD_START_POSITION_OF_WEEK        = (CAL_PROPERTY_TIMEZONE|CAL_PROPERTY_DATA_TYPE_INT) + 4,
216         CAL_PROPERTY_TIMEZONE_STD_START_DAY                     = (CAL_PROPERTY_TIMEZONE|CAL_PROPERTY_DATA_TYPE_INT) + 5,
217         CAL_PROPERTY_TIMEZONE_STD_START_HOUR                    = (CAL_PROPERTY_TIMEZONE|CAL_PROPERTY_DATA_TYPE_INT) + 6,
218         CAL_PROPERTY_TIMEZONE_STANDARD_BIAS                     = (CAL_PROPERTY_TIMEZONE|CAL_PROPERTY_DATA_TYPE_INT) + 7,
219         CAL_PROPERTY_TIMEZONE_DAY_LIGHT_NAME                    = (CAL_PROPERTY_TIMEZONE|CAL_PROPERTY_DATA_TYPE_STR) + 8,
220         CAL_PROPERTY_TIMEZONE_DAY_LIGHT_START_MONTH             = (CAL_PROPERTY_TIMEZONE|CAL_PROPERTY_DATA_TYPE_INT) + 9,
221         CAL_PROPERTY_TIMEZONE_DAY_LIGHT_START_POSITION_OF_WEEK  = (CAL_PROPERTY_TIMEZONE|CAL_PROPERTY_DATA_TYPE_INT) + 10,
222         CAL_PROPERTY_TIMEZONE_DAY_LIGHT_START_DAY               = (CAL_PROPERTY_TIMEZONE|CAL_PROPERTY_DATA_TYPE_INT) + 11,
223         CAL_PROPERTY_TIMEZONE_DAY_LIGHT_START_HOUR              = (CAL_PROPERTY_TIMEZONE|CAL_PROPERTY_DATA_TYPE_INT) + 12,
224         CAL_PROPERTY_TIMEZONE_DAY_LIGHT_BIAS                    = (CAL_PROPERTY_TIMEZONE|CAL_PROPERTY_DATA_TYPE_INT) + 13,
225         CAL_PROPERTY_TIMEZONE_CALENDAR_ID                       = (CAL_PROPERTY_TIMEZONE|CAL_PROPERTY_DATA_TYPE_INT) + 14,
226
227         CAL_PROPERTY_ATTENDEE_NUMBER        = (CAL_PROPERTY_ATTENDEE|CAL_PROPERTY_DATA_TYPE_STR),
228         CAL_PROPERTY_ATTENDEE_CUTYPE        = (CAL_PROPERTY_ATTENDEE|CAL_PROPERTY_DATA_TYPE_INT) + 1,
229         CAL_PROPERTY_ATTENDEE_CT_INDEX      = (CAL_PROPERTY_ATTENDEE|CAL_PROPERTY_DATA_TYPE_INT) + 2,
230         CAL_PROPERTY_ATTENDEE_UID           = (CAL_PROPERTY_ATTENDEE|CAL_PROPERTY_DATA_TYPE_STR) + 3,
231         CAL_PROPERTY_ATTENDEE_GROUP         = (CAL_PROPERTY_ATTENDEE|CAL_PROPERTY_DATA_TYPE_STR) + 4,
232         CAL_PROPERTY_ATTENDEE_EMAIL         = (CAL_PROPERTY_ATTENDEE|CAL_PROPERTY_DATA_TYPE_STR) + 5,
233         CAL_PROPERTY_ATTENDEE_ROLE          = (CAL_PROPERTY_ATTENDEE|CAL_PROPERTY_DATA_TYPE_INT) + 6,
234         CAL_PROPERTY_ATTENDEE_STATUS        = (CAL_PROPERTY_ATTENDEE|CAL_PROPERTY_DATA_TYPE_INT) + 7,
235         CAL_PROPERTY_ATTENDEE_RSVP          = (CAL_PROPERTY_ATTENDEE|CAL_PROPERTY_DATA_TYPE_INT) + 8,
236         CAL_PROPERTY_ATTENDEE_DELEGATEE_URI = (CAL_PROPERTY_ATTENDEE|CAL_PROPERTY_DATA_TYPE_STR) + 9,
237         CAL_PROPERTY_ATTENDEE_DELEGATOR_URI = (CAL_PROPERTY_ATTENDEE|CAL_PROPERTY_DATA_TYPE_STR) + 10,
238         CAL_PROPERTY_ATTENDEE_NAME          = (CAL_PROPERTY_ATTENDEE|CAL_PROPERTY_DATA_TYPE_STR) + 11,
239         CAL_PROPERTY_ATTENDEE_MEMBER        = (CAL_PROPERTY_ATTENDEE|CAL_PROPERTY_DATA_TYPE_STR) + 12,
240         CAL_PROPERTY_ATTENDEE_PARENT_ID     = (CAL_PROPERTY_ATTENDEE|CAL_PROPERTY_DATA_TYPE_INT|CAL_PROPERTY_FLAGS_READ_ONLY) + 13,
241
242         CAL_PROPERTY_ALARM_TICK        = (CAL_PROPERTY_ALARM|CAL_PROPERTY_DATA_TYPE_INT),
243         CAL_PROPERTY_ALARM_TICK_UNIT   = (CAL_PROPERTY_ALARM|CAL_PROPERTY_DATA_TYPE_INT) + 1,
244         CAL_PROPERTY_ALARM_DESCRIPTION = (CAL_PROPERTY_ALARM|CAL_PROPERTY_DATA_TYPE_STR) + 2,
245         CAL_PROPERTY_ALARM_PARENT_ID   = (CAL_PROPERTY_ALARM|CAL_PROPERTY_DATA_TYPE_INT|CAL_PROPERTY_FLAGS_READ_ONLY) + 3,
246         CAL_PROPERTY_ALARM_SUMMARY     = (CAL_PROPERTY_ALARM|CAL_PROPERTY_DATA_TYPE_STR) + 4,
247         CAL_PROPERTY_ALARM_ACTION      = (CAL_PROPERTY_ALARM|CAL_PROPERTY_DATA_TYPE_INT) + 5,
248         CAL_PROPERTY_ALARM_ATTACH      = (CAL_PROPERTY_ALARM|CAL_PROPERTY_DATA_TYPE_STR) + 6,
249         CAL_PROPERTY_ALARM_ALARM       = (CAL_PROPERTY_ALARM|CAL_PROPERTY_DATA_TYPE_CALTIME) + 7,
250
251         CAL_PROPERTY_INSTANCE_UTIME_EVENT_ID       = (CAL_PROPERTY_INSTANCE_UTIME|CAL_PROPERTY_DATA_TYPE_INT),
252         CAL_PROPERTY_INSTANCE_UTIME_START          = (CAL_PROPERTY_INSTANCE_UTIME|CAL_PROPERTY_DATA_TYPE_CALTIME) + 1,
253         CAL_PROPERTY_INSTANCE_UTIME_END            = (CAL_PROPERTY_INSTANCE_UTIME|CAL_PROPERTY_DATA_TYPE_CALTIME) + 2,
254         CAL_PROPERTY_INSTANCE_UTIME_SUMMARY        = (CAL_PROPERTY_INSTANCE_UTIME|CAL_PROPERTY_DATA_TYPE_STR) + 3,
255         CAL_PROPERTY_INSTANCE_UTIME_LOCATION       = (CAL_PROPERTY_INSTANCE_UTIME|CAL_PROPERTY_DATA_TYPE_STR) + 4,
256         CAL_PROPERTY_INSTANCE_UTIME_BOOK_ID        = (CAL_PROPERTY_INSTANCE_UTIME|CAL_PROPERTY_DATA_TYPE_INT) + 5,
257         CAL_PROPERTY_INSTANCE_UTIME_DESCRIPTION    = (CAL_PROPERTY_INSTANCE_UTIME|CAL_PROPERTY_DATA_TYPE_STR) + 6,
258         CAL_PROPERTY_INSTANCE_UTIME_BUSY_STATUS    = (CAL_PROPERTY_INSTANCE_UTIME|CAL_PROPERTY_DATA_TYPE_INT) + 7,
259         CAL_PROPERTY_INSTANCE_UTIME_EVENT_STATUS   = (CAL_PROPERTY_INSTANCE_UTIME|CAL_PROPERTY_DATA_TYPE_INT) + 8,
260         CAL_PROPERTY_INSTANCE_UTIME_PRIORITY       = (CAL_PROPERTY_INSTANCE_UTIME|CAL_PROPERTY_DATA_TYPE_INT) + 9,
261         CAL_PROPERTY_INSTANCE_UTIME_SENSITIVITY    = (CAL_PROPERTY_INSTANCE_UTIME|CAL_PROPERTY_DATA_TYPE_INT) + 10,
262         CAL_PROPERTY_INSTANCE_UTIME_HAS_RRULE      = (CAL_PROPERTY_INSTANCE_UTIME|CAL_PROPERTY_DATA_TYPE_INT) + 11,
263         CAL_PROPERTY_INSTANCE_UTIME_LATITUDE       = (CAL_PROPERTY_INSTANCE_UTIME|CAL_PROPERTY_DATA_TYPE_DOUBLE) + 12,
264         CAL_PROPERTY_INSTANCE_UTIME_LONGITUDE      = (CAL_PROPERTY_INSTANCE_UTIME|CAL_PROPERTY_DATA_TYPE_DOUBLE) + 13,
265         CAL_PROPERTY_INSTANCE_UTIME_HAS_ALARM      = (CAL_PROPERTY_INSTANCE_UTIME|CAL_PROPERTY_DATA_TYPE_INT) + 14,
266         CAL_PROPERTY_INSTANCE_UTIME_ORIGINAL_EVENT_ID  = (CAL_PROPERTY_INSTANCE_UTIME|CAL_PROPERTY_DATA_TYPE_INT) + 15,
267         CAL_PROPERTY_INSTANCE_UTIME_LAST_MODIFIED_TIME = (CAL_PROPERTY_INSTANCE_UTIME|CAL_PROPERTY_DATA_TYPE_LLI) + 16,
268         CAL_PROPERTY_INSTANCE_UTIME_SYNC_DATA1     = (CAL_PROPERTY_INSTANCE_UTIME|CAL_PROPERTY_DATA_TYPE_STR) + 17,
269
270         CAL_PROPERTY_INSTANCE_LOCALTIME_EVENT_ID       = (CAL_PROPERTY_INSTANCE_LOCALTIME|CAL_PROPERTY_DATA_TYPE_INT),
271         CAL_PROPERTY_INSTANCE_LOCALTIME_START          = (CAL_PROPERTY_INSTANCE_LOCALTIME|CAL_PROPERTY_DATA_TYPE_CALTIME) + 1,
272         CAL_PROPERTY_INSTANCE_LOCALTIME_END            = (CAL_PROPERTY_INSTANCE_LOCALTIME|CAL_PROPERTY_DATA_TYPE_CALTIME) + 2,
273         CAL_PROPERTY_INSTANCE_LOCALTIME_SUMMARY        = (CAL_PROPERTY_INSTANCE_LOCALTIME|CAL_PROPERTY_DATA_TYPE_STR) + 3,
274         CAL_PROPERTY_INSTANCE_LOCALTIME_LOCATION       = (CAL_PROPERTY_INSTANCE_LOCALTIME|CAL_PROPERTY_DATA_TYPE_STR) + 4,
275         CAL_PROPERTY_INSTANCE_LOCALTIME_BOOK_ID        = (CAL_PROPERTY_INSTANCE_LOCALTIME|CAL_PROPERTY_DATA_TYPE_INT) + 5,
276         CAL_PROPERTY_INSTANCE_LOCALTIME_DESCRIPTION    = (CAL_PROPERTY_INSTANCE_LOCALTIME|CAL_PROPERTY_DATA_TYPE_STR) + 6,
277         CAL_PROPERTY_INSTANCE_LOCALTIME_BUSY_STATUS    = (CAL_PROPERTY_INSTANCE_LOCALTIME|CAL_PROPERTY_DATA_TYPE_INT) + 7,
278         CAL_PROPERTY_INSTANCE_LOCALTIME_EVENT_STATUS   = (CAL_PROPERTY_INSTANCE_LOCALTIME|CAL_PROPERTY_DATA_TYPE_INT) + 8,
279         CAL_PROPERTY_INSTANCE_LOCALTIME_PRIORITY       = (CAL_PROPERTY_INSTANCE_LOCALTIME|CAL_PROPERTY_DATA_TYPE_INT) + 9,
280         CAL_PROPERTY_INSTANCE_LOCALTIME_SENSITIVITY    = (CAL_PROPERTY_INSTANCE_LOCALTIME|CAL_PROPERTY_DATA_TYPE_INT) + 10,
281         CAL_PROPERTY_INSTANCE_LOCALTIME_HAS_RRULE      = (CAL_PROPERTY_INSTANCE_LOCALTIME|CAL_PROPERTY_DATA_TYPE_INT) + 11,
282         CAL_PROPERTY_INSTANCE_LOCALTIME_LATITUDE       = (CAL_PROPERTY_INSTANCE_LOCALTIME|CAL_PROPERTY_DATA_TYPE_DOUBLE) + 12,
283         CAL_PROPERTY_INSTANCE_LOCALTIME_LONGITUDE      = (CAL_PROPERTY_INSTANCE_LOCALTIME|CAL_PROPERTY_DATA_TYPE_DOUBLE) + 13,
284         CAL_PROPERTY_INSTANCE_LOCALTIME_HAS_ALARM      = (CAL_PROPERTY_INSTANCE_LOCALTIME|CAL_PROPERTY_DATA_TYPE_INT) + 14,
285         CAL_PROPERTY_INSTANCE_LOCALTIME_ORIGINAL_EVENT_ID  = (CAL_PROPERTY_INSTANCE_LOCALTIME|CAL_PROPERTY_DATA_TYPE_INT) + 15,
286         CAL_PROPERTY_INSTANCE_LOCALTIME_LAST_MODIFIED_TIME = (CAL_PROPERTY_INSTANCE_LOCALTIME|CAL_PROPERTY_DATA_TYPE_LLI) + 16,
287         CAL_PROPERTY_INSTANCE_LOCALTIME_SYNC_DATA1     = (CAL_PROPERTY_INSTANCE_LOCALTIME|CAL_PROPERTY_DATA_TYPE_STR) + 17,
288         CAL_PROPERTY_INSTANCE_LOCALTIME_IS_ALLDAY      = (CAL_PROPERTY_INSTANCE_LOCALTIME|CAL_PROPERTY_DATA_TYPE_INT|CAL_PROPERTY_FLAGS_READ_ONLY) + 18,
289
290         CAL_PROPERTY_INSTANCE_UTIME_EXTENDED_EVENT_ID       = (CAL_PROPERTY_INSTANCE_UTIME_EXTENDED|CAL_PROPERTY_DATA_TYPE_INT),
291         CAL_PROPERTY_INSTANCE_UTIME_EXTENDED_START          = (CAL_PROPERTY_INSTANCE_UTIME_EXTENDED|CAL_PROPERTY_DATA_TYPE_CALTIME) + 1,
292         CAL_PROPERTY_INSTANCE_UTIME_EXTENDED_END            = (CAL_PROPERTY_INSTANCE_UTIME_EXTENDED|CAL_PROPERTY_DATA_TYPE_CALTIME) + 2,
293         CAL_PROPERTY_INSTANCE_UTIME_EXTENDED_SUMMARY        = (CAL_PROPERTY_INSTANCE_UTIME_EXTENDED|CAL_PROPERTY_DATA_TYPE_STR) + 3,
294         CAL_PROPERTY_INSTANCE_UTIME_EXTENDED_LOCATION       = (CAL_PROPERTY_INSTANCE_UTIME_EXTENDED|CAL_PROPERTY_DATA_TYPE_STR) + 4,
295         CAL_PROPERTY_INSTANCE_UTIME_EXTENDED_BOOK_ID        = (CAL_PROPERTY_INSTANCE_UTIME_EXTENDED|CAL_PROPERTY_DATA_TYPE_INT) + 5,
296         CAL_PROPERTY_INSTANCE_UTIME_EXTENDED_DESCRIPTION    = (CAL_PROPERTY_INSTANCE_UTIME_EXTENDED|CAL_PROPERTY_DATA_TYPE_STR) + 6,
297         CAL_PROPERTY_INSTANCE_UTIME_EXTENDED_BUSY_STATUS    = (CAL_PROPERTY_INSTANCE_UTIME_EXTENDED|CAL_PROPERTY_DATA_TYPE_INT) + 7,
298         CAL_PROPERTY_INSTANCE_UTIME_EXTENDED_EVENT_STATUS   = (CAL_PROPERTY_INSTANCE_UTIME_EXTENDED|CAL_PROPERTY_DATA_TYPE_INT) + 8,
299         CAL_PROPERTY_INSTANCE_UTIME_EXTENDED_PRIORITY       = (CAL_PROPERTY_INSTANCE_UTIME_EXTENDED|CAL_PROPERTY_DATA_TYPE_INT) + 9,
300         CAL_PROPERTY_INSTANCE_UTIME_EXTENDED_SENSITIVITY    = (CAL_PROPERTY_INSTANCE_UTIME_EXTENDED|CAL_PROPERTY_DATA_TYPE_INT) + 10,
301         CAL_PROPERTY_INSTANCE_UTIME_EXTENDED_HAS_RRULE      = (CAL_PROPERTY_INSTANCE_UTIME_EXTENDED|CAL_PROPERTY_DATA_TYPE_INT) + 11,
302         CAL_PROPERTY_INSTANCE_UTIME_EXTENDED_LATITUDE       = (CAL_PROPERTY_INSTANCE_UTIME_EXTENDED|CAL_PROPERTY_DATA_TYPE_DOUBLE) + 12,
303         CAL_PROPERTY_INSTANCE_UTIME_EXTENDED_LONGITUDE      = (CAL_PROPERTY_INSTANCE_UTIME_EXTENDED|CAL_PROPERTY_DATA_TYPE_DOUBLE) + 13,
304         CAL_PROPERTY_INSTANCE_UTIME_EXTENDED_HAS_ALARM      = (CAL_PROPERTY_INSTANCE_UTIME_EXTENDED|CAL_PROPERTY_DATA_TYPE_INT) + 14,
305         CAL_PROPERTY_INSTANCE_UTIME_EXTENDED_ORIGINAL_EVENT_ID  = (CAL_PROPERTY_INSTANCE_UTIME_EXTENDED|CAL_PROPERTY_DATA_TYPE_INT) + 15,
306         CAL_PROPERTY_INSTANCE_UTIME_EXTENDED_LAST_MODIFIED_TIME = (CAL_PROPERTY_INSTANCE_UTIME_EXTENDED|CAL_PROPERTY_DATA_TYPE_LLI) + 16,
307         CAL_PROPERTY_INSTANCE_UTIME_EXTENDED_SYNC_DATA1     = (CAL_PROPERTY_INSTANCE_UTIME_EXTENDED|CAL_PROPERTY_DATA_TYPE_STR) + 17,
308         CAL_PROPERTY_INSTANCE_UTIME_EXTENDED_ORGANIZER_NAME = (CAL_PROPERTY_INSTANCE_UTIME_EXTENDED|CAL_PROPERTY_DATA_TYPE_STR) + 18,
309         CAL_PROPERTY_INSTANCE_UTIME_EXTENDED_CATEGORIES     = (CAL_PROPERTY_INSTANCE_UTIME_EXTENDED|CAL_PROPERTY_DATA_TYPE_STR) + 19,
310         CAL_PROPERTY_INSTANCE_UTIME_EXTENDED_HAS_ATTENDEE   = (CAL_PROPERTY_INSTANCE_UTIME_EXTENDED|CAL_PROPERTY_DATA_TYPE_INT) + 20,
311         CAL_PROPERTY_INSTANCE_UTIME_EXTENDED_SYNC_DATA2     = (CAL_PROPERTY_INSTANCE_UTIME_EXTENDED|CAL_PROPERTY_DATA_TYPE_STR) + 21,
312         CAL_PROPERTY_INSTANCE_UTIME_EXTENDED_SYNC_DATA3     = (CAL_PROPERTY_INSTANCE_UTIME_EXTENDED|CAL_PROPERTY_DATA_TYPE_STR) + 22,
313         CAL_PROPERTY_INSTANCE_UTIME_EXTENDED_SYNC_DATA4     = (CAL_PROPERTY_INSTANCE_UTIME_EXTENDED|CAL_PROPERTY_DATA_TYPE_STR) + 23,
314
315         CAL_PROPERTY_INSTANCE_LOCALTIME_EXTENDED_EVENT_ID       = (CAL_PROPERTY_INSTANCE_LOCALTIME_EXTENDED|CAL_PROPERTY_DATA_TYPE_INT),
316         CAL_PROPERTY_INSTANCE_LOCALTIME_EXTENDED_START          = (CAL_PROPERTY_INSTANCE_LOCALTIME_EXTENDED|CAL_PROPERTY_DATA_TYPE_CALTIME) + 1,
317         CAL_PROPERTY_INSTANCE_LOCALTIME_EXTENDED_END            = (CAL_PROPERTY_INSTANCE_LOCALTIME_EXTENDED|CAL_PROPERTY_DATA_TYPE_CALTIME) + 2,
318         CAL_PROPERTY_INSTANCE_LOCALTIME_EXTENDED_SUMMARY        = (CAL_PROPERTY_INSTANCE_LOCALTIME_EXTENDED|CAL_PROPERTY_DATA_TYPE_STR) + 3,
319         CAL_PROPERTY_INSTANCE_LOCALTIME_EXTENDED_LOCATION       = (CAL_PROPERTY_INSTANCE_LOCALTIME_EXTENDED|CAL_PROPERTY_DATA_TYPE_STR) + 4,
320         CAL_PROPERTY_INSTANCE_LOCALTIME_EXTENDED_BOOK_ID        = (CAL_PROPERTY_INSTANCE_LOCALTIME_EXTENDED|CAL_PROPERTY_DATA_TYPE_INT) + 5,
321         CAL_PROPERTY_INSTANCE_LOCALTIME_EXTENDED_DESCRIPTION    = (CAL_PROPERTY_INSTANCE_LOCALTIME_EXTENDED|CAL_PROPERTY_DATA_TYPE_STR) + 6,
322         CAL_PROPERTY_INSTANCE_LOCALTIME_EXTENDED_BUSY_STATUS    = (CAL_PROPERTY_INSTANCE_LOCALTIME_EXTENDED|CAL_PROPERTY_DATA_TYPE_INT) + 7,
323         CAL_PROPERTY_INSTANCE_LOCALTIME_EXTENDED_EVENT_STATUS   = (CAL_PROPERTY_INSTANCE_LOCALTIME_EXTENDED|CAL_PROPERTY_DATA_TYPE_INT) + 8,
324         CAL_PROPERTY_INSTANCE_LOCALTIME_EXTENDED_PRIORITY       = (CAL_PROPERTY_INSTANCE_LOCALTIME_EXTENDED|CAL_PROPERTY_DATA_TYPE_INT) + 9,
325         CAL_PROPERTY_INSTANCE_LOCALTIME_EXTENDED_SENSITIVITY    = (CAL_PROPERTY_INSTANCE_LOCALTIME_EXTENDED|CAL_PROPERTY_DATA_TYPE_INT) + 10,
326         CAL_PROPERTY_INSTANCE_LOCALTIME_EXTENDED_HAS_RRULE      = (CAL_PROPERTY_INSTANCE_LOCALTIME_EXTENDED|CAL_PROPERTY_DATA_TYPE_INT) + 11,
327         CAL_PROPERTY_INSTANCE_LOCALTIME_EXTENDED_LATITUDE       = (CAL_PROPERTY_INSTANCE_LOCALTIME_EXTENDED|CAL_PROPERTY_DATA_TYPE_DOUBLE) + 12,
328         CAL_PROPERTY_INSTANCE_LOCALTIME_EXTENDED_LONGITUDE      = (CAL_PROPERTY_INSTANCE_LOCALTIME_EXTENDED|CAL_PROPERTY_DATA_TYPE_DOUBLE) + 13,
329         CAL_PROPERTY_INSTANCE_LOCALTIME_EXTENDED_HAS_ALARM      = (CAL_PROPERTY_INSTANCE_LOCALTIME_EXTENDED|CAL_PROPERTY_DATA_TYPE_INT) + 14,
330         CAL_PROPERTY_INSTANCE_LOCALTIME_EXTENDED_ORIGINAL_EVENT_ID  = (CAL_PROPERTY_INSTANCE_LOCALTIME_EXTENDED|CAL_PROPERTY_DATA_TYPE_INT) + 15,
331         CAL_PROPERTY_INSTANCE_LOCALTIME_EXTENDED_LAST_MODIFIED_TIME = (CAL_PROPERTY_INSTANCE_LOCALTIME_EXTENDED|CAL_PROPERTY_DATA_TYPE_LLI) + 16,
332         CAL_PROPERTY_INSTANCE_LOCALTIME_EXTENDED_SYNC_DATA1     = (CAL_PROPERTY_INSTANCE_LOCALTIME_EXTENDED|CAL_PROPERTY_DATA_TYPE_STR) + 17,
333         CAL_PROPERTY_INSTANCE_LOCALTIME_EXTENDED_ORGANIZER_NAME = (CAL_PROPERTY_INSTANCE_LOCALTIME_EXTENDED|CAL_PROPERTY_DATA_TYPE_STR) + 18,
334         CAL_PROPERTY_INSTANCE_LOCALTIME_EXTENDED_CATEGORIES     = (CAL_PROPERTY_INSTANCE_LOCALTIME_EXTENDED|CAL_PROPERTY_DATA_TYPE_STR) + 19,
335         CAL_PROPERTY_INSTANCE_LOCALTIME_EXTENDED_HAS_ATTENDEE   = (CAL_PROPERTY_INSTANCE_LOCALTIME_EXTENDED|CAL_PROPERTY_DATA_TYPE_INT) + 20,
336         CAL_PROPERTY_INSTANCE_LOCALTIME_EXTENDED_SYNC_DATA2     = (CAL_PROPERTY_INSTANCE_LOCALTIME_EXTENDED|CAL_PROPERTY_DATA_TYPE_STR) + 21,
337         CAL_PROPERTY_INSTANCE_LOCALTIME_EXTENDED_SYNC_DATA3     = (CAL_PROPERTY_INSTANCE_LOCALTIME_EXTENDED|CAL_PROPERTY_DATA_TYPE_STR) + 22,
338         CAL_PROPERTY_INSTANCE_LOCALTIME_EXTENDED_SYNC_DATA4     = (CAL_PROPERTY_INSTANCE_LOCALTIME_EXTENDED|CAL_PROPERTY_DATA_TYPE_STR) + 23,
339         CAL_PROPERTY_INSTANCE_LOCALTIME_EXTENDED_IS_ALLDAY      = (CAL_PROPERTY_INSTANCE_LOCALTIME_EXTENDED|CAL_PROPERTY_DATA_TYPE_INT|CAL_PROPERTY_FLAGS_READ_ONLY) + 24,
340
341         CAL_PROPERTY_UPDATED_INFO_ID          = (CAL_PROPERTY_UPDATED_INFO|CAL_PROPERTY_DATA_TYPE_INT),
342         CAL_PROPERTY_UPDATED_INFO_CALENDAR_ID = (CAL_PROPERTY_UPDATED_INFO|CAL_PROPERTY_DATA_TYPE_INT) + 1,
343         CAL_PROPERTY_UPDATED_INFO_TYPE        = (CAL_PROPERTY_UPDATED_INFO|CAL_PROPERTY_DATA_TYPE_INT) + 2,
344         CAL_PROPERTY_UPDATED_INFO_VERSION     = (CAL_PROPERTY_UPDATED_INFO|CAL_PROPERTY_DATA_TYPE_INT) + 3,
345
346         CAL_PROPERTY_EXTENDED_ID           = (CAL_PROPERTY_EXTENDED|CAL_PROPERTY_DATA_TYPE_INT|CAL_PROPERTY_FLAGS_READ_ONLY),
347         CAL_PROPERTY_EXTENDED_RECORD_ID    = (CAL_PROPERTY_EXTENDED|CAL_PROPERTY_DATA_TYPE_INT) + 1,
348         CAL_PROPERTY_EXTENDED_RECORD_TYPE  = (CAL_PROPERTY_EXTENDED|CAL_PROPERTY_DATA_TYPE_INT) + 2,
349         CAL_PROPERTY_EXTENDED_KEY          = (CAL_PROPERTY_EXTENDED|CAL_PROPERTY_DATA_TYPE_STR) + 3,
350         CAL_PROPERTY_EXTENDED_VALUE        = (CAL_PROPERTY_EXTENDED|CAL_PROPERTY_DATA_TYPE_STR) + 4,
351 } cal_property_ids_e;
352
353 void cal_view_initialize(void);
354 cal_record_type_e cal_view_get_type(const char *view_uri);
355 void cal_view_finalize(void);
356
357 const cal_property_info_s* cal_view_get_property_info(const char *view_uri, int *count);
358
359 const char* cal_view_get_uri(const char *view_uri);
360
361 #endif /* __CAL_VIEW_H__ */
362