1 // ConnectionObject.h - ConnectionObject interface header file.
3 // (c) 2012-2015 Xestia Software Development.
5 // This file is part of Xestia Address Book.
7 // Xestia Address Book is free software: you can redistribute it and/or modify
8 // it under the terms of the GNU General Public License as published by the
9 // Free Software Foundation, version 3 of the license.
11 // Xestia Address Book is distributed in the hope that it will be useful,
12 // but WITHOUT ANY WARRANTY; without even the implied warranty of
13 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14 // GNU General Public License for more details.
16 // You should have received a copy of the GNU General Public License along
17 // with Xestia Address Book. If not, see <http://www.gnu.org/licenses/>
21 enum COConnectResult {
22 COCONNECT_UNITTESTFAIL = -1,
29 class ConnectionObject{
32 ConnectionObject(std::string ServerAddress, int ServerPort, std::string ServerUser, std::string ServerPass, bool ServerSSL);
33 ConnectionObject(std::string ServerAddress, int ServerPort, std::string ServerUser, std::string ServerPass, bool ServerSSL, std::string ServerPrefix, std::string ServerAccount);
35 // Virtual functions to be setup by the inheriting classes.
37 virtual void SetupConnectionObject() {};
38 virtual ~ConnectionObject() {};
40 virtual COConnectResult Connect() {};
42 virtual bool CanDoProcessing() {};
43 virtual bool CanDoSSL() {};
44 virtual bool SSLVerify() {};
45 virtual bool AbleToLogin() {};
46 virtual bool HasValidResponse() {};
47 virtual bool IsSelfSigned() {};
50 std::string ServerAddress = "";
51 unsigned int ServerPort = 8080;
52 std::string ServerUser = "";
53 std::string ServerPass = "";
54 std::string ServerPrefix = "";
55 std::string ServerAccount = "";
56 bool ServerSSL = true;
57 std::string ErrorMessage = "";
58 std::string ErrorBufferMessage = "";
59 bool TestMode = false;