Home | News | Projects | Releases
Bugs | RFE | Repositories | Help
Replaced ContactListAltID with ContactListAltRep.
[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         void ProcessBaseData();
34         
35         // Setup virtual subroutines for use by objects
36         // inheriting from CalendarObject later on.
37         
38         virtual CalendarObjectValidResult ValidObject() { return CALENDAROBJECTVALID_OK; };
39         virtual void Clear() {};
40         
41         // Object data.
42         
43         std::string MethodData;
44         std::string MethodTokens;
45         
46         std::string CalendarScaleData;
47         std::string CalendarScaleTokens;
48         
49         std::string UniqueID;
50         std::string UniqueIDTokens;
51         
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;
57         
58         vector<std::string> CategoriesList;
59         vector<std::string> CategoriesListLanguage;
60         vector<std::string> CategoriesListTokens;
61         
62         std::string ClassData;
63         std::string ClassDataTokens;
64         
65         vector<std::string> CommentList;
66         vector<std::string> CommentListAltRep;
67         vector<std::string> CommentListLanguage;
68         vector<std::string> CommentListTokens;
69         
70         vector<std::string> DescriptionList;
71         vector<std::string> DescriptionListAltRep;
72         vector<std::string> DescriptionListLanguage;
73         vector<std::string> DescriptionListTokens;
74         
75         std::string GeographicData;
76         std::string GeographicTokens;
77         
78         std::string LocationData;
79         std::string LocationDataAltRep;
80         std::string LocationDataLanguage;
81         std::string LocationDataTokens;
82         
83         std::string PercentCompleteData;
84         std::string PercentCompleteTokens;
85         
86         int PriorityData = -1;
87         std::string PriorityTokens;
88         
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 StatusTokens;
96         
97         std::string SummaryData;
98         std::string SummaryDataAltRep;
99         std::string SummaryDataLanguage;
100         std::string SummaryDataTokens;
101         
102         std::string DateTimeEndData;
103         std::string DateTimeEndDataValue;
104         std::string DateTimeEndDataTimeZoneID;
105         std::string DateTimeEndDataTokens;
107         std::string DueData;
108         std::string DueDataValue;
109         std::string DueDataTimeZoneID;
110         std::string DueDataTokens;
112         std::string DateTimeStartData;
113         std::string DateTimeStartDataValue;
114         std::string DateTimeStartDataTimeZoneID;
115         std::string DateTimeStartDataTokens;
117         std::string DurationData;
118         std::string DurationDataTokens;
120         vector<std::string> FreeBusyList;
121         vector<std::string> FreeBusyListType;
122         vector<std::string> FreeBusyListTokens;
124         std::string TimeTransparencyData;
125         std::string TimeTransparencyDataTokens;
126         
127         std::string TimeZoneData;
128         std::string TimeZoneDataTokens;
129         
130         vector<std::string> TimeZoneNameList;
131         vector<std::string> TimeZoneNameListLanguage;
132         vector<std::string> TimeZoneNameListTokens;
133         
134         std::string TimeZoneOffsetFromData;
135         std::string TimeZoneOffsetFromDataTokens;
137         std::string TimeZoneOffsetToData;
138         std::string TimeZoneOffsetToDataTokens;
140         std::string TimeZoneURLData;
141         std::string TimeZoneURLTokens;
143         vector<std::string> AttendeeList;
144         vector<std::string> AttendeeListMember;
145         vector<std::string> AttendeeListDelegatedFrom;
146         vector<std::string> AttendeeListDelegatedTo;
147         vector<std::string> AttendeeListRole;
148         vector<std::string> AttendeeListRSVP;
149         vector<std::string> AttendeeListDirectoryEntry;
150         vector<std::string> AttendeeListSentBy;
151         vector<std::string> AttendeeListCommonName;
152         vector<std::string> AttendeeListCalendarUserType;
153         vector<std::string> AttendeeListParticipationStatus;
154         vector<std::string> AttendeeListLanguage;
155         vector<std::string> AttendeeListTokens;
157         vector<std::string> ContactList;
158         vector<std::string> ContactListAltRep;
159         vector<std::string> ContactListLanguage;
160         vector<std::string> ContactListTokens;
161         
162         std::string OrganiserData;
163         std::string OrganiserDataCommonName;
164         std::string OrganiserDataDirectoryEntry;
165         std::string OrganiserDataSentByParam;
166         std::string OrganiserDataLanguage;
167         std::string OrganiserDataTokens;
168         
169         std::string RecurranceIDData;
170         std::string RecurranceIDDataTimeZoneParam;
171         std::string RecurranceIDDataRangeParam;
172         std::string RecurranceIDDataValue;
173         std::string RecurranceIDDataTokens;
174         
175         vector<std::string> RelatedToData;
176         vector<std::string> RelatedToDataRelationType;
177         vector<std::string> RelatedToDataTokens;
178         
179         std::string URLData;
180         std::string URLDataTokens;
182         vector<std::string> ExcludeDateData;
183         vector<std::string> ExcludeDateDataValue;
184         vector<std::string> ExcludeDateDataTimeZoneParam;
185         vector<std::string> ExcludeDateDataTokens;
186         
187         vector<std::string> RecurranceDateData;
188         vector<std::string> RecurranceDateDataValue;
189         vector<std::string> RecurranceDateDataTimeZoneParam;
190         vector<std::string> RecurranceDateDataTokens;
191         
192         std::string RecurranceRuleData;
193         std::string RecurranceRuleDataTokens;
194         
195         std::string TriggerDataList;
196         std::string TriggerDataValue;
197         std::string TriggerDataRelatedParam;
198         std::string TriggerDataTokens;
199         
200         std::string DateTimeCreatedData;
201         std::string DateTimeCreatedTokens;
203         std::string DateTimeStampData;
204         std::string DateTimeStampTokens;
206         std::string LastModifiedData;
207         std::string LastModifiedTokens;
209         int SequenceData = -1;
210         std::string SequenceTokens;
212         vector<std::string> XTokensData;
213         vector<std::string> XTokensDataTokens;
215         std::string RequestStatusData;
216         std::string RequestStatusLanguage;
217         std::string RequestStatusTokens;
218         
219         protected:
220         // Initial Loading Data.
221         vector<std::string> ObjectName;
222         vector<std::string> ObjectData;
224         private:
225         virtual void ProcessData() {};
226   
227 };
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