MainClient.h 3.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384
  1. #pragma once
  2. #include "../Include/KSGNetwork.h"
  3. #include <Critical.h>
  4. namespace KSGClient
  5. {
  6. class MainClient : public MainServerClient
  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. public:
  18. // Konstruktor
  19. MainClient();
  20. MainClient(const char* ip, unsigned short port, int klientId, const char* key, unsigned char keyLen);
  21. // Destruktor
  22. ~MainClient();
  23. // Meldet den neuen Client beim Serversystem an. Durch diesen Vorgang erhält der Client eine Id und den Port und die Ip Addresse des Main Servers
  24. bool registerSSL(const char* ip, unsigned short port) override;
  25. // Verbindet den Client mit dem Server
  26. // Wird automatisch aufgerufen, falls eine Methode aufgerufen wird, die eine Verbindung erfordert. In diesem Fall wird die Verbindung auch automatisch wieder getrennt.
  27. bool connect() override;
  28. // Erzeugt einen Erhaltungs Server Client
  29. // Gibt bei misserfolg 0 zurück
  30. ErhaltungServerClient* createErhaltungServerClient() override;
  31. // Erzeugt einen Patch Server Client
  32. // Gibt bei misserfolg 0 zurück
  33. PatchServerClient* createPatchServerClient() override;
  34. // Erzeugt einen News Server Client
  35. // Gibt bei misserfolg 0 zurück
  36. NewsServerClient* createNewsServerClient() override;
  37. // Erzeugt einen Register Server Client
  38. // Gibt bei misserfolg 0 zurück
  39. RegisterServerClient* createRegisterServerClient() override;
  40. // Erzeugt einen Login Server Client
  41. // Gibt bei misserfolg 0 zurück
  42. LoginServerClient* createLoginServerClient() override;
  43. // Erzeugt einen Information Server Client
  44. // Gibt bei misserfolg 0 zurück
  45. InformationServerClient* createInformationServerClient() override;
  46. // Erzeugt einen Chat Server Client
  47. // Gibt bei misserfolg 0 zurück
  48. ChatServerClient* createChatServerClient() override;
  49. // Erzeugt einen Shop Server Client
  50. // Gibt bei misserfolg 0 zurück
  51. ShopServerClient* createShopServerClient() override;
  52. // Erzeugt einen Anmeldung Server Client
  53. // Gibt bei misserfolg 0 zurück
  54. AnmeldungServerClient* createAnmeldungServerClient() override;
  55. // Erzeugt einen Minigame Server Client
  56. // Gibt bei misserfolg 0 zurück
  57. MinigameServerClient* createMinigameServerClient() override;
  58. // Trennt die Verbindung zum Server. Muss nur aufgerufen werden, wenn vorher manuell connect aufgerufen wurde
  59. bool disconnect() override;
  60. // Meldet den Client vom Server ab. Alle zuvor von diesem Client erzeugten Clients werden durch diesen Vorgang unbrauchbar
  61. bool unregister() override;
  62. // Gibt die dem Client zugewiesene Id zurück.
  63. // sollte erst nach dem Aufruf von registerSSL verwendet werden.
  64. int getClientId() const override;
  65. // Gibt die Ip Adresse des dem Client zugewiesenen Main Servers zurück.
  66. // sollte erst nach dem Aufruf von registerSSL verwendet werden.
  67. const char* getServerIp() const override;
  68. // Gibt den Port des dem Client zugewiesenen Main Servers zurück.
  69. // sollte erst nach dem Aufruf von registerSSL verwendet werden.
  70. unsigned short getServerPort() const override;
  71. // Gibt den Zeiger auf den Schlüssel zurück
  72. // sollte erst nach dem Aufruf von registerSSL verwendet werden.
  73. const char* zKey() const override;
  74. // Gibt die Länge des Schlüssels zurück
  75. // sollte erst nach dem Aufruf von registerSSL verwendet werden.
  76. unsigned char getKeyLen() const override;
  77. // gibt den Letzten Fehlertext zuück
  78. // sollte erst aufgerufen werden, nachdem eine andere aufgerufene Methode fehlgeschlagen ist
  79. const char* getLetzterFehler() const override;
  80. };
  81. }