123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380 |
- #pragma once
- #include <Array.h>
- #include <Thread.h>
- #include "../../Include/StrukturenV.h"
- namespace Framework
- {
- class Text;
- class Datei;
- class KSGTDatei;
- class FBalken;
- class Zeit;
- class Bild;
- class Model2DData;
- }
- namespace GSL
- {
- class GSLSoundV;
- class GSLDateiV;
- }
- namespace Network
- {
- class Klient;
- }
- #define KSGNETWORK_CREATE_MAIN "createMainServerClient"
- #define KSGNETWORK_CREATE_REGISTERD_MAIN "createRegisterdMainServerClient"
- namespace KSGClient
- {
- class MainServerClient;
- // Entry Point Functions
- typedef MainServerClient *( *KSGNetworkCreateMain )( );
- typedef MainServerClient *( *KSGNetworkCreateRegisterdMain )( char *ip, unsigned short port, int clientId, char *key, unsigned char keyLen );
- // Enthält die Daten eines Spielers zu einem vergangenen Spiel
- struct SpielHistorieSpielerDaten
- {
- Framework::Text name; // Der Sichtabe Name des Spielers
- int punkte; // Die Punkte, die der Spieler in dem Spiel gewonnen / verloren hat
- Framework::Text status; // Der Status des Spielers in dem Spiel (verloren, gewonnen, nicht anwesend, beobachter, unentschieden)
- int farbe; // Die Farbe des Spielers
- };
- // Enthält die Datein eines Teams zu einem vergangenen Spiel
- struct SpielHistorieTeamDaten
- {
- Framework::Text name; // Der Sichtabe Name des Teams
- int sAnzahl; // Die Anzahl der Spieler im Team
- Framework::Text status; // Der Status des Teams (verloren, gewonnen, beobachter, unentschieden)
- int farbe; // Die Farbe des Teams
- Framework::Array< SpielHistorieSpielerDaten > spieler; // Eine Liste mit den Spielerdaten zu den Spielern aus dem Team
- };
- // Enthält Daten zu einem vergangenen Spiel
- struct SpielHistorieDaten
- {
- int id; // Die Id des vergangenen Spiels
- int karteId; // Die Id der Karte, welche gespielt wurde
- Framework::Text spiel; // Der Name des Spiels, welches gespielt wurde
- Framework::Text karte; // Der Name der Karte, welche gespielt wurde
- Framework::Text datum; // Der Zeitpunkt, an dem das Spiel Statfand
- Framework::Text status; // Der Status des Spielers, über welchen die Statistik angefragt wurde
- Framework::Text dauer; // Die Dater des Spiels
- Framework::Text spielStatus; // Der Status des Spiels (beginnt, läuft, abgebrochen, fehlerhaft, beendet, unbewertet)
- Framework::Text gewinner; // Der Name des Gewinners
- int sAnzahl; // Die Anzahl der Spieler
- Framework::Array< SpielHistorieTeamDaten > teams; // Die Daten der Teams des Spiels
- };
- // Enthält Informationen zu einem Account
- struct AccountInfo
- {
- int id; // Die Id des Accounts
- Framework::Text name; // Der angezeigte Name des Accounts
- Framework::Text zuletztOnline; // Der Zeitpunkt, zu dem der Account zuletzt online war
- Framework::Text letztesSpiel; // Der Name des zuletzt gespielten online Spiels
- Framework::Text letzteKarte; // Der Name der zuletzt gespielten Karte
- Framework::Text punkte; // Die Punkte des Spielers in dem Spiel
- };
- // Enthält Informationen zur Aktivität eines Accounts an einem bestimmten Tag
- struct AccountActivityInfo
- {
- Framework::Text datum; // Das Datum für das die Werte gillt
- double stOnline; // Die Anzahl der Stunden, die der Account Online war
- double stGespielt; // Die Anzahl der Stunden, die der Account in online Spielen verbracht hat
- int anzSpiele; // Die Anzahl der gespielten online Spiele
- int anzGewonnen; // Die Anzahl der gewonnenen online Spiele
- };
- class SpielServerClient;
- // Enthält eine Nachricht, die von Chat Server gesendet wurde
- struct ChatServerNachricht
- {
- char type; // Typ der Nachricht
- Framework::Text message; // Text der Nachricht
- int account; // Beteiligter Account
- int gruppe; // Beteiligte Gruppe
- int chatroom; // Beteiligter Chatraum
- Framework::Array< int > ids; // Liste mit Account Ids
- SpielServerClient *client; // ein Client zum zugewiesenen Spiel Server
- };
- // Enthält eine Nachricht von dem Spiel Server
- struct SpielServerNachricht
- {
- char type; // Typ der Nachricht
- char sekunden; // Mit der Nachricht zusammenhängende Sekunden
- char minuten; // Mit der Nachricht zusammenhängende Minuten
- char stunden; // Mit der Nachricht zusammenhängende Stunden
- Framework::Text message; // Text der Nachricht
- SpielerTeamStrukturV *sts; // Die Spieler Team Struktur eines Spiels
- int accountId; // Id des Accounts
- int spielerNummer; // Die Spielernummer des Accounts
- int karteId; // Die Id der Karte
- int prozent; // Der Prozentuale Ladefortschritt
- int ping; // Der Ping des Accounts (1000 = 1 Sekunde)
- short län; // Länge der gesendeten Daten
- char *data; // Die gesendeten Daten
- };
- // Wird benutzt, um die Verbindung mit den Servern aufrecht zu erhalten. Bei einem Verbindungsabbruch wird der Client automatisch abgemeldet
- class ErhaltungServerClient : protected virtual Framework::Thread
- {
- protected:
- // DBeantwortet Ping - Anfragen des Servers. Falls diese 60 Sekunden lang unbeantwortet bleiben, wird der Client vom Serversystem abgemeldet
- virtual void thread() = 0;
- public:
- // verbindet ich mit dem Erhaltung Server
- // Gibt 1 zurück, falls der Vorgang erfolgreich ist, 0 sonnst
- virtual bool verbinde() = 0;
- // Meldet sich beim Server ab und trennt die Verbindung
- virtual void abmelden() = 0;
- // 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
- virtual bool trenne() = 0;
- // gibt den Letzten Fehlertext zuück
- // sollte erst aufgerufen werden, nachdem eine andere aufgerufene Methode fehlgeschlagen ist
- virtual char *getLetzterFehler() const = 0;
- // Erhöht den Reference Counter um 1 un gibt this zurück
- virtual Thread *getThis() = 0;
- // Verringert den Reference Counter um 1 und gibt 0 zurück.
- // Falls der Reference Counter nach dem Aufruf auf 0 ist löscht sich das Objekt selbst
- virtual Thread *release() = 0;
- };
- // Wird benutzt, um aktualisierte Spieldateien herunterzuladen
- class PatchServerClient
- {
- public:
- // verbindet ich mit dem Patch Server
- // Gibt 1 zurück, falls der Vorgang erfolgreich ist, 0 sonnst
- virtual bool verbinde() = 0;
- // Gibt eine Tabelle von Dateigruppen zurück.
- // Gibt bei misserfolg 0 zurück
- virtual Framework::KSGTDatei *getDateiGruppenListe() = 0;
- // 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
- virtual Framework::KSGTDatei *getDateiListe( int gruppe ) = 0;
- // Gibt die Größe einer Datei in bytes zurück
- // gruppe: Die Id der Dateigruppe der Datei
- // pfad: Der Pfad der Datei
- virtual __int64 getDateiGröße( int gruppe, const char *pfad ) = 0;
- // 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
- virtual bool downloadDatei( int gruppe, __int64 *start, const char *pfad, const char *zielPfad, Framework::FBalken *zFb, bool *abbruch, int maxbps ) = 0;
- // 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
- virtual bool trenne( bool abmelden ) = 0;
- // Gibt 1 zurück, falls der Client verbunden ist, 0 sonst
- virtual bool istVerbunden() const = 0;
- // Gibt die Anzahl von übertragenen Bytes seit dem letzten Aufruf zurück
- virtual int getDownload() const = 0;
- // gibt den Letzten Fehlertext zuück
- // sollte erst aufgerufen werden, nachdem eine andere aufgerufene Methode fehlgeschlagen ist
- virtual char *getLetzterFehler() const = 0;
- // Erhöht den Reference Counter um 1 un gibt this zurück
- virtual PatchServerClient *getThis() = 0;
- // Verringert den Reference Counter um 1 und gibt 0 zurück.
- // Falls der Reference Counter nach dem Aufruf auf 0 ist löscht sich das Objekt selbst
- virtual PatchServerClient *release() = 0;
- };
- // Wird verwendet um News Oberflächen abzufragen (KSG Script Seiten)
- class NewsServerClient
- {
- public:
- // verbindet ich mit dem News Server
- // Gibt 1 zurück, falls der Vorgang erfolgreich ist, 0 sonnst
- virtual bool verbinde() = 0;
- // Lädt eine KSG-Script Seite herunter uns speichert sie unter data/tmp/news/{name}
- // name: Der Name der Seite
- // Gibt 1 zurück, falls der Vorgang erfolgreich ist, 0 sonnst
- virtual bool ladeSeite( char *name ) = 0;
- // 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
- virtual bool keepAlive() = 0;
- // 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
- virtual bool trenne( bool abmelden ) = 0;
- // Gibt 1 zurück, falls der Client verbunden ist, 0 sonst
- virtual bool istVerbunden() const = 0;
- // gibt den Letzten Fehlertext zuück
- // sollte erst aufgerufen werden, nachdem eine andere aufgerufene Methode fehlgeschlagen ist
- virtual char *getLetzterFehler() const = 0;
- // Erhöht den Reference Counter um 1 un gibt this zurück
- virtual NewsServerClient *getThis() = 0;
- // Verringert den Reference Counter um 1 und gibt 0 zurück.
- // Falls der Reference Counter nach dem Aufruf auf 0 ist löscht sich das Objekt selbst
- virtual NewsServerClient *release() = 0;
- };
- // Wird benutzt, um Accounts zu erstellen zu ändern oder zu löschen
- class RegisterServerClient
- {
- public:
- // verbindet ich mit dem Register Server
- // Gibt 1 zurück, falls der Vorgang erfolgreich ist, 0 sonnst
- virtual bool verbinde() = 0;
- // Sendet eine Anfrage auf Erstellung eines neuen Accounts. Ein neuer Account kann erst verwendet werden, wenn ein Link in der Bestätigungsemail angeklickt wurde.
- // Gibt 1 zurück, falls der Vorgang erfolgreich ist, 0 sonnst
- // name: Der Login Name des Accounts
- // pass: Das Login Passwort des Accounts
- // geheim: Das Geheimnis des Accounts
- // eMail: Die EMail Adresse an die die bestätigungs EMail gesendet werden soll
- // jahr: Das Jahr des Geburtsdatums
- // monat: Der Monat des Geburtstages
- // tag: Der Tag des Geburtstages
- virtual bool accountErstellen( const char *name, const char *pass, const char *geheim, const char *eMail, unsigned short jahr, char monat, char tag ) = 0;
- // Sendet eine Anfrage auf Löschung eines neuen Accounts. Ein neuer Account kann erst gelöscht werden, wenn ein Link in der Bestätigungsemail angeklickt wurde.
- // Gibt 1 zurück, falls der Vorgang erfolgreich ist, 0 sonnst
- // name: Der Login Name des Accounts
- // pass: Das Login Passwort des Accounts
- // geheim: Das Geheimnis des Accounts
- virtual bool accountLöschen( const char *name, const char *pass, const char *geheim ) = 0;
- // Ändert das Passwort eines Accounts
- // Gibt 1 zurück, falls der Vorgang erfolgreich ist, 0 sonnst
- // name: Der Login Name des Accounts
- // pass: Das Login Passwort des Accounts
- // geheim: Das Geheimnis des Accounts
- // nPass: Das neue Passwort des Accounts
- virtual bool passwortÄndern( const char *name, const char *pass, const char *geheim, const char *nPass ) = 0;
- // Ändert die EMail Adresse eines Accounts
- // Gibt 1 zurück, falls der Vorgang erfolgreich ist, 0 sonnst
- // name: Der Login Name des Accounts
- // pass: Das Login Passwort des Accounts
- // geheim: Das Geheimnis des Accounts
- // nEMail: Die neue EMail Adresse
- virtual bool eMailÄndern( const char *name, const char *pass, const char *geheim, const char *nEMail ) = 0;
- // Ändert das Geheimnis eines Accounts
- // Gibt 1 zurück, falls der Vorgang erfolgreich ist, 0 sonnst
- // name: Der Login Name des Accounts
- // pass: Das Login Passwort des Accounts
- // geheim: Das Geheimnis des Accounts
- // nGeheim: Das neue Geheimnis
- virtual bool geheimnisÄndern( const char *name, const char *pass, const char *geheim, const char *nGeheim ) = 0;
- // Sendet eine Anfrage auf Name Vergessen. Der Name wird an die angegebene EMail Adresse gesendet
- // Gibt 1 zurück, falls der Vorgang erfolgreich ist, 0 sonnst
- // pass: Das Login Passwort des Accounts
- // geheim: Das Geheimnis des Accounts
- virtual bool nameVergessen( const char *pass, const char *geheim ) = 0;
- // Sendet eine Anfrage auf Passwort Vergessen. Es wird ein Link an die angegebene Email Adresse gesendet, über den ein neues Passwort vergeben werden kann
- // Gibt 1 zurück, falls der Vorgang erfolgreich ist, 0 sonnst
- // name: Der Login Name des Accounts
- // geheim: Das Geheimnis des Accounts
- virtual bool passwortVergessen( const char *name, const char *geheim ) = 0;
- // Sendet eine Anfrage auf Geheimnis Vergessen. Das Geheimnis wird an die angegebene EMail Adresse gesendet
- // Gibt 1 zurück, falls der Vorgang erfolgreich ist, 0 sonnst
- // name: Der Login Name des Accounts
- // pass: Das Login Passwort des Accounts
- virtual bool geheimnisVergessen( const char *name, const char *pass ) = 0;
- // Sendet eine Anfrage auf EMail Vergessen. Die EMail Adresse wird direkt vom Server zurückgegeben
- // Gibt 1 zurück, falls der Vorgang erfolgreich ist, 0 sonnst
- // name: Der Login Name des Accounts
- // pass: Das Login Passwort des Accounts
- // geheim: Das Geheimnis des Accounts
- // eMail: Ein Zeiger auf eine Zeichenkette. Diese wird bei einem Erfolgreichen Aufruf auf die EMail Adresse gesetzt und muss manuell mit delete[] gelöscht werden
- virtual bool eMailVergessen( const char *name, const char *pass, const char *geheim, char **eMail ) = 0;
- // 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
- virtual bool keepAlive() = 0;
- // 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
- virtual bool trenne( bool abmelden ) = 0;
- // Gibt 1 zurück, falls der Client verbunden ist, 0 sonst
- virtual bool istVerbunden() const = 0;
- // gibt den Letzten Fehlertext zuück
- // sollte erst aufgerufen werden, nachdem eine andere aufgerufene Methode fehlgeschlagen ist
- virtual char *getLetzterFehler() const = 0;
- // Erhöht den Reference Counter um 1 un gibt this zurück
- virtual RegisterServerClient *getThis() = 0;
- // Verringert den Reference Counter um 1 und gibt 0 zurück.
- // Falls der Reference Counter nach dem Aufruf auf 0 ist löscht sich das Objekt selbst
- virtual RegisterServerClient *release() = 0;
- };
- // Wird verwendet um sich einzuloggen oder auszuloggen
- class LoginServerClient
- {
- public:
- // verbindet sich mit dem zugewiesenen Login Server
- // Gibt 1 zurück, falls der Vorgang erfolgreich ist, 0 sonnst
- virtual bool verbinde() = 0;
- // Der Client wird beim Serversystem in einen Account eingeloggt
- // Gibt bei Erfolg 1 zurück, 2 falls en anderer Client in dem Account eingeloggt ist, 0 sonnst
- // Sollte erst nach einem erfolgreichen Aufruf von verbinde aufgerufen werden
- virtual int login( const char *name, const char *pass ) = 0;
- // Diese Funktion wird in der Zukunft mal implementiert werden. Mit dem Geheimnis des Accounts können so andere Clients, welche bereits in dem Account eingeloggt werden rausgeschmissen werden.
- virtual bool kick( const char *name, const char *pass, const char *geheim ) = 0;
- // logt den Account aus
- // Gibt 1 zurück, falls der Vorgang erfolgreich ist, 0 sonnst
- // sollte erst aufgerufen werden, nachdem ein erfolgreicher Aufruf von login erfolg ist
- virtual bool logout() = 0;
- // 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
- virtual bool keepAlive() = 0;
- // 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
- virtual bool trenne( bool abmelden ) = 0;
- // Gibt 1 zurück, falls der Client verbunden ist, 0 sonst
- virtual bool istVerbunden() const = 0;
- // Gibt die Id des Accounts zurück, in den sich der Client eingeloggt hat.
- // sollte erst aufgerufen werden, nachdem ein erfolgreicher Aufruf von login erfolg ist
- virtual int getAccountId() const = 0;
- // gibt den Letzten Fehlertext zuück
- // sollte erst aufgerufen werden, nachdem eine andere aufgerufene Methode fehlgeschlagen ist
- virtual char *getLetzterFehler() const = 0;
- // Erhöht den Reference Counter um 1 un gibt this zurück
- virtual LoginServerClient *getThis() = 0;
- // Verringert den Reference Counter um 1 und gibt 0 zurück.
- // Falls der Reference Counter nach dem Aufruf auf 0 ist löscht sich das Objekt selbst
- virtual LoginServerClient *release() = 0;
- };
- class EditorServerClient;
- class KartenServerClient;
- class HistorieServerClient;
- // Wird verwendet um informationen über Accounts abzufragen
- // Kann nur von eingeloggten Clients verwendet werden
- class InformationServerClient
- {
- public:
- // verbindet ich mit dem zugewiesenen Informaion Server
- // Gibt 1 zurück, falls der Vorgang erfolgreich ist, 0 sonnst
- virtual bool verbinde() = 0;
- // 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
- virtual bool getInformationText( Framework::Text *txt, int *typ ) = 0;
- // 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
- virtual bool istSpielErlaubt( int spielId ) = 0;
- // 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
- virtual bool istKarteErlaubt( int karteId ) = 0;
- // Ermittelt die Id einer Karte
- // name: Der Name der Karte
- // Gibt bei misserfolg 0 zurück
- virtual int getKarteId( char *name ) = 0;
- // Fragt nach der Id eines Spiels
- // name: Der Name des Spiels
- // Gibt bei misserfolg 0 zurück
- virtual int getSpielId( char *name ) = 0;
- // fragt nach dem Namen eines Accounts
- // accountId: Die Id des Accounts
- // Gibt bei misserfolg 0 zurück
- virtual Framework::Text *getSpielerName( int accountId ) = 0;
- // 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)
- virtual bool getSpielStatistik( int accountId, int spielId, Framework::Array< int > *werte ) = 0;
- // fragt nach dem Namen einer Karte
- // karteId: Die id der Karte
- // Gibt bei misserfolg 0 zurück
- virtual Framework::Text *getKarteName( int karteId ) = 0;
- // fragt nach dem Namen eines Spiels
- // spielId: Die id des Spiels
- // Gibt bei misserfolg 0 zurück
- virtual Framework::Text *getSpielName( int spielId ) = 0;
- // fragt nach dem Namen eines Chatrooms
- // chatroomId: Die id des Chatrooms
- // Gibt bei misserfolg 0 zurück
- virtual Framework::Text *getChatroomName( int chatroomId ) = 0;
- // fragt zu welcher Spielart die Karte gehört
- // karteId: Die id der Karte
- // Gibt bei misserfolg 0 zurück
- virtual int getSpielId( int karteId ) = 0;
- // gibt die Id eines Accounts zurück
- // name: Der Angezeigte Name des Accounts
- // Gibt bei misserfolg 0 zurück
- virtual int getAccountId( char *name ) = 0;
- // gibt die Id des Chatrooms zurück
- // name: Der name des Chatrooms
- // Gibt bei misserfolg 0 zurück
- virtual int getChatroomId( char *name ) = 0;
- // gibt die karten Id zurück, zu dem eine Gruppe erstellt wurde
- // gruppenId: Die id der Gruppe
- // Gibt bei misserfolg 0 zurück
- virtual int getGruppenKarteId( int gruppenId ) = 0;
- // gibt 1 zurück, wenn zu einer Gruppe Spieler hinzugefügt werden können, 0 sonnst
- // gruppeId: Die id der Gruppe
- virtual bool getGruppeSpielerHinzufügen( int gruppeId ) = 0;
- // gibt die Account Id des Gruppen Administrators zurück
- // gruppeId: Die Id der Gruppe
- // Gibt bei misserfolg 0 zurück
- virtual int getGruppeAdminId( int gruppeId ) = 0;
- // gibt die Punkte eines Spielers zurück
- // accountId: Die Accont Id des Spielers
- // spielId: Die Id des Spiels
- // Gibt bei misserfolg 0 zurück
- virtual int getSpielerPunkte( int accountId, int spielId ) = 0;
- // gibt eine Liste mit Ids von gekauften Spielen zurück
- // Gibt bei misserfolg 0 zurück
- virtual Framework::Array< int > *getAccountSpielArtListe() = 0;
- // gibt die neuste Version eines Spiels zurück
- // spielId: Die Id des Spiels
- // Gibt bei misserfolg 0 zurück
- virtual int getSpielVersion( int spielId ) = 0;
- // gibt das Kupfer des Accounts zurück
- // Gibt bei misserfolg 0 zurück
- virtual int getKupfer() = 0;
- // Gibt die Dateigruppem Id eines Spieles zurück
- // spielId: Die Id des Spiels
- // Gibt bei misserfolg 0 zurück
- virtual int getDateiGruppeIdVonSpiel( int spielId ) = 0;
- // Gibt den Dateigruppen Pfad zurück
- // dgId: Die Id der Dateigruppe
- // Gibt bei misserfolg 0 zurück
- virtual Framework::Text *getDateiGruppePfad( int dgId ) = 0;
- // 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
- virtual Framework::Array< int > *getAccountKarteListe( int spielId ) = 0;
- // Gibt die Dateigruppen Id eines Pfades zurück
- // pfad: Der Pfad der Dateigruppe
- // Gibt bei misserfolg 0 zurück
- virtual int getDateiGruppeIdVonPfad( char *pfad ) = 0;
- // gibt die neuste Version einer Dateigruppe zurück
- // dg: Die Dateigruppen Id
- // Gibt bei misserfolg 0 zurück
- virtual int getDateiGruppeVersion( int dg ) = 0;
- // 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
- virtual int getSpielerListe( char *suche, int *seite, int *maxSeite, char sortSpalte, char rückwärts, Framework::Array< AccountInfo > *accounts ) = 0;
- // ermittelt die aktivität eines Spielers
- // accId: Die Id des Accounts
- // info: Enthält nach erfolgreichem Aufruf die Aktivitätsinformationen der letzten 30 Tage
- virtual bool getSpielerAktivität( int accId, Framework::Array< AccountActivityInfo > *info ) = 0;
- // Gibt zurück, wie oft ein Spieler eine Karte schon gespielt hat
- // account: Die Id des Accounts
- // karte: Die Id der Karte
- virtual int getAccountKarteSpiele( int account, int karte ) = 0;
- // Gibt zurück, wie oft ein Spieler eine Karte schon gewonnen hat
- // account: Die Id des Accounts
- // karte: Die Id der Karte
- virtual int getAccountKarteSpieleGewonnen( int account, int karte ) = 0;
- // Gibt zurück, ob ein Spieler die Karte im Besitz hat
- // account: Die Id des Accounts
- // karte: Die Id der Karte
- virtual bool hatAccountKarte( int account, int karte ) = 0;
- // Gibt zurück, ob ein Spieler ein Spiel im Besitz hat
- // account: Die Id des Accounts
- // spiel: Die Id des Spiels
- virtual bool hatAccountSpiel( int account, int spiel ) = 0;
- // 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
- virtual Framework::Array< int > *getAccountKarteGespieltListe( int account, int spielId ) = 0;
- // 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
- virtual Framework::Array< int > *getAccountSpielGespieltListe( int account ) = 0;
- // 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
- virtual bool getSpielPartnerListe( int account, Framework::Array< int > *spieler, Framework::Array< int > *karten, Framework::Array< int > *anzahl ) = 0;
- // 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
- virtual 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 ) = 0;
- // 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
- virtual Array< SpielHistorieDaten > *getSpielHistorieDaten( int account ) = 0;
- // 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
- virtual HistorieServerClient *createHistorieServerClient( int spielId ) = 0; // sucht nach dem Historie Server von einem Spiel
- // Prüft, ob der Account bestimmte Berechtigungen besitzt
- // recht: Die Id der Berechtigungen
- virtual bool hatRecht( int recht ) = 0; // 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
- virtual int getKartenListe( 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 ) = 0;
- // 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
- virtual EditorServerClient *createEditorServerClient( int karteId ) = 0;
- // 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
- virtual KartenServerClient *createKartenServerClient( int karteId ) = 0;
- // 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
- virtual bool keepAlive() = 0;
- // 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
- virtual bool trenne( bool abmelden ) = 0;
- // Gibt 1 zurück, falls der Client verbunden ist, 0 sonst
- virtual bool istVerbunden() const = 0;
- // gibt den Letzten Fehlertext zuück
- // sollte erst aufgerufen werden, nachdem eine andere aufgerufene Methode fehlgeschlagen ist
- virtual char *getLetzterFehler() const = 0;
- // Erhöht den Reference Counter um 1 un gibt this zurück
- virtual InformationServerClient *getThis() = 0;
- // Verringert den Reference Counter um 1 und gibt 0 zurück.
- // Falls der Reference Counter nach dem Aufruf auf 0 ist löscht sich das Objekt selbst
- virtual InformationServerClient *release() = 0;
- };
- // Wird verwendet um Chat nachrichten zu senden oder zu empfangen. Das Serversystem sendet außerdem einiege Mitteilungen über den Chat (z.B. Gefundene Spiele, Gruppeneinladungen ...)
- // Kann nur von eingeloggten Clients verwendet werden
- class ChatServerClient
- {
- public:
- // verbindet sich mit dem zugewiesenen Chat Server
- // Gibt 1 zurück, falls der Vorgang erfolgreich ist, 0 sonnst
- virtual bool verbinde() = 0;
- // sendet eine Chat Nachricht zu einem Account
- // zuAccount: Id des Ziel Accounts
- // nachricht: Die Nachricht
- // Gibt 1 zurück, falls der Vorgang erfolgreich ist, 0 sonnst
- virtual bool chatNachricht( int zuAccount, const char *nachricht ) = 0;
- // ändert den angezeigten Account Namen
- // name: der neue Name
- // Gibt 1 zurück, falls der Vorgang erfolgreich ist, 0 sonnst
- virtual bool accountNameÄndern( const char *name ) = 0;
- // beendet die Freundschaft mit einem Account
- // accountId: Die Id des Accounts
- // Gibt 1 zurück, falls der Vorgang erfolgreich ist, 0 sonnst
- virtual bool freundschaftBeenden( int accountId ) = 0;
- // sendet eine Freundesanfragezu einem Account
- // accountId: Die Id des Accounts
- // Gibt 1 zurück, falls der Vorgang erfolgreich ist, 0 sonnst
- virtual bool freundesAnfrage( int accountId ) = 0;
- // beantwortet eine Freundesanfrage
- // accountId: Die Id des Accounts
- // ja: 1:=annehmen,0:=ablehnen
- // Gibt 1 zurück, falls der Vorgang erfolgreich ist, 0 sonnst
- virtual bool freundesAnfrageBeantworten( int accountId, bool ja ) = 0;
- // erstellt ein chatroom
- // name: Der Name des Chatrooms
- // Gibt bei erfolg die Id des Chatrooms zurück, 0 sonst
- virtual int chatroomErstellen( const char *name ) = 0;
- // Sendet eine Einladung zum Chatroom
- // accountId: Die Id des Accounts der eingeladen werden soll
- // chatroomId: Die Id des Chatrooms
- // Gibt 1 zurück, falls der Vorgang erfolgreich ist, 0 sonnst
- virtual bool chatroomEinladung( int accountId, int chatroomId ) = 0;
- // Einladung zum Chatroom wird abgelehnt
- // accountId: Die Id des Accounts
- // chatroomId: Die Id des Chatrooms
- // Gibt 1 zurück, falls der Vorgang erfolgreich ist, 0 sonnst
- virtual bool chatroomEinladungAblehnen( int accountId, int chatroomId ) = 0;
- // betritt ein chatroom
- // chatroomId: Die Id des Chatrooms
- // Gibt 1 zurück, falls der Vorgang erfolgreich ist, 0 sonnst
- virtual bool chatroomBetreten( int chatroomId ) = 0;
- // chatroom Nachricht senden
- // chatroomId: Die Id des Chatrooms
- // nachricht: Die Nachricht die gesendet werden soll
- // Gibt 1 zurück, falls der Vorgang erfolgreich ist, 0 sonnst
- virtual bool chatroomNachricht( int chatroomId, const char *nachricht ) = 0;
- // verlässt chatroom
- // chatroomId: Die Id des Chatrooms
- // Gibt 1 zurück, falls der Vorgang erfolgreich ist, 0 sonnst
- virtual bool chatroomVerlassen( int chatroomId ) = 0;
- // kickt Account aus Chatroom (nur wenn als admin des Chatrooms eingeloggt)
- // chatroomId: Die Id des Chatrooms
- // accountId: Die Id des Accounts
- // Gibt 1 zurück, falls der Vorgang erfolgreich ist, 0 sonnst
- virtual bool chatroomKick( int chatroomId, int accountId ) = 0;
- // fragt nach allen freunden
- // Die Liste der Freunde kann über getNextMessage empfangen werden
- // Gibt 1 zurück, falls der Vorgang erfolgreich ist, 0 sonnst
- virtual bool freundesListeAnfragen() = 0;
- // fragt nach allen chatnachrichten, die gesendet wurden, während der Account in den der Client eingeloggt ist, offline war
- // Die einzelnen Nachrichten können über getNextMessage empfangen werden
- // Gibt 1 zurück, falls der Vorgang erfolgreich ist, 0 sonnst
- virtual bool chatNachrichtAnfrage() = 0;
- // 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
- virtual bool keepAlive() = 0;
- // 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
- virtual bool trenne( bool abmelden ) = 0;
- // Wartet auf eine Nachricht vom Chatserver.
- // Gibt bei Erfolg 1 zurück, 0 sonnst
- // nachricht: Eine Referenz auf die Struktur, in der die Nachricht gespeichert werden soll
- virtual bool getNextMessage( ChatServerNachricht &nachricht) = 0;
- // Gibt 1 zurück, falls der Client verbunden ist, 0 sonst
- virtual bool istVerbunden() const = 0;
- // gibt den Letzten Fehlertext zuück
- // sollte erst aufgerufen werden, nachdem eine andere aufgerufene Methode fehlgeschlagen ist
- virtual char *getLetzterFehler() const = 0;
- // Erhöht den Reference Counter um 1 un gibt this zurück
- virtual ChatServerClient *getThis() = 0;
- // Verringert den Reference Counter um 1 und gibt 0 zurück.
- // Falls der Reference Counter nach dem Aufruf auf 0 ist löscht sich das Objekt selbst
- virtual ChatServerClient *release() = 0;
- };
- // Wird verwendet um Spiele oder Karten zu kaufen
- // Kann nur von eingeloggten Clients verwendet werden
- class ShopServerClient
- {
- public:
- // verbindet sich mit dem zugewiesenen Shop Server
- // Gibt 1 zurück, falls der Vorgang erfolgreich ist, 0 sonnst
- virtual bool verbinde() = 0;
- // Gibt eine Liste mit Spiel Ids zurück, mit Spielen, die einen Bestimten Text im Namen haben
- // suche: Der Text, der im Namen der Spiele vorkommen soll
- // Gibt bei misserfolg 0 zurück
- virtual Framework::Array< int > *suchSpiele( const char *suche ) = 0;
- // läd Titelbild des Spieles herunter und speichert es unter data/tmp/shop/kazfen/spiele/{id}/titelbg.ltdb
- // id: Die Id des Spiels
- // Gibt 1 zurück, falls der Vorgang erfolgreich ist, 0 sonnst
- virtual bool ladeSpielTitel( int id ) = 0;
- // läd Shop Seite des Spieles herunter und speichert es unter data/tmp/shop/kazfen/spiele/{id}/seite.ksgs
- // id: Die Id des Spiels
- // Gibt 1 zurück, falls der Vorgang erfolgreich ist, 0 sonnst
- virtual bool ladeSpielSeite( int id ) = 0;
- // Gibt den Besitz Status eines Spiels zurück (0 = nicht im Besitz, 1 = Testversion, 2 = gekauft)
- // id: Die Id des Spiels
- virtual int getSpielBesitzStatus( int id ) = 0;
- // gibt die Anzahl der verbleibenden Spiele der Testversion zurück
- // id: Die Id des Spiels
- virtual int getSpielTestversion( int id ) = 0;
- // Gibt den Erwerbbarkeits Status eines Spiels zurück (0 = nichts, 1 = nur Testversion, 2 = nur Vollversion, 3 = beides)
- // id: Die Id des Spiels
- virtual int istSpielErwerbbar( int id ) = 0;
- // Gibt den Preis eines Spiels in Kupfer zurück
- // id: Die Id des Spiels
- // testVersion: 1:=Es wird der Preis der Testversion zurückgegeben, 0:=Es wird der Preis der Vollversion zurückgegeben
- virtual int getSpielPreis( int id, bool testVersion ) = 0;
- // Kauft ein Spiel
- // id: Die Id des Spiels
- // testVersion: 1:=Es wird die Testversion erworben, 0:=Es wird die Vollversion erworben
- virtual bool spielErwerben( int spielId, bool testVersion ) = 0;
- // sucht nach Karten mit zu einem bestimmten Spiel
- // suche: Ein Text, der im Namen der Karte vorkommen soll
- // spielId: Die Id des Spiels
- // Gibt eine Liste Mit den Ids der gefundenen Karten zurück
- virtual Framework::Array< int > *suchKarten( const char *suche, int spielId ) = 0;
- // lädt das Titelbild der Karte herunter und speichert es unter data/tmp/shop/kaufen/karten/{id}/titelbg.ltdb
- // id: Die Id der Karte
- // Gibt 1 zurück, falls der Vorgang erfolgreich ist, 0 sonnst
- virtual bool ladeKarteTitel( int id ) = 0;
- // lädt die Shop Seite der Karte herunter und speichert es unter data/tmp/shop/kaufen/karten/{id}/seite.ksgs
- // id: Die Id der Karte
- // Gibt 1 zurück, falls der Vorgang erfolgreich ist, 0 sonnst
- virtual bool ladeKarteSeite( int id ) = 0;
- // Gibt den Besitz Status einer Karte zurück (0 = nicht im Besitz, 1 = Testversion, 2 = gekauft)
- // id: Die Id der Karte
- virtual int getKarteBesitzStatus( int id ) = 0;
- // gibt die Anzahl der verbleibenden Spiele der Testversion zurück
- // id: Die Id der Karte
- virtual int getKarteTestversion( int id ) = 0;
- // Gibt den Erwerbbarkeits Status einer Karte zurück (0 = nichts, 1 = nur Testversion, 2 = nur Vollversion, 3 = beides)
- // id: Die Id der Karte
- virtual int istKarteErwerbbar( int id ) = 0;
- // Gibt den Preis einer Karte in Kupfer zurück
- // id: Die Id der Karte
- // testVersion: 1:=Es wird der Preis der Testversion zurückgegeben, 0:=Es wird der Preis der Vollversion zurückgegeben
- virtual int getKartePreis( int id, bool testVersion ) = 0;
- // Kauft eine Karte
- // id: Die Id der Karte
- // testVersion: 1:=Es wird die Testversion erworben, 0:=Es wird die Vollversion erworben
- virtual bool karteErwerben( int karteId, bool testVersion ) = 0;
- // 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
- virtual bool keepAlive() = 0;
- // 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
- virtual bool trenne( bool abmelden ) = 0;
- // Gibt 1 zurück, falls der Client verbunden ist, 0 sonst
- virtual bool istVerbunden() const = 0;
- // gibt den Letzten Fehlertext zuück
- // sollte erst aufgerufen werden, nachdem eine andere aufgerufene Methode fehlgeschlagen ist
- virtual char *getLetzterFehler() const = 0;
- // Erhöht den Reference Counter um 1 un gibt this zurück
- virtual ShopServerClient *getThis() = 0;
- // Verringert den Reference Counter um 1 und gibt 0 zurück.
- // Falls der Reference Counter nach dem Aufruf auf 0 ist löscht sich das Objekt selbst
- virtual ShopServerClient *release() = 0;
- };
- // Wird verwendet um sich für Spiele anzumelden
- // Kann nur von eingeloggten Clients verwendet werden
- class AnmeldungServerClient
- {
- public:
- // verbindet sich mit dem zugewiesenen Anmeldung Server
- // Gibt 1 zurück, falls der Vorgang erfolgreich ist, 0 sonnst
- virtual bool verbinde() = 0;
- // erstellt eine gruppe
- // karteId: Die Id der Karte für die die Gruppe erstellt werden soll
- // Gibt bei Erfolg die Id der Gruppe zurück. Bei misserfolg wird 0 zurückgegeben
- virtual int gruppeErstellen( int karteId ) = 0;
- // Betritt eine Gruppe
- // gruppeId: Die Id der Gruppe
- // mitglieder: Nach erfolgreichem Aufruf enthält diese Liste die Lister der Account Ids der Gruppenmitglieder
- // anzahl: Nach erfolgreichem Aufruf wird hier die Anzahl der Gruppenmitglieder gespeichert
- // Gibt 1 zurück, falls der Vorgang erfolgreich ist, 0 sonnst
- virtual bool gruppeBetreten( int gruppeId, Framework::Array< int > *mitglieder, int *anzahl ) = 0;
- // Verlässt eine Gruppe
- // gruppeId: Die Id der Gruppe
- // Gibt 1 zurück, falls der Vorgang erfolgreich ist, 0 sonnst
- virtual bool gruppeVerlassen( int gruppeId ) = 0;
- // Trägt die Gruppe in die Warteschlange für die Karte ein (nur für den Gruppen Administrator)
- // gruppeId: Die Id der Gruppe
- // Gibt 1 zurück, falls der Vorgang erfolgreich ist, 0 sonnst
- virtual bool gruppeAnmelden( int gruppeId ) = 0;
- // Trägt die Gruppe aus der Warteschlange für die Karte aus (nur für den Gruppen Administrator)
- // gruppeId: Die Id der Gruppe
- // Gibt 1 zurück, falls der Vorgang erfolgreich ist, 0 sonnst
- virtual bool gruppeAbmelden( int gruppeId ) = 0;
- // läht Spieler ein die Gruppe zu betreten (nur für den Gruppen Administrator)
- // accountId: Die Id des Accounts
- // gruppeId: Die Id der Gruppe
- // Gibt 1 zurück, falls der Vorgang erfolgreich ist, 0 sonnst
- virtual bool gruppeSpielerEinladen( int accountId, int gruppeId ) = 0;
- // Zieht die Einladung eine Gruppe zu betreten zurück (nur für den Gruppen Administrator)
- // accountId: Die Id des Accounts
- // gruppeId: Die Id der Gruppe
- // Gibt 1 zurück, falls der Vorgang erfolgreich ist, 0 sonnst
- virtual bool gruppeEinladungAbbrechen( int accountId, int gruppeId ) = 0;
- // Einladung zur Gruppe ablehnen
- // gruppeId: Die Id der Gruppe
- // Gibt 1 zurück, falls der Vorgang erfolgreich ist, 0 sonnst
- virtual bool gruppeEinladungAblehnen( int gruppeId ) = 0;
- // wirft Spieler aus Gruppe (nur für den Gruppen Administrator)
- // accountId: Die Id des Accounts
- // gruppeId: Die Id der Gruppe
- // Gibt 1 zurück, falls der Vorgang erfolgreich ist, 0 sonnst
- virtual bool kickSpielerAusGruppe( int accountId, int gruppeId ) = 0;
- // Legt fest, ob die Spieler in der Gruppe alleine spielen wollen, oder ob weitere Spieler aus der Warteschlange hinzugefügt werden sollen bis die Karte voll ist
- // gruppeId: Die Id der Gruppe
- // spielStarte: 1:=alleine spielen, 0:=auf volles Spiel warten
- // Gibt 1 zurück, falls der Vorgang erfolgreich ist, 0 sonnst
- virtual bool gruppeSpielStarten( int gruppeId, bool spielStarten ) = 0;
- // Sendet eine Nachricht an den Gruppen Chat
- // gruppeId: Die Id der Gruppe
- // nachricht: Die Nachricht, die gesendet werden soll
- // Gibt 1 zurück, falls der Vorgang erfolgreich ist, 0 sonnst
- virtual bool gruppeNachricht( int gruppeId, char *nachricht ) = 0;
- // Meldet den eingeloggten Account in der Warteschlange für eine Karte an
- // karteId: Die Id der Karte
- // Gibt 1 zurück, falls der Vorgang erfolgreich ist, 0 sonnst
- virtual bool anmelden( int karteId ) = 0;
- // Meldet den eingeloggten Account aus der Warteschlange ab
- // Gibt 1 zurück, falls der Vorgang erfolgreich ist, 0 sonnst
- virtual bool abmelden() = 0;
- // 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
- virtual bool keepAlive() = 0;
- // 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
- virtual bool trenne( bool abmelden ) = 0;
- // Gibt 1 zurück, falls der Client verbunden ist, 0 sonst
- virtual bool istVerbunden() const = 0;
- // gibt den Letzten Fehlertext zuück
- // sollte erst aufgerufen werden, nachdem eine andere aufgerufene Methode fehlgeschlagen ist
- virtual char *getLetzterFehler() const = 0;
- // Erhöht den Reference Counter um 1 un gibt this zurück
- virtual AnmeldungServerClient *getThis() = 0;
- // Verringert den Reference Counter um 1 und gibt 0 zurück.
- // Falls der Reference Counter nach dem Aufruf auf 0 ist löscht sich das Objekt selbst
- virtual AnmeldungServerClient *release() = 0;
- };
- // Wird verwendet um die aktuellen versionen der Karten vor dem Spiel herunterzuladen
- // Kann nur von eingeloggten Clients verwendet werden
- class KartenServerClient
- {
- public:
- // verbindet sich mit dem zugewiesenen Karten Server
- // Gibt 1 zurück, falls der Vorgang erfolgreich ist, 0 sonnst
- virtual bool verbinde() = 0;
- // lädt eine Karte herunter und speichert sie unter data/tmp/Karten/{id}/spiel
- // id: Die Id der Karte
- // Gibt 1 zurück, falls der Vorgang erfolgreich ist, 0 sonnst
- virtual bool downloadKarte( int id ) = 0;
- // lädt das Titelbild Karte herunter und speichert es unter data/tmp/Karten/{id}/titel.ltdb
- // id: Die Id der Karte
- // Gibt 1 zurück, falls der Vorgang erfolgreich ist, 0 sonnst
- virtual bool downloadKarteTitel( int id ) = 0;
- // lädt die Beschreibung Karte herunter und speichert sie unter data/tmp/Karten/{id}/beschreibung.ksgs
- // id: Die Id der Karte
- // Gibt 1 zurück, falls der Vorgang erfolgreich ist, 0 sonnst
- virtual bool downloadKarteBeschreibung( int id ) = 0;
- // lädt die Minimap Karte herunter und speichert es unter data/tmp/Karten/{id}/minimap.ltdb
- // id: Die Id der Karte
- // Gibt 1 zurück, falls der Vorgang erfolgreich ist, 0 sonnst
- virtual bool downloadKarteMinimap( int id ) = 0;
- // lädt das Ladebild Karte herunter und speichert es unter data/tmp/Karten/{id}/ladebild.ltdb
- // id: Die Id der Karte
- // Gibt 1 zurück, falls der Vorgang erfolgreich ist, 0 sonnst
- virtual bool downloadKarteLadebild( int id ) = 0;
- // 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
- virtual bool keepAlive() = 0;
- // 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
- virtual bool trenne( bool abmelden ) = 0;
- // Gibt 1 zurück, falls der Client verbunden ist, 0 sonst
- virtual bool istVerbunden() const = 0;
- // gibt den Letzten Fehlertext zuück
- // sollte erst aufgerufen werden, nachdem eine andere aufgerufene Methode fehlgeschlagen ist
- virtual char *getLetzterFehler() const = 0;
- // Erhöht den Reference Counter um 1 un gibt this zurück
- virtual KartenServerClient *getThis() = 0;
- // Verringert den Reference Counter um 1 und gibt 0 zurück.
- // Falls der Reference Counter nach dem Aufruf auf 0 ist löscht sich das Objekt selbst
- virtual KartenServerClient *release() = 0;
- };
- // Wird zum Online Spielen verwendet
- // Kann nur von eingeloggten Clients verwendet werden
- class SpielServerClient
- {
- public:
- // verbindet sich mit dem zugewiesenen Karten Server
- // Gibt 1 zurück, falls der Vorgang erfolgreich ist, 0 sonnst
- virtual bool verbinde() = 0;
- // Betritt das Vorgeschlagene Spiel
- // Gibt 1 zurück, falls der Vorgang erfolgreich ist, 0 sonnst
- virtual bool spielErstelltAnnehmen() = 0;
- // Lehnt das Vorgeschlagene Spiel ab
- // Gibt 1 zurück, falls der Vorgang erfolgreich ist, 0 sonnst
- virtual bool spielErstelltAblehnen() = 0;
- // Wechselt zu einem bestimmten Team
- // team: Die Id des teams
- // Gibt 1 zurück, falls der Vorgang erfolgreich ist, 0 sonnst
- virtual bool spielErstelltTeamWechseln( int team ) = 0;
- // Bestätigt die Teamauswahl so dass das Spiel früher beginnen kann
- // Gibt 1 zurück, falls der Vorgang erfolgreich ist, 0 sonnst
- virtual bool spielErstelltTeamFertig() = 0;
- // sendet eine Chat Nachricht an die mitglieder des erstellten Spiels
- // nachricht: Die Nachricht
- // Gibt 1 zurück, falls der Vorgang erfolgreich ist, 0 sonnst
- virtual bool spielErstelltChatNachricht( char *nachricht ) = 0;
- // Teilt dem Server mit, dass der Client bereit ist das Spiel zu laden
- // Gibt 1 zurück, falls der Vorgang erfolgreich ist, 0 sonnst
- virtual bool bereitZumLaden() = 0;
- // Teilt dem Server mit, zu wie viel Prozent der Client das Spiel geladen hat
- // Gibt 1 zurück, falls der Vorgang erfolgreich ist, 0 sonnst
- virtual bool setLadenProzent( int prozent ) = 0;
- // Teilt dem Server mit, dass das Spiel fertig geladen wurde
- // Gibt 1 zurück, falls der Vorgang erfolgreich ist, 0 sonnst
- virtual bool bereitZumSpiel() = 0;
- // Sendet während des Spiels eine Nachricht an den Server
- // län: Die Länge der Nachricht
- // bytes: Ein Zeiger auf die Nachricht
- // Gibt 1 zurück, falls der Vorgang erfolgreich ist, 0 sonnst
- virtual bool spielNachricht( short län, char *bytes ) = 0;
- // Sendet während der Statistik eine Nachricht an den Server
- // län: Die Länge der Nachricht
- // bytes: Ein Zeiger auf die Nachricht
- // Gibt 1 zurück, falls der Vorgang erfolgreich ist, 0 sonnst
- virtual bool statistikNachricht( short län, char *bytes ) = 0;
- // Wartet auf eine Nachricht vom Spiel Server.
- // Gibt bei Erfolg 1 zurück, 0 sonnst
- // nachricht: Eine Referenz auf die Struktur, in der die Nachricht gespeichert werden soll
- virtual bool getNextMessage( SpielServerNachricht &nachricht ) = 0;
- // 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
- virtual bool keepAlive() = 0;
- // 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
- virtual bool trenne() = 0;
- // Gibt 1 zurück, falls der Client verbunden ist, 0 sonst
- virtual bool istVerbunden() const = 0;
- // gibt den Letzten Fehlertext zuück
- // sollte erst aufgerufen werden, nachdem eine andere aufgerufene Methode fehlgeschlagen ist
- virtual char *getLetzterFehler() const = 0;
- // Erhöht den Reference Counter um 1 un gibt this zurück
- virtual SpielServerClient *getThis() = 0;
- // Verringert den Reference Counter um 1 und gibt 0 zurück.
- // Falls der Reference Counter nach dem Aufruf auf 0 ist löscht sich das Objekt selbst
- virtual SpielServerClient *release() = 0;
- };
- // Wird verwendet um Statistiken und Aufzeichnungen von vergangenen Spielen abzufragen
- // Kann nur von eingeloggten Clients verwendet werden
- class HistorieServerClient
- {
- protected:
- // verbindet sich mit dem zugewiesenen Historie Server
- // Gibt 1 zurück, falls der Vorgang erfolgreich ist, 0 sonnst
- virtual bool verbinde() = 0;
- // 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
- virtual bool trenne( bool abmelden ) = 0;
- public:
- // 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
- virtual bool downloadSpielHistorie() = 0;
- // gibt den Letzten Fehlertext zuück
- // sollte erst aufgerufen werden, nachdem eine andere aufgerufene Methode fehlgeschlagen ist
- virtual char *getLetzterFehler() const = 0;
- // Erhöht den Reference Counter um 1 un gibt this zurück
- virtual HistorieServerClient *getThis() = 0;
- // Verringert den Reference Counter um 1 und gibt 0 zurück.
- // Falls der Reference Counter nach dem Aufruf auf 0 ist löscht sich das Objekt selbst
- virtual HistorieServerClient *release() = 0;
- };
- // Wird verwendet um Minigame Bestscores abzufragen und Minigame Spielaufzeichnungen zu laden
- // Kann nur von eingeloggten Clients verwendet werden
- class MinigameServerClient
- {
- public:
- // verbindet sich mit dem zugewiesenen Minigame Server
- // Gibt 1 zurück, falls der Vorgang erfolgreich ist, 0 sonnst
- virtual bool verbinde() = 0;
- // Gibt die Id des aktuell spielenden Accounts zurück
- virtual int getAccountId() = 0;
- // Gibt den Anzeigenamen eines bestimmten Accounts zurück
- // id: Die id des Accounts
- virtual Text *getAccountName( int id ) = 0;
- // Gibt eine geheime zeichenkette die nur der client kennt zurück (ist bei spielstart)
- virtual Text *getSecret() = 0;
- // Ermittelt die liste mit allen Optionen zu einem Minigame zurück, zu denen es Welt beste Scores gibt
- // mName: Der Name des Minigames
- // zOptionList: Enthält nach erfolgreichem Aufruf eine Liste mit Optionen
- // Gibt die Anzahl der Optionen zurück
- virtual int getMinigameOptionList( char *mName, Framework::RCArray< Framework::Text > *zOptionList ) = 0;
- // Ermittelt eine Liste mit den Weltbesten Scores zurück
- // mName: Der Name des Minigames
- // zScore: Enthält nach erfolgreichem Aufruf eine Liste mit Scores
- // zPlayerList: Enthält nach erfolgreichem Aufruf eine Liste mit angezeigten Account Namen, die die Scores erreicht haben.
- // zOptionList: Enthält nach erfolgreichem Aufruf eine Liste mit Optionen, die beim erreichen der Scores aktiv waren.
- // Gibt die Anzahl der Bestscores zurück
- virtual int getMinigameBestscoreList( char *mName, Framework::Array< int > *zScore, Framework::RCArray< Framework::Text > *zPlayerList, Framework::RCArray< Framework::Text > *zOptionList ) = 0;
- // Gibt den Welt bestscore zu einem Bestimmten Minigame mit bestimmten Optionen zurück.
- // mName: Der Name des Minigames
- // oName: Die Optionen
- // zPlayer: Enthält nach erfolgreichem Aufruf den Angezeigten Namen des Accounts, der den Score erreicht hat
- virtual int getMinigameOptionBestscore( char *mName, char *oName, Framework::Text *zPlayer ) = 0;
- // Meldet die Beendigung eines Minigames
- // mName: Der Name des Minigames
- // oName: Die Optionen mit denen gespielt wurde
- // score: Der Erreichte Score
- // zCapture: Ein Zeiger auf eine Datei mit der Spielaufzeichnung
- // Gibt 0 zurück wenn eines Fehler aufgetreten ist, 1 wenn der Forgang erfolgreich war
- virtual bool reportEndOfGame( char *mName, char *oName, int score, Framework::Datei *zCapture ) = 0;
- // Lädt ein Game Capture herunter und speichert sie unter data/tmp/minigames/wb.mgc
- // mName: Der Name des Minigames
- // oName: Die Optionen
- // Gibt die Datei mit dem Capture zurück
- virtual Framework::Datei *downloadGameCapture( char *mName, char *oName ) = 0;
- // 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
- virtual bool keepAlive() = 0;
- // 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
- virtual bool trenne( bool abmelden ) = 0;
- // Gibt 1 zurück, falls der Client verbunden ist, 0 sonst
- virtual bool istVerbunden() const = 0;
- // gibt den Letzten Fehlertext zuück
- // sollte erst aufgerufen werden, nachdem eine andere aufgerufene Methode fehlgeschlagen ist
- virtual char *getLetzterFehler() const = 0;
- // Erhöht den Reference Counter um 1 un gibt this zurück
- virtual MinigameServerClient *getThis() = 0;
- // Verringert den Reference Counter um 1 und gibt 0 zurück.
- // Falls der Reference Counter nach dem Aufruf auf 0 ist löscht sich das Objekt selbst
- virtual MinigameServerClient *release() = 0;
- };
- // Wird verwendet um Karten für Spiele zu erstellen
- // Kann nur von eingeloggten Clients verwendet werden
- class EditorServerClient
- {
- public:
- // verbindet sich mit dem zugewiesenen Editor Server
- // Gibt 1 zurück, falls der Vorgang erfolgreich ist, 0 sonnst
- virtual bool verbinde() = 0;
- // Erstellt eine neue Karte
- // name: Der Name der Karte
- // spielArt: Die Id des Spiels
- // Gibt 1 zurück, falls der Vorgang erfolgreich ist, 0 sonnst
- virtual bool karteErstellen( char *name, int spielArt ) = 0;
- // lädt eine bestimmte Karte
- // id: Die Id der Karte
- // Gibt 1 zurück, falls der Vorgang erfolgreich ist, 0 sonnst
- virtual bool ladeKarte( int id ) = 0;
- // gibt eine Liste mit Abbildern der geladenen Karte zurück
- // name: Enthält nach erfolgreichem Aufruf eine Liste mit Namen der Abbilder
- // datum: Enthält nach erfolgreichem Aufruf eine Liste mit dem Datum der Erstellung für jedes Abbild
- // Gibt die Anzahl der Abbilder zurück
- virtual int getAbbildListe( Framework::RCArray< Framework::Text > *name, Framework::RCArray< Framework::Zeit > *datum ) = 0;
- // Erstellt ein neues Abbild der geladenen Karte
- // name: Der Name des Abbildes
- // Gibt 1 zurück, falls der Vorgang erfolgreich ist, 0 sonnst
- virtual bool abbildErstellen( char *name ) = 0;
- // Löscht ein altes Abbild der geladenen Karte
- // name: Der Name des Abbildes
- // Gibt 1 zurück, falls der Vorgang erfolgreich ist, 0 sonnst
- virtual bool abbildLöschen( char *name ) = 0;
- // Stellt ein altes Abbild der geladenen Karte wieder her
- // name: Der Name des Abbildes
- // Gibt 1 zurück, falls der Vorgang erfolgreich ist, 0 sonnst
- virtual bool abbildHerstellen( char *name ) = 0;
- // Verüffentlich eine neue Version der geladenen Karte
- // Gibt 1 zurück, falls der Vorgang erfolgreich ist, 0 sonnst
- virtual bool veröffentlichen() = 0;
- // Veröffentlich eine neue Version der Shop Seite der geladenen Karte
- // Gibt 1 zurück, falls der Vorgang erfolgreich ist, 0 sonnst
- virtual bool shopSeiteVeröffentlichen() = 0;
- // Läht die Vorschau der Shop Seite der geladenen Karte herrunter und speichert sie unter data/tmp/ke/ssv
- // Gibt 1 zurück, falls der Vorgang erfolgreich ist, 0 sonnst
- virtual bool ladeShopSeiteVorschau() = 0;
- // Erstellt eine neue Shop Seiten Datei
- // name: Der Name der Datei
- // typ: 0=Ordner, 1=Bild, 2=Text
- // Gibt 1 zurück, falls der Vorgang erfolgreich ist, 0 sonnst
- virtual bool ssDateiErstellen( char *name, int typ ) = 0;
- // Öffnet einen Ordner der Shop Seite
- // name: Der Name des Ordners
- // Gibt 1 zurück, falls der Vorgang erfolgreich ist, 0 sonnst
- virtual bool ssOrdnerÖffnen( char *name ) = 0;
- // Lädt das ein Bild der Shop Seite und gibt es zurück
- // datei: Der Name der Bilddatei
- // bild: Der Name des Bildes
- // Gibt bei misserfolg 0 zurück
- virtual Framework::Bild *ssBildLaden( char *datei, char *bild ) = 0;
- // Löscht eine Datei der Shop Seite
- // name: Der Name der Datei
- // Gibt 1 zurück, falls der Vorgang erfolgreich ist, 0 sonnst
- virtual bool ssDateiLöschen( char *name ) = 0;
- // Läd eine KSGS Datei der Shop Seite und gibt den Quellcode zurück
- // datei: Der Name der Datei
- // Gibt bei misserfolg 0 zurück
- virtual Framework::Text *ssTextLaden( char *datei ) = 0;
- // Spechert eine KSGS Datei der Shop Seite
- // datei: Der Name der Datei
- // zText: Ein Zeiger auf den neuen Quellcode (ohne erhöhten Reference Counter)
- // Gibt 1 zurück, falls der Vorgang erfolgreich ist, 0 sonnst
- virtual bool ssTextSpeichern( char *datei, Framework::Text *zText ) = 0;
- // Löscht ein Bild der Shop Seite
- // datei: Der Name der Bilddatei
- // bild: Der Name des Bildes
- // Gibt 1 zurück, falls der Vorgang erfolgreich ist, 0 sonnst
- virtual bool ssBildLöschen( char *datei, char *bild ) = 0;
- // Speichert ein Bild einer ShopSeite
- // datei: Der name der Bilddatei
- // name: Der Name des Bildes
- // zBild: Ein Zeiger auf das Bild (ohne erhöhten Reference Counter)
- // Gibt 1 zurück, falls der Vorgang erfolgreich ist, 0 sonnst
- virtual bool ssBildSpeichern( char *datei, char *name, Framework::Bild *zBild ) = 0;
- // Lädt eine Liste mit Dateien von der Shop Seite
- // zList: Enthält nach erfolgreichem Aufruf die Liste mit Dateinamen
- // Gibt 1 zurück, falls der Vorgang erfolgreich ist, 0 sonnst
- virtual int ssGetDateiListe( Framework::RCArray< Framework::Text > *zList ) = 0;
- // Lädt die Bild Liste einer Bild Datei der Shop Seite
- // name: Der Name der Bilddatei
- // zList: Enthält nach erfolgreichem Aufruf eine Liste mit Bildnamen
- // Gibt 1 zurück, falls der Vorgang erfolgreich ist, 0 sonnst
- virtual int ssGetBildListe( char *name, Framework::RCArray< Framework::Text > *zList ) = 0;
- // Lädt die Shop Daten
- // es: Enthält nach erfolgreichem aufruf den Erwerbbarkeits Status (0 = nichts, 1 = nur Testversion, 2 = nur Vollversion, 3 = beides)
- // tp: Enthält nach erfolgreichem Aufruf den Preis der Testversion in Kupfer
- // vp: Enthält nach erfolgreichem Aufruf den Preis der Vollversion in Kupfer
- // Gibt 1 zurück, falls der Vorgang erfolgreich ist, 0 sonnst
- virtual bool getShopDaten( int &es, int &tp, int &vp ) = 0;
- // Setzt die Shop Daten
- // es: der Erwerbbarkeits Status (0 = nichts, 1 = nur Testversion, 2 = nur Vollversion, 3 = beides)
- // tp: der Preis der Testversion in Kupfer
- // vp: der Preis der Vollversion in Kupfer
- // Gibt 1 zurück, falls der Vorgang erfolgreich ist, 0 sonnst
- virtual bool setShopDaten( int es, int tp, int vp ) = 0;
- // gibt die Kartenbeschreibung als KSGScript Quellcode zurück
- // Gibt bei misserfolg 0 zurück
- virtual Framework::Text *beschreibungLaden() = 0;
- // gibt das Titelbild der Karte zurück
- // Gibt bei misserfolg 0 zurück
- virtual Framework::Bild *titelbildLaden() = 0;
- // gibt das Minimap Bild der Karte zurück
- // Gibt bei misserfolg 0 zurück
- virtual Framework::Bild *minimapLaden() = 0;
- // gibt das Ladebild der Karte zurück
- // Gibt bei misserfolg 0 zurück
- virtual Framework::Bild *ladebildLaden() = 0;
- // speichert den KSGScript Quellcode der Kartenbeschreibung
- // zText: Der KSGScript Quellcode (ohne erhöhten reference Counter)
- // Gibt 1 zurück, falls der Vorgang erfolgreich ist, 0 sonnst
- virtual bool beschreibungSpeichern( Framework::Text *zText ) = 0;
- // speichert das Titelbild der Karte
- // zBild: das neue Titelbild
- // Gibt 1 zurück, falls der Vorgang erfolgreich ist, 0 sonnst
- virtual bool titelbildSpeichern( Framework::Bild *zBild ) = 0;
- // speichert das Minimapbild der Karte
- // zBild: das neue Minimapbild
- // Gibt 1 zurück, falls der Vorgang erfolgreich ist, 0 sonnst
- virtual bool minimapSpeichern( Framework::Bild *zBild ) = 0;
- // speichert das Ladebild der Karte
- // zBild: das neue Ladebild
- // Gibt 1 zurück, falls der Vorgang erfolgreich ist, 0 sonnst
- virtual bool ladebildSpeichern( Framework::Bild *zBild ) = 0;
- // lädt die Spieler Team Daten der Karte
- // sts: Enthält nach erfolgreichem Aufruf die Spieler Team Daten
- // Gibt 1 zurück, falls der Vorgang erfolgreich ist, 0 sonnst
- virtual bool ladeTeamDaten( SpielerTeamStrukturV *sts ) = 0;
- // speichert die Team Daten
- // sts: die neuen Spieler Team Daten
- // Gibt 1 zurück, falls der Vorgang erfolgreich ist, 0 sonnst
- virtual bool speicherTeamDaten( SpielerTeamStrukturV *sts ) = 0;
- // Erstellt neue Datei im Datei Editor
- // typ: 0=ordner 1=bild 2=modell2d 3=sound
- // Gibt 1 zurück, falls der Vorgang erfolgreich ist, 0 sonnst
- virtual bool deNeueDatei( char typ, Framework::Text *zName ) = 0;
- // Öffnet Ordner im Datei Editor
- // zName: Der Name des Ordners
- // Gibt 1 zurück, falls der Vorgang erfolgreich ist, 0 sonnst
- virtual bool deOrdnerÖffnen( Framework::Text *zName ) = 0;
- // Gibt ein Bild aus dem Datei Editor zurück
- // zDatei: Der Name der Datei (ohne erhöhten Reference Counter)
- // zBild: Der Name des Bildes (ohne erhöhten Reference Counter)
- // zF: Ein Fortschrittsbalken, der automatisch aktualisiert wird (ohne erhöhten Reference Counter)
- // Gibt bei misserfolg 0 zurück
- virtual Framework::Bild *deBildLaden( Framework::Text *zDatei, Framework::Text *zBild, Framework::FBalken *zF ) = 0;
- // Löscht eine Datei aus dem Datei Editor
- // zName: Der Name der Datei
- // Gibt 1 zurück, falls der Vorgang erfolgreich ist, 0 sonnst
- virtual bool deDateiLöschen( Framework::Text *zName ) = 0;
- // Löscht Bild aus Datei im Datei Editor
- // zDatei: Der Name der Bilddatei (ohne erhöhten Reference Counter)
- // zBild: Der Name des Bildes (ohne erhöhten Reference Counter)
- // Gibt 1 zurück, falls der Vorgang erfolgreich ist, 0 sonnst
- virtual bool deBildLöschen( Framework::Text *zDatei, Framework::Text *zBild ) = 0;
- // Speichert Bild in Datei im Datei Editor
- // zDatei: Der Name der Bilddatei (ohne erhöhten Reference Counter)
- // zName: Der Name des Bildes (ohne erhöhten Reference Counter)
- // zBild: Das neue Bild (ohne erhöhten Reference Counter)
- // zF: Ein Fortschrittsbalken, der automatisch aktualisiert wird (ohne erhöhten Reference Counter)
- // Gibt 1 zurück, falls der Vorgang erfolgreich ist, 0 sonnst
- virtual bool deBildSpeichern( Framework::Text *zDatei, Framework::Text *zName, Framework::Bild *zBild, Framework::FBalken *zF ) = 0;
- // Lädt eine Liste mit Dateien im aktuellen Ordner des Datei Editors
- // zNamen: Enthält nach erfolgreichem Aufruf eine Liste mit Dateinamen (ohne erhöhten Reference Counter)
- // Gibt die Anzahl der Dateien zurück
- virtual int deGetDateiListe( Framework::RCArray< Framework::Text > *zNamen ) = 0;
- // Lädt eine Liste mit Bildern aus einer Bilddatei des Datei Editors
- // zNamen: Enthält nach erfolgreichem Aufruf eine Liste mit den Bildnamen (ohne erhöhten Reference Counter)
- // Gibt die Anzahl der Bilder zurück
- virtual int deGetBildListe( Framework::Text *zDatei, Framework::RCArray< Framework::Text > *zNamen ) = 0;
- // Lädt eine Liste mit 2D Modellen aus einer Modeldatei im Datei Editor
- // zDatei: Der Name der Modeldatei (ohne erhöhten Reference Counter)
- // zNamen: Enthält nach erfolgreichem Aufruf eine Liste mit den Modelnamen (ohne erhöhten Reference Counter)
- // Gibt die Anzahl der Modelle zurück
- virtual int deGetModelListe( Framework::Text *zDatei, Framework::RCArray< Framework::Text > *zNamen ) = 0;
- // Lädt eine Liste mit Sounds aus einer Sounddatei im Datei Editor
- // zDatei: Der Name der Sounddatei (ohne erhöhten Reference Counter)
- // zNamen: Enthält nach erfolgreichem Aufruf eine Liste mit den Soundnamen (ohne erhöhten Reference Counter)
- // Gibt die Anzahl der Sounds zurück
- virtual int deGetSoundListe( Framework::Text *zDatei, Framework::RCArray< Framework::Text > *zNamen ) = 0;
- // Löscht ein Model aus einer Modeldatei des Datei Editors
- // zDatei: Der Name der Modeldatei (ohne erhöhten Reference Counter)
- // zModel: Der Name des Models (ohne erhöhten Reference Counter)
- // Gibt 1 zurück, falls der Vorgang erfolgreich ist, 0 sonnst
- virtual bool deModelLöschen( Framework::Text *zDatei, Framework::Text *zModel ) = 0;
- // Löscht einen Sound aus einer Sounddatei des Datei Editors
- // zDatei: Der Name der Sounddatei (ohne erhöhten Reference Counter)
- // zSound: Der Name des Sounds (ohne erhöhten Reference Counter)
- // Gibt 1 zurück, falls der Vorgang erfolgreich ist, 0 sonnst
- virtual bool deSoundLöschen( Framework::Text *zDatei, Framework::Text *zSound ) = 0;
- // Lädt ein Model aus einer Modeldatei des Datei Editors
- // zDatei: Der Name der Modeldatei (ohne erhöhten Reference Counter)
- // zModel: Enthält nach erfolgreichem Aufruf das Model (ohne erhöhten Reference Counter)
- // zF: Ein Fortschrittsbalken, der automatisch aktualisiert wird (ohne erhöhten Reference Counter)
- // Gibt 1 zurück, falls der Vorgang erfolgreich ist, 0 sonnst
- virtual Framework::Model2DData *deModelLaden( Framework::Text *zDatei, Framework::Text *zModel, Framework::FBalken *zF ) = 0;
- // Lädt einen Sound herunter und gibt ihn zurück
- // file: Ein Zeiger auf die GSLDatei, in der der Sound gespeichert werden soll
- // zDatei: Der Name der Sounddatei (ohne erhöhten Reference Counter)
- // zSound: Der Name des Sounds (ohne erhöhten Reference Counter)
- // zF: Ein Fortschrittsbalken, der automatisch aktualisiert wird (ohne erhöhten Reference Counter)
- // Gibt bei misserfolg 0 zurück
- virtual GSL::GSLSoundV *deSoundLaden( GSL::GSLDateiV *file, Framework::Text *zDatei, Framework::Text *zSound, Framework::FBalken *zF ) = 0;
- // Speichert ein Model in eine Modeldatei des Datei Editors
- // zDatei: Der Name der Modeldatei (ohne erhöhten Reference Counter)
- // zModel: Der Name des Models (ohne erhöhten Reference Counter)
- // zData: Die Daten des Models (ohne erhöhten Reference Counter)
- // zF: Ein Fortschrittsbalken, der automatisch aktualisiert wird (ohne erhöhten Reference Counter)
- // Gibt 1 zurück, falls der Vorgang erfolgreich ist, 0 sonnst
- virtual bool deModelSpeichern( Framework::Text *zDatei, Framework::Text *zModel, Framework::Model2DData *zData, Framework::FBalken *zF ) = 0;
- // Speichert einen Sound in einer Sounddatei des Datei Editors
- // zDatei: Der Name der Modeldatei (ohne erhöhten Reference Counter)
- // zSound: Der Name des Sounds (ohne erhöhten Reference Counter)
- // zData: Die Daten des Sounts (ohne erhöhten Reference Counter)
- // zF: Ein Fortschrittsbalken, der automatisch aktualisiert wird (ohne erhöhten Reference Counter)
- // Gibt 1 zurück, falls der Vorgang erfolgreich ist, 0 sonnst
- virtual bool deSoundSpeichern( Framework::Text *zDatei, Framework::Text *zSound, GSL::GSLSoundV *zData, Framework::FBalken *zF ) = 0;
- // Setzt das arbeitsverzeichnis auf den obersten ordner
- virtual bool deResetPath() = 0;
- // Lädt die Kauf Statistik der geladenen Karte
- // verkauft: Enthält nach erfolgreichem Aurfuf eine Liste mit den Anzahlen der Käufe der Karte der letzten 30 Tage
- // einkommen: Enthält nach erfolgreichem Aurfuf eine Liste mit den Anzahlen der verdinten Kupfer in den letzten 30 Tagen
- // gespielt: Enthält nach erfolgreichem Aurfuf eine Liste mit den Anzahlen der Spielen der letzten 30 Tage
- // Gibt 1 zurück, falls der Vorgang erfolgreich ist, 0 sonnst
- virtual int getVerkaufStatistik( Framework::Array< int > *verkauft, Framework::Array< int > *einkommen, Framework::Array< int > *gespielt ) = 0;
- // Startet den Editor Modus, welcher für jedes Spiel unterschiedlich funktioniert
- // Gibt 1 zurück, falls der Vorgang erfolgreich ist, 0 sonnst
- virtual bool initEditor() = 0;
- // 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
- virtual bool keepAlive() = 0;
- // 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
- virtual bool trenne( bool abmelden ) = 0;
- // Beginnt eine individuelle Editor Nachricht
- // Gibt den Klient zurück, über den mit dem Server kommuniziert werden kann. Im Fehlerfall wird 0 zurückgegeben
- virtual Network::Klient *beginEditorMessage() = 0;
- // Beendet eine Editor Nachricht
- // sollte nur nach dem erfolgreichem Aufrufen von beginEditorMessage aufgerufen werden
- // Der Thread, der diese Methode aufgerufen hat, sollte nach dem Erfolgreichen Aufruf am Ende der Kommunikation mit dem Server endEditorMessage aufrufen
- virtual void endEditorMessage() = 0;
- // Gibt 1 zurück, falls der Client verbunden ist, 0 sonst
- virtual bool istVerbunden() const = 0;
- // gibt den Letzten Fehlertext zuück
- // sollte erst aufgerufen werden, nachdem eine andere aufgerufene Methode fehlgeschlagen ist (vom selben Thread)
- virtual char *getLetzterFehler() const = 0;
- // Erhöht den Reference Counter um 1 un gibt this zurück
- virtual EditorServerClient *getThis() = 0;
- // Verringert den Reference Counter um 1 und gibt 0 zurück.
- // Falls der Reference Counter nach dem Aufruf auf 0 ist löscht sich das Objekt selbst
- virtual EditorServerClient *release() = 0;
- };
- // Wird verwendet um Eine Verbindung mit dem Serversystem herzustellen
- class MainServerClient
- {
- public:
- // Meldet den neuen Client beim Serversystem an. Durch diesen Vorgang erhält der Client eine Id und den Port und die Ip Addresse des Main Servers
- virtual bool registerSSL( char *ip, unsigned short port ) = 0;
- // Verbindet den Client mit dem Server
- // Wird automatisch aufgerufen, falls eine Methode aufgerufen wird, die eine Verbindung erfordert. In diesem Fall wird die Verbindung auch automatisch wieder getrennt.
- virtual bool connect() = 0;
- // Erzeugt einen Erhaltungs Server Client
- // Gibt bei misserfolg 0 zurück
- virtual ErhaltungServerClient *createErhaltungServerClient() = 0;
- // Erzeugt einen Patch Server Client
- // Gibt bei misserfolg 0 zurück
- virtual PatchServerClient *createPatchServerClient() = 0;
- // Erzeugt einen News Server Client
- // Gibt bei misserfolg 0 zurück
- virtual NewsServerClient *createNewsServerClient() = 0;
- // Erzeugt einen Register Server Client
- // Gibt bei misserfolg 0 zurück
- virtual RegisterServerClient *createRegisterServerClient() = 0;
- // Erzeugt einen Login Server Client
- // Gibt bei misserfolg 0 zurück
- virtual LoginServerClient *createLoginServerClient() = 0;
- // Erzeugt einen Information Server Client
- // Gibt bei misserfolg 0 zurück
- virtual InformationServerClient *createInformationServerClient() = 0;
- // Erzeugt einen Chat Server Client
- // Gibt bei misserfolg 0 zurück
- virtual ChatServerClient *createChatServerClient() = 0;
- // Erzeugt einen Shop Server Client
- // Gibt bei misserfolg 0 zurück
- virtual ShopServerClient *createShopServerClient() = 0;
- // Erzeugt einen Anmeldung Server Client
- // Gibt bei misserfolg 0 zurück
- virtual AnmeldungServerClient *createAnmeldungServerClient() = 0;
- // Erzeugt einen Minigame Server Client
- // Gibt bei misserfolg 0 zurück
- virtual MinigameServerClient *createMinigameServerClient() = 0;
- // Trennt die Verbindung zum Server. Muss nur aufgerufen werden, wenn vorher manuell connect aufgerufen wurde
- virtual bool disconnect() = 0;
- // Meldet den Client vom Server ab. Alle zuvor von diesem Client erzeugten Clients werden durch diesen Vorgang unbrauchbar
- virtual bool unregister() = 0;
- // Gibt die dem Client zugewiesene Id zurück.
- // sollte erst nach dem Aufruf von registerSSL verwendet werden.
- virtual int getClientId() const = 0;
- // Gibt die Ip Adresse des dem Client zugewiesenen Main Servers zurück.
- // sollte erst nach dem Aufruf von registerSSL verwendet werden.
- virtual char *getServerIp() const = 0;
- // Gibt den Port des dem Client zugewiesenen Main Servers zurück.
- // sollte erst nach dem Aufruf von registerSSL verwendet werden.
- virtual unsigned short getServerPort() const = 0;
- // Gibt den Zeiger auf den Schlüssel zurück
- // sollte erst nach dem Aufruf von registerSSL verwendet werden.
- virtual char *zKey() const = 0;
- // Gibt die Länge des Schlüssels zurück
- // sollte erst nach dem Aufruf von registerSSL verwendet werden.
- virtual unsigned char getKeyLen() const = 0;
- // gibt den Letzten Fehlertext zuück
- // sollte erst aufgerufen werden, nachdem eine andere aufgerufene Methode fehlgeschlagen ist
- virtual char *getLetzterFehler() const = 0;
- // Erhöht den Reference Counter um 1 un gibt this zurück
- virtual MainServerClient *getThis() = 0;
- // Verringert den Reference Counter um 1 und gibt 0 zurück.
- // Falls der Reference Counter nach dem Aufruf auf 0 ist löscht sich das Objekt selbst
- virtual MainServerClient *release() = 0;
- };
- }
|