#include #include #include #include #include enum CalendarObjectLoadResult { CALENDAROBJECTLOAD_UNITTESTFAIL = -1, CALENDAROBJECTLOAD_OK, CALENDAROBJECTLOAD_MISSING, CALENDAROBJECTLOAD_INVALIDFORMAT, CALENDAROBJECTLOAD_CANNOTOPEN }; enum CalendarObjectValidResult{ CALENDAROBJECTVALID_UNITTESTFAIL = -1, CALENDAROBJECTVALID_OK, CALENDAROBJECTVALID_INVALIDFORMAT }; class CalendarObject{ public: CalendarObjectLoadResult LoadFile(std::string LoadFilename); CalendarObjectLoadResult LoadString(std::string *LoadStringData); CalendarObjectValidResult ValidBaseObject(); // Setup virtual subroutines for use by objects // inheriting from CalendarObject later on. virtual CalendarObjectValidResult ValidObject() { return CALENDAROBJECTVALID_OK; }; virtual void Clear() {}; virtual void ProcessData() {}; protected: std::vector ObjectName; std::vector ObjectData; private: };