Home | News | Projects | Releases
Bugs | RFE | Repositories | Help
Added copyright and license headers on C++ source and header files in the carddav...
[xestiaab/.git] / source / carddav / carddav.h
index fd1068a..6fed60d 100644 (file)
@@ -1,3 +1,21 @@
+// carddav.h - CardDAV Object header file.
+//
+// (c) 2012-2015 Xestia Software Development.
+//
+// This file is part of Xestia Address Book.
+//
+// Xestia Address Book is free software: you can redistribute it and/or modify
+// it under the terms of the GNU General Public License as published by the
+// Free Software Foundation, version 3 of the license.
+//
+// Xestia Address Book is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License along
+// with Xestia Address Book. If not, see <http://www.gnu.org/licenses/>
+
 #include <iostream>
 #include <map>
 #include <wx/wx.h>
@@ -21,6 +39,12 @@ struct ContactListData{
        std::map<wxString,FileSyncData> ListData;
 };
 
+struct UploadDataStruc{
+       wxString *readptr;
+       long sizeleft;
+       int seek = 0;
+};
+
 /*struct CertificateData{
        std::multimap<wxString,wxString> CertificateData;
        bool CertValid;
@@ -38,6 +62,7 @@ struct CertificateCollection{
 
 size_t WritebackFunc(char *ptr, size_t size, size_t nmemb, wxString *userdata);
 int ProgressFunc(void *clientdata, double TTDown, double NDown, double TTUp, double NUp);
+size_t UploadReadFunc(void *ptr, size_t size, size_t nmemb, void *userdata);
 
 class CardDAV
 {
@@ -51,7 +76,9 @@ class CardDAV
                bool SSLVerify();
                bool AbleToLogin();
                bool HasValidResponse();
-               wxString GetResponseData();             
+               bool IsSelfSigned();
+               wxString GetResponseData();
+               void AllowSelfSignTest(bool AllowSelfSignIn);           
                bool Connect();
                bool ConnectThread();
                void ProcessData();
@@ -79,6 +106,12 @@ class CardDAV
                static SSLCertCollection BuildSSLCollection(CURL *conn);
                wxString ETagValueResult();
                wxString GetErrorMessage();
+       
+               // SSL Verification tests when connecting.
+
+               static CURLcode SSLVerifyTest();
+               static SSLCertCollection GetSSLVerifyResults();
+
                //size_t WritebackFunc(char *ptr, size_t size, size_t nmemb, FILE *userdata);
        private:
                static wxString ServerAddress;
@@ -110,6 +143,8 @@ class CardDAV
                static char curlerrbuffer[CURL_ERROR_SIZE];
                static SSLCertCollection SSLCertCol;
                static wxString ErrorMessage;
+               static wxString ErrorBufferMessage;
+               static bool AllowSelfSign;
        protected:
                static int SSLErrorCode;
                static int ConnectionErrorCode;
@@ -117,6 +152,7 @@ class CardDAV
                static wxString PageData;
                static CURLcode claconncode;
                static int HTTPErrorCode;
+               static SSLCertCollection VerifyCertCollection;
                                
 };
 
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