X-Git-Url: http://Server1/repobrowser/?a=blobdiff_plain;f=source%2Fobjects%2FCalDAV%2FCalDAV.h;h=d52754165707734407340d7ae94fffa0f96b2d41;hb=7f11c54cda362572e6d7bfe277d5ecd41de84532;hp=31e5c3b7df163a0016d7b381b4b541bd0620c1d4;hpb=731991ccc529af88d8b90bedfbec2e3541bc46e1;p=xestiacalendar%2F.git diff --git a/source/objects/CalDAV/CalDAV.h b/source/objects/CalDAV/CalDAV.h index 31e5c3b..d527541 100644 --- a/source/objects/CalDAV/CalDAV.h +++ b/source/objects/CalDAV/CalDAV.h @@ -21,6 +21,9 @@ #include #include +#include +#include +#include using namespace std; @@ -29,17 +32,20 @@ using namespace std; enum CalDAVQueryResult { CALDAVQUERYRESULT_UNITTESTFAIL = -1, - CALDAVQUERYRESULT_OK + CALDAVQUERYRESULT_OK, + CALDAVQUERYRESULT_NOTRUN, + CALDAVQUERYRESULT_SERVERERROR }; struct CalDAVConnectionData{ - string Hostname; - int Port; - string Username; - string Password; - string Prefix; - bool UseSSL; + string Hostname = ""; + int Port = 8008; + string Username = ""; + string Password = ""; + string Prefix = ""; + bool UseSSL = true; + int Timeout = 60; }; @@ -55,9 +61,22 @@ struct CalDAVStatus{ string Username; string Prefix; bool UseSSL; + int Timeout; }; +// CalDAVServerSupport: used for +// getting what the server supports +// from the CalDAV specification. + +struct CalDAVServerSupport{ + + // Variable name. Name in CalDAV header. + + bool BasicSupport = false; // calendar-access + +}; + // CalDAVServerResult: used for // getting the result of the // request made via the CalDAV @@ -65,13 +84,27 @@ struct CalDAVStatus{ struct CalDAVServerResult{ + CalDAVQueryResult Result = CALDAVQUERYRESULT_NOTRUN; + CURLcode Code = CURLE_OK; + long HTTPCode = 0; - }; class CalDAV{ + private: + CalDAVConnectionData ConnectionData; + CURL *ConnectionHandle = nullptr; + string ServerData = ""; + string ServerHeader = ""; + public: + void SetupConnectionData(CalDAVConnectionData *ConnData); + CalDAVStatus GetConnectionData(); + CalDAVServerResult Connect(); + CalDAVServerSupport GetServerSupport(); + CalDAV(); + ~CalDAV(); }; @@ -79,5 +112,6 @@ class CalDAV{ // CalDAVConnectionData struct. bool CalDAVObjectValidSettings(CalDAVConnectionData *ConnData); +string BuildServerAddress(CalDAVConnectionData *ConnData, string URIAddress); #endif