#include <map>
#include "../../common/text.h"
+#include "../../version.h"
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<string> AttendeeList;
+ vector<string> AttendeeListMember;
+ vector<string> AttendeeListDelegatedFrom;
+ vector<string> AttendeeListDelegatedTo;
+ vector<string> AttendeeListRole;
+ vector<string> AttendeeListRSVP;
+ vector<string> AttendeeListDirectoryEntry;
+ vector<string> AttendeeListSentBy;
+ vector<string> AttendeeListCommonName;
+ vector<string> AttendeeListCalendarUserType;
+ vector<string> AttendeeListParticipationStatus;
+ vector<string> AttendeeListLanguage;
+ vector<string> AttendeeListTokens;
+
+ string DurationData;
+ string DurationTokens;
+
+ vector<string> AttachList;
+ vector<string> AttachListTokens;
+ vector<string> AttachListEncoding;
+ vector<string> AttachListFormatType;
+ vector<string> AttachListValue;
+
+ vector<string> XTokensData;
+ vector<string> XTokensDataTokens;
+
};
class CalendarObject{
public:
CalendarObjectLoadResult LoadFile(string LoadFilename);
CalendarObjectLoadResult LoadString(string *LoadStringData);
+ CalendarObjectSaveResult SaveFile(string SaveFilename);
+ CalendarObjectSaveResult SaveString(string *SaveStringData);
CalendarObjectValidResult ValidBaseObject();
void ProcessBaseData();
virtual CalendarObjectValidResult ValidObject() { return CALENDAROBJECTVALID_OK; };
virtual void Clear() {};
+ virtual void SaveObjectData(string *SaveData) {};
// Object data.
vector<string> RequestStatusLanguage;
vector<string> RequestStatusTokens;
+ vector<CalendarAlarmDataStruct> CalendarAlarmData;
+
protected:
// Initial Loading Data.
vector<string> ObjectName;
vector<string> ObjectData;
-
+
+ vector<vector<string>> EventAlarmName;
+ vector<vector<string>> EventAlarmData;
+
private:
virtual void ProcessData() {};