KartenClient.h 3.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970
  1. #pragma once
  2. #include "../Include/KSGNetwork.h"
  3. #include <Critical.h>
  4. namespace KSGClient
  5. {
  6. // Wird verwendet um die aktuellen versionen der Karten vor dem Spiel herunterzuladen
  7. // Kann nur von eingeloggten Clients verwendet werden
  8. class KartenClient : public KartenServerClient
  9. {
  10. private:
  11. int ref;
  12. Framework::Text ip;
  13. unsigned short port;
  14. int cId;
  15. Network::Klient *k;
  16. char *key;
  17. unsigned char keyLen;
  18. Framework::Critical cs;
  19. Framework::Text err;
  20. public:
  21. // Konstruktor
  22. KartenClient( int klientId, unsigned short port, char *ip, char *key, unsigned char keyLen );
  23. // Destruktor
  24. ~KartenClient();
  25. // verbindet sich mit dem zugewiesenen Karten Server
  26. // Gibt 1 zurück, falls der Vorgang erfolgreich ist, 0 sonnst
  27. bool verbinde() override;
  28. // lädt eine Karte herunter und speichert sie unter data/tmp/Karten/{id}/spiel
  29. // id: Die Id der Karte
  30. // Gibt 1 zurück, falls der Vorgang erfolgreich ist, 0 sonnst
  31. bool downloadKarte( int id ) override;
  32. // lädt das Titelbild Karte herunter und speichert es unter data/tmp/Karten/{id}/titel.ltdb
  33. // id: Die Id der Karte
  34. // Gibt 1 zurück, falls der Vorgang erfolgreich ist, 0 sonnst
  35. bool downloadKarteTitel( int id ) override;
  36. // lädt die Beschreibung Karte herunter und speichert sie unter data/tmp/Karten/{id}/beschreibung.ksgs
  37. // id: Die Id der Karte
  38. // Gibt 1 zurück, falls der Vorgang erfolgreich ist, 0 sonnst
  39. bool downloadKarteBeschreibung( int id ) override;
  40. // lädt die Minimap Karte herunter und speichert es unter data/tmp/Karten/{id}/minimap.ltdb
  41. // id: Die Id der Karte
  42. // Gibt 1 zurück, falls der Vorgang erfolgreich ist, 0 sonnst
  43. bool downloadKarteMinimap( int id ) override;
  44. // lädt das Ladebild Karte herunter und speichert es unter data/tmp/Karten/{id}/ladebild.ltdb
  45. // id: Die Id der Karte
  46. // Gibt 1 zurück, falls der Vorgang erfolgreich ist, 0 sonnst
  47. bool downloadKarteLadebild( int id ) override;
  48. // Erhält die Verbindung aufrecht
  49. // Gibt 1 zurück, falls der Vorgang erfolgreich ist, 0 sonnst
  50. // Sollte während einer bestehenden Verbindung etwa einmal alle 60 Sekunden aufgerufen werden, da sonst der Router die Verbindung automatisch trennt
  51. bool keepAlive() override;
  52. // Trennt die Verbindung zum Server
  53. // Gibt 1 zurück, falls der Vorgang erfolgreich ist, 0 sonnst
  54. // Sollte erst nach einem erfolgreichen Aufruf von verbinde aufgerufen werden
  55. bool trenne( bool abmelden ) override;
  56. // Gibt 1 zurück, falls der Client verbunden ist, 0 sonst
  57. bool istVerbunden() const override;
  58. // gibt den Letzten Fehlertext zuück
  59. // sollte erst aufgerufen werden, nachdem eine andere aufgerufene Methode fehlgeschlagen ist
  60. char *getLetzterFehler() const override;
  61. // Erhöht den Reference Counter um 1 un gibt this zurück
  62. KartenServerClient *getThis() override;
  63. // Verringert den Reference Counter um 1 und gibt 0 zurück.
  64. // Falls der Reference Counter nach dem Aufruf auf 0 ist löscht sich das Objekt selbst
  65. KartenServerClient *release() override;
  66. };
  67. }