X-Git-Url: http://Server1/repobrowser/?a=blobdiff_plain;f=source%2Fconnobject%2FConnectionObject.h;h=6685b702b7be8dd8a150f618042fecb0215dcea9;hb=d269801e3d32dbbea14af5f261190ef097635fce;hp=90eb0cbee1132d749f76ffe1de71dd4950b52262;hpb=e86dce6341aec3d350835e18c3791a644a313030;p=xestiaab%2F.git
diff --git a/source/connobject/ConnectionObject.h b/source/connobject/ConnectionObject.h
index 90eb0cb..6685b70 100644
--- a/source/connobject/ConnectionObject.h
+++ b/source/connobject/ConnectionObject.h
@@ -16,12 +16,18 @@
// 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
+#include "../common/sslcertstructs.h"
enum COConnectResult {
COCONNECT_UNITTESTFAIL = -1,
COCONNECT_OK,
+ COCONNECT_SSLFAIL,
COCONNECT_INVALID,
COCONNECT_TIMEOUT,
COCONNECT_AUTHFAIL
@@ -31,7 +37,16 @@ enum CORequestResult {
COREQUEST_UNITTESTFAIL = -1,
COREQUEST_OK,
COREQUEST_ERROR_NOTCONNECTED,
- COREQUEST_ERROR_SERVER
+ COREQUEST_ERROR_SERVER,
+};
+
+enum COSSLVerified {
+ COSSL_UNITTESTFAIL = -1,
+ COSSL_VERIFIED,
+ COSSL_VERIFIED_USER,
+ COSSL_UNABLETOVERIFY,
+ COSSL_NOTAPPLICABLE,
+ COSSL_NORESULT
};
struct COServerResponse {
@@ -61,24 +76,38 @@ 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 std::string GetDefaultPrefix() {};
+ virtual COConnectResult Connect(bool DoAuthentication) {};
+ virtual void BypassSSLVerification(bool EnableBypass) {};
+
+ virtual COServerResponse GetDefaultPrefix(std::string *ServerPrefix) {};
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 COServerResponse GetContact(std::string Location, std::string *PageData) {};
virtual COContactList GetContactList(std::string SyncToken) {};
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() {};
+
+ // OS specific functions.
+
+#if defined(__APPLE__)
+#elif defined(__WIN32__)
+#else
+ SSLCertCollectionString BuildSSLCollection() {};
+
+#endif
protected:
// Test Mode.
@@ -95,17 +124,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