Home | News | Projects | Releases
Bugs | RFE | Repositories | Help
CalDAV: Implemented Win32 support
[xestiacalendar/.git] / source / objects / CalDAV / CalDAV.h
index cd873d8..377f6ea 100644 (file)
 #include "../../common/sslcertstructs.h"
 #include "../../version.h"
 
+#if defined(__WIN32__)
+#include "../common/win32ssl.h"
+#endif
+
 using namespace std;
 
 // CalDAVConnectionData: used for
@@ -165,6 +169,8 @@ class CalDAV{
                void SetupDefaultParametersNonSSL(bool doAuthentication);
                void SetupDefaultParametersSSL(bool doAuthentication);
                void ResetResults();
+
+               static size_t CalDAVReceive(char *receivedBuffer, size_t size, size_t newMemoryBytes, void *stream);
        
                CalDAVConnectionData connectionData;
                CalDAVServerResult connectionServerResult;
@@ -181,6 +187,12 @@ class CalDAV{
                bool validResponse = false;
                bool authPassed = false;
                string errorMessage = "";
+
+#if defined(__APPLE__)
+               SecTrustRef certificateData = nullptr;
+#elif defined(__WIN32__)
+               PCCERT_CONTEXT certificateData = nullptr;
+#endif
        public:
                CalDAV();
                ~CalDAV();
@@ -242,6 +254,22 @@ class CalDAV{
                SSLCertCollectionString BuildSSLCollection();
 
 #endif
+
+               struct CalDAVPassObject {
+                       CalDAV *CalDAVObject = nullptr;
+                       std::string *DataSetting = nullptr;
+                       bool ServerUsingSSL = false;
+                       CURL *ConnectionSessionObject = nullptr;
+#if defined(__APPLE__)
+                       SecTrustRef SSLContext = nullptr;
+#elif defined (__WIN32__)
+                       PCCERT_CONTEXT SSLContext = nullptr;
+#endif
+               };
+
+               private:
+                       CalDAVPassObject PageDataObject;
+                       CalDAVPassObject PageHeaderObject;
 };
 
 // Subroutines that are used with the 
Xestia Software Development
Yn Maystri
© 2006 - 2019 Xestia Software Development
Software

Xestia Address Book
Xestia Calendar
Development

Xestia Gelforn
Everything else

About
News
Privacy Policy