#pragma once #include "../Include/KSGNetwork.h" #include namespace KSGClient { // Wird verwendet um Statistiken und Aufzeichnungen von vergangenen Spielen abzufragen // Kann nur von eingeloggten Clients verwendet werden class HistorieClient : public HistorieServerClient { private: Framework::Text ip; unsigned short port; int cId; Network::Klient* k; char* key; unsigned char keyLen; Framework::Critical cs; Framework::Text err; int spielId; protected: // verbindet sich mit dem zugewiesenen Historie Server // Gibt 1 zurück, falls der Vorgang erfolgreich ist, 0 sonnst bool verbinde() 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; public: // Konstruktor HistorieClient(int klientId, unsigned short port, const char* ip, const char* key, unsigned char keyLen, int spielId); // Destruktor ~HistorieClient(); // Lädt die Spiel Aufzeichnung eines Spiels herunter und speichert sie unter data/tmp/historie/{spielId} // Die Spielid wurde dem Objekt zum Zeitpunkt der Erstellung vom Information Server mitgegeben // Gibt 1 zurück, falls der Vorgang erfolgreich ist, 0 sonnst // Diese Funktion verbindet sich selbstständig mit dem Server und trennt die Verbindung nach Beendigung des Vorgangs bool downloadSpielHistorie() override; // gibt den Letzten Fehlertext zuück // sollte erst aufgerufen werden, nachdem eine andere aufgerufene Methode fehlgeschlagen ist const char* getLetzterFehler() const override; }; }