Home | News | Projects | Releases
Bugs | RFE | Repositories | Help
Added code and unit tests to FakeConnectionObject class
[xestiaab/.git] / source / connobject / ConnectionObject.h
1 // ConnectionObject.h - ConnectionObject interface header file.
2 //
3 // (c) 2012-2015 Xestia Software Development.
4 //
5 // This file is part of Xestia Address Book.
6 //
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.
10 //
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.
15 //
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/>
19 #include <string>
21 enum COConnectResult {
22         COCONNECT_UNITTESTFAIL = -1,
23         COCONNECT_OK,
24         COCONNECT_INVALID,
25         COCONNECT_TIMEOUT,
26         COCONNECT_AUTHFAIL
27 };
29 enum CORequestResult {
30         COREQUEST_UNITTESTFAIL = -1,
31         COREQUEST_OK,
32         COREQUEST_ERROR_NOTCONNECTED,
33         COREQUEST_ERROR_SERVER
34 };
36 struct COServerResponse {
37         CORequestResult RequestResult;
38         std::string EntityTag;
39         int ResultCode;
40         std::string ResultMessage;
41 };
43 class ConnectionObject{
44         
45         public:
46                 ConnectionObject(std::string ServerAddress, int ServerPort, std::string ServerUser, std::string ServerPass, bool ServerSSL);
47                 ConnectionObject(std::string ServerAddress, int ServerPort, std::string ServerUser, std::string ServerPass, bool ServerSSL, std::string ServerPrefix, std::string ServerAccount);
48         
49                 // Virtual functions to be setup by the inheriting classes.
50         
51                 virtual void SetupConnectionObject() {};
52                 virtual ~ConnectionObject() {};
53                 
54                 virtual COConnectResult Connect() {};
55                 
56                 virtual std::string GetDefaultPrefix() {};
57                 //virtual void SetupData(std::string Method, std::string Location, std::string Data) {};
58                 virtual COServerResponse AddContact(std::string Location, std::string Data) {};
59                 
60                 virtual bool CanDoProcessing() {};
61                 virtual bool CanDoSSL() {};
62                 virtual bool SSLVerify() {};
63                 virtual bool AbleToLogin() {};
64                 virtual bool HasValidResponse() {};
65                 
66         protected:
67                 // Test Mode.
68         
69                 bool TestMode = false;
70         
71                 // Server variables.
72         
73                 std::string ServerAddress = "";
74                 unsigned int ServerPort = 8080;
75                 std::string ServerUser = "";
76                 std::string ServerPass = "";
77                 std::string ServerPrefix = "";
78                 std::string ServerAccount = "";
79                 bool ServerSSL = true;
80                 std::string ErrorMessage = "";
81                 std::string ErrorBufferMessage = "";
82         
83                 // Connect results.
84         
85                 bool SSLStatus = false;
86                 bool SSLVerified = false;
87                 bool ValidResponse = false;
88                 bool AuthPassed = false;
89                 bool CanProcess = false;
90                 bool SSLSelfSigned = false;
91                 
92         private:
94 };
Xestia Software Development
Yn Maystri
© 2006 - 2019 Xestia Software Development
Software

Xestia Address Book
Xestia Calendar
Development

Xestia Gelforn
Everything else

About
News
Privacy Policy