Home | News | Projects | Releases
Bugs | RFE | Repositories | Help
Added CompletedData and CompletedDataTokens.
[xestiacalendar/.git] / source / objects / calendarobject / CalendarObject.h
1 #ifndef __OBJECTS_CALENDAROBJECT_CALENDAROBJECT_H__
2 #define __OBJECTS_CALENDAROBJECT_CALENDAROBJECT_H__
4 #include <string>
5 #include <iostream>
6 #include <fstream>
7 #include <sstream>
8 #include <vector>
9 #include <stdexcept>
10 #include <map>
12 #include "../../common/text.h"
14 using namespace std;
16 enum CalendarObjectLoadResult {
17     CALENDAROBJECTLOAD_UNITTESTFAIL = -1,
18     CALENDAROBJECTLOAD_OK,
19     CALENDAROBJECTLOAD_MISSING,
20     CALENDAROBJECTLOAD_INVALIDFORMAT,
21     CALENDAROBJECTLOAD_CANNOTOPEN
22 };
24 enum CalendarObjectValidResult{
25     CALENDAROBJECTVALID_UNITTESTFAIL = -1,
26     CALENDAROBJECTVALID_OK,
27     CALENDAROBJECTVALID_INVALIDFORMAT
28 };
30 class CalendarObject{
32         public:
33         CalendarObjectLoadResult LoadFile(std::string LoadFilename);
34         CalendarObjectLoadResult LoadString(std::string *LoadStringData);
35         CalendarObjectValidResult ValidBaseObject();
36         void ProcessBaseData();
37         
38         // Setup virtual subroutines for use by objects
39         // inheriting from CalendarObject later on.
40         
41         virtual CalendarObjectValidResult ValidObject() { return CALENDAROBJECTVALID_OK; };
42         virtual void Clear() {};
43         
44         // Object data.
45         
46         std::string MethodData;
47         std::string MethodTokens;
48         
49         std::string CalendarScaleData;
50         std::string CalendarScaleTokens;
51         
52         std::string UniqueID;
53         std::string UniqueIDTokens;
54         
55         vector<std::string> AttachList;
56         vector<std::string> AttachListTokens;
57         vector<std::string> AttachListEncoding;
58         vector<std::string> AttachListFormatType;
59         vector<std::string> AttachListValue;
60         
61         vector<std::string> CategoriesList;
62         vector<std::string> CategoriesListLanguage;
63         vector<std::string> CategoriesListTokens;
64         
65         std::string ClassData;
66         std::string ClassDataTokens;
67         
68         std::string CompletedData;
69         std::string CompletedDataTokens;
70         
71         vector<std::string> CommentList;
72         vector<std::string> CommentListAltRep;
73         vector<std::string> CommentListLanguage;
74         vector<std::string> CommentListTokens;
75         
76         vector<std::string> DescriptionList;
77         vector<std::string> DescriptionListAltRep;
78         vector<std::string> DescriptionListLanguage;
79         vector<std::string> DescriptionListTokens;
80         
81         std::string GeographicData;
82         std::string GeographicTokens;
83         
84         std::string LocationData;
85         std::string LocationDataAltRep;
86         std::string LocationDataLanguage;
87         std::string LocationDataTokens;
88         
89         std::string PercentCompleteData;
90         std::string PercentCompleteTokens;
91         
92         int PriorityData = -1;
93         std::string PriorityTokens;
94         
95         vector<std::string> ResourcesData;
96         vector<std::string> ResourcesDataAltRep;
97         vector<std::string> ResourcesDataLanguage;
98         vector<std::string> ResourcesDataTokens;
100         std::string StatusData;
101         std::string StatusLanguage;
102         std::string StatusTokens;
103         
104         std::string SummaryData;
105         std::string SummaryDataAltRep;
106         std::string SummaryDataLanguage;
107         std::string SummaryDataTokens;
108         
109         std::string DateTimeEndData;
110         std::string DateTimeEndDataValue;
111         std::string DateTimeEndDataTimeZoneID;
112         std::string DateTimeEndDataTokens;
114         std::string DueData;
115         std::string DueDataValue;
116         std::string DueDataTimeZoneID;
117         std::string DueDataTokens;
119         std::string DateTimeStartData;
120         std::string DateTimeStartDataValue;
121         std::string DateTimeStartDataTimeZoneID;
122         std::string DateTimeStartDataTokens;
124         std::string DurationData;
125         std::string DurationDataTokens;
127         vector<std::string> FreeBusyList;
128         vector<std::string> FreeBusyListType;
129         vector<std::string> FreeBusyListTokens;
131         std::string TimeTransparencyData;
132         std::string TimeTransparencyDataTokens;
133         
134         std::string TimeZoneData;
135         std::string TimeZoneDataTokens;
136         
137         vector<std::string> TimeZoneNameList;
138         vector<std::string> TimeZoneNameListLanguage;
139         vector<std::string> TimeZoneNameListTokens;
140         
141         std::string TimeZoneOffsetFromData;
142         std::string TimeZoneOffsetFromDataTokens;
144         std::string TimeZoneOffsetToData;
145         std::string TimeZoneOffsetToDataTokens;
147         std::string TimeZoneURLData;
148         std::string TimeZoneURLTokens;
150         vector<std::string> AttendeeList;
151         vector<std::string> AttendeeListMember;
152         vector<std::string> AttendeeListDelegatedFrom;
153         vector<std::string> AttendeeListDelegatedTo;
154         vector<std::string> AttendeeListRole;
155         vector<std::string> AttendeeListRSVP;
156         vector<std::string> AttendeeListDirectoryEntry;
157         vector<std::string> AttendeeListSentBy;
158         vector<std::string> AttendeeListCommonName;
159         vector<std::string> AttendeeListCalendarUserType;
160         vector<std::string> AttendeeListParticipationStatus;
161         vector<std::string> AttendeeListLanguage;
162         vector<std::string> AttendeeListTokens;
164         vector<std::string> ContactList;
165         vector<std::string> ContactListAltRep;
166         vector<std::string> ContactListLanguage;
167         vector<std::string> ContactListTokens;
168         
169         std::string OrganiserData;
170         std::string OrganiserDataCommonName;
171         std::string OrganiserDataDirectoryEntry;
172         std::string OrganiserDataSentByParam;
173         std::string OrganiserDataLanguage;
174         std::string OrganiserDataTokens;
175         
176         std::string RecurranceIDData;
177         std::string RecurranceIDDataTimeZoneParam;
178         std::string RecurranceIDDataRangeParam;
179         std::string RecurranceIDDataValue;
180         std::string RecurranceIDDataTokens;
181         
182         vector<std::string> RelatedToData;
183         vector<std::string> RelatedToDataRelationType;
184         vector<std::string> RelatedToDataTokens;
185         
186         std::string URLData;
187         std::string URLDataTokens;
189         vector<std::string> ExcludeDateData;
190         vector<std::string> ExcludeDateDataValue;
191         vector<std::string> ExcludeDateDataTimeZoneParam;
192         vector<std::string> ExcludeDateDataTokens;
193         
194         vector<std::string> RecurranceDateData;
195         vector<std::string> RecurranceDateDataValue;
196         vector<std::string> RecurranceDateDataTimeZoneParam;
197         vector<std::string> RecurranceDateDataTokens;
198         
199         std::string RecurranceRuleData;
200         std::string RecurranceRuleDataTokens;
201         
202         std::string TriggerDataList;
203         std::string TriggerDataValue;
204         std::string TriggerDataRelatedParam;
205         std::string TriggerDataTokens;
206         
207         std::string DateTimeCreatedData;
208         std::string DateTimeCreatedTokens;
210         std::string DateTimeStampData;
211         std::string DateTimeStampTokens;
213         std::string LastModifiedData;
214         std::string LastModifiedTokens;
216         int SequenceData = -1;
217         std::string SequenceTokens;
219         vector<std::string> XTokensData;
220         vector<std::string> XTokensDataTokens;
222         vector<std::string> RequestStatusData;
223         vector<std::string> RequestStatusLanguage;
224         vector<std::string> RequestStatusTokens;
225         
226         protected:
227         // Initial Loading Data.
228         vector<std::string> ObjectName;
229         vector<std::string> ObjectData;
231         private:
232         virtual void ProcessData() {};
233   
234 };
236 #endif
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