Home | News | Projects | Releases
Bugs | RFE | Repositories | Help
Partially implemented support for RFC5545
[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         protected:
37         // Initial Loading Data.
38         vector<std::string> ObjectName;
39         vector<std::string> ObjectData;
40         
41         // Object data.
42         
43         vector<std::string> AttachList;
44         vector<std::string> AttachListTokens;
45         vector<std::string> AttachListEncoding;
46         vector<std::string> AttachListValue;
47         
48         vector<std::string> CategoriesList;
49         vector<std::string> CategoriesListLanguage;
50         vector<std::string> CateogriesListTokens;
51         
52         std::string ClassData;
53         std::string ClassListTokens;
54         
55         vector<std::string> CommentList;
56         vector<std::string> CommentListAltID;
57         vector<std::string> CommentListLanguage;
58         vector<std::string> CommentListTokens;
59         
60         vector<std::string> DescriptionList;
61         vector<std::string> DescriptionListAltID;
62         vector<std::string> DescriptionListLanguage;
63         vector<std::string> DescriptionListTokens;
64         
65         std::string GeographicData;
66         std::string GeographicTokens;
67         
68         std::string LocationData;
69         std::string LocationDataAltID;
70         
71         std::string PercentCompleteData;
72         std::string PercentCompleteTokens;
73         
74         int PriorityData;
75         std::string PriorityTokens;
76         
77         std::string ResourcesData;
78         std::string ResourcesDataAltID;
79         std::string ResourcesDataLanguage;
80         std::string ResourcesDataTokens;
82         std::string StatusData;
83         std::string StatusTokens;
84         
85         std::string SummaryData;
86         std::string SummaryDataAltID;
87         std::string SummaryDataLanguage;
88         std::string SummaryDataTokens;
89         
90         std::string DataTimeEndData;
91         std::string DataTimeEndDataValue;
92         std::string DataTimeEndDataTimeZoneID;
93         std::string DataTimeEndDataTokens;
95         std::string DueData;
96         std::string DueDataValue;
97         std::string DueDataTimeZoneID;
98         std::string DueDataTokens;
100         std::string DataTimeStartData;
101         std::string DataTimeStartDataValue;
102         std::string DataTimeStartDataTimeZoneID;
103         std::string DataTimeStartDataTokens;
105         std::string DurationData;
106         std::string DurationDataTokens;
108         vector<std::string> FreeBusyList;
109         vector<std::string> FreeBusyListType;
110         vector<std::string> FreeBusyListTokens;
112         std::string TimeTransparencyData;
113         std::string TimeTransparencyDataTokens;
115         private:
116         virtual void ProcessData() {};
117   
118 };
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