Home | News | Projects | Releases
Bugs | RFE | Repositories | Help
Moved Object Data except ObjectName and ObjectData to public from protected.
[xestiacalendar/.git] / source / objects / calendarobject / CalendarObject.h
1 #include <string>
2 #include <iostream>
3 #include <fstream>
4 #include <sstream>
5 #include <vector>
7 using namespace std;
9 enum CalendarObjectLoadResult {
10     CALENDAROBJECTLOAD_UNITTESTFAIL = -1,
11     CALENDAROBJECTLOAD_OK,
12     CALENDAROBJECTLOAD_MISSING,
13     CALENDAROBJECTLOAD_INVALIDFORMAT,
14     CALENDAROBJECTLOAD_CANNOTOPEN
15 };
17 enum CalendarObjectValidResult{
18     CALENDAROBJECTVALID_UNITTESTFAIL = -1,
19     CALENDAROBJECTVALID_OK,
20     CALENDAROBJECTVALID_INVALIDFORMAT
21 };
23 class CalendarObject{
25         public:
26         CalendarObjectLoadResult LoadFile(std::string LoadFilename);
27         CalendarObjectLoadResult LoadString(std::string *LoadStringData);
28         CalendarObjectValidResult ValidBaseObject();
29         
30         // Setup virtual subroutines for use by objects
31         // inheriting from CalendarObject later on.
32         
33         virtual CalendarObjectValidResult ValidObject() { return CALENDAROBJECTVALID_OK; };
34         virtual void Clear() {};
35         
36         // Object data.
37         
38         vector<std::string> AttachList;
39         vector<std::string> AttachListTokens;
40         vector<std::string> AttachListEncoding;
41         vector<std::string> AttachListValue;
42         
43         vector<std::string> CategoriesList;
44         vector<std::string> CategoriesListLanguage;
45         vector<std::string> CateogriesListTokens;
46         
47         std::string ClassData;
48         std::string ClassListTokens;
49         
50         vector<std::string> CommentList;
51         vector<std::string> CommentListAltID;
52         vector<std::string> CommentListLanguage;
53         vector<std::string> CommentListTokens;
54         
55         vector<std::string> DescriptionList;
56         vector<std::string> DescriptionListAltID;
57         vector<std::string> DescriptionListLanguage;
58         vector<std::string> DescriptionListTokens;
59         
60         std::string GeographicData;
61         std::string GeographicTokens;
62         
63         std::string LocationData;
64         std::string LocationDataAltID;
65         
66         std::string PercentCompleteData;
67         std::string PercentCompleteTokens;
68         
69         int PriorityData;
70         std::string PriorityTokens;
71         
72         vector<std::string> ResourcesData;
73         vector<std::string> ResourcesDataAltID;
74         vector<std::string> ResourcesDataLanguage;
75         vector<std::string> ResourcesDataTokens;
77         std::string StatusData;
78         std::string StatusTokens;
79         
80         std::string SummaryData;
81         std::string SummaryDataAltID;
82         std::string SummaryDataLanguage;
83         std::string SummaryDataTokens;
84         
85         std::string DataTimeEndData;
86         std::string DataTimeEndDataValue;
87         std::string DataTimeEndDataTimeZoneID;
88         std::string DataTimeEndDataTokens;
90         std::string DueData;
91         std::string DueDataValue;
92         std::string DueDataTimeZoneID;
93         std::string DueDataTokens;
95         std::string DataTimeStartData;
96         std::string DataTimeStartDataValue;
97         std::string DataTimeStartDataTimeZoneID;
98         std::string DataTimeStartDataTokens;
100         std::string DurationData;
101         std::string DurationDataTokens;
103         vector<std::string> FreeBusyList;
104         vector<std::string> FreeBusyListType;
105         vector<std::string> FreeBusyListTokens;
107         std::string TimeTransparencyData;
108         std::string TimeTransparencyDataTokens;
109         
110         std::string TimeZoneData;
111         std::string TimeZoneDataTokens;
112         
113         vector<std::string> TimeZoneNameList;
114         vector<std::string> TimeZoneNameListLanguage;
115         vector<std::string> TimeZoneNameListTokens;
116         
117         std::string TimeZoneOffsetFromData;
118         std::string TimeZoneOffsetFromDataTokens;
120         std::string TimeZoneOffsetToData;
121         std::string TimeZoneOffsetToDataTokens;
123         std::string TimeZoneURLData;
124         std::string TimeZoneURLTokens;
126         vector<std::string> AttendeeList;
127         vector<std::string> AttendeeListMember;
128         vector<std::string> AttendeeListDelegatedFrom;
129         vector<std::string> AttendeeListDelegatedTo;
130         vector<std::string> AttendeeListRole;
131         vector<std::string> AttendeeListRSVP;
132         vector<std::string> AttendeeListDirectoryEntry;
133         vector<std::string> AttendeeListSentBy;
134         vector<std::string> AttendeeListCommonName;
135         vector<std::string> AttendeeListCalendarUserType;
136         vector<std::string> AttendeeListParticipationStatus;
137         vector<std::string> AttendeeListLanguage;
138         vector<std::string> AttendeeListTokens;
140         vector<std::string> ContactList;
141         vector<std::string> ContactListAltID;
142         vector<std::string> ContactListLanguage;
143         vector<std::string> ContactListTokens;
144         
145         std::string OrganiserData;
146         std::string OrganiserDataCommonName;
147         std::string OrganiserDataDirectoryEntry;
148         std::string OrganiserDataSentByParam;
149         std::string OrganiserDataLanguage;
150         std::string OrganiserDataTokens;
151         
152         std::string RecurranceIDData;
153         std::string RecurranceIDDataTimeZoneParam;
154         std::string RecurranceIDDataValue;
155         std::string RecurranceIDDataTokens;
156         
157         vector<std::string> RelatedToData;
158         vector<std::string> RelatedToDataRelationType;
159         vector<std::string> RelatedToDataTokens;
160         
161         std::string URLData;
162         std::string URLDataTokens;
164         vector<std::string> ExcludeDateData;
165         vector<std::string> ExcludeDateDataValue;
166         vector<std::string> ExcludeDateDataTimeZoneParam;
167         vector<std::string> ExcludeDateDataTokens;
168         
169         vector<std::string> RecurranceDateData;
170         vector<std::string> RecurranceDateDataValue;
171         vector<std::string> RecurranceDateDataTimeZoneParam;
172         vector<std::string> RecurranceDateDataTokens;
173         
174         std::string RecurranceRuleData;
175         std::string RecurranceRuleDataFrequency;
176         std::string RecurranceRuleDataCount;
177         std::string RecurranceRuleDataInterval;
178         std::string RecurranceRuleDataUntil;
179         std::string RecurranceRuleDataMonth;
180         std::string RecurranceRuleDataWeekStarting;
181         std::string RecurranceRuleDataWeekByDay;
182         std::string RecurranceRuleDataWeekByMonthDay;
183         std::string RecurranceRuleDataWeekByWeekNumber;
184         std::string RecurranceRuleDataWeekBySetPosition;
185         
186         std::string TriggerDataList;
187         std::string TriggerDataValue;
188         std::string TriggerDataRelatedParam;
189         std::string TriggerDataTokens;
190         
191         std::string DateTimeCreatedData;
192         std::string DateTimeCreatedTokens;
194         std::string DateTimeStampData;
195         std::string DateTimeStampTokens;
197         std::string LastModifiedData;
198         std::string LastModifiedTokens;
200         std::string SequenceData;
201         std::string SequenceTokens;
203         vector<std::string> XTokensData;
204         vector<std::string> XTokensDataTokens;
206         vector<std::string> RequestStatusData;
207         vector<std::string> RequestStatusLanguage;
208         vector<std::string> RequestStatusTokens;
209         
210         protected:
211         // Initial Loading Data.
212         vector<std::string> ObjectName;
213         vector<std::string> ObjectData;
215         private:
216         virtual void ProcessData() {};
217   
218 };
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