NewsClient.h 2.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354
  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. int ref;
  11. Framework::Text ip;
  12. unsigned short port;
  13. int cId;
  14. Network::Klient *k;
  15. char *key;
  16. unsigned char keyLen;
  17. Framework::Critical cs;
  18. Framework::Text err;
  19. public:
  20. // Konstruktor
  21. NewsClient( int klientId, unsigned short port, char *ip, char *key, unsigned char keyLen );
  22. // Destruktor
  23. ~NewsClient();
  24. // verbindet ich mit dem News Server
  25. // Gibt 1 zurück, falls der Vorgang erfolgreich ist, 0 sonnst
  26. bool verbinde() override;
  27. // Lädt eine KSG-Script Seite herunter uns speichert sie unter data/tmp/news/{name}
  28. // name: Der Name der Seite
  29. // Gibt 1 zurück, falls der Vorgang erfolgreich ist, 0 sonnst
  30. bool ladeSeite( char *name ) override;
  31. // Erhält die Verbindung aufrecht
  32. // Gibt 1 zurück, falls der Vorgang erfolgreich ist, 0 sonnst
  33. // Sollte während einer bestehenden Verbindung etwa einmal alle 60 Sekunden aufgerufen werden, da sonst der Router die Verbindung automatisch trennt
  34. bool keepAlive() override;
  35. // Trennt die Verbindung zum Server
  36. // Gibt 1 zurück, falls der Vorgang erfolgreich ist, 0 sonnst
  37. // Sollte erst nach einem erfolgreichen Aufruf von verbinde aufgerufen werden
  38. bool trenne( bool abmelden ) override;
  39. // Gibt 1 zurück, falls der Client verbunden ist, 0 sonst
  40. bool istVerbunden() const override;
  41. // gibt den Letzten Fehlertext zuück
  42. // sollte erst aufgerufen werden, nachdem eine andere aufgerufene Methode fehlgeschlagen ist
  43. char *getLetzterFehler() const override;
  44. // Erhöht den Reference Counter um 1 un gibt this zurück
  45. NewsServerClient *getThis() override;
  46. // Verringert den Reference Counter um 1 und gibt 0 zurück.
  47. // Falls der Reference Counter nach dem Aufruf auf 0 ist löscht sich das Objekt selbst
  48. NewsServerClient *release() override;
  49. };
  50. };