X-Git-Url: http://Server1/repobrowser/?a=blobdiff_plain;f=source%2Fconnobject%2FConnectionObject.h;h=d2ccf5c5231ec6e1f30e1ded4841c9d0754174e4;hb=547ab1fe605cdb4884179ab011dabba4d0bd7bc2;hp=6685b702b7be8dd8a150f618042fecb0215dcea9;hpb=d269801e3d32dbbea14af5f261190ef097635fce;p=xestiaab%2F.git diff --git a/source/connobject/ConnectionObject.h b/source/connobject/ConnectionObject.h index 6685b70..d2ccf5c 100644 --- a/source/connobject/ConnectionObject.h +++ b/source/connobject/ConnectionObject.h @@ -24,13 +24,24 @@ #include #include "../common/sslcertstructs.h" +#if defined (__WIN32__) +#include +#include +#include +#include +#include +#include +#include +#endif + enum COConnectResult { COCONNECT_UNITTESTFAIL = -1, COCONNECT_OK, COCONNECT_SSLFAIL, COCONNECT_INVALID, COCONNECT_TIMEOUT, - COCONNECT_AUTHFAIL + COCONNECT_AUTHFAIL, + COCONNECT_NOCONNECTION, }; enum CORequestResult { @@ -38,6 +49,7 @@ enum CORequestResult { COREQUEST_OK, COREQUEST_ERROR_NOTCONNECTED, COREQUEST_ERROR_SERVER, + COREQUEST_NOCONNECTION, }; enum COSSLVerified { @@ -49,17 +61,24 @@ enum COSSLVerified { COSSL_NORESULT }; +enum COContactStatus { + COCS_UNKNOWN, + COCS_UPDATED, + COCS_DELETED +}; + 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; }; struct COContactList { @@ -71,41 +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() { }; - //virtual ~ConnectionObject() {}; + virtual void SetupConnectionObject() {}; - virtual bool IsTaskCompleted() {}; + virtual bool IsTaskCompleted() { return false; }; - virtual COConnectResult Connect(bool DoAuthentication) {}; + virtual COConnectResult Connect(bool DoAuthentication) { COConnectResult x; return x; }; virtual void BypassSSLVerification(bool EnableBypass) {}; - 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 GetServerEntityTagValue(std::string Location) {}; - virtual COServerResponse GetContact(std::string Location, std::string *PageData) {}; - virtual COContactList GetContactList(std::string SyncToken) {}; + 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() {}; - virtual bool CanDoSSL() {}; - virtual COSSLVerified SSLVerify() {}; - virtual bool AbleToLogin() {}; - virtual bool HasValidResponse() {}; - virtual bool IsSelfSigned() {}; - virtual std::string GetErrorMessage() {}; + 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() { return nullptr; }; + #else - SSLCertCollectionString BuildSSLCollection() {}; + virtual SSLCertCollectionString BuildSSLCollection() {}; #endif