#include <string>
#include <vector>
+#include <iostream>
+#include "../common/sslcertstructs.h"
enum COConnectResult {
COCONNECT_UNITTESTFAIL = -1,
COCONNECT_OK,
+ COCONNECT_SSLFAIL,
COCONNECT_INVALID,
COCONNECT_TIMEOUT,
COCONNECT_AUTHFAIL
COREQUEST_UNITTESTFAIL = -1,
COREQUEST_OK,
COREQUEST_ERROR_NOTCONNECTED,
- COREQUEST_ERROR_SERVER
+ COREQUEST_ERROR_SERVER,
};
enum COSSLVerified {
COSSL_NORESULT
};
+enum COContactStatus {
+ COCS_UNKNOWN,
+ COCS_UPDATED,
+ COCS_DELETED
+};
+
struct COServerResponse {
CORequestResult RequestResult;
std::string EntityTag;
struct COContactData {
std::string Location;
std::string Data;
+ COContactStatus Status = COCS_UNKNOWN;
};
struct COContactList {
// Virtual functions to be setup by the inheriting classes.
- virtual void SetupConnectionObject() {};
+ virtual void SetupConnectionObject() { };
//virtual ~ConnectionObject() {};
virtual bool IsTaskCompleted() {};
- virtual COConnectResult Connect() {};
+ virtual COConnectResult Connect(bool DoAuthentication) {};
+ virtual void BypassSSLVerification(bool EnableBypass) {};
- virtual std::string GetDefaultPrefix() {};
+ 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 DeleteContact(std::string Location) {};
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 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
+ virtual SSLCertCollectionString BuildSSLCollection() {};
+
+#endif
protected:
// Test Mode.
std::string ServerAccount = "";
bool ServerSSL = true;
std::string ErrorMessage = "";
- std::string ErrorBufferMessage = "";
// Connect results.