9 #include "../../common/text.h"
13 enum CalendarObjectLoadResult {
14 CALENDAROBJECTLOAD_UNITTESTFAIL = -1,
15 CALENDAROBJECTLOAD_OK,
16 CALENDAROBJECTLOAD_MISSING,
17 CALENDAROBJECTLOAD_INVALIDFORMAT,
18 CALENDAROBJECTLOAD_CANNOTOPEN
21 enum CalendarObjectValidResult{
22 CALENDAROBJECTVALID_UNITTESTFAIL = -1,
23 CALENDAROBJECTVALID_OK,
24 CALENDAROBJECTVALID_INVALIDFORMAT
30 CalendarObjectLoadResult LoadFile(std::string LoadFilename);
31 CalendarObjectLoadResult LoadString(std::string *LoadStringData);
32 CalendarObjectValidResult ValidBaseObject();
34 // Setup virtual subroutines for use by objects
35 // inheriting from CalendarObject later on.
37 virtual CalendarObjectValidResult ValidObject() { return CALENDAROBJECTVALID_OK; };
38 virtual void Clear() {};
43 std::string UniqueIDTokens;
45 vector<std::string> AttachList;
46 vector<std::string> AttachListTokens;
47 vector<std::string> AttachListEncoding;
48 vector<std::string> AttachListValue;
50 vector<std::string> CategoriesList;
51 vector<std::string> CategoriesListLanguage;
52 vector<std::string> CateogriesListTokens;
54 std::string ClassData;
55 std::string ClassListTokens;
57 vector<std::string> CommentList;
58 vector<std::string> CommentListAltID;
59 vector<std::string> CommentListLanguage;
60 vector<std::string> CommentListTokens;
62 vector<std::string> DescriptionList;
63 vector<std::string> DescriptionListAltID;
64 vector<std::string> DescriptionListLanguage;
65 vector<std::string> DescriptionListTokens;
67 std::string GeographicData;
68 std::string GeographicTokens;
70 std::string LocationData;
71 std::string LocationDataAltID;
73 std::string PercentCompleteData;
74 std::string PercentCompleteTokens;
77 std::string PriorityTokens;
79 vector<std::string> ResourcesData;
80 vector<std::string> ResourcesDataAltID;
81 vector<std::string> ResourcesDataLanguage;
82 vector<std::string> ResourcesDataTokens;
84 std::string StatusData;
85 std::string StatusTokens;
87 std::string SummaryData;
88 std::string SummaryDataAltID;
89 std::string SummaryDataLanguage;
90 std::string SummaryDataTokens;
92 std::string DataTimeEndData;
93 std::string DataTimeEndDataValue;
94 std::string DataTimeEndDataTimeZoneID;
95 std::string DataTimeEndDataTokens;
98 std::string DueDataValue;
99 std::string DueDataTimeZoneID;
100 std::string DueDataTokens;
102 std::string DataTimeStartData;
103 std::string DataTimeStartDataValue;
104 std::string DataTimeStartDataTimeZoneID;
105 std::string DataTimeStartDataTokens;
107 std::string DurationData;
108 std::string DurationDataTokens;
110 vector<std::string> FreeBusyList;
111 vector<std::string> FreeBusyListType;
112 vector<std::string> FreeBusyListTokens;
114 std::string TimeTransparencyData;
115 std::string TimeTransparencyDataTokens;
117 std::string TimeZoneData;
118 std::string TimeZoneDataTokens;
120 vector<std::string> TimeZoneNameList;
121 vector<std::string> TimeZoneNameListLanguage;
122 vector<std::string> TimeZoneNameListTokens;
124 std::string TimeZoneOffsetFromData;
125 std::string TimeZoneOffsetFromDataTokens;
127 std::string TimeZoneOffsetToData;
128 std::string TimeZoneOffsetToDataTokens;
130 std::string TimeZoneURLData;
131 std::string TimeZoneURLTokens;
133 vector<std::string> AttendeeList;
134 vector<std::string> AttendeeListMember;
135 vector<std::string> AttendeeListDelegatedFrom;
136 vector<std::string> AttendeeListDelegatedTo;
137 vector<std::string> AttendeeListRole;
138 vector<std::string> AttendeeListRSVP;
139 vector<std::string> AttendeeListDirectoryEntry;
140 vector<std::string> AttendeeListSentBy;
141 vector<std::string> AttendeeListCommonName;
142 vector<std::string> AttendeeListCalendarUserType;
143 vector<std::string> AttendeeListParticipationStatus;
144 vector<std::string> AttendeeListLanguage;
145 vector<std::string> AttendeeListTokens;
147 vector<std::string> ContactList;
148 vector<std::string> ContactListAltID;
149 vector<std::string> ContactListLanguage;
150 vector<std::string> ContactListTokens;
152 std::string OrganiserData;
153 std::string OrganiserDataCommonName;
154 std::string OrganiserDataDirectoryEntry;
155 std::string OrganiserDataSentByParam;
156 std::string OrganiserDataLanguage;
157 std::string OrganiserDataTokens;
159 std::string RecurranceIDData;
160 std::string RecurranceIDDataTimeZoneParam;
161 std::string RecurranceIDDataValue;
162 std::string RecurranceIDDataTokens;
164 vector<std::string> RelatedToData;
165 vector<std::string> RelatedToDataRelationType;
166 vector<std::string> RelatedToDataTokens;
169 std::string URLDataTokens;
171 vector<std::string> ExcludeDateData;
172 vector<std::string> ExcludeDateDataValue;
173 vector<std::string> ExcludeDateDataTimeZoneParam;
174 vector<std::string> ExcludeDateDataTokens;
176 vector<std::string> RecurranceDateData;
177 vector<std::string> RecurranceDateDataValue;
178 vector<std::string> RecurranceDateDataTimeZoneParam;
179 vector<std::string> RecurranceDateDataTokens;
181 std::string RecurranceRuleData;
182 std::string RecurranceRuleDataFrequency;
183 std::string RecurranceRuleDataCount;
184 std::string RecurranceRuleDataInterval;
185 std::string RecurranceRuleDataUntil;
186 std::string RecurranceRuleDataMonth;
187 std::string RecurranceRuleDataWeekStarting;
188 std::string RecurranceRuleDataWeekByDay;
189 std::string RecurranceRuleDataWeekByMonthDay;
190 std::string RecurranceRuleDataWeekByWeekNumber;
191 std::string RecurranceRuleDataWeekBySetPosition;
193 std::string TriggerDataList;
194 std::string TriggerDataValue;
195 std::string TriggerDataRelatedParam;
196 std::string TriggerDataTokens;
198 std::string DateTimeCreatedData;
199 std::string DateTimeCreatedTokens;
201 std::string DateTimeStampData;
202 std::string DateTimeStampTokens;
204 std::string LastModifiedData;
205 std::string LastModifiedTokens;
207 std::string SequenceData;
208 std::string SequenceTokens;
210 vector<std::string> XTokensData;
211 vector<std::string> XTokensDataTokens;
213 vector<std::string> RequestStatusData;
214 vector<std::string> RequestStatusLanguage;
215 vector<std::string> RequestStatusTokens;
218 // Initial Loading Data.
219 vector<std::string> ObjectName;
220 vector<std::string> ObjectData;
223 virtual void ProcessData() {};