+ private:
+ string ProcessXMLUserPrincipal();
+ string ProcessXMLCalendarHome();
+ CalDAVCalendarList ProcessXMLCalendarList();
+ bool MatchXMLNameTransverse(xmlNodePtr *NodePtr, string NodeName);
+ bool MatchXMLName(xmlNodePtr *NodePtrOriginal, string NodeName);
+ string FetchXMLData(xmlNodePtr *NodePtr);
+ CalDAVServerResult EditCalendarProcess(string *CalendarHREF,
+ string *CalendarName,
+ Colour *CalendarColour,
+ string *CalendarDescription,
+ int *CalendarOrder);
+
+ 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();
+
+ CalDAVServerResult AddCalendar(string CalendarName);
+
+ 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);