Home | News | Projects | Releases
Bugs | RFE | Repositories | Help
Moved the inclusion of common/text.h to 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>
7 #include <map>
9 #include "../../common/text.h"
11 using namespace std;
13 enum CalendarObjectLoadResult {
14     CALENDAROBJECTLOAD_UNITTESTFAIL = -1,
15     CALENDAROBJECTLOAD_OK,
16     CALENDAROBJECTLOAD_MISSING,
17     CALENDAROBJECTLOAD_INVALIDFORMAT,
18     CALENDAROBJECTLOAD_CANNOTOPEN
19 };
21 enum CalendarObjectValidResult{
22     CALENDAROBJECTVALID_UNITTESTFAIL = -1,
23     CALENDAROBJECTVALID_OK,
24     CALENDAROBJECTVALID_INVALIDFORMAT
25 };
27 class CalendarObject{
29         public:
30         CalendarObjectLoadResult LoadFile(std::string LoadFilename);
31         CalendarObjectLoadResult LoadString(std::string *LoadStringData);
32         CalendarObjectValidResult ValidBaseObject();
33         
34         // Setup virtual subroutines for use by objects
35         // inheriting from CalendarObject later on.
36         
37         virtual CalendarObjectValidResult ValidObject() { return CALENDAROBJECTVALID_OK; };
38         virtual void Clear() {};
39         
40         // Object data.
41         
42         std::string UniqueID;
43         std::string UniqueIDTokens;
44         
45         vector<std::string> AttachList;
46         vector<std::string> AttachListTokens;
47         vector<std::string> AttachListEncoding;
48         vector<std::string> AttachListValue;
49         
50         vector<std::string> CategoriesList;
51         vector<std::string> CategoriesListLanguage;
52         vector<std::string> CateogriesListTokens;
53         
54         std::string ClassData;
55         std::string ClassListTokens;
56         
57         vector<std::string> CommentList;
58         vector<std::string> CommentListAltID;
59         vector<std::string> CommentListLanguage;
60         vector<std::string> CommentListTokens;
61         
62         vector<std::string> DescriptionList;
63         vector<std::string> DescriptionListAltID;
64         vector<std::string> DescriptionListLanguage;
65         vector<std::string> DescriptionListTokens;
66         
67         std::string GeographicData;
68         std::string GeographicTokens;
69         
70         std::string LocationData;
71         std::string LocationDataAltID;
72         
73         std::string PercentCompleteData;
74         std::string PercentCompleteTokens;
75         
76         int PriorityData;
77         std::string PriorityTokens;
78         
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;
86         
87         std::string SummaryData;
88         std::string SummaryDataAltID;
89         std::string SummaryDataLanguage;
90         std::string SummaryDataTokens;
91         
92         std::string DataTimeEndData;
93         std::string DataTimeEndDataValue;
94         std::string DataTimeEndDataTimeZoneID;
95         std::string DataTimeEndDataTokens;
97         std::string DueData;
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;
116         
117         std::string TimeZoneData;
118         std::string TimeZoneDataTokens;
119         
120         vector<std::string> TimeZoneNameList;
121         vector<std::string> TimeZoneNameListLanguage;
122         vector<std::string> TimeZoneNameListTokens;
123         
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;
151         
152         std::string OrganiserData;
153         std::string OrganiserDataCommonName;
154         std::string OrganiserDataDirectoryEntry;
155         std::string OrganiserDataSentByParam;
156         std::string OrganiserDataLanguage;
157         std::string OrganiserDataTokens;
158         
159         std::string RecurranceIDData;
160         std::string RecurranceIDDataTimeZoneParam;
161         std::string RecurranceIDDataValue;
162         std::string RecurranceIDDataTokens;
163         
164         vector<std::string> RelatedToData;
165         vector<std::string> RelatedToDataRelationType;
166         vector<std::string> RelatedToDataTokens;
167         
168         std::string URLData;
169         std::string URLDataTokens;
171         vector<std::string> ExcludeDateData;
172         vector<std::string> ExcludeDateDataValue;
173         vector<std::string> ExcludeDateDataTimeZoneParam;
174         vector<std::string> ExcludeDateDataTokens;
175         
176         vector<std::string> RecurranceDateData;
177         vector<std::string> RecurranceDateDataValue;
178         vector<std::string> RecurranceDateDataTimeZoneParam;
179         vector<std::string> RecurranceDateDataTokens;
180         
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;
192         
193         std::string TriggerDataList;
194         std::string TriggerDataValue;
195         std::string TriggerDataRelatedParam;
196         std::string TriggerDataTokens;
197         
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;
216         
217         protected:
218         // Initial Loading Data.
219         vector<std::string> ObjectName;
220         vector<std::string> ObjectData;
222         private:
223         virtual void ProcessData() {};
224   
225 };
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