X-Git-Url: http://Server1/repobrowser/?a=blobdiff_plain;f=source%2Fconnobject%2FConnectionObject.h;h=4ba84b87d06dc059b891675d77b0a5c521bc33aa;hb=207230fecdee2390ca3bfa41fc9ec33ea0e7886b;hp=90eb0cbee1132d749f76ffe1de71dd4950b52262;hpb=e86dce6341aec3d350835e18c3791a644a313030;p=xestiaab%2F.git diff --git a/source/connobject/ConnectionObject.h b/source/connobject/ConnectionObject.h index 90eb0cb..4ba84b8 100644 --- a/source/connobject/ConnectionObject.h +++ b/source/connobject/ConnectionObject.h @@ -16,12 +16,17 @@ // You should have received a copy of the GNU General Public License along // with Xestia Address Book. If not, see +#ifndef __CONNOBJECT_CONNECTIONOBJECT_H__ +#define __CONNOBJECT_CONNECTIONOBJECT_H__ + #include #include +#include enum COConnectResult { COCONNECT_UNITTESTFAIL = -1, COCONNECT_OK, + COCONNECT_SSLFAIL, COCONNECT_INVALID, COCONNECT_TIMEOUT, COCONNECT_AUTHFAIL @@ -34,6 +39,15 @@ enum CORequestResult { COREQUEST_ERROR_SERVER }; +enum COSSLVerified { + COSSL_UNITTESTFAIL = -1, + COSSL_VERIFIED, + COSSL_VERIFIED_USER, + COSSL_UNABLETOVERIFY, + COSSL_NOTAPPLICABLE, + COSSL_NORESULT +}; + struct COServerResponse { CORequestResult RequestResult; std::string EntityTag; @@ -61,10 +75,12 @@ class ConnectionObject{ // Virtual functions to be setup by the inheriting classes. - virtual void SetupConnectionObject() {}; - virtual ~ConnectionObject() {}; + virtual void SetupConnectionObject() { }; + //virtual ~ConnectionObject() {}; - virtual COConnectResult Connect() {}; + virtual bool IsTaskCompleted() {}; + + virtual COConnectResult Connect(bool DoAuthentication) {}; virtual std::string GetDefaultPrefix() {}; virtual COServerResponse AddContact(std::string Location, std::string Data) {}; @@ -76,9 +92,11 @@ class ConnectionObject{ virtual bool CanDoProcessing() {}; virtual bool CanDoSSL() {}; - virtual bool SSLVerify() {}; + virtual COSSLVerified SSLVerify() {}; virtual bool AbleToLogin() {}; virtual bool HasValidResponse() {}; + virtual bool IsSelfSigned() {}; + virtual std::string GetErrorMessage() {}; protected: // Test Mode. @@ -95,17 +113,19 @@ class ConnectionObject{ std::string ServerAccount = ""; bool ServerSSL = true; std::string ErrorMessage = ""; - std::string ErrorBufferMessage = ""; // Connect results. bool SSLStatus = false; - bool SSLVerified = false; + COSSLVerified SSLVerified = COSSL_NORESULT; bool ValidResponse = false; bool AuthPassed = false; bool CanProcess = false; bool SSLSelfSigned = false; + bool TaskCompleted = false; private: -}; \ No newline at end of file +}; + +#endif \ No newline at end of file