Home | News | Projects | Releases
Bugs | RFE | Repositories | Help
Forgot UID - added UniqueID and UniqueIDTokens in CalendarObject.
[xestiacalendar/.git] / source / objects / calendarobject / CalendarObject.h
1 #include <string>
2 #include <iostream>
3 #include <fstream>
4 #include <sstream>
5 #include <vector>
6 #include <stdexcept>
8 using namespace std;
10 enum CalendarObjectLoadResult {
11     CALENDAROBJECTLOAD_UNITTESTFAIL = -1,
12     CALENDAROBJECTLOAD_OK,
13     CALENDAROBJECTLOAD_MISSING,
14     CALENDAROBJECTLOAD_INVALIDFORMAT,
15     CALENDAROBJECTLOAD_CANNOTOPEN
16 };
18 enum CalendarObjectValidResult{
19     CALENDAROBJECTVALID_UNITTESTFAIL = -1,
20     CALENDAROBJECTVALID_OK,
21     CALENDAROBJECTVALID_INVALIDFORMAT
22 };
24 class CalendarObject{
26         public:
27         CalendarObjectLoadResult LoadFile(std::string LoadFilename);
28         CalendarObjectLoadResult LoadString(std::string *LoadStringData);
29         CalendarObjectValidResult ValidBaseObject();
30         
31         // Setup virtual subroutines for use by objects
32         // inheriting from CalendarObject later on.
33         
34         virtual CalendarObjectValidResult ValidObject() { return CALENDAROBJECTVALID_OK; };
35         virtual void Clear() {};
36         
37         // Object data.
38         
39         std::string UniqueID;
40         std::string UniqueIDTokens;
41         
42         vector<std::string> AttachList;
43         vector<std::string> AttachListTokens;
44         vector<std::string> AttachListEncoding;
45         vector<std::string> AttachListValue;
46         
47         vector<std::string> CategoriesList;
48         vector<std::string> CategoriesListLanguage;
49         vector<std::string> CateogriesListTokens;
50         
51         std::string ClassData;
52         std::string ClassListTokens;
53         
54         vector<std::string> CommentList;
55         vector<std::string> CommentListAltID;
56         vector<std::string> CommentListLanguage;
57         vector<std::string> CommentListTokens;
58         
59         vector<std::string> DescriptionList;
60         vector<std::string> DescriptionListAltID;
61         vector<std::string> DescriptionListLanguage;
62         vector<std::string> DescriptionListTokens;
63         
64         std::string GeographicData;
65         std::string GeographicTokens;
66         
67         std::string LocationData;
68         std::string LocationDataAltID;
69         
70         std::string PercentCompleteData;
71         std::string PercentCompleteTokens;
72         
73         int PriorityData;
74         std::string PriorityTokens;
75         
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;
83         
84         std::string SummaryData;
85         std::string SummaryDataAltID;
86         std::string SummaryDataLanguage;
87         std::string SummaryDataTokens;
88         
89         std::string DataTimeEndData;
90         std::string DataTimeEndDataValue;
91         std::string DataTimeEndDataTimeZoneID;
92         std::string DataTimeEndDataTokens;
94         std::string DueData;
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;
113         
114         std::string TimeZoneData;
115         std::string TimeZoneDataTokens;
116         
117         vector<std::string> TimeZoneNameList;
118         vector<std::string> TimeZoneNameListLanguage;
119         vector<std::string> TimeZoneNameListTokens;
120         
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;
148         
149         std::string OrganiserData;
150         std::string OrganiserDataCommonName;
151         std::string OrganiserDataDirectoryEntry;
152         std::string OrganiserDataSentByParam;
153         std::string OrganiserDataLanguage;
154         std::string OrganiserDataTokens;
155         
156         std::string RecurranceIDData;
157         std::string RecurranceIDDataTimeZoneParam;
158         std::string RecurranceIDDataValue;
159         std::string RecurranceIDDataTokens;
160         
161         vector<std::string> RelatedToData;
162         vector<std::string> RelatedToDataRelationType;
163         vector<std::string> RelatedToDataTokens;
164         
165         std::string URLData;
166         std::string URLDataTokens;
168         vector<std::string> ExcludeDateData;
169         vector<std::string> ExcludeDateDataValue;
170         vector<std::string> ExcludeDateDataTimeZoneParam;
171         vector<std::string> ExcludeDateDataTokens;
172         
173         vector<std::string> RecurranceDateData;
174         vector<std::string> RecurranceDateDataValue;
175         vector<std::string> RecurranceDateDataTimeZoneParam;
176         vector<std::string> RecurranceDateDataTokens;
177         
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;
189         
190         std::string TriggerDataList;
191         std::string TriggerDataValue;
192         std::string TriggerDataRelatedParam;
193         std::string TriggerDataTokens;
194         
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;
213         
214         protected:
215         // Initial Loading Data.
216         vector<std::string> ObjectName;
217         vector<std::string> ObjectData;
219         private:
220         virtual void ProcessData() {};
221   
222 };
Xestia Software Development
Yn Maystri
© 2006 - 2019 Xestia Software Development
Software

Xestia Address Book
Xestia Calendar
Development

Xestia Gelforn
Everything else

About
News
Privacy Policy