NewsClient.h 1.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748
  1. #pragma once
  2. #include "../Include/KSGNetwork.h"
  3. #include <Critical.h>
  4. namespace KSGClient
  5. {
  6. // Wird verwendet um News Oberflächen abzufragen (KSG Script Seiten)
  7. class NewsClient : public NewsServerClient
  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. public:
  19. // Konstruktor
  20. NewsClient(int klientId, unsigned short port, const char* ip, const char* key, unsigned char keyLen);
  21. // Destruktor
  22. ~NewsClient();
  23. // verbindet ich mit dem News Server
  24. // Gibt 1 zurück, falls der Vorgang erfolgreich ist, 0 sonnst
  25. bool verbinde() override;
  26. // Lädt eine KSG-Script Seite herunter uns speichert sie unter data/tmp/news/{name}
  27. // name: Der Name der Seite
  28. // Gibt 1 zurück, falls der Vorgang erfolgreich ist, 0 sonnst
  29. bool ladeSeite(const char* name) override;
  30. // Erhält die Verbindung aufrecht
  31. // Gibt 1 zurück, falls der Vorgang erfolgreich ist, 0 sonnst
  32. // Sollte während einer bestehenden Verbindung etwa einmal alle 60 Sekunden aufgerufen werden, da sonst der Router die Verbindung automatisch trennt
  33. bool keepAlive() override;
  34. // Trennt die Verbindung zum Server
  35. // Gibt 1 zurück, falls der Vorgang erfolgreich ist, 0 sonnst
  36. // Sollte erst nach einem erfolgreichen Aufruf von verbinde aufgerufen werden
  37. bool trenne(bool abmelden) override;
  38. // Gibt 1 zurück, falls der Client verbunden ist, 0 sonst
  39. bool istVerbunden() const override;
  40. // gibt den Letzten Fehlertext zuück
  41. // sollte erst aufgerufen werden, nachdem eine andere aufgerufene Methode fehlgeschlagen ist
  42. const char* getLetzterFehler() const override;
  43. };
  44. };