X-Git-Url: http://Server1/repobrowser/?a=blobdiff_plain;f=source%2Fconnobject%2FConnectionObject.h;h=90eb0cbee1132d749f76ffe1de71dd4950b52262;hb=e86dce6341aec3d350835e18c3791a644a313030;hp=c668814a8cbe28328550f43e3b21e3c7430bb6e2;hpb=1a9e2a6862684d5bbd4a250019e72ec831429fe6;p=xestiaab%2F.git diff --git a/source/connobject/ConnectionObject.h b/source/connobject/ConnectionObject.h index c668814..90eb0cb 100644 --- a/source/connobject/ConnectionObject.h +++ b/source/connobject/ConnectionObject.h @@ -17,6 +17,41 @@ // with Xestia Address Book. If not, see #include +#include + +enum COConnectResult { + COCONNECT_UNITTESTFAIL = -1, + COCONNECT_OK, + COCONNECT_INVALID, + COCONNECT_TIMEOUT, + COCONNECT_AUTHFAIL +}; + +enum CORequestResult { + COREQUEST_UNITTESTFAIL = -1, + COREQUEST_OK, + COREQUEST_ERROR_NOTCONNECTED, + COREQUEST_ERROR_SERVER +}; + +struct COServerResponse { + CORequestResult RequestResult; + std::string EntityTag; + int SessionCode; + int ResultCode; + std::string ResultMessage; +}; + +struct COContactData { + std::string Location; + std::string Data; +}; + +struct COContactList { + COServerResponse ServerResponse; + std::vector ListData; + std::string SyncToken; +}; class ConnectionObject{ @@ -29,7 +64,29 @@ class ConnectionObject{ virtual void SetupConnectionObject() {}; virtual ~ConnectionObject() {}; + virtual COConnectResult Connect() {}; + + virtual std::string GetDefaultPrefix() {}; + 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) {}; + virtual COContactList GetContactList(std::string SyncToken) {}; + + virtual bool CanDoProcessing() {}; + virtual bool CanDoSSL() {}; + virtual bool SSLVerify() {}; + virtual bool AbleToLogin() {}; + virtual bool HasValidResponse() {}; + protected: + // Test Mode. + + bool TestMode = false; + + // Server variables. + std::string ServerAddress = ""; unsigned int ServerPort = 8080; std::string ServerUser = ""; @@ -39,7 +96,16 @@ class ConnectionObject{ bool ServerSSL = true; std::string ErrorMessage = ""; std::string ErrorBufferMessage = ""; - bool TestMode = false; + + // Connect results. + + bool SSLStatus = false; + bool SSLVerified = false; + bool ValidResponse = false; + bool AuthPassed = false; + bool CanProcess = false; + bool SSLSelfSigned = false; + private: }; \ No newline at end of file