+ CalDAVConnectionData ConnectionData;
+ CalDAVServerResult ConnectionServerResult;
+ CURL *ConnectionHandle = nullptr;
+ string ServerData = "";
+ string ServerHeader = "";
+
+ public:
+ CalDAV();
+ ~CalDAV();
+ void SetupConnectionData(CalDAVConnectionData *ConnData);
+ CalDAVStatus GetConnectionData();
+ CalDAVServerResult Connect();
+ CalDAVServerResult GetServerResult();
+ CalDAVServerSupport GetServerSupport();
+ CalDAVCalendarList GetCalendars();
+ CalDAVEntryList GetEntryList(string *CalendarHREF);
+ CalDAVEntryList GetEntryList(string *CalendarHREF, string *CalendarTag);
+
+ CalDAVServerResult AddCalendar(string CalendarName);
+ CalDAVServerResult AddCalendar(string *CalendarName, string *CalendarShortName);
+
+ CalDAVServerResult EditCalendar(string *CalendarHREF,
+ string *CalendarName,
+ Colour *CalendarColour,
+ string *CalendarDescription,
+ int *CalendarOrder);
+ CalDAVServerResult EditCalendar(string *CalendarHREF,
+ Colour *CalendarColour);
+ CalDAVServerResult EditCalendar(string *CalendarHREF,
+ string *CalendarName);
+ CalDAVServerResult EditCalendar(string *CalendarHREF,
+ int *CalendarOrder);
+ CalDAVServerResult EditCalendarDescription(string *CalendarHREF,
+ string *CalendarDescription);
+
+ CalDAVServerResult DeleteCalendar(string *CalendarHREF);
+
+ CalDAVServerResult AddEntry(string *CalendarEntryHREF, string *EntryData);
+ CalDAVServerResult EditEntry(string *CalendarEntryHREF, string *EntryData, string *EntryETag);
+ CalDAVServerResult DeleteEntry(string *CalendarEntryHREF);
+
+ string GetUserPrincipal();
+ string GetCalendarHome(string UserPrincipalURI);
+
+ CalDAVServerResult GetEntryETag(string *CalendarEntryHREF, string *ETagValue);