X-Git-Url: http://Server1/repobrowser/?a=blobdiff_plain;f=source%2Fconnobject%2FConnectionObject.h;h=e813aae7a8e2436a31830b930fb74506756e7051;hb=f69e09d827e06435ea94bb73aa71ab5f9d5c035b;hp=8e5221f246de60bf2ffb49a534d4e6805803939c;hpb=a578ed436123242f807cb59eae02fcf6c22e2458;p=xestiaab%2F.git diff --git a/source/connobject/ConnectionObject.h b/source/connobject/ConnectionObject.h index 8e5221f..e813aae 100644 --- a/source/connobject/ConnectionObject.h +++ b/source/connobject/ConnectionObject.h @@ -1,6 +1,6 @@ // ConnectionObject.h - ConnectionObject interface header file. // -// (c) 2012-2015 Xestia Software Development. +// (c) 2012-2016 Xestia Software Development. // // This file is part of Xestia Address Book. // @@ -24,6 +24,11 @@ #include #include "../common/sslcertstructs.h" +#if defined (__APPLE__) +#import +#import +#endif + #if defined (__WIN32__) #include #include @@ -40,7 +45,8 @@ enum COConnectResult { COCONNECT_SSLFAIL, COCONNECT_INVALID, COCONNECT_TIMEOUT, - COCONNECT_AUTHFAIL + COCONNECT_AUTHFAIL, + COCONNECT_NOCONNECTION, }; enum CORequestResult { @@ -48,6 +54,7 @@ enum CORequestResult { COREQUEST_OK, COREQUEST_ERROR_NOTCONNECTED, COREQUEST_ERROR_SERVER, + COREQUEST_NOCONNECTION, }; enum COSSLVerified { @@ -66,16 +73,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 +95,44 @@ 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); // 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__) + + virtual SecTrustRef BuildSSLCollection() { return nullptr; }; + #elif defined(__WIN32__) - virtual PCCERT_CONTEXT BuildSSLCollection() = 0; + virtual PCCERT_CONTEXT BuildSSLCollection() { return nullptr; }; #else - virtual SSLCertCollectionString BuildSSLCollection() = 0; + virtual SSLCertCollectionString BuildSSLCollection() {}; #endif @@ -159,4 +166,4 @@ class ConnectionObject{ }; -#endif \ No newline at end of file +#endif