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();
33 void ProcessBaseData();
35 // Setup virtual subroutines for use by objects
36 // inheriting from CalendarObject later on.
38 virtual CalendarObjectValidResult ValidObject() { return CALENDAROBJECTVALID_OK; };
39 virtual void Clear() {};
43 std::string MethodData;
44 std::string MethodTokens;
46 std::string CalendarScaleData;
47 std::string CalendarScaleTokens;
50 std::string UniqueIDTokens;
52 vector<std::string> AttachList;
53 vector<std::string> AttachListTokens;
54 vector<std::string> AttachListEncoding;
55 vector<std::string> AttachListFormatType;
56 vector<std::string> AttachListValue;
58 vector<std::string> CategoriesList;
59 vector<std::string> CategoriesListLanguage;
60 vector<std::string> CategoriesListTokens;
62 std::string ClassData;
63 std::string ClassDataTokens;
65 vector<std::string> CommentList;
66 vector<std::string> CommentListAltRep;
67 vector<std::string> CommentListLanguage;
68 vector<std::string> CommentListTokens;
70 vector<std::string> DescriptionList;
71 vector<std::string> DescriptionListAltRep;
72 vector<std::string> DescriptionListLanguage;
73 vector<std::string> DescriptionListTokens;
75 std::string GeographicData;
76 std::string GeographicTokens;
78 std::string LocationData;
79 std::string LocationDataAltRep;
80 std::string LocationDataLanguage;
81 std::string LocationDataTokens;
83 std::string PercentCompleteData;
84 std::string PercentCompleteTokens;
86 int PriorityData = -1;
87 std::string PriorityTokens;
89 vector<std::string> ResourcesData;
90 vector<std::string> ResourcesDataAltID;
91 vector<std::string> ResourcesDataLanguage;
92 vector<std::string> ResourcesDataTokens;
94 std::string StatusData;
95 std::string StatusLanguage;
96 std::string StatusTokens;
98 std::string SummaryData;
99 std::string SummaryDataAltRep;
100 std::string SummaryDataLanguage;
101 std::string SummaryDataTokens;
103 std::string DateTimeEndData;
104 std::string DateTimeEndDataValue;
105 std::string DateTimeEndDataTimeZoneID;
106 std::string DateTimeEndDataTokens;
109 std::string DueDataValue;
110 std::string DueDataTimeZoneID;
111 std::string DueDataTokens;
113 std::string DateTimeStartData;
114 std::string DateTimeStartDataValue;
115 std::string DateTimeStartDataTimeZoneID;
116 std::string DateTimeStartDataTokens;
118 std::string DurationData;
119 std::string DurationDataTokens;
121 vector<std::string> FreeBusyList;
122 vector<std::string> FreeBusyListType;
123 vector<std::string> FreeBusyListTokens;
125 std::string TimeTransparencyData;
126 std::string TimeTransparencyDataTokens;
128 std::string TimeZoneData;
129 std::string TimeZoneDataTokens;
131 vector<std::string> TimeZoneNameList;
132 vector<std::string> TimeZoneNameListLanguage;
133 vector<std::string> TimeZoneNameListTokens;
135 std::string TimeZoneOffsetFromData;
136 std::string TimeZoneOffsetFromDataTokens;
138 std::string TimeZoneOffsetToData;
139 std::string TimeZoneOffsetToDataTokens;
141 std::string TimeZoneURLData;
142 std::string TimeZoneURLTokens;
144 vector<std::string> AttendeeList;
145 vector<std::string> AttendeeListMember;
146 vector<std::string> AttendeeListDelegatedFrom;
147 vector<std::string> AttendeeListDelegatedTo;
148 vector<std::string> AttendeeListRole;
149 vector<std::string> AttendeeListRSVP;
150 vector<std::string> AttendeeListDirectoryEntry;
151 vector<std::string> AttendeeListSentBy;
152 vector<std::string> AttendeeListCommonName;
153 vector<std::string> AttendeeListCalendarUserType;
154 vector<std::string> AttendeeListParticipationStatus;
155 vector<std::string> AttendeeListLanguage;
156 vector<std::string> AttendeeListTokens;
158 vector<std::string> ContactList;
159 vector<std::string> ContactListAltRep;
160 vector<std::string> ContactListLanguage;
161 vector<std::string> ContactListTokens;
163 std::string OrganiserData;
164 std::string OrganiserDataCommonName;
165 std::string OrganiserDataDirectoryEntry;
166 std::string OrganiserDataSentByParam;
167 std::string OrganiserDataLanguage;
168 std::string OrganiserDataTokens;
170 std::string RecurranceIDData;
171 std::string RecurranceIDDataTimeZoneParam;
172 std::string RecurranceIDDataRangeParam;
173 std::string RecurranceIDDataValue;
174 std::string RecurranceIDDataTokens;
176 vector<std::string> RelatedToData;
177 vector<std::string> RelatedToDataRelationType;
178 vector<std::string> RelatedToDataTokens;
181 std::string URLDataTokens;
183 vector<std::string> ExcludeDateData;
184 vector<std::string> ExcludeDateDataValue;
185 vector<std::string> ExcludeDateDataTimeZoneParam;
186 vector<std::string> ExcludeDateDataTokens;
188 vector<std::string> RecurranceDateData;
189 vector<std::string> RecurranceDateDataValue;
190 vector<std::string> RecurranceDateDataTimeZoneParam;
191 vector<std::string> RecurranceDateDataTokens;
193 std::string RecurranceRuleData;
194 std::string RecurranceRuleDataTokens;
196 std::string TriggerDataList;
197 std::string TriggerDataValue;
198 std::string TriggerDataRelatedParam;
199 std::string TriggerDataTokens;
201 std::string DateTimeCreatedData;
202 std::string DateTimeCreatedTokens;
204 std::string DateTimeStampData;
205 std::string DateTimeStampTokens;
207 std::string LastModifiedData;
208 std::string LastModifiedTokens;
210 int SequenceData = -1;
211 std::string SequenceTokens;
213 vector<std::string> XTokensData;
214 vector<std::string> XTokensDataTokens;
216 vector<std::string> RequestStatusData;
217 vector<std::string> RequestStatusLanguage;
218 vector<std::string> RequestStatusTokens;
221 // Initial Loading Data.
222 vector<std::string> ObjectName;
223 vector<std::string> ObjectData;
226 virtual void ProcessData() {};