X-Git-Url: http://Server1/repobrowser/?p=xestiaab%2F.git;a=blobdiff_plain;f=source%2Fconnobject%2FConnectionObject.h;h=b8d82d34ff6d9e6338f0a1ccb9be4717c903aef1;hp=d2ccf5c5231ec6e1f30e1ded4841c9d0754174e4;hb=f2f4ddfdf1b569af4578bda527d5329f6ccffa98;hpb=547ab1fe605cdb4884179ab011dabba4d0bd7bc2 diff --git a/source/connobject/ConnectionObject.h b/source/connobject/ConnectionObject.h index d2ccf5c..b8d82d3 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 @@ -90,43 +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() {}; + virtual void SetupConnectionObject() = 0; - virtual bool IsTaskCompleted() { return false; }; + virtual bool IsTaskCompleted() = 0; - virtual COConnectResult Connect(bool DoAuthentication) { COConnectResult x; return x; }; - virtual void BypassSSLVerification(bool EnableBypass) {}; + virtual COConnectResult Connect(bool DoAuthentication) = 0; + virtual void BypassSSLVerification(bool EnableBypass) = 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 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 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 ""; }; + 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; // OS specific functions. #if defined(__APPLE__) + + virtual SecTrustRef BuildSSLCollection() = 0; + #elif defined(__WIN32__) - virtual PCCERT_CONTEXT BuildSSLCollection() { return nullptr; }; + virtual PCCERT_CONTEXT BuildSSLCollection() = 0; #else - virtual SSLCertCollectionString BuildSSLCollection() {}; + virtual SSLCertCollectionString BuildSSLCollection() = 0; #endif @@ -160,4 +166,4 @@ class ConnectionObject{ }; -#endif \ No newline at end of file +#endif