Home | News | Projects | Releases
Bugs | RFE | Repositories | Help
Setup initial version of the SaveFile functions for the CalendarObject class.
[xestiacalendar/.git] / source / objects / calendarobject / CalendarObject.h
index 1c700c4..7ec9f4c 100644 (file)
 using namespace std;
 
 enum CalendarObjectLoadResult {
-    CALENDAROBJECTLOAD_UNITTESTFAIL = -1,
-    CALENDAROBJECTLOAD_OK,
-    CALENDAROBJECTLOAD_MISSING,
-    CALENDAROBJECTLOAD_INVALIDFORMAT,
-    CALENDAROBJECTLOAD_CANNOTOPEN
+       CALENDAROBJECTLOAD_UNITTESTFAIL = -1,
+       CALENDAROBJECTLOAD_OK,
+       CALENDAROBJECTLOAD_MISSING,
+       CALENDAROBJECTLOAD_INVALIDFORMAT,
+       CALENDAROBJECTLOAD_CANNOTOPEN
+};
+
+enum CalendarObjectSaveResult {
+       CALENDAROBJECTSAVE_UNITTESTFAIL = -1,
+       CALENDAROBJECTSAVE_OK,
 };
 
 enum CalendarObjectValidResult{
-    CALENDAROBJECTVALID_UNITTESTFAIL = -1,
-    CALENDAROBJECTVALID_OK,
-    CALENDAROBJECTVALID_INVALIDFORMAT
+       CALENDAROBJECTVALID_UNITTESTFAIL = -1,
+       CALENDAROBJECTVALID_OK,
+       CALENDAROBJECTVALID_INVALIDFORMAT
+};
+
+enum CalendarAlarmAction{
+       CALENDARALARM_UNSPECIFIED = -1,
+       CALENDARALARM_AUDIO,
+       CALENDARALARM_DISPLAY,
+       CALENDARALARM_EMAIL
+};
+
+struct CalendarAlarmDataStruct{
+       
+       CalendarAlarmAction AlarmType = CALENDARALARM_UNSPECIFIED;
+       
+       string AlarmAction;
+       string AlarmActionTokens;
+       
+       string TriggerData;
+       string TriggerValue;
+       string TriggerRelated;
+       string TriggerTokens;
+       
+       string DescriptionData;
+       string DescriptionAltRep;
+       string DescriptionLanguage;
+       string DescriptionTokens;
+       
+       string RepeatData;
+       string RepeatTokens;
+       
+       string SummaryData;
+       string SummaryAltRep;
+       string SummaryLanguage;
+       string SummaryTokens;
+       
+       vector<string> AttendeeList;
+       vector<string> AttendeeListMember;
+       vector<string> AttendeeListDelegatedFrom;
+       vector<string> AttendeeListDelegatedTo;
+       vector<string> AttendeeListRole;
+       vector<string> AttendeeListRSVP;
+       vector<string> AttendeeListDirectoryEntry;
+       vector<string> AttendeeListSentBy;
+       vector<string> AttendeeListCommonName;
+       vector<string> AttendeeListCalendarUserType;
+       vector<string> AttendeeListParticipationStatus;
+       vector<string> AttendeeListLanguage;
+       vector<string> AttendeeListTokens;
+       
+       string DurationData;
+       string DurationTokens;
+       
+       vector<string> AttachList;
+       vector<string> AttachListTokens;
+       vector<string> AttachListEncoding;
+       vector<string> AttachListFormatType;
+       vector<string> AttachListValue;
+       
+       vector<string> XTokensData;
+       vector<string> XTokensDataTokens;
+       
 };
 
 class CalendarObject{
@@ -32,6 +97,8 @@ class CalendarObject{
        public:
        CalendarObjectLoadResult LoadFile(string LoadFilename);
        CalendarObjectLoadResult LoadString(string *LoadStringData);
+       CalendarObjectSaveResult SaveFile(string SaveFilename);
+       CalendarObjectSaveResult SaveString(string *SaveStringData);
        CalendarObjectValidResult ValidBaseObject();
        void ProcessBaseData();
        
@@ -40,6 +107,7 @@ class CalendarObject{
        
        virtual CalendarObjectValidResult ValidObject() { return CALENDAROBJECTVALID_OK; };
        virtual void Clear() {};
+       virtual void SaveObjectData() {};
        
        // Object data.
        
@@ -223,11 +291,16 @@ class CalendarObject{
        vector<string> RequestStatusLanguage;
        vector<string> RequestStatusTokens;
        
+       vector<CalendarAlarmDataStruct> CalendarAlarmData;
+       
        protected:
        // Initial Loading Data.
        vector<string> ObjectName;
        vector<string> ObjectData;
-
+       
+       vector<vector<string>> EventAlarmName;
+       vector<vector<string>> EventAlarmData;
+       
        private:
        virtual void ProcessData() {};
   
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