X-Git-Url: http://Server1/repobrowser/?p=xestiacalendar%2F.git;a=blobdiff_plain;f=source%2Fobjects%2Fcalendarobject%2FCalendarObject.h;h=1b03eee5573b458d083a2b6f4c422d3993d00847;hp=1c700c4dad3712fc8d30e0d938eb8b3f34010c55;hb=49789773e2797383c866dca470fb99e80cb49e41;hpb=1278c332f6292bd961155ad45029144c8a806a1e diff --git a/source/objects/calendarobject/CalendarObject.h b/source/objects/calendarobject/CalendarObject.h index 1c700c4..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(string LoadFilename); - CalendarObjectLoadResult LoadString(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. - string MethodData; - 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; - string CalendarScaleData; - 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; - string UniqueID; - 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; - - 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; - - 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; - - string RecurranceIDData; - string RecurranceIDDataTimeZoneParam; - string RecurranceIDDataRangeParam; - string RecurranceIDDataValue; - string RecurranceIDDataTokens; - - 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 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() {};