#pragma once #include "../Include/KSGNetwork.h" #include namespace KSGClient { class PatchClient : public PatchServerClient { private: Framework::Text ip; unsigned short port; int cId; Network::Klient* k; char* key; unsigned char keyLen; Framework::Critical cs; Framework::Text err; public: // Konstruktor PatchClient(int klientId, unsigned short port, const char* ip, const char* key, unsigned char keyLen); // Destruktor ~PatchClient(); // verbindet ich mit dem Patch Server // Gibt 1 zurück, falls der Vorgang erfolgreich ist, 0 sonnst bool verbinde() override; // Gibt eine Tabelle von Dateigruppen zurück. // Gibt bei misserfolg 0 zurück Framework::KSGTDatei* getDateiGruppenListe() override; // Gibt eine Tabelle von Dateien zurück. // gruppe: Die Id der Dateigruppe, zu der die Dateien gehöhren sollen // Gibt bei misserfolg 0 zurück Framework::KSGTDatei* getDateiListe(int gruppe) override; // Gibt die Größe einer Datei in bytes zurück // gruppe: Die Id der Dateigruppe der Datei // pfad: Der Pfad der Datei __int64 getDateiGröße(int gruppe, const char* pfad) override; // Lädt eine Datei herunter // gruppe: Die Dateigruppe der Datei // 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) // pfad: Der Pfad der Datei // zielPfad: Der Pfad, an den die Datei gespeichert werden soll // zFb: Ein Fortschrittsbalken, der automatisch aktualisiert wird // abbruch: Wenn diese Variable während des Vorgangs auf 1 gesetzt wird, so wird das Herunterladen abgebrochen. // maxbps: Die Anzahl der bytes pro Sekunde, die maximal übertragen werden sollen bool downloadDatei(int gruppe, __int64* start, const char* pfad, const char* zielPfad, Framework::FBalken* zFb, bool* abbruch, int maxbps) override; // Trennt die Verbindung zum Server // Gibt 1 zurück, falls der Vorgang erfolgreich ist, 0 sonnst // Sollte erst nach einem erfolgreichen Aufruf von verbinde aufgerufen werden bool trenne(bool abmelden) override; // Gibt 1 zurück, falls der Client verbunden ist, 0 sonst bool istVerbunden() const override; // Gibt die Anzahl von übertragenen Bytes seit dem letzten Aufruf zurück int getDownload() const override; // gibt den Letzten Fehlertext zuück // sollte erst aufgerufen werden, nachdem eine andere aufgerufene Methode fehlgeschlagen ist const char* getLetzterFehler() const override; }; }