#include <fstream>
#include <sstream>
#include <vector>
+#include <stdexcept>
+#include <map>
+
+#include "../../common/text.h"
using namespace std;
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() {};
- protected:
- // Initial Loading Data.
- vector<std::string> ObjectName;
- vector<std::string> ObjectData;
-
// 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> AttachListFormatType;
vector<std::string> AttachListValue;
vector<std::string> CategoriesList;
vector<std::string> CategoriesListLanguage;
- vector<std::string> CateogriesListTokens;
+ vector<std::string> CategoriesListTokens;
std::string ClassData;
- std::string ClassListTokens;
+ std::string ClassDataTokens;
vector<std::string> CommentList;
- vector<std::string> CommentListAltID;
+ vector<std::string> CommentListAltRep;
vector<std::string> CommentListLanguage;
vector<std::string> CommentListTokens;
vector<std::string> DescriptionList;
- vector<std::string> DescriptionListAltID;
+ vector<std::string> DescriptionListAltRep;
vector<std::string> DescriptionListLanguage;
vector<std::string> DescriptionListTokens;
std::string GeographicTokens;
std::string LocationData;
- std::string LocationDataAltID;
+ std::string LocationDataAltRep;
+ std::string LocationDataLanguage;
+ std::string LocationDataTokens;
std::string PercentCompleteData;
std::string PercentCompleteTokens;
- int PriorityData;
+ int PriorityData = -1;
std::string PriorityTokens;
- std::string ResourcesData;
- std::string ResourcesDataAltID;
- std::string ResourcesDataLanguage;
- std::string ResourcesDataTokens;
+ vector<std::string> ResourcesData;
+ vector<std::string> ResourcesDataAltRep;
+ vector<std::string> ResourcesDataLanguage;
+ vector<std::string> ResourcesDataTokens;
std::string StatusData;
+ std::string StatusLanguage;
std::string StatusTokens;
std::string SummaryData;
- std::string SummaryDataAltID;
+ std::string SummaryDataAltRep;
std::string SummaryDataLanguage;
std::string SummaryDataTokens;
- std::string DataTimeEndData;
- std::string DataTimeEndDataValue;
- std::string DataTimeEndDataTimeZoneID;
- std::string DataTimeEndDataTokens;
+ 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 DataTimeStartData;
- std::string DataTimeStartDataValue;
- std::string DataTimeStartDataTimeZoneID;
- std::string DataTimeStartDataTokens;
+ std::string DateTimeStartData;
+ std::string DateTimeStartDataValue;
+ std::string DateTimeStartDataTimeZoneID;
+ std::string DateTimeStartDataTokens;
std::string DurationData;
std::string DurationDataTokens;
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> ContactListAltRep;
+ 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 RecurranceIDDataRangeParam;
+ 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 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<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:
virtual void ProcessData() {};