+
+ virtual bool IsTaskCompleted() { return false; };
+
+ virtual COConnectResult Connect(bool DoAuthentication) { COConnectResult x; return x; };
+ virtual void BypassSSLVerification(bool EnableBypass) {};
+
+ virtual COServerResponse GetDefaultPrefix(std::string *ServerPrefix) { COServerResponse x; return x; };
+ virtual COServerResponse AddContact(std::string Location, std::string Data) { COServerResponse x; return x; };
+ virtual COServerResponse EditContact(std::string Location, std::string Data) { COServerResponse x; return x; };
+ virtual COServerResponse DeleteContact(std::string Location) { COServerResponse x; return x; };
+ virtual COServerResponse GetServerEntityTagValue(std::string Location) { COServerResponse x; return x; };
+ virtual COServerResponse GetContact(std::string Location, std::string *PageData) { COServerResponse x; return x; };
+ virtual COContactList GetContactList(std::string SyncToken) { COContactList x; return x; };
+
+ virtual bool CanDoProcessing() { return false; };
+ virtual bool CanDoSSL() { return false; };
+ virtual COSSLVerified SSLVerify() { COSSLVerified x; return x; };
+ virtual bool AbleToLogin() { return false; };
+ virtual bool HasValidResponse() { return false; };
+ virtual bool IsSelfSigned() { return false; };
+ virtual std::string GetErrorMessage() { return ""; };
+
+ // OS specific functions.
+
+#if defined(__APPLE__)
+
+ virtual SecTrustRef BuildSSLCollection() { return nullptr; };
+
+#elif defined(__WIN32__)
+
+ virtual PCCERT_CONTEXT BuildSSLCollection() { return nullptr; };
+
+#else
+ virtual SSLCertCollectionString BuildSSLCollection() {};
+
+#endif