+// 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__
#include <map>
#include "../../common/text.h"
+#include "../../version.h"
using namespace std;
CALENDAROBJECTLOAD_CANNOTOPEN
};
+enum CalendarObjectSaveResult {
+ CALENDAROBJECTSAVE_UNITTESTFAIL = -1,
+ CALENDAROBJECTSAVE_OK,
+ CALENDAROBJECTSAVE_CANNOTOPEN
+};
+
enum CalendarObjectValidResult{
CALENDAROBJECTVALID_UNITTESTFAIL = -1,
CALENDAROBJECTVALID_OK,
string TriggerData;
string TriggerValue;
+ string TriggerRelated;
string TriggerTokens;
string DescriptionData;
public:
CalendarObjectLoadResult LoadFile(string LoadFilename);
CalendarObjectLoadResult LoadString(string *LoadStringData);
+ CalendarObjectSaveResult SaveFile(string SaveFilename);
+ CalendarObjectSaveResult SaveString(string *SaveStringData);
CalendarObjectValidResult ValidBaseObject();
void ProcessBaseData();
virtual CalendarObjectValidResult ValidObject() { return CALENDAROBJECTVALID_OK; };
virtual void Clear() {};
+ virtual void SaveObjectData(string *SaveData) {};
// Object data.