Home | News | Projects | Releases
Bugs | RFE | Repositories | Help
Added more code and unit tests for ConnectionObject & FakeConnectionObject
[xestiaab/.git] / source / connobject / ConnectionObject.h
index c8d1466..90eb0cb 100644 (file)
@@ -17,6 +17,7 @@
 // with Xestia Address Book. If not, see <http://www.gnu.org/licenses/>
 
 #include <string>
+#include <vector>
 
 enum COConnectResult {
        COCONNECT_UNITTESTFAIL = -1,
@@ -26,6 +27,32 @@ enum COConnectResult {
        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<COContactData> ListData;
+       std::string SyncToken;
+};
+
 class ConnectionObject{
        
        public:
@@ -39,14 +66,27 @@ class 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() {};
-               virtual bool IsSelfSigned() {};
                
        protected:
+               // Test Mode.
+       
+               bool TestMode = false;
+       
+               // Server variables.
+       
                std::string ServerAddress = "";
                unsigned int ServerPort = 8080;
                std::string ServerUser = "";
@@ -56,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
Xestia Software Development
Yn Maystri
© 2006 - 2019 Xestia Software Development
Software

Xestia Address Book
Xestia Calendar
Development

Xestia Gelforn
Everything else

About
News
Privacy Policy