KSGKlient.h 24 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501
  1. #ifndef KSGKlient_H
  2. #define KSGKlient_H
  3. #include "KSGKlientV.h"
  4. #include "../Strukturen/Strukturen.h"
  5. #include <Bild.h>
  6. #include <GSLSoundV.h>
  7. #include "Critical.h"
  8. using namespace Network;
  9. using namespace Framework;
  10. #define LOCK( cs ) EnterCriticalSection( cs )
  11. #define UNLOCK( cs ) LeaveCriticalSection( cs )
  12. struct AHDaten;
  13. class LoginKlient
  14. {
  15. private:
  16. Klient *klient;
  17. bool verbunden;
  18. char *fehler;
  19. bool brauchKick;
  20. int klientId;
  21. int accountId;
  22. int ref;
  23. Critical cs;
  24. public:
  25. // Konstruktor
  26. LoginKlient();
  27. // Destruktor
  28. ~LoginKlient(); // wenn verbunden, dann trennen
  29. // nicht constant
  30. bool verbinde(); // verbindet sich mit dem Login Server
  31. int login( const char *name, const char *pass ); // gibt bei Erfolg 1 zurück
  32. bool kick( const char *geheim );
  33. bool logout(); // logt den Account aus
  34. bool keepAlive(); // Erhält die Verbindung aufrecht
  35. bool trenne(); // trennt sich von dem Login Server
  36. void setLetzterFehler( char *err ); // setzt den letzten Fehler
  37. // constant
  38. bool istVerbunden() const; // prüft, ob mit Login Server verbunden
  39. int getAccountId() const; // gibt die AccountId zurück
  40. char *getLetzterFehler() const; // gibt den Letzten Fehlertext zuück
  41. // Reference Counting
  42. LoginKlient *getThis();
  43. LoginKlient *release();
  44. };
  45. class RegisterKlient
  46. {
  47. private:
  48. Klient *klient;
  49. bool verbunden;
  50. char *fehler;
  51. bool brauchSchlüssel;
  52. int klientId;
  53. int ref;
  54. Critical cs;
  55. public:
  56. // Konstruktor
  57. RegisterKlient();
  58. // Destruktor
  59. ~RegisterKlient(); // wenn verbunden, dann trennen
  60. // nicht constant
  61. bool verbinde(); // verbindet ich mit dem Register Server
  62. bool accountErstellen( const char *name, const char *pass, const char *geheim, const char *eMail, unsigned short jahr, char monat, char tag ); // erstellt den Account
  63. bool accountLöschen( const char *name, const char *pass, const char *geheim ); // löscht den Account
  64. int accountBestätigen( const char *name, const char *pass ); // account Bestätigung fortsetzen
  65. bool bestätigen( const char *schlüssel ); // bestätigt den Vorgang mit Schüssel
  66. void eMailErneutSenden(); // E-Mail nochmal senden
  67. void später(); // bestätigung später abclose
  68. void abbrechen(); // bricht den Vorgang ab
  69. bool passwortÄndern( const char *name, const char *pass, const char *geheim, const char *nPass ); // ändert das Passwort
  70. bool eMailÄndern( const char *name, const char *pass, const char *geheim, const char *nEMail ); // ändert die E-Mail Addresse
  71. bool geheimnisÄndern( const char *name, const char *pass, const char *geheim, const char *nGeheim ); // ändert das Geheimnis
  72. bool nameVergessen( const char *pass, const char *geheim ); // schickt den Account Namen an die Bekannte E-Mail Addresse
  73. bool passwortVergessen( const char *name, const char *geheim ); // schickt das Account Passwort an die Bekannte E-Mail Addresse
  74. bool geheimnisVergessen( const char *name, const char *pass ); // schickt das Account Geheimnis an die Bekannte E-Mail Addresse
  75. bool eMailVergessen( const char *name, const char *pass, const char *geheim, char **eMail ); // gibt die E-Mail Addresse des Accounts zurück
  76. bool keepAlive(); // Erhält die Verbindung aufrecht
  77. bool trenne(); // trennt sich von dem Register Server
  78. // constant
  79. bool istVerbunden() const; // prüft, ob mit Register Server verbunden
  80. bool vorgangBrauchBestätigung() const; // prüft, ob eine Bestätigung notwendig ist
  81. char *getLetzterFehler() const; // gibt den Letzten Fehlertext zuück
  82. // Reference Counting
  83. RegisterKlient *getThis();
  84. RegisterKlient *release();
  85. };
  86. class InformationKlient : public InformationKlientV
  87. {
  88. private:
  89. Klient *klient;
  90. bool verbunden;
  91. Text *fehler;
  92. int klientId;
  93. int ref;
  94. Critical cs;
  95. public:
  96. // Konstruktor
  97. InformationKlient();
  98. // Destruktor
  99. ~InformationKlient(); // wenn verbunden, dann trennen
  100. // nicht constant
  101. virtual bool verbinde() override; // verbindet ich mit dem Informaion Server
  102. virtual bool getInformationText( Text *txt, int *typ ) override; // fragt nach Informationstext
  103. virtual bool istSpielErlaubt( int spielId ) override; // fragt, ob das entsprechende Spiel vom Server gesperrt wurde
  104. virtual bool istKarteErlaubt( int karteId ) override; // fragt, ob die entsprechende Karte vom Server gesperrt wurde
  105. virtual int getKarteId( char *name ) override; // fragt nach der Id einer Karte
  106. virtual int getSpielId( char *name ) override; // fragt nach der id eines Spiels
  107. virtual Text *getSpielerName( int accountId ); // fragt nach dem Namen eines Accounts
  108. virtual bool getSpielStatistik( int accountId, int spielId, Array< int > *werte ) override; // fragt nach der Spiel Statistik eines Accounts
  109. virtual Text *getKarteName( int karteId ) override; // fragt nach dem Namen einer Karte
  110. virtual Text *getSpielName( int spielId ) override; // fragt nach dem Namen einer Spielart
  111. virtual Text *getChatroomName( int chatroomId ) override; // fragt nach dem Namen eines Chatrooms
  112. virtual int getSpielId( int karteId ) override; // fragt zu welcher Spielart die Karte gehört
  113. virtual int getAccountId( char *name ) override; // gibt die Id des Accounts zurück
  114. virtual int getChatroomId( char *name ) override; // gibt die Id des Chatrooms zurück
  115. virtual int getGruppenKarteId( int gruppenId ) override; // gibt die karten Id der gruppe zurück
  116. virtual bool getGruppeSpielerHinzufügen( int gruppeId ) override; // gibt die Spieler hinzufügen Funktion der Gruppe zurück
  117. virtual int getGruppeAdminId( int gruppeId ) override; // gibt den Gruppen Administrator zurück
  118. virtual int getSpielerPunkte( int accountId, int spielId ) override; // gibt die Punkte eines Spielers zurück
  119. virtual Array< int > *getAccountSpielArtListe() override; // gibt eine Liste mit gekauften Spielen zurück
  120. virtual int getSpielVersion( int spielId ) override; // gibt die neuste Version eines Spiels zurück
  121. virtual int getKupfer() override; // gibt das Kupfer des Accounts zurück
  122. virtual int getDateiGruppeIdVonSpiel( int spielId ) override; // Gibt die Dateigruppe eines Spieles zurück
  123. virtual Text *getDateiGruppePfad( int dgId ) override; // Gibt den Dateigruppen Pfad zurück
  124. virtual Array< int > *getAccountKarteListe( int spielId ) override; // gibt eine Liste mit gekauften Karten zurück
  125. virtual int getDateiGruppeIdVonPfad( char *pfad ) override; // Gibt die Dateigruppe eines Pfades zurück
  126. virtual int getDateiGruppeVersion( int dg ) override; // gibt die neuste Version einer Dateigruppe zurück
  127. virtual int getSpielerListe( char *suche, int *seite, int *maxSeite, char sortSpalte, char rückwärts,
  128. Array< int > *accounts, RCArray< Text > *name, RCArray< Text > *zuletztOnline,
  129. RCArray< Text > *letztesSpiel, RCArray< Text > *letzteKarte, RCArray< Text > *punkte ) override; // sucht nach Spielern
  130. virtual bool getSpielerAktivität( int accId, RCArray< Text > *datum, Array< double > *stOnline, Array< double > *stGespielt,
  131. Array< int > *anzSpiele, Array< int > *anzGewonnen ) override; // ermittelt die aktivität eines Spielers
  132. virtual int getAccountKarteSpiele( int account, int karte ) override; // Gibt zurück, wie oft ein Spieler eine Karte schon gespielt hat
  133. virtual int getAccountKarteSpieleGewonnen( int account, int karte ) override; // Gibt zurück, wie oft ein Spieler eine Karte schon gewonnen hat
  134. virtual bool hatAccountKarte( int account, int karte ) override; // Gibt zurück, ob ein Spieler die Karte im Besitz hat
  135. virtual bool hatAccountSpiel( int account, int spiel ) override; // Gibt zurück, ob ein Spieler ein Spiel im Besitz hat
  136. virtual Array< int > *getAccountKarteGespieltListe( int account, int spielId ) override; // gibt eine Liste mit Karten zurück, die von einem Spieler bereits gespielt wurden
  137. virtual Array< int > *getAccountSpielGespieltListe( int account ) override; // gibt eine Liste mit Spielen zurück, die von einem Spieler bereits gespielt wurden
  138. virtual bool getSpielPartnerListe( int account, Array< int > *spieler, Array< int > *karten, Array< int > *anzahl ) override; // Gibt eine Liste von Spiel Partnern eines Spielers zurück
  139. virtual bool getStatistikListe( int account, int *seite, int *maxSeite, char sortSpalte, char rückwärts,
  140. RCArray< Array< int > > *werte, RCArray< Text > *namen ) override; // Gibt eine Liste mit Spiel Statistiken zurück
  141. virtual AHDaten *getSpielHistorieDaten( int account ) override; // Gibt eine Liste mit den letzten 20 Spielen zurück
  142. virtual bool getHistorieServer( int spielId, int *port, Text *ip ) override; // sucht nach dem Historie Server von einem Spiel
  143. virtual bool keepAlive() override; // Erhält die Verbindung aufrecht
  144. virtual bool hatRecht( int recht ) override; // Prüft ob Berechtigung vorhanden
  145. virtual int getKartenListe( char *filter, char sortSpalte, char absteigend, Array< int > *kId, RCArray< Text > *kName, RCArray< Text > *sName,
  146. Array< int > *kupfer, Array< int > *verkauft, Array< int > *maxSpieler ) override; // Gibt eine Liste mit Karten zurück
  147. virtual bool getEditorServer( int karteId, int *port, Text *ip ) override; // sucht nach dem Editor Server von einer Karte
  148. virtual bool getKartenServer( int karteId, int *port, Text *ip ) override; // sucht nach dem Karten Server von einer Karte
  149. virtual bool trenne() override; // trennt sich von dem Informaion Server
  150. // constant
  151. virtual bool istVerbunden() const override; // prüft, ob mit Informaion Server verbunden
  152. virtual char *getLetzterFehler() const override; // gibt den Letzten Fehlertext zuück
  153. // Reference Counting
  154. virtual InformationKlientV *getThis() override;
  155. virtual InformationKlientV *release() override;
  156. };
  157. class ChatKlient : private Thread
  158. {
  159. private:
  160. Klient *senden;
  161. Klient *empfangen;
  162. bool verbunden;
  163. Text *fehler;
  164. int klientId;
  165. int ref;
  166. Critical cs;
  167. public:
  168. // Konstruktor
  169. ChatKlient();
  170. // Destruktor
  171. ~ChatKlient();
  172. // nicht constant
  173. bool verbinde(); // verbindet ich mit dem Chat Server
  174. bool chatNachricht( int zuAccount, const char *nachricht ); // sendet eine Nachricht zu einem Account
  175. bool accountNameÄndern( const char *name ); // ändert den Account Namen
  176. bool freundschaftBeenden( int accountId ); // beendet die Freundschaft mit einem Account
  177. bool freundesAnfrage( int accountId ); // sendet eine Freundesanfragezu einem Account
  178. bool freundesAnfrageBeantworten( int accountId, bool ja ); // beantwortet eine Freundesanfrage
  179. int chatroomErstellen( const char *name ); // erstellt ein chatroom
  180. bool chatroomEinladung( int accountId, int chatroomId ); // verschickt eine Einladung zu einem Chatroom
  181. bool chatroomEinladungAblehnen( int accountId, int chatroomId ); // Einladung zum Chatroom wird abgelehnt
  182. bool chatroomBetreten( int chatroomId ); // betritt ein chatroom
  183. bool chatroomNachricht( int chatroomId, const char *nachricht ); // chatroom Nachricht senden
  184. bool chatroomVerlassen( int chatroomId ); // verlässt chatroom
  185. bool chatroomKick( int chatroomId, int accountId ); // kickt Spieler aus Chatroom( nur wenn admin )
  186. bool freundesListeAnfragen(); // fragt nach allen freunden
  187. bool chatNachrichtAnfrage(); // fragt nach chat nachrichten in abwesenheit
  188. bool keepAlive(); // Erhält die Verbindung aufrecht
  189. bool trenne(); // trennt sich von dem Chat Server
  190. virtual void thread(); // empfangen von Nachrichten
  191. // constant
  192. bool istVerbunden() const; // prüft, ob mit Chat Server verbunden
  193. char *getLetzterFehler() const; // gibt den Letzten Fehlertext zuück
  194. // Reference Counting
  195. ChatKlient *getThis();
  196. ChatKlient *release();
  197. };
  198. class AnmeldungKlient
  199. {
  200. private:
  201. Klient *klient;
  202. bool verbunden;
  203. Text *fehler;
  204. int klientId;
  205. bool spielHistorie;
  206. int ref;
  207. Critical cs;
  208. public:
  209. // Konstruktor
  210. AnmeldungKlient();
  211. // Destruktor
  212. ~AnmeldungKlient();
  213. // nicht constant
  214. bool verbinde(); // verbindet ich mit dem Chat Server
  215. int gruppeErstellen( int karteId ); // erstellt eine gruppe
  216. bool gruppeBetreten( int gruppeId, Array< int > *mitglieder, int *anzahl ); // betritt Gruppe
  217. bool gruppeVerlassen( int gruppeId ); // Verlässt die gruppe
  218. bool gruppeAnmelden( int gruppeId ); // meldet gruppe an
  219. bool gruppeAbmelden( int gruppeId ); // meldet gruppe ab
  220. bool gruppeSpielerEinladen( int accountId, int gruppeId ); // läht Spieler ein die Gruppe zu betreten
  221. bool gruppeEinladungAbbrechen( int accountId, int gruppeId ); // bricht einladung ab
  222. bool gruppeEinladungAblehnen( int gruppeId ); // Einladung zur Gruppe ablehnen
  223. bool kickSpielerAusGruppe( int accountId, int gruppeId ); // wirft Spieler aus Gruppe
  224. bool gruppeSpielStarten( int gruppeId, bool spielStarten ); // startet das Spiel der Gruppe
  225. bool gruppeNachricht( int gruppeId, char *nachricht ); // nachricht an gruppe senden
  226. bool anmelden( int karteId ); // betritt warteschlange
  227. bool abmelden(); // verlässt warteschlange
  228. bool keepAlive(); // Erhält die Verbindung aufrecht
  229. bool trenne(); // trennt sich von dem Chat Server
  230. // constant
  231. bool istVerbunden() const; // prüft, ob mit Chat Server verbunden
  232. char *getLetzterFehler() const; // gibt den Letzten Fehlertext zuück
  233. // Reference Counting
  234. AnmeldungKlient *getThis();
  235. AnmeldungKlient *release();
  236. };
  237. class SpielKlient : public SpielKlientV
  238. {
  239. private:
  240. Klient *senden;
  241. Klient *empfangen;
  242. bool verbunden;
  243. Text *fehler;
  244. int klientId;
  245. int ref;
  246. Critical cs;
  247. public:
  248. // Konstruktor
  249. SpielKlient();
  250. // Destruktor
  251. ~SpielKlient();
  252. // nicht constant
  253. virtual bool verbinde( unsigned short port, char *ip ); // verbindet ich mit dem Chat Server
  254. virtual bool spielErstelltAnnehmen(); // klient ist bereit dem erstellten Spiel beizutreten
  255. virtual bool spielErstelltAblehnen(); // klient ist nicht bereit dem erstellten Spiel beizutreten
  256. virtual bool spielErstelltTeamWechseln( int team ); // wechselt das Team
  257. virtual bool spielErstelltTeamFertig(); // bestetigt die Team Auswahl
  258. virtual bool spielErstelltChatNachricht( char *nachricht ); // sendet eine Chat Nachricht an die mitglieder des erstellten Spiels
  259. virtual bool bereitZumLaden(); // Klient ist bereit zum Laden
  260. virtual bool setLadenProzent( int prozent ); // Setzt den Fortschritt des Klients
  261. virtual bool bereitZumSpiel(); // Klient ist bereit zum Spiel
  262. virtual bool spielNachricht( short län, char *bytes ); // Nachricht während des Spiels
  263. virtual bool statistikNachricht( short län, char *bytes ); // Nachricht während der Statistik
  264. virtual bool keepAlive(); // Erhält die Verbindung aufrecht
  265. virtual bool trenne(); // trennt sich von dem Chat Server
  266. virtual void thread(); // empfangen von Nachrichten
  267. // constant
  268. virtual bool istVerbunden() const; // prüft, ob mit Chat Server verbunden
  269. virtual char *getLetzterFehler() const; // gibt den Letzten Fehlertext zuück
  270. // Reference Counting
  271. virtual SpielKlientV *getThis();
  272. virtual SpielKlientV *release();
  273. };
  274. class ShopKlient
  275. {
  276. private:
  277. Klient *klient;
  278. bool verbunden;
  279. Text *fehler;
  280. int klientId;
  281. int ref;
  282. Critical cs;
  283. bool verbinde( int port, char *ip ); // verbindet sich mit vorgegebenem Server
  284. public:
  285. // Konstruktor
  286. ShopKlient();
  287. // Destruktor
  288. ~ShopKlient();
  289. // nicht constant
  290. bool verbinde(); // verbindet sich mit dem Shop Server
  291. Array< int > *suchSpiele( const char *suche ); // sucht nach Spielen
  292. bool ladeSpielTitel( int id ); // läd Titelbild des Spieles herunter
  293. bool ladeSpielSeite( int id ); // läd Seite des Spieles herunter
  294. int getSpielBesitzStatus( int id ); // 0 = nicht im Besitz, 1 = Testversion, 2 = gekauft
  295. int getSpielTestversion( int id ); // gibt die Anzahl der verbleibenden Spiele zurück
  296. int istSpielErwerbbar( int id ); // 0 = nichts, 1 = nur Testversion, 2 = nur Vollversion, 3 = beides
  297. int getSpielPreis( int id, bool testVersion ); // gibt den Preis eines Spieles zurück
  298. bool spielErwerben( int spielId, bool testVersion ); // Spiel kaufen
  299. Array< int > *suchKarten( const char *suche, int spielId ); // sucht nach Karten
  300. bool ladeKarteTitel( int id ); // läd Titelbild der Karte herunter
  301. bool ladeKarteSeite( int id ); // läd Seite der Karte herunter
  302. int getKarteBesitzStatus( int id ); // 0 = nicht im Besitz, 1 = Testversion, 2 = gekauft
  303. int getKarteTestversion( int id ); // gibt die Anzahl der verbleibenden Spiele zurück
  304. int istKarteErwerbbar( int id ); // prüft, ob die Karte erworben werden kann
  305. int getKartePreis( int id, bool testVersion ); // gibt den Preis einer Karte zurück
  306. bool karteErwerben( int karteId, bool testVersion ); // Karte kaufen
  307. bool keepAlive(); // Erhält die Verbindung aufrecht
  308. bool trenne(); // trennt sich von dem Shop Server
  309. // constant
  310. bool istVerbunden() const; // prüft, ob mit Shop Server verbunden
  311. char *getLetzterFehler() const; // gibt den Letzten Fehlertext zuück
  312. // Reference Counting
  313. ShopKlient *getThis();
  314. ShopKlient *release();
  315. };
  316. class HistorieKlient
  317. {
  318. private:
  319. Klient *klient;
  320. Text *fehler;
  321. int klientId;
  322. int ref;
  323. Critical cs;
  324. // privat
  325. bool verbinde( char *ip, int port ); // verbindet ich mit dem Historie Server
  326. bool trenne(); // trennt sich von dem Historie Server
  327. public:
  328. // Konstruktor
  329. HistorieKlient();
  330. // Destruktor
  331. ~HistorieKlient();
  332. // nicht constant
  333. bool downloadSpielHistorie( int spielId ); // läd Spiel Historie herunter
  334. // constant
  335. bool istVerbunden() const; // prüft, ob mit Historie Server verbunden
  336. char *getLetzterFehler() const; // gibt den Letzten Fehlertext zuück
  337. // Reference Counting
  338. HistorieKlient *getThis();
  339. HistorieKlient *release();
  340. };
  341. class NewsKlient
  342. {
  343. private:
  344. Klient *klient;
  345. bool verbunden;
  346. Text *fehler;
  347. int klientId;
  348. int ref;
  349. Critical cs;
  350. public:
  351. // Konstruktor
  352. NewsKlient();
  353. // Destruktor
  354. ~NewsKlient();
  355. // nicht constant
  356. bool verbinde(); // verbindet ich mit dem News Server
  357. bool ladeSeite( char *name );
  358. bool keepAlive(); // Erhält die Verbindung aufrecht
  359. bool trenne(); // trennt sich von dem News Server
  360. // constant
  361. bool istVerbunden() const; // prüft, ob mit News Server verbunden
  362. char *getLetzterFehler() const; // gibt den Letzten Fehlertext zuück
  363. // Reference Counting
  364. NewsKlient *getThis();
  365. NewsKlient *release();
  366. };
  367. class EditorKlient : public EditorKlientV
  368. {
  369. private:
  370. Klient *klient;
  371. bool verbunden;
  372. Text *fehler;
  373. int klientId;
  374. int ref;
  375. Critical cs;
  376. public:
  377. // Konstruktor
  378. EditorKlient();
  379. // Destruktor
  380. ~EditorKlient();
  381. // nicht constant
  382. bool verbinde( unsigned short port, char *ip ) override; // verbindet ich mit dem Editor Server
  383. bool karteErstellen( Text *zName, int spielArt ) override; // Erstellt eine neue Karte
  384. bool ladeKarte( int id ) override; // lädt eine bestimmte Karte
  385. int getAbbildListe( RCArray< Text > *name, RCArray< Zeit > *datum ) override; // gibt eine Liste mit Abbildern der geladenen Karte zurück
  386. bool abbildErstellen( char *name ) override; // Erstellt ein neues Abbild der Karte
  387. bool abbildLöschen( char *name ) override; // Löscht ein altes Abbild der Karte
  388. bool abbildHerstellen( char *name ) override; // Stellt ein altes Abbild der Karte wieder her
  389. bool veröffentlichen() override; // Veröffentlicht die Karte
  390. bool shopSeiteVeröffentlichen() override; // Veröffentlicht die Shop Seite
  391. bool ladeShopSeiteVorschau() override; // Läht die Vorschau der Shop Seite herrunter
  392. bool ssDateiErstellen( char *name, int typ ) override; // Erstellt eine neue Shop Seiten Datei (typ:0=Ordner,1=Bild,2=Text)
  393. bool ssOrdnerÖffnen( char *name ) override; // Öffnet einen Ordner der Shop Seite
  394. Bild *ssBildLaden( char *datei, char *bild ) override; // Läht das ein Bild der Shop Seite
  395. bool ssDateiLöschen( char *name ) override; // Löscht eine Datei der Shop Seite
  396. Text *ssTextLaden( char *datei ) override; // Läd eine KSGS Datei der Shop Seite
  397. bool ssTextSpeichern( char *datei, Text *zText ) override; // Spechert eine KSGS Datei der Shop Seite
  398. bool ssBildLöschen( char *datei, char *bild ) override; // Löscht ein Bild der Shop Seite
  399. bool ssBildSpeichern( char *datei, char *name, Bild *zBild ) override; // Speichert ein Bild einer ShopSeite
  400. int ssGetDateiListe( RCArray< Text > *zList ) override; // Läd die Datei Liste der Shop Seite
  401. int ssGetBildListe( char *name, RCArray< Text > *zList ) override; // Läd die Bild Liste einer Bild Datei der Shop Seite
  402. bool getShopDaten( int &es, int &tp, int &vp ) override; // Läht die Shop Daten
  403. bool setShopDaten( int es, int tp, int vp ) override; // Setzt die Shop Daten
  404. Text *beschreibungLaden() override; // läht die Kartenbeschreibung
  405. Bild *titelbildLaden() override; // läht das Titelbild
  406. Bild *minimapLaden() override; // läht das Minimapbild
  407. Bild *ladebildLaden() override; // läht das Ladebild
  408. bool beschreibungSpeichern( Text *zText ) override; // speichert die Kartenbeschreibung
  409. bool titelbildSpeichern( Bild *zBild ) override; // speichert das Titelbild
  410. bool minimapSpeichern( Bild *zBild ) override; // speichert das Minimapbild
  411. bool ladebildSpeichern( Bild *zBild ) override; // speichert das Ladebild
  412. bool ladeTeamDaten( SpielerTeamStruktur *sts ) override; // läht die Team Daten
  413. bool speicherTeamDaten( SpielerTeamStruktur *sts ) override; // speichert die Team Daten
  414. bool deNeueDatei( char typ, Text *zName ) override; // DateienEditor: Erstellt neue Datei (typ: 0=ordner 1=bild 2=modell2d 3=sound
  415. bool deOrdnerÖffnen( Text *zName ) override; // DateienEditor: Öffnet Ordner
  416. Bild *deBildLaden( Text *zDatei, Text *zBild, FBalken *zF ) override; // DateienEditor: Bild laden
  417. bool deDateiLöschen( Text *zName ) override; // DateienEditor: Löscht Datei
  418. bool deBildLöschen( Text *zDatei, Text *zBild ) override; // DateienEditor: Löscht Bild aus Datei
  419. bool deBildSpeichern( Text *zDatei, Text *zName, Bild *zBild, FBalken *zF ) override; // DateienEditor: Speichert Bild
  420. int deGetDateiListe( RCArray< Text > *zNamen ) override; // DateienEditor: Datei Liste herunterladen
  421. int deGetBildListe( Text *zDatei, RCArray< Text > *zNamen ) override; // DateienEditor: Liste mit in der Datei gespeicherten Bildern
  422. int deGetModelListe( Text *zDatei, RCArray< Text > *zNamen ) override; // DateienEditor Liste mit in der Datei gespeicherten Modellen
  423. int deGetSoundListe( Text *zDatei, RCArray< Text > *zNamen ) override; // DateienEditor: Liste mit in der Datei gespeicherten Tönen
  424. bool deModelLöschen( Text *zDatei, Text *zModel ) override; // DateienEditor: Löscht Modell
  425. bool deSoundLöschen( Text *zDatei, Text *zSound ) override; // DateienEditor: Löscht Ton
  426. Model2DData *deModelLaden( Text *zDatei, Text *zModel, FBalken *zF ) override; // DateienEditor: läd ein Model herunter
  427. GSL::GSLSoundV *deSoundLaden( Text *zDatei, Text *zSound, FBalken *zF ) override; // DateienEditor: läd Sound herunter
  428. bool deModelSpeichern( Text *zDatei, Text *zModel, Model2DData *zData, FBalken *zF ) override; // DateienEditor: Speichert Modell
  429. bool deSoundSpeichern( Text *zDatei, Text *zSound, GSL::GSLSoundV *zData, FBalken *zF ) override; // DateienEditor: Speichert Sound
  430. bool initEditor() override; // Initialisiert den Editor auf Serverseite
  431. bool keepAlive() override; // Erhält die Verbindung aufrecht
  432. bool trenne() override; // trennt sich von dem Editor Server
  433. void lock() override;
  434. void unlock() override;
  435. Klient *zKlient() override; // gibt den Klient zurück
  436. // constant
  437. bool istVerbunden() const override; // prüft, ob mit Editor Server verbunden
  438. char *getLetzterFehler() const override; // gibt den Letzten Fehlertext zuück
  439. // Reference Counting
  440. EditorKlientV *getThis() override;
  441. EditorKlientV *release() override;
  442. };
  443. class KartenKlient
  444. {
  445. private:
  446. Klient *klient;
  447. bool verbunden;
  448. Text *fehler;
  449. int klientId;
  450. int ref;
  451. Critical cs;
  452. public:
  453. // Konstruktor
  454. KartenKlient();
  455. // Destruktor
  456. ~KartenKlient();
  457. // nicht constant
  458. bool verbinde( unsigned short port, char *ip ); // verbindet ich mit dem Karten Server
  459. bool downloadKarte( int id ); // läd die Karte herunter
  460. bool downloadKarteTitel( int id ); // läd das Titelbild einer Karte herunter
  461. bool downloadKarteBeschreibung( int id ); // läd die Beschreibung einer Karte herunter
  462. bool downloadKarteMinimap( int id ); // läd die Minimap einer Karte herunter
  463. bool downloadKarteLadebild( int id ); // läd das Ladebild einer Karte herunter
  464. bool keepAlive(); // Erhält die Verbindung aufrecht
  465. bool trenne(); // trennt sich von dem Editor Server
  466. // constant
  467. bool istVerbunden() const; // prüft, ob mit Editor Server verbunden
  468. char *getLetzterFehler() const; // gibt den Letzten Fehlertext zuück
  469. // Reference Counting
  470. KartenKlient *getThis();
  471. KartenKlient *release();
  472. };
  473. #endif