123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232 |
- #pragma once
- #include "../Include/KSGNetwork.h"
- #include <Critical.h>
- namespace KSGClient
- {
- // Wird verwendet um informationen über Accounts abzufragen
- // Kann nur von eingeloggten Clients verwendet werden
- class InformationClient : public InformationServerClient
- {
- 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
- InformationClient(int klientId, unsigned short port, const char* ip, const char* key, unsigned char keyLen);
- // Destruktor
- ~InformationClient();
- // verbindet ich mit dem zugewiesenen Informaion Server
- // Gibt 1 zurück, falls der Vorgang erfolgreich ist, 0 sonnst
- bool verbinde() override;
- // fragt nach dem Informationstext
- // Gibt 1 zurück, falls der Vorgang erfolgreich ist, 0 sonnst
- // txt: Ein Zeiger auf ein Text Objekt, welches bei einem erfolgreichen Aufruf den Informationstext enthält
- // typ: ein Zeieger auf ein Integer, welches bei einem erfolgreichen Aufruf den Typ der Information enthält
- bool getInformationText(Framework::Text* txt, int* typ) override;
- // fragt, ob das entsprechende Spiel vom Server gesperrt wurde
- // spielId: Die Id des Spiels
- // Gibt 1 zurück, falls das Spiel gespielt werden darf, 0 sonnst
- bool istSpielErlaubt(int spielId) override;
- // fragt, ob die entsprechende Karte vom Server gesperrt wurde
- // karteId: Die Id der Karte
- // Gibt 1 zurück, falls die Karte gespielt werden darf, 0 sonnst
- bool istKarteErlaubt(int karteId) override;
- // Ermittelt die Id einer Karte
- // name: Der Name der Karte
- // Gibt bei misserfolg 0 zurück
- int getKarteId(const char* name) override;
- // Fragt nach der Id eines Spiels
- // name: Der Name des Spiels
- // Gibt bei misserfolg 0 zurück
- int getSpielId(const char* name) override;
- // fragt nach dem Namen eines Accounts
- // accountId: Die Id des Accounts
- // Gibt bei misserfolg 0 zurück
- Framework::Text* getSpielerName(int accountId) override;
- // fragt nach der Spiel Statistik eines Accounts
- // accountId: Die Id des Accounts
- // spielId: Die Id des Spiels
- // werte: Nach erfolgreichem Aufruf enthält die Liste die Statistik werte (gespielt, gewonnen, verloren, punkte, bw0, bw1, bw2, bw3, bw4, bw5)
- bool getSpielStatistik(int accountId, int spielId, Framework::Array< int >* werte) override;
- // fragt nach dem Namen einer Karte
- // karteId: Die id der Karte
- // Gibt bei misserfolg 0 zurück
- Framework::Text* getKarteName(int karteId) override;
- // fragt nach dem Namen eines Spiels
- // spielId: Die id des Spiels
- // Gibt bei misserfolg 0 zurück
- Framework::Text* getSpielName(int spielId) override;
- // fragt nach dem Namen eines Chatrooms
- // chatroomId: Die id des Chatrooms
- // Gibt bei misserfolg 0 zurück
- Framework::Text* getChatroomName(int chatroomId) override;
- // fragt zu welcher Spielart die Karte gehört
- // karteId: Die id der Karte
- // Gibt bei misserfolg 0 zurück
- int getSpielId(int karteId) override;
- // gibt die Id eines Accounts zurück
- // name: Der Angezeigte Name des Accounts
- // Gibt bei misserfolg 0 zurück
- int getAccountId(const char* name) override;
- // gibt die Id des Chatrooms zurück
- // name: Der name des Chatrooms
- // Gibt bei misserfolg 0 zurück
- int getChatroomId(const char* name) override;
- // gibt die karten Id zurück, zu dem eine Gruppe erstellt wurde
- // gruppenId: Die id der Gruppe
- // Gibt bei misserfolg 0 zurück
- int getGruppenKarteId(int gruppenId) override;
- // gibt 1 zurück, wenn zu einer Gruppe Spieler hinzugefügt werden können, 0 sonnst
- // gruppeId: Die id der Gruppe
- bool getGruppeSpielerHinzufügen(int gruppeId) override;
- // gibt die Account Id des Gruppen Administrators zurück
- // gruppeId: Die Id der Gruppe
- // Gibt bei misserfolg 0 zurück
- int getGruppeAdminId(int gruppeId) override;
- // gibt die Punkte eines Spielers zurück
- // accountId: Die Accont Id des Spielers
- // spielId: Die Id des Spiels
- // Gibt bei misserfolg 0 zurück
- int getSpielerPunkte(int accountId, int spielId) override;
- // gibt eine Liste mit Ids von gekauften Spielen zurück
- // Gibt bei misserfolg 0 zurück
- Framework::Array< int >* getAccountSpielArtListe() override;
- // gibt die neuste Version eines Spiels zurück
- // spielId: Die Id des Spiels
- // Gibt bei misserfolg 0 zurück
- int getSpielVersion(int spielId) override;
- // gibt das Kupfer des Accounts zurück
- // Gibt bei misserfolg 0 zurück
- int getKupfer() override;
- // Gibt die Dateigruppem Id eines Spieles zurück
- // spielId: Die Id des Spiels
- // Gibt bei misserfolg 0 zurück
- int getDateiGruppeIdVonSpiel(int spielId) override;
- // Gibt den Dateigruppen Pfad zurück
- // dgId: Die Id der Dateigruppe
- // Gibt bei misserfolg 0 zurück
- Framework::Text* getDateiGruppePfad(int dgId) override;
- // gibt eine Liste mit gekauften Karten zurück
- // spielId: Die Spiel Id zu der die Karten gehören sollen
- // Gibt bei misserfolg 0 zurück
- Framework::Array< int >* getAccountKarteListe(int spielId) override;
- // Gibt die Dateigruppen Id eines Pfades zurück
- // pfad: Der Pfad der Dateigruppe
- // Gibt bei misserfolg 0 zurück
- int getDateiGruppeIdVonPfad(const char* pfad) override;
- // gibt die neuste Version einer Dateigruppe zurück
- // dg: Die Dateigruppen Id
- // Gibt bei misserfolg 0 zurück
- int getDateiGruppeVersion(int dg) override;
- // Gibt eine Liste Mit Accounts zurück, die einen bestimmten Text im Namen haben und bestimmt Sortiert ist
- // suche: Der Text, der in den Namen enthalten sein soll
- // seite: Die gewünschte Seite der Tabelle (enthält nach einem Erfolgreichen Aufruf die korrekte Seite)
- // maxSeite: Enthält nach erfolgreichem Aufruf die Maximale Seite
- // sortSpalte: Die Spalte, nach der Sortiert werden soll
- // rückwärts: 1:=Rückwärtzt Sortierung, 0:=Vorwärts Sortierung
- // accounts: Enthält nach erfolgreichem Aufruf die Daten der Accounts
- // Gibt die Anzahl der gefundenen Accounts zurück
- // Gibt die Anzahl der Spieler zurück, -1 bei fehler
- int getSpielerListe(const char* suche, int* seite, int* maxSeite, char sortSpalte, char rückwärts, Framework::Array< AccountInfo >* accounts) override;
- // ermittelt die aktivität eines Spielers
- // accId: Die Id des Accounts
- // info: Enthält nach erfolgreichem Aufruf die Aktivitätsinformationen der letzten 30 Tage
- bool getSpielerAktivität(int accId, Framework::Array< AccountActivityInfo >* info) override;
- // Gibt zurück, wie oft ein Spieler eine Karte schon gespielt hat
- // account: Die Id des Accounts
- // karte: Die Id der Karte
- int getAccountKarteSpiele(int account, int karte) override;
- // Gibt zurück, wie oft ein Spieler eine Karte schon gewonnen hat
- // account: Die Id des Accounts
- // karte: Die Id der Karte
- int getAccountKarteSpieleGewonnen(int account, int karte) override;
- // Gibt zurück, ob ein Spieler die Karte im Besitz hat
- // account: Die Id des Accounts
- // karte: Die Id der Karte
- bool hatAccountKarte(int account, int karte) override;
- // Gibt zurück, ob ein Spieler ein Spiel im Besitz hat
- // account: Die Id des Accounts
- // spiel: Die Id des Spiels
- bool hatAccountSpiel(int account, int spiel) override;
- // gibt eine Liste mit Ids von Karten zurück, die von einem Spieler bereits gespielt wurden
- // account: Die Id des Accounts
- // spiel: Die Id des Spiels
- // Gibt bei misserfolg 0 zurück
- Framework::Array< int >* getAccountKarteGespieltListe(int account, int spielId) override;
- // gibt eine Liste mit Ids von Spielen zurück, die von einem Spieler bereits gespielt wurden
- // account: Die Id des Accounts
- // Gibt bei misserfolg 0 zurück
- Framework::Array< int >* getAccountSpielGespieltListe(int account) override;
- // Gibt eine Liste von Spiel Partnern eines Spielers zurück
- // account: Die Id des Accounts
- // spieler: Enthält nach erfolgreichem Aufruf eine Liste mit Account Ids der Spiel Partner
- // karten: Enthält nach erfolgreichem Aufruf eine Liste mit den Ids der gespielten Karten
- // anzahl: Enthält nach erfolgreichem Aufruf eine Liste mit der Anzahl der Spiele
- // Gibt 1 zurück, falls der Vorgang erfolgreich ist, 0 sonnst
- bool getSpielPartnerListe(int account, Framework::Array< int >* spieler, Framework::Array< int >* karten, Framework::Array< int >* anzahl) override;
- // Gibt eine Liste mit Spiel Statistiken zurück
- // account: Die Id des Accounts zu dem die Statistik ermittelt werden soll
- // seite: Die gewünschte Seite. Enthält nach efolgreichem Aufruf die korrekte Seite
- // maxSeite: Enthält nach erfolgreichem Aufruf die Macimale Seite
- // sortSpalte: Die Spalte, nach der Sortiert werden soll
- // rückwärts: 1:=Rückwärtzt Sortierung, 0:=Vorwärts Sortierung
- // werte: Enthält nach erfolgreichem Aufruf eine Liste mit Statistik Werten (gespielt, gewonnen, verloren, punkte, bw0, bw1, bw2, bw3, bw4, bw5)
- // namen: Enthält nach erfolgreichem Aufruf die Namen der Spiele
- // Gibt 1 zurück, falls der Vorgang erfolgreich ist, 0 sonnst
- bool getStatistikListe(int account, int* seite, int* maxSeite, char sortSpalte, char rückwärts,
- Framework::RCArray< Framework::Array< int > >* werte, Framework::RCArray< Framework::Text >* namen) override;
- // Gibt eine Liste mit den Daten der letzten 20 Spiele von einem Account zurück
- // account: Die Id des Accounts
- // Gibt bei misserfolg 0 zurück
- Array< SpielHistorieDaten >* getSpielHistorieDaten(int account) override;
- // Erzeugt einen Client zu dem Historie Server, welcher die Aufzeichnungen und Statistiken eines Bestimmten Spiels verwaltet
- // spielId: Die id des Spiels
- // Gibt bei misserfolg 0 zurück
- HistorieServerClient* createHistorieServerClient(int spielId) override; // sucht nach dem Historie Server von einem Spiel
- // Prüft, ob der Account bestimmte Berechtigungen besitzt
- // recht: Die Id der Berechtigungen
- bool hatRecht(int recht) override; // Prüft ob Berechtigung vorhanden
- // Gibt eine Liste mit Karten zurück, die einen bestimmten Text im Namen enthalten und bestimmt sortiert ist
- // filter: Die Zeichenkette, die im Namen Auftreten soll
- // sortSpalte: Der Index der Spalte, nach der sortiert werden soll
- // absteigend: 1:=absteigende sortierung,0:=aufsteigende Sortierung
- // kId: Eine Liste, welche nach einem erfolgreichen Aufruf die Ids der Karten enthält
- // kName: Eine Liste, welche nach einem erfolgreichen Aufruf die Namen der Karten enthält
- // sName: Eine Liste, welche nach einem erfolgreichen Aufruf die Namen der Spiele der Karten enthält
- // kupfer: Eine Liste, welche nach einem erfolgreichen Aufruf die Preise der Karten in Kupfer
- // verkauft: Eine Liste, welche nach einem erfolgreichen Aufruf die Anzahl der Verkäufe der Karten enthält
- // maxSpieler: Eine Liste, welche nach einem erfolgreichen Aufruf die Maximalen Spieleranzahlen der Karten enthält
- int getKartenListe(const char* filter, char sortSpalte, char absteigend, Framework::Array< int >* kId, Framework::RCArray< Framework::Text >* kName, Framework::RCArray< Framework::Text >* sName,
- Framework::Array< int >* kupfer, Framework::Array< int >* verkauft, Framework::Array< int >* maxSpieler) override;
- // Erzeugt einen Client zu dem Editor Server von der Karte mit einer bestimmten Id
- // karteId: Die Id der Karte
- // Gibt bei misserfolg 0 zurück
- EditorServerClient* createEditorServerClient(int karteId) override;
- // Erzeugt einen Client zu dem Karten Server von der Karte mit einer bestimmten Id
- // karteId: Die Id der Karte
- // Gibt bei misserfolg 0 zurück
- KartenServerClient* createKartenServerClient(int karteId) override;
- // Erhält die Verbindung aufrecht
- // Gibt 1 zurück, falls der Vorgang erfolgreich ist, 0 sonnst
- // Sollte während einer bestehenden Verbindung etwa einmal alle 60 Sekunden aufgerufen werden, da sonst der Router die Verbindung automatisch trennt
- bool keepAlive() 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 den Letzten Fehlertext zuück
- // sollte erst aufgerufen werden, nachdem eine andere aufgerufene Methode fehlgeschlagen ist
- const char* getLetzterFehler() const override;
- };
- }
|