1 #ifndef __OBJECTS_CALENDAROBJECT_CALENDAROBJECT_H__
2 #define __OBJECTS_CALENDAROBJECT_CALENDAROBJECT_H__
12 #include "../../common/text.h"
16 enum CalendarObjectLoadResult {
17 CALENDAROBJECTLOAD_UNITTESTFAIL = -1,
18 CALENDAROBJECTLOAD_OK,
19 CALENDAROBJECTLOAD_MISSING,
20 CALENDAROBJECTLOAD_INVALIDFORMAT,
21 CALENDAROBJECTLOAD_CANNOTOPEN
24 enum CalendarObjectValidResult{
25 CALENDAROBJECTVALID_UNITTESTFAIL = -1,
26 CALENDAROBJECTVALID_OK,
27 CALENDAROBJECTVALID_INVALIDFORMAT
33 CalendarObjectLoadResult LoadFile(std::string LoadFilename);
34 CalendarObjectLoadResult LoadString(std::string *LoadStringData);
35 CalendarObjectValidResult ValidBaseObject();
36 void ProcessBaseData();
38 // Setup virtual subroutines for use by objects
39 // inheriting from CalendarObject later on.
41 virtual CalendarObjectValidResult ValidObject() { return CALENDAROBJECTVALID_OK; };
42 virtual void Clear() {};
46 std::string MethodData;
47 std::string MethodTokens;
49 std::string CalendarScaleData;
50 std::string CalendarScaleTokens;
53 std::string UniqueIDTokens;
55 vector<std::string> AttachList;
56 vector<std::string> AttachListTokens;
57 vector<std::string> AttachListEncoding;
58 vector<std::string> AttachListFormatType;
59 vector<std::string> AttachListValue;
61 vector<std::string> CategoriesList;
62 vector<std::string> CategoriesListLanguage;
63 vector<std::string> CategoriesListTokens;
65 std::string ClassData;
66 std::string ClassDataTokens;
68 std::string CompletedData;
69 std::string CompletedDataTokens;
71 vector<std::string> CommentList;
72 vector<std::string> CommentListAltRep;
73 vector<std::string> CommentListLanguage;
74 vector<std::string> CommentListTokens;
76 vector<std::string> DescriptionList;
77 vector<std::string> DescriptionListAltRep;
78 vector<std::string> DescriptionListLanguage;
79 vector<std::string> DescriptionListTokens;
81 std::string GeographicData;
82 std::string GeographicTokens;
84 std::string LocationData;
85 std::string LocationDataAltRep;
86 std::string LocationDataLanguage;
87 std::string LocationDataTokens;
89 std::string PercentCompleteData;
90 std::string PercentCompleteTokens;
92 int PriorityData = -1;
93 std::string PriorityTokens;
95 vector<std::string> ResourcesData;
96 vector<std::string> ResourcesDataAltRep;
97 vector<std::string> ResourcesDataLanguage;
98 vector<std::string> ResourcesDataTokens;
100 std::string StatusData;
101 std::string StatusLanguage;
102 std::string StatusTokens;
104 std::string SummaryData;
105 std::string SummaryDataAltRep;
106 std::string SummaryDataLanguage;
107 std::string SummaryDataTokens;
109 std::string DateTimeEndData;
110 std::string DateTimeEndDataValue;
111 std::string DateTimeEndDataTimeZoneID;
112 std::string DateTimeEndDataTokens;
115 std::string DueDataValue;
116 std::string DueDataTimeZoneID;
117 std::string DueDataTokens;
119 std::string DateTimeStartData;
120 std::string DateTimeStartDataValue;
121 std::string DateTimeStartDataTimeZoneID;
122 std::string DateTimeStartDataTokens;
124 std::string DurationData;
125 std::string DurationDataTokens;
127 vector<std::string> FreeBusyList;
128 vector<std::string> FreeBusyListType;
129 vector<std::string> FreeBusyListTokens;
131 std::string TimeTransparencyData;
132 std::string TimeTransparencyDataTokens;
134 std::string TimeZoneData;
135 std::string TimeZoneDataTokens;
137 vector<std::string> TimeZoneNameList;
138 vector<std::string> TimeZoneNameListLanguage;
139 vector<std::string> TimeZoneNameListTokens;
141 std::string TimeZoneOffsetFromData;
142 std::string TimeZoneOffsetFromDataTokens;
144 std::string TimeZoneOffsetToData;
145 std::string TimeZoneOffsetToDataTokens;
147 std::string TimeZoneURLData;
148 std::string TimeZoneURLTokens;
150 vector<std::string> AttendeeList;
151 vector<std::string> AttendeeListMember;
152 vector<std::string> AttendeeListDelegatedFrom;
153 vector<std::string> AttendeeListDelegatedTo;
154 vector<std::string> AttendeeListRole;
155 vector<std::string> AttendeeListRSVP;
156 vector<std::string> AttendeeListDirectoryEntry;
157 vector<std::string> AttendeeListSentBy;
158 vector<std::string> AttendeeListCommonName;
159 vector<std::string> AttendeeListCalendarUserType;
160 vector<std::string> AttendeeListParticipationStatus;
161 vector<std::string> AttendeeListLanguage;
162 vector<std::string> AttendeeListTokens;
164 vector<std::string> ContactList;
165 vector<std::string> ContactListAltRep;
166 vector<std::string> ContactListLanguage;
167 vector<std::string> ContactListTokens;
169 std::string OrganiserData;
170 std::string OrganiserDataCommonName;
171 std::string OrganiserDataDirectoryEntry;
172 std::string OrganiserDataSentByParam;
173 std::string OrganiserDataLanguage;
174 std::string OrganiserDataTokens;
176 std::string RecurranceIDData;
177 std::string RecurranceIDDataTimeZoneParam;
178 std::string RecurranceIDDataRangeParam;
179 std::string RecurranceIDDataValue;
180 std::string RecurranceIDDataTokens;
182 vector<std::string> RelatedToData;
183 vector<std::string> RelatedToDataRelationType;
184 vector<std::string> RelatedToDataTokens;
187 std::string URLDataTokens;
189 vector<std::string> ExcludeDateData;
190 vector<std::string> ExcludeDateDataValue;
191 vector<std::string> ExcludeDateDataTimeZoneParam;
192 vector<std::string> ExcludeDateDataTokens;
194 vector<std::string> RecurranceDateData;
195 vector<std::string> RecurranceDateDataValue;
196 vector<std::string> RecurranceDateDataTimeZoneParam;
197 vector<std::string> RecurranceDateDataTokens;
199 std::string RecurranceRuleData;
200 std::string RecurranceRuleDataTokens;
202 std::string TriggerDataList;
203 std::string TriggerDataValue;
204 std::string TriggerDataRelatedParam;
205 std::string TriggerDataTokens;
207 std::string DateTimeCreatedData;
208 std::string DateTimeCreatedTokens;
210 std::string DateTimeStampData;
211 std::string DateTimeStampTokens;
213 std::string LastModifiedData;
214 std::string LastModifiedTokens;
216 int SequenceData = -1;
217 std::string SequenceTokens;
219 vector<std::string> XTokensData;
220 vector<std::string> XTokensDataTokens;
222 vector<std::string> RequestStatusData;
223 vector<std::string> RequestStatusLanguage;
224 vector<std::string> RequestStatusTokens;
227 // Initial Loading Data.
228 vector<std::string> ObjectName;
229 vector<std::string> ObjectData;
232 virtual void ProcessData() {};