X-Git-Url: http://Server1/repobrowser/?p=xestiacalendar%2F.git;a=blobdiff_plain;f=source%2Fobjects%2Fcalendarobject%2FCalendarObject.h;h=1b03eee5573b458d083a2b6f4c422d3993d00847;hp=877749832dd1d37f276e6ce4a4120897bd2e0e87;hb=49789773e2797383c866dca470fb99e80cb49e41;hpb=dbc8bc6af8a6eed9215e7f37f5b8f1433c6570c3 diff --git a/source/objects/calendarobject/CalendarObject.h b/source/objects/calendarobject/CalendarObject.h index 8777498..1b03eee 100644 --- a/source/objects/calendarobject/CalendarObject.h +++ b/source/objects/calendarobject/CalendarObject.h @@ -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 + #ifndef __OBJECTS_CALENDAROBJECT_CALENDAROBJECT_H__ #define __OBJECTS_CALENDAROBJECT_CALENDAROBJECT_H__ @@ -10,28 +28,101 @@ #include #include "../../common/text.h" +#include "../../version.h" + +#if defined(WIN32) +#include +#endif 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, + CALENDAROBJECTSAVE_CANNOTOPEN }; 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 attendeeList; + vector attendeeListMember; + vector attendeeListDelegatedFrom; + vector attendeeListDelegatedTo; + vector attendeeListRole; + vector attendeeListRSVP; + vector attendeeListDirectoryEntry; + vector attendeeListSentBy; + vector attendeeListCommonName; + vector attendeeListCalendarUserType; + vector attendeeListParticipationStatus; + vector attendeeListLanguage; + vector attendeeListTokens; + + string durationData; + string durationTokens; + + vector attachList; + vector attachListTokens; + vector attachListEncoding; + vector attachListFormatType; + vector attachListValue; + + vector xTokensData; + vector xTokensDataTokens; + }; class CalendarObject{ public: - CalendarObjectLoadResult LoadFile(std::string LoadFilename); - CalendarObjectLoadResult LoadString(std::string *LoadStringData); + CalendarObjectLoadResult LoadFile(string loadFilename); + CalendarObjectLoadResult LoadString(string *loadStringData); + CalendarObjectSaveResult SaveFile(string saveFilename); + CalendarObjectSaveResult SaveString(string *saveStringData); CalendarObjectValidResult ValidBaseObject(); void ProcessBaseData(); @@ -40,194 +131,200 @@ class CalendarObject{ virtual CalendarObjectValidResult ValidObject() { return CALENDAROBJECTVALID_OK; }; virtual void Clear() {}; + virtual void SaveObjectData(string *saveData) {}; // Object data. - std::string MethodData; - std::string MethodTokens; + string methodData; + string methodTokens; + + string calendarScaleData; + string calendarScaleTokens; + + string uniqueID; + string uniqueIDTokens; + + vector attachList; + vector attachListTokens; + vector attachListEncoding; + vector attachListFormatType; + vector attachListValue; + + vector categoriesList; + vector categoriesListLanguage; + vector categoriesListTokens; + + string classData; + string classDataTokens; + + string completedData; + string completedDataTokens; + + vector commentList; + vector commentListAltRep; + vector commentListLanguage; + vector commentListTokens; + + vector descriptionList; + vector descriptionListAltRep; + vector descriptionListLanguage; + vector descriptionListTokens; + + string geographicData; + string geographicTokens; + + string locationData; + string locationDataAltRep; + string locationDataLanguage; + string locationDataTokens; + + string percentCompleteData; + string percentCompleteTokens; + + int priorityData = -1; + string priorityTokens; - std::string CalendarScaleData; - std::string CalendarScaleTokens; + vector resourcesData; + vector resourcesDataAltRep; + vector resourcesDataLanguage; + vector resourcesDataTokens; + + string statusData; + string statusLanguage; + string statusTokens; + + string summaryData; + string summaryDataAltRep; + string summaryDataLanguage; + string summaryDataTokens; + + string dateTimeEndData; + string dateTimeEndDataValue; + string dateTimeEndDataTimeZoneID; + string dateTimeEndDataTokens; + + string dueData; + string dueDataValue; + string dueDataTimeZoneID; + string dueDataTokens; + + string dateTimeStartData; + string dateTimeStartDataValue; + string dateTimeStartDataTimeZoneID; + string dateTimeStartDataTokens; + + string durationData; + string durationDataTokens; + + vector freeBusyList; + vector freeBusyListType; + vector freeBusyListTokens; + + string timeTransparencyData; + string timeTransparencyDataTokens; + + string timeZoneData; + string timeZoneDataTokens; + + vector timeZoneNameList; + vector timeZoneNameListLanguage; + vector timeZoneNameListTokens; + + string timeZoneOffsetFromData; + string timeZoneOffsetFromDataTokens; + + string timeZoneOffsetToData; + string timeZoneOffsetToDataTokens; + + string timeZoneURLData; + string timeZoneURLTokens; + + vector attendeeList; + vector attendeeListMember; + vector attendeeListDelegatedFrom; + vector attendeeListDelegatedTo; + vector attendeeListRole; + vector attendeeListRSVP; + vector attendeeListDirectoryEntry; + vector attendeeListSentBy; + vector attendeeListCommonName; + vector attendeeListCalendarUserType; + vector attendeeListParticipationStatus; + vector attendeeListLanguage; + vector attendeeListTokens; + + vector contactList; + vector contactListAltRep; + vector contactListLanguage; + vector contactListTokens; + + string organiserData; + string organiserDataCommonName; + string organiserDataDirectoryEntry; + string organiserDataSentByParam; + string organiserDataLanguage; + string organiserDataTokens; - std::string UniqueID; - std::string UniqueIDTokens; + string recurranceIDData; + string recurranceIDDataTimeZoneParam; + string recurranceIDDataRangeParam; + string recurranceIDDataValue; + string recurranceIDDataTokens; - vector AttachList; - vector AttachListTokens; - vector AttachListEncoding; - vector AttachListFormatType; - vector AttachListValue; - - vector CategoriesList; - vector CategoriesListLanguage; - vector CategoriesListTokens; - - std::string ClassData; - std::string ClassDataTokens; - - std::string CompletedData; - std::string CompletedDataTokens; - - vector CommentList; - vector CommentListAltRep; - vector CommentListLanguage; - vector CommentListTokens; - - vector DescriptionList; - vector DescriptionListAltRep; - vector DescriptionListLanguage; - vector DescriptionListTokens; - - std::string GeographicData; - std::string GeographicTokens; - - std::string LocationData; - std::string LocationDataAltRep; - std::string LocationDataLanguage; - std::string LocationDataTokens; - - std::string PercentCompleteData; - std::string PercentCompleteTokens; - - int PriorityData = -1; - std::string PriorityTokens; - - vector ResourcesData; - vector ResourcesDataAltRep; - vector ResourcesDataLanguage; - vector ResourcesDataTokens; - - std::string StatusData; - std::string StatusLanguage; - std::string StatusTokens; - - std::string SummaryData; - std::string SummaryDataAltRep; - std::string SummaryDataLanguage; - std::string SummaryDataTokens; - - std::string DateTimeEndData; - std::string DateTimeEndDataValue; - std::string DateTimeEndDataTimeZoneID; - std::string DateTimeEndDataTokens; - - std::string DueData; - std::string DueDataValue; - std::string DueDataTimeZoneID; - std::string DueDataTokens; - - std::string DateTimeStartData; - std::string DateTimeStartDataValue; - std::string DateTimeStartDataTimeZoneID; - std::string DateTimeStartDataTokens; - - std::string DurationData; - std::string DurationDataTokens; - - vector FreeBusyList; - vector FreeBusyListType; - vector FreeBusyListTokens; - - std::string TimeTransparencyData; - std::string TimeTransparencyDataTokens; - - std::string TimeZoneData; - std::string TimeZoneDataTokens; - - vector TimeZoneNameList; - vector TimeZoneNameListLanguage; - vector TimeZoneNameListTokens; - - std::string TimeZoneOffsetFromData; - std::string TimeZoneOffsetFromDataTokens; - - std::string TimeZoneOffsetToData; - std::string TimeZoneOffsetToDataTokens; - - std::string TimeZoneURLData; - std::string TimeZoneURLTokens; - - vector AttendeeList; - vector AttendeeListMember; - vector AttendeeListDelegatedFrom; - vector AttendeeListDelegatedTo; - vector AttendeeListRole; - vector AttendeeListRSVP; - vector AttendeeListDirectoryEntry; - vector AttendeeListSentBy; - vector AttendeeListCommonName; - vector AttendeeListCalendarUserType; - vector AttendeeListParticipationStatus; - vector AttendeeListLanguage; - vector AttendeeListTokens; - - vector ContactList; - vector ContactListAltRep; - vector ContactListLanguage; - vector ContactListTokens; - - std::string OrganiserData; - std::string OrganiserDataCommonName; - std::string OrganiserDataDirectoryEntry; - std::string OrganiserDataSentByParam; - std::string OrganiserDataLanguage; - std::string OrganiserDataTokens; - - std::string RecurranceIDData; - std::string RecurranceIDDataTimeZoneParam; - std::string RecurranceIDDataRangeParam; - std::string RecurranceIDDataValue; - std::string RecurranceIDDataTokens; - - vector RelatedToData; - vector RelatedToDataRelationType; - vector RelatedToDataTokens; - - std::string URLData; - std::string URLDataTokens; - - vector ExcludeDateData; - vector ExcludeDateDataValue; - vector ExcludeDateDataTimeZoneParam; - vector ExcludeDateDataTokens; - - vector RecurranceDateData; - vector RecurranceDateDataValue; - vector RecurranceDateDataTimeZoneParam; - vector RecurranceDateDataTokens; - - std::string RecurranceRuleData; - std::string RecurranceRuleDataTokens; - - std::string TriggerDataList; - std::string TriggerDataValue; - std::string TriggerDataRelatedParam; - std::string TriggerDataTokens; - - std::string DateTimeCreatedData; - std::string DateTimeCreatedTokens; - - std::string DateTimeStampData; - std::string DateTimeStampTokens; - - std::string LastModifiedData; - std::string LastModifiedTokens; - - int SequenceData = -1; - std::string SequenceTokens; - - vector XTokensData; - vector XTokensDataTokens; - - vector RequestStatusData; - vector RequestStatusLanguage; - vector RequestStatusTokens; + vector relatedToData; + vector relatedToDataRelationType; + vector relatedToDataTokens; + + string urlData; + string urlDataTokens; + + vector excludeDateData; + vector excludeDateDataValue; + vector excludeDateDataTimeZoneParam; + vector excludeDateDataTokens; + + vector recurranceDateData; + vector recurranceDateDataValue; + vector recurranceDateDataTimeZoneParam; + vector recurranceDateDataTokens; + + string recurranceRuleData; + string recurranceRuleDataTokens; + + string triggerDataList; + string triggerDataValue; + string triggerDataRelatedParam; + string triggerDataTokens; + + string dateTimeCreatedData; + string dateTimeCreatedTokens; + + string dateTimeStampData; + string dateTimeStampTokens; + + string lastModifiedData; + string lastModifiedTokens; + + int sequenceData = -1; + string sequenceTokens; + + vector xTokensData; + vector xTokensDataTokens; + + vector requestStatusData; + vector requestStatusLanguage; + vector requestStatusTokens; + + vector calendarAlarmData; protected: // Initial Loading Data. - vector ObjectName; - vector ObjectData; - + vector objectName; + vector objectData; + + vector> eventAlarmName; + vector> eventAlarmData; + private: virtual void ProcessData() {};