Home | News | Projects | Releases
Bugs | RFE | Repositories | Help
Added CalendarScaleData/CalendarScaleTokens for CALSCALE
[xestiacalendar/.git] / source / objects / calendarobject / CalendarObject.h
index 96c3771..142ef2f 100644 (file)
@@ -3,6 +3,12 @@
 #include <fstream>
 #include <sstream>
 #include <vector>
+#include <stdexcept>
+#include <map>
+
+#include "../../common/text.h"
+
+using namespace std;
 
 enum CalendarObjectLoadResult {
     CALENDAROBJECTLOAD_UNITTESTFAIL = -1,
@@ -24,18 +30,203 @@ class CalendarObject{
        CalendarObjectLoadResult LoadFile(std::string LoadFilename);
        CalendarObjectLoadResult LoadString(std::string *LoadStringData);
        CalendarObjectValidResult ValidBaseObject();
+       void ProcessBaseData();
        
        // Setup virtual subroutines for use by objects
        // inheriting from CalendarObject later on.
        
        virtual CalendarObjectValidResult ValidObject() { return CALENDAROBJECTVALID_OK; };
        virtual void Clear() {};
-       virtual void ProcessData() {};
+       
+       // Object data.
+       
+       std::string MethodData;
+       std::string MethodTokens;
+       
+       std::string CalendarScaleData;
+       std::string CalendarScaleTokens;
+       
+       std::string UniqueID;
+       std::string UniqueIDTokens;
+       
+       vector<std::string> AttachList;
+       vector<std::string> AttachListTokens;
+       vector<std::string> AttachListEncoding;
+       vector<std::string> AttachListValue;
+       
+       vector<std::string> CategoriesList;
+       vector<std::string> CategoriesListLanguage;
+       vector<std::string> CateogriesListTokens;
+       
+       std::string ClassData;
+       std::string ClassListTokens;
+       
+       vector<std::string> CommentList;
+       vector<std::string> CommentListAltID;
+       vector<std::string> CommentListLanguage;
+       vector<std::string> CommentListTokens;
+       
+       vector<std::string> DescriptionList;
+       vector<std::string> DescriptionListAltID;
+       vector<std::string> DescriptionListLanguage;
+       vector<std::string> DescriptionListTokens;
+       
+       std::string GeographicData;
+       std::string GeographicTokens;
+       
+       std::string LocationData;
+       std::string LocationDataAltID;
+       
+       std::string PercentCompleteData;
+       std::string PercentCompleteTokens;
+       
+       int PriorityData;
+       std::string PriorityTokens;
+       
+       vector<std::string> ResourcesData;
+       vector<std::string> ResourcesDataAltID;
+       vector<std::string> ResourcesDataLanguage;
+       vector<std::string> ResourcesDataTokens;
+
+       std::string StatusData;
+       std::string StatusTokens;
+       
+       std::string SummaryData;
+       std::string SummaryDataAltID;
+       std::string SummaryDataLanguage;
+       std::string SummaryDataTokens;
+       
+       std::string DataTimeEndData;
+       std::string DataTimeEndDataValue;
+       std::string DataTimeEndDataTimeZoneID;
+       std::string DataTimeEndDataTokens;
+
+       std::string DueData;
+       std::string DueDataValue;
+       std::string DueDataTimeZoneID;
+       std::string DueDataTokens;
+
+       std::string DataTimeStartData;
+       std::string DataTimeStartDataValue;
+       std::string DataTimeStartDataTimeZoneID;
+       std::string DataTimeStartDataTokens;
+
+       std::string DurationData;
+       std::string DurationDataTokens;
+
+       vector<std::string> FreeBusyList;
+       vector<std::string> FreeBusyListType;
+       vector<std::string> FreeBusyListTokens;
+
+       std::string TimeTransparencyData;
+       std::string TimeTransparencyDataTokens;
+       
+       std::string TimeZoneData;
+       std::string TimeZoneDataTokens;
+       
+       vector<std::string> TimeZoneNameList;
+       vector<std::string> TimeZoneNameListLanguage;
+       vector<std::string> TimeZoneNameListTokens;
+       
+       std::string TimeZoneOffsetFromData;
+       std::string TimeZoneOffsetFromDataTokens;
+
+       std::string TimeZoneOffsetToData;
+       std::string TimeZoneOffsetToDataTokens;
+
+       std::string TimeZoneURLData;
+       std::string TimeZoneURLTokens;
+
+       vector<std::string> AttendeeList;
+       vector<std::string> AttendeeListMember;
+       vector<std::string> AttendeeListDelegatedFrom;
+       vector<std::string> AttendeeListDelegatedTo;
+       vector<std::string> AttendeeListRole;
+       vector<std::string> AttendeeListRSVP;
+       vector<std::string> AttendeeListDirectoryEntry;
+       vector<std::string> AttendeeListSentBy;
+       vector<std::string> AttendeeListCommonName;
+       vector<std::string> AttendeeListCalendarUserType;
+       vector<std::string> AttendeeListParticipationStatus;
+       vector<std::string> AttendeeListLanguage;
+       vector<std::string> AttendeeListTokens;
+
+       vector<std::string> ContactList;
+       vector<std::string> ContactListAltID;
+       vector<std::string> ContactListLanguage;
+       vector<std::string> 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 RecurranceIDDataValue;
+       std::string RecurranceIDDataTokens;
+       
+       vector<std::string> RelatedToData;
+       vector<std::string> RelatedToDataRelationType;
+       vector<std::string> RelatedToDataTokens;
+       
+       std::string URLData;
+       std::string URLDataTokens;
+
+       vector<std::string> ExcludeDateData;
+       vector<std::string> ExcludeDateDataValue;
+       vector<std::string> ExcludeDateDataTimeZoneParam;
+       vector<std::string> ExcludeDateDataTokens;
+       
+       vector<std::string> RecurranceDateData;
+       vector<std::string> RecurranceDateDataValue;
+       vector<std::string> RecurranceDateDataTimeZoneParam;
+       vector<std::string> RecurranceDateDataTokens;
+       
+       std::string RecurranceRuleData;
+       std::string RecurranceRuleDataFrequency;
+       std::string RecurranceRuleDataCount;
+       std::string RecurranceRuleDataInterval;
+       std::string RecurranceRuleDataUntil;
+       std::string RecurranceRuleDataMonth;
+       std::string RecurranceRuleDataWeekStarting;
+       std::string RecurranceRuleDataWeekByDay;
+       std::string RecurranceRuleDataWeekByMonthDay;
+       std::string RecurranceRuleDataWeekByWeekNumber;
+       std::string RecurranceRuleDataWeekBySetPosition;
+       
+       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;
+
+       std::string SequenceData;
+       std::string SequenceTokens;
+
+       vector<std::string> XTokensData;
+       vector<std::string> XTokensDataTokens;
+
+       vector<std::string> RequestStatusData;
+       vector<std::string> RequestStatusLanguage;
+       vector<std::string> RequestStatusTokens;
        
        protected:
-               
+       // Initial Loading Data.
+       vector<std::string> ObjectName;
+       vector<std::string> ObjectData;
+
        private:
-       std::vector<std::string> ObjectName;
-       std::vector<std::string> ObjectData;
+       virtual void ProcessData() {};
   
 };
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