LoginClient.h 2.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657
  1. #pragma once
  2. #include "../include/KSGNetwork.h"
  3. #include <Critical.h>
  4. namespace KSGClient
  5. {
  6. // Wird verwendet um sich einzuloggen oder auszuloggen
  7. class LoginClient : public LoginServerClient
  8. {
  9. private:
  10. Framework::Text ip;
  11. unsigned short port;
  12. int cId;
  13. Network::Klient* k;
  14. char* key;
  15. unsigned char keyLen;
  16. Framework::Critical cs;
  17. Framework::Text err;
  18. int accountId;
  19. public:
  20. // Konstruktor
  21. LoginClient(int klientId, unsigned short port, const char* ip, const char* key, unsigned char keyLen);
  22. // Destruktor
  23. ~LoginClient();
  24. // verbindet sich mit dem zugewiesenen Login Server
  25. // Gibt 1 zurück, falls der Vorgang erfolgreich ist, 0 sonnst
  26. bool verbinde() override;
  27. // Der Client wird beim Serversystem in einen Account eingeloggt
  28. // Gibt bei Erfolg 1 zurück, 2 falls en anderer Client in dem Account eingeloggt ist, 0 sonnst
  29. // Sollte erst nach einem erfolgreichen Aufruf von verbinde aufgerufen werden
  30. int login(const char* name, const char* pass) override;
  31. // Diese Funktion wird in der Zukunft mal implementiert werden. Mit dem Geheimnis des Accounts können so andere Clients, welche bereits in dem Account eingeloggt werden rausgeschmissen werden.
  32. bool kick(const char* name, const char* pass, const char* geheim) override;
  33. // logt den Account aus
  34. // Gibt 1 zurück, falls der Vorgang erfolgreich ist, 0 sonnst
  35. // sollte erst aufgerufen werden, nachdem ein erfolgreicher Aufruf von login erfolg ist
  36. bool logout() override;
  37. // Erhält die Verbindung aufrecht
  38. // Gibt 1 zurück, falls der Vorgang erfolgreich ist, 0 sonnst
  39. // Sollte während einer bestehenden Verbindung etwa einmal alle 60 Sekunden aufgerufen werden, da sonst der Router die Verbindung automatisch trennt
  40. bool keepAlive() override;
  41. // Trennt die Verbindung zum Server
  42. // Gibt 1 zurück, falls der Vorgang erfolgreich ist, 0 sonnst
  43. // Sollte erst nach einem erfolgreichen Aufruf von verbinde aufgerufen werden
  44. bool trenne(bool abmelden) override;
  45. // Gibt 1 zurück, falls der Client verbunden ist, 0 sonst
  46. bool istVerbunden() const override;
  47. // Gibt die Id des Accounts zurück, in den sich der Client eingeloggt hat.
  48. // sollte erst aufgerufen werden, nachdem ein erfolgreicher Aufruf von login erfolg ist
  49. int getAccountId() const override;
  50. // gibt den Letzten Fehlertext zuück
  51. // sollte erst aufgerufen werden, nachdem eine andere aufgerufene Methode fehlgeschlagen ist
  52. const char* getLetzterFehler() const override;
  53. };
  54. }