// You should have received a copy of the GNU General Public License along
// with Xestia Address Book. If not, see <http://www.gnu.org/licenses/>
+#ifndef __CONNOBJECT_CONNECTIONOBJECT_H__
+#define __CONNOBJECT_CONNECTIONOBJECT_H__
+
#include <string>
+#include <vector>
enum COConnectResult {
COCONNECT_UNITTESTFAIL = -1,
COREQUEST_ERROR_SERVER
};
+enum COSSLVerified {
+ COSSL_UNITTESTFAIL = -1,
+ COSSL_VERIFIED,
+ COSSL_VERIFIED_USER,
+ COSSL_UNABLETOVERIFY,
+ COSSL_NOTAPPLICABLE,
+ COSSL_NORESULT
+};
+
struct COServerResponse {
CORequestResult RequestResult;
std::string EntityTag;
+ int SessionCode;
int ResultCode;
std::string ResultMessage;
};
+struct COContactData {
+ std::string Location;
+ std::string Data;
+};
+
+struct COContactList {
+ COServerResponse ServerResponse;
+ std::vector<COContactData> ListData;
+ std::string SyncToken;
+};
+
class ConnectionObject{
public:
// Virtual functions to be setup by the inheriting classes.
virtual void SetupConnectionObject() {};
- virtual ~ConnectionObject() {};
+ //virtual ~ConnectionObject() {};
+
+ virtual bool IsTaskCompleted() {};
virtual COConnectResult Connect() {};
virtual std::string GetDefaultPrefix() {};
- //virtual void SetupData(std::string Method, std::string Location, std::string Data) {};
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 GetServerEntityTagValue(std::string Location) {};
+ virtual COServerResponse GetContact(std::string Location) {};
+ virtual COContactList GetContactList(std::string SyncToken) {};
virtual bool CanDoProcessing() {};
virtual bool CanDoSSL() {};
- virtual bool SSLVerify() {};
+ virtual COSSLVerified SSLVerify() {};
virtual bool AbleToLogin() {};
virtual bool HasValidResponse() {};
// Connect results.
bool SSLStatus = false;
- bool SSLVerified = false;
+ COSSLVerified SSLVerified = COSSL_NORESULT;
bool ValidResponse = false;
bool AuthPassed = false;
bool CanProcess = false;
bool SSLSelfSigned = false;
+ bool TaskCompleted = false;
private:
-};
\ No newline at end of file
+};
+
+#endif
\ No newline at end of file