Home | News | Projects | Releases
Bugs | RFE | Repositories | Help
Updated/Added copyright header and licensing to all source files
[xestiacalendar/.git] / source / objects / calendarobject / CalendarObject.h
index 2b450fc..29e21fc 100644 (file)
@@ -1,3 +1,21 @@
+// CalendarObject.h - CalendarObject class header
+//
+// (c) 2016-2017 Xestia Software Development.
+//
+// This file is part of Xestia Calendar.
+//
+// Xestia Calendar is free software: you can redistribute it and/or modify
+// it under the terms of the GNU General Public License as published by the
+// Free Software Foundation, version 3 of the license.
+//
+// Xestia Calendar is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License along
+// with Xestia Calendar. If not, see <http://www.gnu.org/licenses/>
+
 #ifndef __OBJECTS_CALENDAROBJECT_CALENDAROBJECT_H__
 #define __OBJECTS_CALENDAROBJECT_CALENDAROBJECT_H__
 
@@ -10,6 +28,7 @@
 #include <map>
 
 #include "../../common/text.h"
+#include "../../version.h"
 
 using namespace std;
 
@@ -21,6 +40,12 @@ enum CalendarObjectLoadResult {
        CALENDAROBJECTLOAD_CANNOTOPEN
 };
 
+enum CalendarObjectSaveResult {
+       CALENDAROBJECTSAVE_UNITTESTFAIL = -1,
+       CALENDAROBJECTSAVE_OK,
+       CALENDAROBJECTSAVE_CANNOTOPEN
+};
+
 enum CalendarObjectValidResult{
        CALENDAROBJECTVALID_UNITTESTFAIL = -1,
        CALENDAROBJECTVALID_OK,
@@ -43,6 +68,7 @@ struct CalendarAlarmDataStruct{
        
        string TriggerData;
        string TriggerValue;
+       string TriggerRelated;
        string TriggerTokens;
        
        string DescriptionData;
@@ -91,6 +117,8 @@ class CalendarObject{
        public:
        CalendarObjectLoadResult LoadFile(string LoadFilename);
        CalendarObjectLoadResult LoadString(string *LoadStringData);
+       CalendarObjectSaveResult SaveFile(string SaveFilename);
+       CalendarObjectSaveResult SaveString(string *SaveStringData);
        CalendarObjectValidResult ValidBaseObject();
        void ProcessBaseData();
        
@@ -99,6 +127,7 @@ class CalendarObject{
        
        virtual CalendarObjectValidResult ValidObject() { return CALENDAROBJECTVALID_OK; };
        virtual void Clear() {};
+       virtual void SaveObjectData(string *SaveData) {};
        
        // Object data.
        
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