#pragma once #include "../Include/KSGNetwork.h" #include namespace KSGClient { class ErhaltungClient : public ErhaltungServerClient { private: Framework::Text ip; unsigned short port; int cId; Network::Klient *k; char *key; unsigned char keyLen; Framework::Critical cs; Framework::Text err; bool abmel; bool trenn; // DBeantwortet Ping - Anfragen des Servers. Falls diese 60 Sekunden lang unbeantwortet bleiben, wird der Client vom Serversystem abgemeldet void thread() override; public: // Konstruktor ErhaltungClient( int klientId, unsigned short port, char *ip, char *key, unsigned char keyLen ); // Destruktor virtual ~ErhaltungClient(); // verbindet ich mit dem Erhaltung Server // Gibt 1 zurück, falls der Vorgang erfolgreich ist, 0 sonnst bool verbinde() override; // Meldet sich beim Server ab und trennt die Verbindung void abmelden() override; // Trennt die Verbindung zum Server // Gibt 1 zurück, falls der Vorgang erfolgreich ist, 0 sonnst // Sollte erst nach einem erfolgreichen Aufruf von verbinde aufgerufen werden bool trenne() override; // gibt den Letzten Fehlertext zuück // sollte erst aufgerufen werden, nachdem eine andere aufgerufene Methode fehlgeschlagen ist char *getLetzterFehler() const override; // Erhöht den Reference Counter um 1 un gibt this zurück Thread *getThis() override; // Verringert den Reference Counter um 1 und gibt 0 zurück. // Falls der Reference Counter nach dem Aufruf auf 0 ist löscht sich das Objekt selbst Thread *release() override; }; }