10 enum CalendarObjectLoadResult {
11 CALENDAROBJECTLOAD_UNITTESTFAIL = -1,
12 CALENDAROBJECTLOAD_OK,
13 CALENDAROBJECTLOAD_MISSING,
14 CALENDAROBJECTLOAD_INVALIDFORMAT,
15 CALENDAROBJECTLOAD_CANNOTOPEN
18 enum CalendarObjectValidResult{
19 CALENDAROBJECTVALID_UNITTESTFAIL = -1,
20 CALENDAROBJECTVALID_OK,
21 CALENDAROBJECTVALID_INVALIDFORMAT
27 CalendarObjectLoadResult LoadFile(std::string LoadFilename);
28 CalendarObjectLoadResult LoadString(std::string *LoadStringData);
29 CalendarObjectValidResult ValidBaseObject();
31 // Setup virtual subroutines for use by objects
32 // inheriting from CalendarObject later on.
34 virtual CalendarObjectValidResult ValidObject() { return CALENDAROBJECTVALID_OK; };
35 virtual void Clear() {};
40 std::string UniqueIDTokens;
42 vector<std::string> AttachList;
43 vector<std::string> AttachListTokens;
44 vector<std::string> AttachListEncoding;
45 vector<std::string> AttachListValue;
47 vector<std::string> CategoriesList;
48 vector<std::string> CategoriesListLanguage;
49 vector<std::string> CateogriesListTokens;
51 std::string ClassData;
52 std::string ClassListTokens;
54 vector<std::string> CommentList;
55 vector<std::string> CommentListAltID;
56 vector<std::string> CommentListLanguage;
57 vector<std::string> CommentListTokens;
59 vector<std::string> DescriptionList;
60 vector<std::string> DescriptionListAltID;
61 vector<std::string> DescriptionListLanguage;
62 vector<std::string> DescriptionListTokens;
64 std::string GeographicData;
65 std::string GeographicTokens;
67 std::string LocationData;
68 std::string LocationDataAltID;
70 std::string PercentCompleteData;
71 std::string PercentCompleteTokens;
74 std::string PriorityTokens;
76 vector<std::string> ResourcesData;
77 vector<std::string> ResourcesDataAltID;
78 vector<std::string> ResourcesDataLanguage;
79 vector<std::string> ResourcesDataTokens;
81 std::string StatusData;
82 std::string StatusTokens;
84 std::string SummaryData;
85 std::string SummaryDataAltID;
86 std::string SummaryDataLanguage;
87 std::string SummaryDataTokens;
89 std::string DataTimeEndData;
90 std::string DataTimeEndDataValue;
91 std::string DataTimeEndDataTimeZoneID;
92 std::string DataTimeEndDataTokens;
95 std::string DueDataValue;
96 std::string DueDataTimeZoneID;
97 std::string DueDataTokens;
99 std::string DataTimeStartData;
100 std::string DataTimeStartDataValue;
101 std::string DataTimeStartDataTimeZoneID;
102 std::string DataTimeStartDataTokens;
104 std::string DurationData;
105 std::string DurationDataTokens;
107 vector<std::string> FreeBusyList;
108 vector<std::string> FreeBusyListType;
109 vector<std::string> FreeBusyListTokens;
111 std::string TimeTransparencyData;
112 std::string TimeTransparencyDataTokens;
114 std::string TimeZoneData;
115 std::string TimeZoneDataTokens;
117 vector<std::string> TimeZoneNameList;
118 vector<std::string> TimeZoneNameListLanguage;
119 vector<std::string> TimeZoneNameListTokens;
121 std::string TimeZoneOffsetFromData;
122 std::string TimeZoneOffsetFromDataTokens;
124 std::string TimeZoneOffsetToData;
125 std::string TimeZoneOffsetToDataTokens;
127 std::string TimeZoneURLData;
128 std::string TimeZoneURLTokens;
130 vector<std::string> AttendeeList;
131 vector<std::string> AttendeeListMember;
132 vector<std::string> AttendeeListDelegatedFrom;
133 vector<std::string> AttendeeListDelegatedTo;
134 vector<std::string> AttendeeListRole;
135 vector<std::string> AttendeeListRSVP;
136 vector<std::string> AttendeeListDirectoryEntry;
137 vector<std::string> AttendeeListSentBy;
138 vector<std::string> AttendeeListCommonName;
139 vector<std::string> AttendeeListCalendarUserType;
140 vector<std::string> AttendeeListParticipationStatus;
141 vector<std::string> AttendeeListLanguage;
142 vector<std::string> AttendeeListTokens;
144 vector<std::string> ContactList;
145 vector<std::string> ContactListAltID;
146 vector<std::string> ContactListLanguage;
147 vector<std::string> ContactListTokens;
149 std::string OrganiserData;
150 std::string OrganiserDataCommonName;
151 std::string OrganiserDataDirectoryEntry;
152 std::string OrganiserDataSentByParam;
153 std::string OrganiserDataLanguage;
154 std::string OrganiserDataTokens;
156 std::string RecurranceIDData;
157 std::string RecurranceIDDataTimeZoneParam;
158 std::string RecurranceIDDataValue;
159 std::string RecurranceIDDataTokens;
161 vector<std::string> RelatedToData;
162 vector<std::string> RelatedToDataRelationType;
163 vector<std::string> RelatedToDataTokens;
166 std::string URLDataTokens;
168 vector<std::string> ExcludeDateData;
169 vector<std::string> ExcludeDateDataValue;
170 vector<std::string> ExcludeDateDataTimeZoneParam;
171 vector<std::string> ExcludeDateDataTokens;
173 vector<std::string> RecurranceDateData;
174 vector<std::string> RecurranceDateDataValue;
175 vector<std::string> RecurranceDateDataTimeZoneParam;
176 vector<std::string> RecurranceDateDataTokens;
178 std::string RecurranceRuleData;
179 std::string RecurranceRuleDataFrequency;
180 std::string RecurranceRuleDataCount;
181 std::string RecurranceRuleDataInterval;
182 std::string RecurranceRuleDataUntil;
183 std::string RecurranceRuleDataMonth;
184 std::string RecurranceRuleDataWeekStarting;
185 std::string RecurranceRuleDataWeekByDay;
186 std::string RecurranceRuleDataWeekByMonthDay;
187 std::string RecurranceRuleDataWeekByWeekNumber;
188 std::string RecurranceRuleDataWeekBySetPosition;
190 std::string TriggerDataList;
191 std::string TriggerDataValue;
192 std::string TriggerDataRelatedParam;
193 std::string TriggerDataTokens;
195 std::string DateTimeCreatedData;
196 std::string DateTimeCreatedTokens;
198 std::string DateTimeStampData;
199 std::string DateTimeStampTokens;
201 std::string LastModifiedData;
202 std::string LastModifiedTokens;
204 std::string SequenceData;
205 std::string SequenceTokens;
207 vector<std::string> XTokensData;
208 vector<std::string> XTokensDataTokens;
210 vector<std::string> RequestStatusData;
211 vector<std::string> RequestStatusLanguage;
212 vector<std::string> RequestStatusTokens;
215 // Initial Loading Data.
216 vector<std::string> ObjectName;
217 vector<std::string> ObjectData;
220 virtual void ProcessData() {};