Home | News | Projects | Releases
Bugs | RFE | Repositories | Help
Added COContactStatus enum and marked BuildSSLCollection as virtual
[xestiaab/.git] / source / connobject / ConnectionObject.h
index 4ba84b8..24f357f 100644 (file)
@@ -22,6 +22,7 @@
 #include <string>
 #include <vector>
 #include <iostream>
+#include "../common/sslcertstructs.h"
 
 enum COConnectResult {
        COCONNECT_UNITTESTFAIL = -1,
@@ -36,7 +37,7 @@ enum CORequestResult {
        COREQUEST_UNITTESTFAIL = -1,
        COREQUEST_OK,
        COREQUEST_ERROR_NOTCONNECTED,
-       COREQUEST_ERROR_SERVER
+       COREQUEST_ERROR_SERVER,
 };
 
 enum COSSLVerified {
@@ -48,6 +49,12 @@ enum COSSLVerified {
        COSSL_NORESULT
 };
 
+enum COContactStatus {
+       COCS_UNKNOWN,
+       COCS_UPDATED,
+       COCS_DELETED
+};
+
 struct COServerResponse {
        CORequestResult RequestResult;
        std::string EntityTag;
@@ -59,6 +66,7 @@ struct COServerResponse {
 struct COContactData {
        std::string Location;
        std::string Data;
+       COContactStatus Status = COCS_UNKNOWN;
 };
 
 struct COContactList {
@@ -81,13 +89,14 @@ class ConnectionObject{
                virtual bool IsTaskCompleted() {};
                
                virtual COConnectResult Connect(bool DoAuthentication) {};
+               virtual void BypassSSLVerification(bool EnableBypass) {};
                
-               virtual std::string GetDefaultPrefix() {};
+               virtual COServerResponse GetDefaultPrefix(std::string *ServerPrefix) {};
                virtual COServerResponse AddContact(std::string Location, std::string Data) {};
                virtual COServerResponse EditContact(std::string Location, std::string Data) {};
-               virtual COServerResponse DeleteContact(std::string Location, std::string EntityTag) {};
+               virtual COServerResponse DeleteContact(std::string Location) {};
                virtual COServerResponse GetServerEntityTagValue(std::string Location) {};
-               virtual COServerResponse GetContact(std::string Location) {};
+               virtual COServerResponse GetContact(std::string Location, std::string *PageData) {};
                virtual COContactList GetContactList(std::string SyncToken) {};
                
                virtual bool CanDoProcessing() {};
@@ -97,6 +106,15 @@ class ConnectionObject{
                virtual bool HasValidResponse() {};
                virtual bool IsSelfSigned() {};
                virtual std::string GetErrorMessage() {};
+       
+               // OS specific functions.
+               
+#if defined(__APPLE__)
+#elif defined(__WIN32__)
+#else
+               virtual SSLCertCollectionString BuildSSLCollection() {};
+
+#endif
                
        protected:
                // Test Mode.
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