Home | News | Projects | Releases
Bugs | RFE | Repositories | Help
Implemented support using ConnectionObject/CardDAV2 on Win32 systems.
[xestiaab/.git] / source / connobject / ConnectionObject.h
index 8e5221f..d2ccf5c 100644 (file)
@@ -40,7 +40,8 @@ enum COConnectResult {
        COCONNECT_SSLFAIL,
        COCONNECT_INVALID,
        COCONNECT_TIMEOUT,
-       COCONNECT_AUTHFAIL
+       COCONNECT_AUTHFAIL,
+       COCONNECT_NOCONNECTION,
 };
 
 enum CORequestResult {
@@ -48,6 +49,7 @@ enum CORequestResult {
        COREQUEST_OK,
        COREQUEST_ERROR_NOTCONNECTED,
        COREQUEST_ERROR_SERVER,
+       COREQUEST_NOCONNECTION,
 };
 
 enum COSSLVerified {
@@ -66,16 +68,16 @@ enum COContactStatus {
 };
 
 struct COServerResponse {
-       CORequestResult RequestResult;
-       std::string EntityTag;
-       int SessionCode;
-       int ResultCode;
-       std::string ResultMessage;
+       CORequestResult RequestResult = COREQUEST_NOCONNECTION;
+       std::string EntityTag = "";
+       int SessionCode = 0;
+       int ResultCode = 0;
+       std::string ResultMessage = "";
 };
 
 struct COContactData {
-       std::string Location;
-       std::string Data;
+       std::string Location = "";
+       std::string Data = "";
        COContactStatus Status = COCS_UNKNOWN;
 };
 
@@ -88,44 +90,43 @@ struct COContactList {
 class ConnectionObject{
        
        public:
-               ConnectionObject(std::string ServerAddress, int ServerPort, std::string ServerUser, std::string ServerPass, bool ServerSSL);
-               ConnectionObject(std::string ServerAddress, int ServerPort, std::string ServerUser, std::string ServerPass, bool ServerSSL, std::string ServerPrefix, std::string ServerAccount);
+               //ConnectionObject(std::string ServerAddress, int ServerPort, std::string ServerUser, std::string ServerPass, bool ServerSSL);
+               //ConnectionObject(std::string ServerAddress, int ServerPort, std::string ServerUser, std::string ServerPass, bool ServerSSL, std::string ServerPrefix, std::string ServerAccount);
 
                // Virtual functions to be setup by the inheriting classes.
        
-               virtual void SetupConnectionObject() = 0;
-               //virtual ~ConnectionObject() {};
+               virtual void SetupConnectionObject() {};
                
-               virtual bool IsTaskCompleted() = 0;
+               virtual bool IsTaskCompleted() { return false; };
                
-               virtual COConnectResult Connect(bool DoAuthentication) = 0;
-               virtual void BypassSSLVerification(bool EnableBypass) = 0;
+               virtual COConnectResult Connect(bool DoAuthentication) { COConnectResult x; return x; };
+               virtual void BypassSSLVerification(bool EnableBypass) {};
                
-               virtual COServerResponse GetDefaultPrefix(std::string *ServerPrefix) = 0;
-               virtual COServerResponse AddContact(std::string Location, std::string Data) = 0;
-               virtual COServerResponse EditContact(std::string Location, std::string Data) = 0;
-               virtual COServerResponse DeleteContact(std::string Location) = 0;
-               virtual COServerResponse GetServerEntityTagValue(std::string Location) = 0;
-               virtual COServerResponse GetContact(std::string Location, std::string *PageData) = 0;
-               virtual COContactList GetContactList(std::string SyncToken) = 0;
+               virtual COServerResponse GetDefaultPrefix(std::string *ServerPrefix) { COServerResponse x; return x; };
+               virtual COServerResponse AddContact(std::string Location, std::string Data) { COServerResponse x; return x; };
+               virtual COServerResponse EditContact(std::string Location, std::string Data) { COServerResponse x; return x; };
+               virtual COServerResponse DeleteContact(std::string Location) { COServerResponse x; return x; };
+               virtual COServerResponse GetServerEntityTagValue(std::string Location) { COServerResponse x; return x; };
+               virtual COServerResponse GetContact(std::string Location, std::string *PageData) { COServerResponse x; return x; };
+               virtual COContactList GetContactList(std::string SyncToken) { COContactList x; return x; };
                
-               virtual bool CanDoProcessing() = 0;
-               virtual bool CanDoSSL() = 0;
-               virtual COSSLVerified SSLVerify() = 0;
-               virtual bool AbleToLogin() = 0;
-               virtual bool HasValidResponse() = 0;
-               virtual bool IsSelfSigned() = 0;
-               virtual std::string GetErrorMessage() = 0;
+               virtual bool CanDoProcessing() { return false;  };
+               virtual bool CanDoSSL() { return false; };
+               virtual COSSLVerified SSLVerify() { COSSLVerified x; return x; };
+               virtual bool AbleToLogin() { return false; };
+               virtual bool HasValidResponse() { return false; };
+               virtual bool IsSelfSigned() { return false; };
+               virtual std::string GetErrorMessage() { return ""; };
        
                // OS specific functions.
                
 #if defined(__APPLE__)
 #elif defined(__WIN32__)
 
-               virtual PCCERT_CONTEXT BuildSSLCollection() = 0;
+               virtual PCCERT_CONTEXT BuildSSLCollection() { return nullptr; };
 
 #else
-               virtual SSLCertCollectionString BuildSSLCollection() = 0;
+               virtual SSLCertCollectionString BuildSSLCollection() {};
 
 #endif
                
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