// ConnectionObject.h - ConnectionObject interface header file.
//
// (c) 2012-2015 Xestia Software Development.
//
// This file is part of Xestia Address Book.
//
// Xestia Address Book is free software: you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by the
// Free Software Foundation, version 3 of the license.
//
// Xestia Address Book is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details.
//
// You should have received a copy of the GNU General Public License along
// with Xestia Address Book. If not, see
#include
enum COConnectResult {
COCONNECT_UNITTESTFAIL = -1,
COCONNECT_OK,
COCONNECT_INVALID,
COCONNECT_TIMEOUT,
COCONNECT_AUTHFAIL
};
class ConnectionObject{
public:
ConnectionObject(std::string ServerAddress, int ServerPort, std::string ServerUser, std::string ServerPass, bool ServerSSL);
ConnectionObject(std::string ServerAddress, int ServerPort, std::string ServerUser, std::string ServerPass, bool ServerSSL, std::string ServerPrefix, std::string ServerAccount);
// Virtual functions to be setup by the inheriting classes.
virtual void SetupConnectionObject() {};
virtual ~ConnectionObject() {};
virtual COConnectResult Connect() {};
virtual bool CanDoProcessing() {};
virtual bool CanDoSSL() {};
virtual bool SSLVerify() {};
virtual bool AbleToLogin() {};
virtual bool HasValidResponse() {};
virtual bool IsSelfSigned() {};
protected:
std::string ServerAddress = "";
unsigned int ServerPort = 8080;
std::string ServerUser = "";
std::string ServerPass = "";
std::string ServerPrefix = "";
std::string ServerAccount = "";
bool ServerSSL = true;
std::string ErrorMessage = "";
std::string ErrorBufferMessage = "";
bool TestMode = false;
private:
};