ErhaltungClient.h 1.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748
  1. #pragma once
  2. #include "../Include/KSGNetwork.h"
  3. #include <Critical.h>
  4. namespace KSGClient
  5. {
  6. class ErhaltungClient : public ErhaltungServerClient
  7. {
  8. private:
  9. Framework::Text ip;
  10. unsigned short port;
  11. int cId;
  12. Network::Klient *k;
  13. char *key;
  14. unsigned char keyLen;
  15. Framework::Critical cs;
  16. Framework::Text err;
  17. bool abmel;
  18. bool trenn;
  19. // DBeantwortet Ping - Anfragen des Servers. Falls diese 60 Sekunden lang unbeantwortet bleiben, wird der Client vom Serversystem abgemeldet
  20. void thread() override;
  21. public:
  22. // Konstruktor
  23. ErhaltungClient( int klientId, unsigned short port, char *ip, char *key, unsigned char keyLen );
  24. // Destruktor
  25. virtual ~ErhaltungClient();
  26. // verbindet ich mit dem Erhaltung Server
  27. // Gibt 1 zurück, falls der Vorgang erfolgreich ist, 0 sonnst
  28. bool verbinde() override;
  29. // Meldet sich beim Server ab und trennt die Verbindung
  30. void abmelden() override;
  31. // Trennt die Verbindung zum Server
  32. // Gibt 1 zurück, falls der Vorgang erfolgreich ist, 0 sonnst
  33. // Sollte erst nach einem erfolgreichen Aufruf von verbinde aufgerufen werden
  34. bool trenne() override;
  35. // gibt den Letzten Fehlertext zuück
  36. // sollte erst aufgerufen werden, nachdem eine andere aufgerufene Methode fehlgeschlagen ist
  37. char *getLetzterFehler() const override;
  38. // Erhöht den Reference Counter um 1 un gibt this zurück
  39. ErhaltungServerClient *getThis() override;
  40. // Verringert den Reference Counter um 1 und gibt 0 zurück.
  41. // Falls der Reference Counter nach dem Aufruf auf 0 ist löscht sich das Objekt selbst
  42. ErhaltungServerClient *release() override;
  43. };
  44. }