Home | News | Projects | Releases
Bugs | RFE | Repositories | Help
Changed ConnectionObject and updated unit tests accordingly.
[xestiaab/.git] / source / connobject / ConnectionObject.h
index 90eb0cb..4ba84b8 100644 (file)
 // You should have received a copy of the GNU General Public License along
 // with Xestia Address Book. If not, see <http://www.gnu.org/licenses/>
 
+#ifndef __CONNOBJECT_CONNECTIONOBJECT_H__
+#define __CONNOBJECT_CONNECTIONOBJECT_H__
+
 #include <string>
 #include <vector>
+#include <iostream>
 
 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
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