- virtual bool CanDoProcessing() {};
- virtual bool CanDoSSL() {};
- virtual COSSLVerified SSLVerify() {};
- virtual bool AbleToLogin() {};
- virtual bool HasValidResponse() {};
+ virtual bool CanDoProcessing() = 0;
+ virtual bool CanDoSSL() = 0;
+ virtual COSSLVerified SSLVerify() = 0;
+ virtual bool AbleToLogin() = 0;
+ virtual bool HasValidResponse() = 0;
+ virtual bool IsSelfSigned() = 0;
+ virtual std::string GetErrorMessage() = 0;
+
+ // OS specific functions.
+
+#if defined(__APPLE__)
+
+ virtual SecTrustRef BuildSSLCollection() = 0;
+
+#elif defined(__WIN32__)
+
+ virtual PCCERT_CONTEXT BuildSSLCollection() = 0;
+
+#else
+ virtual SSLCertCollectionString BuildSSLCollection() = 0;
+
+#endif