PatchClient.h 2.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960
  1. #pragma once
  2. #include "../Include/KSGNetwork.h"
  3. #include <Critical.h>
  4. namespace KSGClient
  5. {
  6. class PatchClient : public PatchServerClient
  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. PatchClient(int klientId, unsigned short port, const char* ip, const char* key, unsigned char keyLen);
  20. // Destruktor
  21. ~PatchClient();
  22. // verbindet ich mit dem Patch Server
  23. // Gibt 1 zurück, falls der Vorgang erfolgreich ist, 0 sonnst
  24. bool verbinde() override;
  25. // Gibt eine Tabelle von Dateigruppen zurück.
  26. // Gibt bei misserfolg 0 zurück
  27. Framework::KSGTDatei* getDateiGruppenListe() override;
  28. // Gibt eine Tabelle von Dateien zurück.
  29. // gruppe: Die Id der Dateigruppe, zu der die Dateien gehöhren sollen
  30. // Gibt bei misserfolg 0 zurück
  31. Framework::KSGTDatei* getDateiListe(int gruppe) override;
  32. // Gibt die Größe einer Datei in bytes zurück
  33. // gruppe: Die Id der Dateigruppe der Datei
  34. // pfad: Der Pfad der Datei
  35. __int64 getDateiGröße(int gruppe, const char* pfad) override;
  36. // Lädt eine Datei herunter
  37. // gruppe: Die Dateigruppe der Datei
  38. // start: Der Index des bytes, bei dem der download begonnen werden soll (Enthält im Falle eines Abbruchs die Position, von welcher aus als nächstes heruntergeladen werden muss)
  39. // pfad: Der Pfad der Datei
  40. // zielPfad: Der Pfad, an den die Datei gespeichert werden soll
  41. // zFb: Ein Fortschrittsbalken, der automatisch aktualisiert wird
  42. // abbruch: Wenn diese Variable während des Vorgangs auf 1 gesetzt wird, so wird das Herunterladen abgebrochen.
  43. // maxbps: Die Anzahl der bytes pro Sekunde, die maximal übertragen werden sollen
  44. bool downloadDatei(int gruppe, __int64* start, const char* pfad, const char* zielPfad, Framework::FBalken* zFb, bool* abbruch, int maxbps) override;
  45. // Trennt die Verbindung zum Server
  46. // Gibt 1 zurück, falls der Vorgang erfolgreich ist, 0 sonnst
  47. // Sollte erst nach einem erfolgreichen Aufruf von verbinde aufgerufen werden
  48. bool trenne(bool abmelden) override;
  49. // Gibt 1 zurück, falls der Client verbunden ist, 0 sonst
  50. bool istVerbunden() const override;
  51. // Gibt die Anzahl von übertragenen Bytes seit dem letzten Aufruf zurück
  52. int getDownload() const override;
  53. // gibt den Letzten Fehlertext zuück
  54. // sollte erst aufgerufen werden, nachdem eine andere aufgerufene Methode fehlgeschlagen ist
  55. const char* getLetzterFehler() const override;
  56. };
  57. }