KSGNetwork.h 62 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103
  1. #pragma once
  2. #include <Array.h>
  3. namespace Framework
  4. {
  5. class Text;
  6. class Datei;
  7. }
  8. namespace Network
  9. {
  10. class Klient;
  11. }
  12. namespace KSGClient
  13. {
  14. // Enthält die Daten eines Spielers zu einem vergangenen Spiel
  15. struct SpielHistorieSpielerDaten
  16. {
  17. protected:
  18. int ref; // Reference Counter
  19. public:
  20. Framework::Text *name; // Der Sichtabe Name des Spielers
  21. int punkte; // Die Punkte, die der Spieler in dem Spiel gewonnen / verloren hat
  22. Framework::Text *status; // Der Status des Spielers in dem Spiel (verloren, gewonnen, nicht anwesend, beobachter, unentschieden)
  23. int farbe; // Die Farbe des Spielers
  24. // Erhöht den Reference Counter um 1 un gibt this zurück
  25. virtual SpielHistorieSpielerDaten *getThis() = 0;
  26. // Verringert den Reference Counter um 1 und gibt 0 zurück.
  27. // Falls der Reference Counter nach dem Aufruf auf 0 ist löscht sich das Objekt selbst
  28. virtual SpielHistorieSpielerDaten *release() = 0;
  29. };
  30. // Enthält die Datein eines Teams zu einem vergangenen Spiel
  31. struct SpielHistorieTeamDaten
  32. {
  33. protected:
  34. int ref; // Reference Counter
  35. public:
  36. Framework::Text *name; // Der Sichtabe Name des Teams
  37. int sAnzahl; // Die Anzahl der Spieler im Team
  38. Framework::Text *status; // Der Status des Teams (verloren, gewonnen, beobachter, unentschieden)
  39. int farbe; // Die Farbe des Teams
  40. Framework::RCArray< SpielHistorieSpielerDaten > *spieler; // Eine Liste mit den Spielerdaten zu den Spielern aus dem Team
  41. // Erhöht den Reference Counter um 1 un gibt this zurück
  42. virtual SpielHistorieTeamDaten *getThis() = 0;
  43. // Verringert den Reference Counter um 1 und gibt 0 zurück.
  44. // Falls der Reference Counter nach dem Aufruf auf 0 ist löscht sich das Objekt selbst
  45. virtual SpielHistorieTeamDaten *release() = 0;
  46. };
  47. // Enthält Daten zu einem vergangenen Spiel
  48. struct SpielHistorieDaten
  49. {
  50. protected:
  51. int ref; // Reference Counter
  52. public:
  53. int id; // Die Id des vergangenen Spiels
  54. int karteId; // Die Id der Karte, welche gespielt wurde
  55. Framework::Text *spiel; // Der Name des Spiels, welches gespielt wurde
  56. Framework::Text *karte; // Der Name der Karte, welche gespielt wurde
  57. Framework::Text *datum; // Der Zeitpunkt, an dem das Spiel Statfand
  58. Framework::Text *status; // Der Status des Spielers, über welchen die Statistik angefragt wurde
  59. Framework::Text *dauer; // Die Dater des Spiels
  60. Framework::Text *spielStatus; // Der Status des Spiels (beginnt, läuft, abgebrochen, fehlerhaft, beendet, unbewertet)
  61. Framework::Text *gewinner; // Der Name des Gewinners
  62. int sAnzahl; // Die Anzahl der Spieler
  63. Framework::RCArray< SpielHistorieTeamDaten > *teams; // Die Daten der Teams des Spiels
  64. // Erhöht den Reference Counter um 1 un gibt this zurück
  65. virtual SpielHistorieDaten *getThis() = 0;
  66. // Verringert den Reference Counter um 1 und gibt 0 zurück.
  67. // Falls der Reference Counter nach dem Aufruf auf 0 ist löscht sich das Objekt selbst
  68. virtual SpielHistorieDaten *release() = 0;
  69. };
  70. // Enthält eine Liste von Spiel Daten aus vergangenen Spielen
  71. struct SpielHistorieListe
  72. {
  73. protected:
  74. int ref; // Reference Counter
  75. public:
  76. Framework::RCArray< SpielHistorieDaten > *spiele; // Eine Liste mit den Daten zu vergangenen Spielen
  77. // Erhöht den Reference Counter um 1 un gibt this zurück
  78. virtual SpielHistorieListe *getThis() = 0;
  79. // Verringert den Reference Counter um 1 und gibt 0 zurück.
  80. // Falls der Reference Counter nach dem Aufruf auf 0 ist löscht sich das Objekt selbst
  81. virtual SpielHistorieListe *release() = 0;
  82. };
  83. // Enthält Informationen zu einem Account
  84. struct AccountInfo
  85. {
  86. protected:
  87. int ref; // Reference Counter
  88. public:
  89. int id; // Die Id des Accounts
  90. Framework::Text *name; // Der angezeigte Name des Accounts
  91. Framework::Text zuletztOnline; // Der Zeitpunkt, zu dem der Account zuletzt online war
  92. Framework::Text letztesSpiel; // Der Name des zuletzt gespielten online Spiels
  93. Framework::Text letzteKarte; // Der Name der zuletzt gespielten Karte
  94. Framework::Text punkte; // Die Punkte des Spielers in dem Spiel
  95. // Erhöht den Reference Counter um 1 un gibt this zurück
  96. virtual AccountInfo *getThis() = 0;
  97. // Verringert den Reference Counter um 1 und gibt 0 zurück.
  98. // Falls der Reference Counter nach dem Aufruf auf 0 ist löscht sich das Objekt selbst
  99. virtual AccountInfo *release() = 0;
  100. };
  101. // Enthält Informationen zur Aktivität eines Accounts an einem bestimmten Tag
  102. struct AccountActivityInfo
  103. {
  104. protected:
  105. int ref; // Reference Counter
  106. public:
  107. Framework::Text datum; // Das Datum für das die Werte gillt
  108. double stOnline; // Die Anzahl der Stunden, die der Account Online war
  109. double stGespielt; // Die Anzahl der Stunden, die der Account in online Spielen verbracht hat
  110. int anzSpiele; // Die Anzahl der gespielten online Spiele
  111. int anzGewonnen; // Die Anzahl der gewonnenen online Spiele
  112. // Erhöht den Reference Counter um 1 un gibt this zurück
  113. virtual AccountActivityInfo *getThis() = 0;
  114. // Verringert den Reference Counter um 1 und gibt 0 zurück.
  115. // Falls der Reference Counter nach dem Aufruf auf 0 ist löscht sich das Objekt selbst
  116. virtual AccountActivityInfo *release() = 0;
  117. };
  118. // Enthält eine Nachricht, die von Chat Server gesendet wurde
  119. struct ChatServerNachricht
  120. {
  121. protected:
  122. int ref; // Reference Counter
  123. public:
  124. char type; // Typ der Nachricht
  125. Framework::Text *message; // Text der Nachricht
  126. int account; // Beteiligter Account
  127. int gruppe; // Beteiligte Gruppe
  128. int chatroom; // Beteiligter Chatraum
  129. Framework::Array< int > *ids; // Liste mit Account Ids
  130. // Erhöht den Reference Counter um 1 un gibt this zurück
  131. virtual ChatServerNachricht *getThis() = 0;
  132. // Verringert den Reference Counter um 1 und gibt 0 zurück.
  133. // Falls der Reference Counter nach dem Aufruf auf 0 ist löscht sich das Objekt selbst
  134. virtual ChatServerNachricht *release() = 0;
  135. };
  136. // Enthält alle Daten zur Team - Spieler Konstalation einer Karte
  137. struct SpielerTeamStruktur
  138. {
  139. protected:
  140. int ref; // Reference Counter
  141. public:
  142. int spielerAnzahl; // Die Anzahl der Spieler
  143. int teamAnzahl; // Die Anzahl der Teams
  144. Framework::Array< int > *spielerFarbe; // Eine Liste mit den Farben für jeden Spieler
  145. Framework::Array< int > *teamFarbe; // Eine Liste mit Farben für jedes Team
  146. Framework::RCArray< Framework::Text > *teamName; // Eine Liste mit namen für jedes Team
  147. Framework::Array< int > *teamGröße; // Eine Liste Mit Spieleranzahlen für jedes Team
  148. // Erhöht den Reference Counter um 1 un gibt this zurück
  149. virtual SpielerTeamStruktur *getThis() = 0;
  150. // Verringert den Reference Counter um 1 und gibt 0 zurück.
  151. // Falls der Reference Counter nach dem Aufruf auf 0 ist löscht sich das Objekt selbst
  152. virtual SpielerTeamStruktur *release() = 0;
  153. };
  154. // Enthält eine Nachricht von dem Spiel Server
  155. struct SpielServerNachricht
  156. {
  157. protected:
  158. int ref; // Reference Counter
  159. public:
  160. char type; // Typ der Nachricht
  161. char sekunden; // Mit der Nachricht zusammenhängende Sekunden
  162. char minuten; // Mit der Nachricht zusammenhängende Minuten
  163. char stunden; // Mit der Nachricht zusammenhängende Stunden
  164. Framework::Text *message; // Text der Nachricht
  165. SpielerTeamStruktur *sts; // Die Spieler Team Struktur eines Spiels
  166. int accountId; // Id des Accounts
  167. int spielerNummer; // Die Spielernummer des Accounts
  168. int karteId; // Die Id der Karte
  169. int prozent; // Der Prozentuale Ladefortschritt
  170. int ping; // Der Ping des Accounts (1000 = 1 Sekunde)
  171. short län; // Länge der gesendeten Daten
  172. char *data; // Die gesendeten Daten
  173. // Erhöht den Reference Counter um 1 un gibt this zurück
  174. virtual SpielServerNachricht *getThis() = 0;
  175. // Verringert den Reference Counter um 1 und gibt 0 zurück.
  176. // Falls der Reference Counter nach dem Aufruf auf 0 ist löscht sich das Objekt selbst
  177. virtual SpielServerNachricht *release() = 0;
  178. };
  179. // Wird benutzt, um die Verbindung mit den Servern aufrecht zu erhalten. Bei einem Verbindungsabbruch wird der Client automatisch abgemeldet
  180. class ErhaltungServerClient
  181. {
  182. };
  183. // Wird benutzt, um aktualisierte Spieldateien herunterzuladen
  184. class PatchServerClient
  185. {
  186. };
  187. // Wird verwendet um News Oberflächen abzufragen (KSG Script Seiten)
  188. class NewsServerClient
  189. {
  190. };
  191. // Wird benutzt, um Accounts zu erstellen zu ändern oder zu löschen
  192. class RegisterServerClient
  193. {
  194. public:
  195. // verbindet ich mit dem Register Server
  196. // Gibt 1 zurück, falls der Vorgang erfolgreich ist, 0 sonnst
  197. virtual bool verbinde() = 0;
  198. // Sendet eine Anfrage auf Erstellung eines neuen Accounts. Ein neuer Account kann erst verwendet werden, wenn ein Link in der Bestätigungsemail angeklickt wurde.
  199. // Gibt 1 zurück, falls der Vorgang erfolgreich ist, 0 sonnst
  200. // name: Der Login Name des Accounts
  201. // pass: Das Login Passwort des Accounts
  202. // geheim: Das Geheimnis des Accounts
  203. // eMail: Die EMail Adresse an die die bestätigungs EMail gesendet werden soll
  204. // jahr: Das Jahr des Geburtsdatums
  205. // monat: Der Monat des Geburtstages
  206. // tag: Der Tag des Geburtstages
  207. virtual bool accountErstellen( const char *name, const char *pass, const char *geheim, const char *eMail, unsigned short jahr, char monat, char tag ) = 0;
  208. // 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.
  209. // Gibt 1 zurück, falls der Vorgang erfolgreich ist, 0 sonnst
  210. // name: Der Login Name des Accounts
  211. // pass: Das Login Passwort des Accounts
  212. // geheim: Das Geheimnis des Accounts
  213. virtual bool accountLöschen( const char *name, const char *pass, const char *geheim ) = 0;
  214. // Ändert das Passwort eines Accounts
  215. // Gibt 1 zurück, falls der Vorgang erfolgreich ist, 0 sonnst
  216. // name: Der Login Name des Accounts
  217. // pass: Das Login Passwort des Accounts
  218. // geheim: Das Geheimnis des Accounts
  219. // nPass: Das neue Passwort des Accounts
  220. virtual bool passwortÄndern( const char *name, const char *pass, const char *geheim, const char *nPass ) = 0;
  221. // Ändert die EMail Adresse eines Accounts
  222. // Gibt 1 zurück, falls der Vorgang erfolgreich ist, 0 sonnst
  223. // name: Der Login Name des Accounts
  224. // pass: Das Login Passwort des Accounts
  225. // geheim: Das Geheimnis des Accounts
  226. // nEMail: Die neue EMail Adresse
  227. virtual bool eMailÄndern( const char *name, const char *pass, const char *geheim, const char *nEMail ) = 0;
  228. // Ändert das Geheimnis eines Accounts
  229. // Gibt 1 zurück, falls der Vorgang erfolgreich ist, 0 sonnst
  230. // name: Der Login Name des Accounts
  231. // pass: Das Login Passwort des Accounts
  232. // geheim: Das Geheimnis des Accounts
  233. // nGeheim: Das neue Geheimnis
  234. virtual bool geheimnisÄndern( const char *name, const char *pass, const char *geheim, const char *nGeheim ) = 0;
  235. // Sendet eine Anfrage auf Name Vergessen. Der Name wird an die angegebene EMail Adresse gesendet
  236. // Gibt 1 zurück, falls der Vorgang erfolgreich ist, 0 sonnst
  237. // pass: Das Login Passwort des Accounts
  238. // geheim: Das Geheimnis des Accounts
  239. virtual bool nameVergessen( const char *pass, const char *geheim ) = 0;
  240. // Sendet eine Anfrage auf Passwort Vergessen. Es wird ein Link an die angegebene Email Adresse gesendet, über den ein neues Passwort vergeben werden kann
  241. // Gibt 1 zurück, falls der Vorgang erfolgreich ist, 0 sonnst
  242. // name: Der Login Name des Accounts
  243. // geheim: Das Geheimnis des Accounts
  244. virtual bool passwortVergessen( const char *name, const char *geheim ) = 0;
  245. // Sendet eine Anfrage auf Geheimnis Vergessen. Das Geheimnis wird an die angegebene EMail Adresse gesendet
  246. // Gibt 1 zurück, falls der Vorgang erfolgreich ist, 0 sonnst
  247. // name: Der Login Name des Accounts
  248. // pass: Das Login Passwort des Accounts
  249. virtual bool geheimnisVergessen( const char *name, const char *pass ) = 0;
  250. // Sendet eine Anfrage auf EMail Vergessen. Die EMail Adresse wird direkt vom Server zurückgegeben
  251. // Gibt 1 zurück, falls der Vorgang erfolgreich ist, 0 sonnst
  252. // name: Der Login Name des Accounts
  253. // pass: Das Login Passwort des Accounts
  254. // geheim: Das Geheimnis des Accounts
  255. // 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
  256. virtual bool eMailVergessen( const char *name, const char *pass, const char *geheim, char **eMail ) = 0;
  257. // Erhält die Verbindung aufrecht
  258. // Gibt 1 zurück, falls der Vorgang erfolgreich ist, 0 sonnst
  259. // Sollte während einer bestehenden Verbindung etwa einmal alle 60 Sekunden aufgerufen werden, da sonst der Router die Verbindung automatisch trennt
  260. virtual bool keepAlive() = 0;
  261. // Trennt die Verbindung zum Server
  262. // Gibt 1 zurück, falls der Vorgang erfolgreich ist, 0 sonnst
  263. // Sollte erst nach einem erfolgreichen Aufruf von verbinde aufgerufen werden
  264. virtual bool trenne() = 0;
  265. // Gibt 1 zurück, falls der Client verbunden ist, 0 sonst
  266. virtual bool istVerbunden() const = 0;
  267. // gibt den Letzten Fehlertext zuück
  268. // sollte erst aufgerufen werden, nachdem eine andere aufgerufene Methode fehlgeschlagen ist
  269. virtual char *getLetzterFehler() const = 0;
  270. // Erhöht den Reference Counter um 1 un gibt this zurück
  271. virtual RegisterServerClient *getThis() = 0;
  272. // Verringert den Reference Counter um 1 und gibt 0 zurück.
  273. // Falls der Reference Counter nach dem Aufruf auf 0 ist löscht sich das Objekt selbst
  274. virtual RegisterServerClient *release() = 0;
  275. };
  276. // Wird verwendet um sich einzuloggen oder auszuloggen
  277. class LoginServerClient
  278. {
  279. public:
  280. // verbindet sich mit dem zugewiesenen Login Server
  281. // Gibt 1 zurück, falls der Vorgang erfolgreich ist, 0 sonnst
  282. virtual bool verbinde() = 0;
  283. // Der Client wird beim Serversystem in einen Account eingeloggt
  284. // gibt bei Erfolg 1 zurück
  285. // Sollte erst nach einem erfolgreichen Aufruf von verbinde aufgerufen werden
  286. virtual int login( const char *name, const char *pass ) = 0;
  287. // 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.
  288. virtual bool kick( const char *geheim ) = 0;
  289. // logt den Account aus
  290. // Gibt 1 zurück, falls der Vorgang erfolgreich ist, 0 sonnst
  291. // sollte erst aufgerufen werden, nachdem ein erfolgreicher Aufruf von login erfolg ist
  292. virtual bool logout() = 0;
  293. // Erhält die Verbindung aufrecht
  294. // Gibt 1 zurück, falls der Vorgang erfolgreich ist, 0 sonnst
  295. // Sollte während einer bestehenden Verbindung etwa einmal alle 60 Sekunden aufgerufen werden, da sonst der Router die Verbindung automatisch trennt
  296. virtual bool keepAlive() = 0;
  297. // Trennt die Verbindung zum Server
  298. // Gibt 1 zurück, falls der Vorgang erfolgreich ist, 0 sonnst
  299. // Sollte erst nach einem erfolgreichen Aufruf von verbinde aufgerufen werden
  300. virtual bool trenne() = 0;
  301. // Gibt 1 zurück, falls der Client verbunden ist, 0 sonst
  302. virtual bool istVerbunden() const = 0;
  303. // Gibt die Id des Accounts zurück, in den sich der Client eingeloggt hat.
  304. // sollte erst aufgerufen werden, nachdem ein erfolgreicher Aufruf von login erfolg ist
  305. virtual int getAccountId() const = 0;
  306. // gibt den Letzten Fehlertext zuück
  307. // sollte erst aufgerufen werden, nachdem eine andere aufgerufene Methode fehlgeschlagen ist
  308. virtual char *getLetzterFehler() const = 0;
  309. // Erhöht den Reference Counter um 1 un gibt this zurück
  310. virtual LoginServerClient *getThis() = 0;
  311. // Verringert den Reference Counter um 1 und gibt 0 zurück.
  312. // Falls der Reference Counter nach dem Aufruf auf 0 ist löscht sich das Objekt selbst
  313. virtual LoginServerClient *release() = 0;
  314. };
  315. // Wird verwendet um informationen über Accounts abzufragen
  316. // Kann nur von eingeloggten Clients verwendet werden
  317. class InformationServerClient
  318. {
  319. public:
  320. // verbindet ich mit dem zugewiesenen Informaion Server
  321. // Gibt 1 zurück, falls der Vorgang erfolgreich ist, 0 sonnst
  322. virtual bool verbinde() = 0;
  323. // fragt nach dem Informationstext
  324. // Gibt 1 zurück, falls der Vorgang erfolgreich ist, 0 sonnst
  325. // txt: Ein Zeiger auf ein Text Objekt, welches bei einem erfolgreichen Aufruf den Informationstext enthält
  326. // typ: ein Zeieger auf ein Integer, welches bei einem erfolgreichen Aufruf den Typ der Information enthält
  327. virtual bool getInformationText( Framework::Text *txt, int *typ ) = 0;
  328. // fragt, ob das entsprechende Spiel vom Server gesperrt wurde
  329. // spielId: Die Id des Spiels
  330. // Gibt 1 zurück, falls das Spiel gespielt werden darf, 0 sonnst
  331. virtual bool istSpielErlaubt( int spielId ) = 0;
  332. // fragt, ob die entsprechende Karte vom Server gesperrt wurde
  333. // karteId: Die Id der Karte
  334. // Gibt 1 zurück, falls die Karte gespielt werden darf, 0 sonnst
  335. virtual bool istKarteErlaubt( int karteId ) = 0;
  336. // Ermittelt die Id einer Karte
  337. // name: Der Name der Karte
  338. // Gibt bei misserfolg 0 zurück
  339. virtual int getKarteId( char *name ) = 0;
  340. // Fragt nach der Id eines Spiels
  341. // name: Der Name des Spiels
  342. // Gibt bei misserfolg 0 zurück
  343. virtual int getSpielId( char *name ) = 0;
  344. // fragt nach dem Namen eines Accounts
  345. // accountId: Die Id des Accounts
  346. // Gibt bei misserfolg 0 zurück
  347. virtual Framework::Text *getSpielerName( int accountId ) = 0;
  348. // fragt nach der Spiel Statistik eines Accounts
  349. // accountId: Die Id des Accounts
  350. // spielId: Die Id des Spiels
  351. // werte: Nach erfolgreichem Aufruf enthält die Liste die Statistik werte (gespielt, gewonnen, verloren, punkte, bw0, bw1, bw2, bw3, bw4, bw5)
  352. virtual bool getSpielStatistik( int accountId, int spielId, Framework::Array< int > *werte ) = 0;
  353. // fragt nach dem Namen einer Karte
  354. // karteId: Die id der Karte
  355. // Gibt bei misserfolg 0 zurück
  356. virtual Framework::Text *getKarteName( int karteId ) = 0;
  357. // fragt nach dem Namen eines Spiels
  358. // spielId: Die id des Spiels
  359. // Gibt bei misserfolg 0 zurück
  360. virtual Framework::Text *getSpielName( int spielId ) = 0;
  361. // fragt nach dem Namen eines Chatrooms
  362. // chatroomId: Die id des Chatrooms
  363. // Gibt bei misserfolg 0 zurück
  364. virtual Framework::Text *getChatroomName( int chatroomId ) = 0;
  365. // fragt zu welcher Spielart die Karte gehört
  366. // karteId: Die id der Karte
  367. // Gibt bei misserfolg 0 zurück
  368. virtual int getSpielId( int karteId ) = 0;
  369. // gibt die Id eines Accounts zurück
  370. // name: Der Angezeigte Name des Accounts
  371. // Gibt bei misserfolg 0 zurück
  372. virtual int getAccountId( char *name ) = 0;
  373. // gibt die Id des Chatrooms zurück
  374. // name: Der name des Chatrooms
  375. // Gibt bei misserfolg 0 zurück
  376. virtual int getChatroomId( char *name ) = 0;
  377. // gibt die karten Id zurück, zu dem eine Gruppe erstellt wurde
  378. // gruppenId: Die id der Gruppe
  379. // Gibt bei misserfolg 0 zurück
  380. virtual int getGruppenKarteId( int gruppenId ) = 0;
  381. // gibt 1 zurück, wenn zu einer Gruppe Spieler hinzugefügt werden können, 0 sonnst
  382. // gruppeId: Die id der Gruppe
  383. virtual bool getGruppeSpielerHinzufügen( int gruppeId ) = 0;
  384. // gibt die Account Id des Gruppen Administrators zurück
  385. // gruppeId: Die Id der Gruppe
  386. // Gibt bei misserfolg 0 zurück
  387. virtual int getGruppeAdminId( int gruppeId ) = 0;
  388. // gibt die Punkte eines Spielers zurück
  389. // accountId: Die Accont Id des Spielers
  390. // spielId: Die Id des Spiels
  391. // Gibt bei misserfolg 0 zurück
  392. virtual int getSpielerPunkte( int accountId, int spielId ) = 0;
  393. // gibt eine Liste mit Ids von gekauften Spielen zurück
  394. // Gibt bei misserfolg 0 zurück
  395. virtual Framework::Array< int > *getAccountSpielArtListe() = 0;
  396. // gibt die neuste Version eines Spiels zurück
  397. // spielId: Die Id des Spiels
  398. // Gibt bei misserfolg 0 zurück
  399. virtual int getSpielVersion( int spielId ) = 0;
  400. // gibt das Kupfer des Accounts zurück
  401. // Gibt bei misserfolg 0 zurück
  402. virtual int getKupfer() = 0;
  403. // Gibt die Dateigruppem Id eines Spieles zurück
  404. // spielId: Die Id des Spiels
  405. // Gibt bei misserfolg 0 zurück
  406. virtual int getDateiGruppeIdVonSpiel( int spielId ) = 0;
  407. // Gibt den Dateigruppen Pfad zurück
  408. // dgId: Die Id der Dateigruppe
  409. // Gibt bei misserfolg 0 zurück
  410. virtual Framework::Text *getDateiGruppePfad( int dgId ) = 0;
  411. // gibt eine Liste mit gekauften Karten zurück
  412. // spielId: Die Spiel Id zu der die Karten gehören sollen
  413. // Gibt bei misserfolg 0 zurück
  414. virtual Framework::Array< int > *getAccountKarteListe( int spielId ) = 0;
  415. // Gibt die Dateigruppen Id eines Pfades zurück
  416. // pfad: Der Pfad der Dateigruppe
  417. // Gibt bei misserfolg 0 zurück
  418. virtual int getDateiGruppeIdVonPfad( char *pfad ) = 0;
  419. // gibt die neuste Version einer Dateigruppe zurück
  420. // dg: Die Dateigruppen Id
  421. // Gibt bei misserfolg 0 zurück
  422. virtual int getDateiGruppeVersion( int dg ) = 0;
  423. // Gibt eine Liste Mit Accounts zurück, die einen bestimmten Text im Namen haben und bestimmt Sortiert ist
  424. // suche: Der Text, der in den Namen enthalten sein soll
  425. // seite: Die gewünschte Seite der Tabelle (enthält nach einem Erfolgreichen Aufruf die korrekte Seite)
  426. // maxSeite: Enthält nach erfolgreichem Aufruf die Maximale Seite
  427. // sortSpalte: Die Spalte, nach der Sortiert werden soll
  428. // rückwärts: 1:=Rückwärtzt Sortierung, 0:=Vorwärts Sortierung
  429. // accounts: Enthält nach erfolgreichem Aufruf die Daten der Accounts
  430. // Gibt die Anzahl der gefundenen Accounts zurück
  431. // Gibt 1 zurück, falls der Vorgang erfolgreich ist, 0 sonnst
  432. virtual int getSpielerListe( char *suche, int *seite, int *maxSeite, char sortSpalte, char rückwärts, Framework::RCArray< AccountInfo > *accounts ) = 0;
  433. // ermittelt die aktivität eines Spielers
  434. // accId: Die Id des Accounts
  435. // info: Enthält nach erfolgreichem Aufruf die Aktivitätsinformationen der letzten 30 Tage
  436. virtual bool getSpielerAktivität( int accId, Framework::RCArray< AccountActivityInfo > *info ) = 0;
  437. // Gibt zurück, wie oft ein Spieler eine Karte schon gespielt hat
  438. // account: Die Id des Accounts
  439. // karte: Die Id der Karte
  440. virtual int getAccountKarteSpiele( int account, int karte ) = 0;
  441. // Gibt zurück, wie oft ein Spieler eine Karte schon gewonnen hat
  442. // account: Die Id des Accounts
  443. // karte: Die Id der Karte
  444. virtual int getAccountKarteSpieleGewonnen( int account, int karte ) = 0;
  445. // Gibt zurück, ob ein Spieler die Karte im Besitz hat
  446. // account: Die Id des Accounts
  447. // karte: Die Id der Karte
  448. virtual bool hatAccountKarte( int account, int karte ) = 0;
  449. // Gibt zurück, ob ein Spieler ein Spiel im Besitz hat
  450. // account: Die Id des Accounts
  451. // spiel: Die Id des Spiels
  452. virtual bool hatAccountSpiel( int account, int spiel ) = 0;
  453. // gibt eine Liste mit Ids von Karten zurück, die von einem Spieler bereits gespielt wurden
  454. // account: Die Id des Accounts
  455. // spiel: Die Id des Spiels
  456. // Gibt bei misserfolg 0 zurück
  457. virtual Framework::Array< int > *getAccountKarteGespieltListe( int account, int spielId ) = 0;
  458. // gibt eine Liste mit Ids von Spielen zurück, die von einem Spieler bereits gespielt wurden
  459. // account: Die Id des Accounts
  460. // Gibt bei misserfolg 0 zurück
  461. virtual Framework::Array< int > *getAccountSpielGespieltListe( int account ) = 0;
  462. // Gibt eine Liste von Spiel Partnern eines Spielers zurück
  463. // account: Die Id des Accounts
  464. // spieler: Enthält nach erfolgreichem Aufruf eine Liste mit Account Ids der Spiel Partner
  465. // karten: Enthält nach erfolgreichem Aufruf eine Liste mit den Ids der gespielten Karten
  466. // anzahl: Enthält nach erfolgreichem Aufruf eine Liste mit der Anzahl der Spiele
  467. // Gibt 1 zurück, falls der Vorgang erfolgreich ist, 0 sonnst
  468. virtual bool getSpielPartnerListe( int account, Framework::Array< int > *spieler, Framework::Array< int > *karten, Framework::Array< int > *anzahl ) = 0;
  469. // Gibt eine Liste mit Spiel Statistiken zurück
  470. // account: Die Id des Accounts zu dem die Statistik ermittelt werden soll
  471. // seite: Die gewünschte Seite. Enthält nach efolgreichem Aufruf die korrekte Seite
  472. // maxSeite: Enthält nach erfolgreichem Aufruf die Macimale Seite
  473. // sortSpalte: Die Spalte, nach der Sortiert werden soll
  474. // rückwärts: 1:=Rückwärtzt Sortierung, 0:=Vorwärts Sortierung
  475. // werte: Enthält nach erfolgreichem Aufruf eine Liste mit Statistik Werten (gespielt, gewonnen, verloren, punkte, bw0, bw1, bw2, bw3, bw4, bw5)
  476. // namen: Enthält nach erfolgreichem Aufruf die Namen der Spiele
  477. // Gibt 1 zurück, falls der Vorgang erfolgreich ist, 0 sonnst
  478. virtual bool getStatistikListe( int account, int *seite, int *maxSeite, char sortSpalte, char rückwärts,
  479. Framework::RCArray< Framework::Array< int > > *werte, Framework::RCArray< Framework::Text > *namen ) = 0;
  480. // Gibt eine Liste mit den Daten der letzten 20 Spiele von einem Account zurück
  481. // account: Die Id des Accounts
  482. // Gibt bei misserfolg 0 zurück
  483. virtual SpielHistorieListe *getSpielHistorieDaten( int account ) = 0;
  484. // Erzeugt einen Client zu dem Historie Server, welcher die Aufzeichnungen und Statistiken eines Bestimmten Spiels verwaltet
  485. // spielId: Die id des Spiels
  486. // Gibt bei misserfolg 0 zurück
  487. virtual HistorieServerClient *createHistorieServerClient( int spielId ) = 0; // sucht nach dem Historie Server von einem Spiel
  488. // Prüft, ob der Account bestimmte Berechtigungen besitzt
  489. // recht: Die Id der Berechtigungen
  490. virtual bool hatRecht( int recht ) = 0; // Prüft ob Berechtigung vorhanden
  491. // Gibt eine Liste mit Karten zurück, die einen bestimmten Text im Namen enthalten und bestimmt sortiert ist
  492. // filter: Die Zeichenkette, die im Namen Auftreten soll
  493. // sortSpalte: Der Index der Spalte, nach der sortiert werden soll
  494. // absteigend: 1:=absteigende sortierung,0:=aufsteigende Sortierung
  495. // kId: Eine Liste, welche nach einem erfolgreichen Aufruf die Ids der Karten enthält
  496. // kName: Eine Liste, welche nach einem erfolgreichen Aufruf die Namen der Karten enthält
  497. // sName: Eine Liste, welche nach einem erfolgreichen Aufruf die Namen der Spiele der Karten enthält
  498. // kupfer: Eine Liste, welche nach einem erfolgreichen Aufruf die Preise der Karten in Kupfer
  499. // verkauft: Eine Liste, welche nach einem erfolgreichen Aufruf die Anzahl der Verkäufe der Karten enthält
  500. // maxSpieler: Eine Liste, welche nach einem erfolgreichen Aufruf die Maximalen Spieleranzahlen der Karten enthält
  501. virtual int getKartenListe( char *filter, char sortSpalte, char absteigend, Framework::Array< int > *kId, Framework::RCArray< Framework::Text > *kName, Framework::RCArray< Framework::Text > *sName,
  502. Framework::Array< int > *kupfer, Framework::Array< int > *verkauft, Framework::Array< int > *maxSpieler ) = 0;
  503. // Erzeugt einen Client zu dem Editor Server von der Karte mit einer bestimmten Id
  504. // karteId: Die Id der Karte
  505. // Gibt bei misserfolg 0 zurück
  506. virtual EditorServerClient *createEditorServerClient( int karteId ) = 0;
  507. // Erzeugt einen Client zu dem Karten Server von der Karte mit einer bestimmten Id
  508. // karteId: Die Id der Karte
  509. // Gibt bei misserfolg 0 zurück
  510. virtual KartenServerClient *createKartenServerClient( int karteId ) = 0;
  511. // Erhält die Verbindung aufrecht
  512. // Gibt 1 zurück, falls der Vorgang erfolgreich ist, 0 sonnst
  513. // Sollte während einer bestehenden Verbindung etwa einmal alle 60 Sekunden aufgerufen werden, da sonst der Router die Verbindung automatisch trennt
  514. virtual bool keepAlive() = 0;
  515. // Trennt die Verbindung zum Server
  516. // Gibt 1 zurück, falls der Vorgang erfolgreich ist, 0 sonnst
  517. // Sollte erst nach einem erfolgreichen Aufruf von verbinde aufgerufen werden
  518. virtual bool trenne() = 0;
  519. // Gibt 1 zurück, falls der Client verbunden ist, 0 sonst
  520. virtual bool istVerbunden() const = 0;
  521. // gibt den Letzten Fehlertext zuück
  522. // sollte erst aufgerufen werden, nachdem eine andere aufgerufene Methode fehlgeschlagen ist
  523. virtual char *getLetzterFehler() const = 0;
  524. // Erhöht den Reference Counter um 1 un gibt this zurück
  525. virtual InformationServerClient *getThis() = 0;
  526. // Verringert den Reference Counter um 1 und gibt 0 zurück.
  527. // Falls der Reference Counter nach dem Aufruf auf 0 ist löscht sich das Objekt selbst
  528. virtual InformationServerClient *release() = 0;
  529. };
  530. // 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 ...)
  531. // Kann nur von eingeloggten Clients verwendet werden
  532. class ChatServerClient
  533. {
  534. public:
  535. // verbindet sich mit dem zugewiesenen Chat Server
  536. // Gibt 1 zurück, falls der Vorgang erfolgreich ist, 0 sonnst
  537. virtual bool verbinde() = 0;
  538. // sendet eine Chat Nachricht zu einem Account
  539. // zuAccount: Id des Ziel Accounts
  540. // nachricht: Die Nachricht
  541. // Gibt 1 zurück, falls der Vorgang erfolgreich ist, 0 sonnst
  542. virtual bool chatNachricht( int zuAccount, const char *nachricht ) = 0;
  543. // ändert den angezeigten Account Namen
  544. // name: der neue Name
  545. // Gibt 1 zurück, falls der Vorgang erfolgreich ist, 0 sonnst
  546. virtual bool accountNameÄndern( const char *name ) = 0;
  547. // beendet die Freundschaft mit einem Account
  548. // accountId: Die Id des Accounts
  549. // Gibt 1 zurück, falls der Vorgang erfolgreich ist, 0 sonnst
  550. virtual bool freundschaftBeenden( int accountId ) = 0;
  551. // sendet eine Freundesanfragezu einem Account
  552. // accountId: Die Id des Accounts
  553. // Gibt 1 zurück, falls der Vorgang erfolgreich ist, 0 sonnst
  554. virtual bool freundesAnfrage( int accountId ) = 0;
  555. // beantwortet eine Freundesanfrage
  556. // accountId: Die Id des Accounts
  557. // ja: 1:=annehmen,0:=ablehnen
  558. // Gibt 1 zurück, falls der Vorgang erfolgreich ist, 0 sonnst
  559. virtual bool freundesAnfrageBeantworten( int accountId, bool ja ) = 0;
  560. // erstellt ein chatroom
  561. // name: Der Name des Chatrooms
  562. // Gibt bei erfolg die Id des Chatrooms zurück, 0 sonst
  563. virtual int chatroomErstellen( const char *name ) = 0;
  564. // Sendet eine Einladung zum Chatroom
  565. // accountId: Die Id des Accounts der eingeladen werden soll
  566. // chatroomId: Die Id des Chatrooms
  567. // Gibt 1 zurück, falls der Vorgang erfolgreich ist, 0 sonnst
  568. virtual bool chatroomEinladung( int accountId, int chatroomId ) = 0;
  569. // Einladung zum Chatroom wird abgelehnt
  570. // accountId: Die Id des Accounts
  571. // chatroomId: Die Id des Chatrooms
  572. // Gibt 1 zurück, falls der Vorgang erfolgreich ist, 0 sonnst
  573. virtual bool chatroomEinladungAblehnen( int accountId, int chatroomId ) = 0;
  574. // betritt ein chatroom
  575. // chatroomId: Die Id des Chatrooms
  576. // Gibt 1 zurück, falls der Vorgang erfolgreich ist, 0 sonnst
  577. virtual bool chatroomBetreten( int chatroomId ) = 0;
  578. // chatroom Nachricht senden
  579. // chatroomId: Die Id des Chatrooms
  580. // nachricht: Die Nachricht die gesendet werden soll
  581. // Gibt 1 zurück, falls der Vorgang erfolgreich ist, 0 sonnst
  582. virtual bool chatroomNachricht( int chatroomId, const char *nachricht ) = 0;
  583. // verlässt chatroom
  584. // chatroomId: Die Id des Chatrooms
  585. // Gibt 1 zurück, falls der Vorgang erfolgreich ist, 0 sonnst
  586. virtual bool chatroomVerlassen( int chatroomId ) = 0;
  587. // kickt Account aus Chatroom (nur wenn als admin des Chatrooms eingeloggt)
  588. // chatroomId: Die Id des Chatrooms
  589. // accountId: Die Id des Accounts
  590. // Gibt 1 zurück, falls der Vorgang erfolgreich ist, 0 sonnst
  591. virtual bool chatroomKick( int chatroomId, int accountId ) = 0;
  592. // fragt nach allen freunden
  593. // Die Liste der Freunde kann über getNextMessage empfangen werden
  594. // Gibt 1 zurück, falls der Vorgang erfolgreich ist, 0 sonnst
  595. virtual bool freundesListeAnfragen() = 0;
  596. // fragt nach allen chatnachrichten, die gesendet wurden, während der Account in den der Client eingeloggt ist, offline war
  597. // Die einzelnen Nachrichten können über getNextMessage empfangen werden
  598. // Gibt 1 zurück, falls der Vorgang erfolgreich ist, 0 sonnst
  599. virtual bool chatNachrichtAnfrage() = 0;
  600. // Erhält die Verbindung aufrecht
  601. // Gibt 1 zurück, falls der Vorgang erfolgreich ist, 0 sonnst
  602. // Sollte während einer bestehenden Verbindung etwa einmal alle 60 Sekunden aufgerufen werden, da sonst der Router die Verbindung automatisch trennt
  603. virtual bool keepAlive() = 0;
  604. // Trennt die Verbindung zum Server
  605. // Gibt 1 zurück, falls der Vorgang erfolgreich ist, 0 sonnst
  606. // Sollte erst nach einem erfolgreichen Aufruf von verbinde aufgerufen werden
  607. virtual bool trenne() = 0;
  608. // Wartet auf eine Nachricht vom Chatserver und gibt diese zurück.
  609. virtual ChatServerNachricht *getNextMessage() = 0;
  610. // Gibt 1 zurück, falls der Client verbunden ist, 0 sonst
  611. virtual bool istVerbunden() const = 0;
  612. // gibt den Letzten Fehlertext zuück
  613. // sollte erst aufgerufen werden, nachdem eine andere aufgerufene Methode fehlgeschlagen ist
  614. virtual char *getLetzterFehler() const = 0;
  615. // Erhöht den Reference Counter um 1 un gibt this zurück
  616. virtual ChatServerClient *getThis() = 0;
  617. // Verringert den Reference Counter um 1 und gibt 0 zurück.
  618. // Falls der Reference Counter nach dem Aufruf auf 0 ist löscht sich das Objekt selbst
  619. virtual ChatServerClient *release() = 0;
  620. };
  621. // Wird verwendet um Spiele oder Karten zu kaufen
  622. // Kann nur von eingeloggten Clients verwendet werden
  623. class ShopServerClient
  624. {
  625. // verbindet sich mit dem zugewiesenen Shop Server
  626. // Gibt 1 zurück, falls der Vorgang erfolgreich ist, 0 sonnst
  627. virtual bool verbinde() = 0;
  628. // Gibt eine Liste mit Spiel Ids zurück, mit Spielen, die einen Bestimten Text im Namen haben
  629. // suche: Der Text, der im Namen der Spiele vorkommen soll
  630. // Gibt bei misserfolg 0 zurück
  631. virtual Framework::Array< int > *suchSpiele( const char *suche ) = 0;
  632. // läd Titelbild des Spieles herunter und speichert es unter data/tmp/shop/kazfen/spiele/{id}/titelbg.ltdb
  633. // id: Die Id des Spiels
  634. // Gibt 1 zurück, falls der Vorgang erfolgreich ist, 0 sonnst
  635. virtual bool ladeSpielTitel( int id ) = 0;
  636. // läd Shop Seite des Spieles herunter und speichert es unter data/tmp/shop/kazfen/spiele/{id}/seite.ksgs
  637. // id: Die Id des Spiels
  638. // Gibt 1 zurück, falls der Vorgang erfolgreich ist, 0 sonnst
  639. virtual bool ladeSpielSeite( int id ) = 0;
  640. // Gibt den Besitz Status eines Spiels zurück (0 = nicht im Besitz, 1 = Testversion, 2 = gekauft)
  641. // id: Die Id des Spiels
  642. virtual int getSpielBesitzStatus( int id ) = 0;
  643. // gibt die Anzahl der verbleibenden Spiele der Testversion zurück
  644. // id: Die Id des Spiels
  645. virtual int getSpielTestversion( int id ) = 0;
  646. // Gibt den Erwerbbarkeits Status eines Spiels zurück (0 = nichts, 1 = nur Testversion, 2 = nur Vollversion, 3 = beides)
  647. // id: Die Id des Spiels
  648. virtual int istSpielErwerbbar( int id ) = 0;
  649. // Gibt den Preis eines Spiels in Kupfer zurück
  650. // id: Die Id des Spiels
  651. // testVersion: 1:=Es wird der Preis der Testversion zurückgegeben, 0:=Es wird der Preis der Vollversion zurückgegeben
  652. virtual int getSpielPreis( int id, bool testVersion ) = 0;
  653. // Kauft ein Spiel
  654. // id: Die Id des Spiels
  655. // testVersion: 1:=Es wird die Testversion erworben, 0:=Es wird die Vollversion erworben
  656. virtual bool spielErwerben( int spielId, bool testVersion ) = 0;
  657. // sucht nach Karten mit zu einem bestimmten Spiel
  658. // suche: Ein Text, der im Namen der Karte vorkommen soll
  659. // spielId: Die Id des Spiels
  660. // Gibt eine Liste Mit den Ids der gefundenen Karten zurück
  661. virtual Framework::Array< int > *suchKarten( const char *suche, int spielId ) = 0;
  662. // lädt das Titelbild der Karte herunter und speichert es unter data/tmp/shop/kaufen/karten/{id}/titelbg.ltdb
  663. // id: Die Id der Karte
  664. // Gibt 1 zurück, falls der Vorgang erfolgreich ist, 0 sonnst
  665. virtual bool ladeKarteTitel( int id ) = 0;
  666. // lädt die Shop Seite der Karte herunter und speichert es unter data/tmp/shop/kaufen/karten/{id}/seite.ksgs
  667. // id: Die Id der Karte
  668. // Gibt 1 zurück, falls der Vorgang erfolgreich ist, 0 sonnst
  669. virtual bool ladeKarteSeite( int id ) = 0;
  670. // Gibt den Besitz Status einer Karte zurück (0 = nicht im Besitz, 1 = Testversion, 2 = gekauft)
  671. // id: Die Id der Karte
  672. virtual int getKarteBesitzStatus( int id ) = 0;
  673. // gibt die Anzahl der verbleibenden Spiele der Testversion zurück
  674. // id: Die Id der Karte
  675. virtual int getKarteTestversion( int id ) = 0;
  676. // Gibt den Erwerbbarkeits Status einer Karte zurück (0 = nichts, 1 = nur Testversion, 2 = nur Vollversion, 3 = beides)
  677. // id: Die Id der Karte
  678. virtual int istKarteErwerbbar( int id ) = 0;
  679. // Gibt den Preis einer Karte in Kupfer zurück
  680. // id: Die Id der Karte
  681. // testVersion: 1:=Es wird der Preis der Testversion zurückgegeben, 0:=Es wird der Preis der Vollversion zurückgegeben
  682. virtual int getKartePreis( int id, bool testVersion ) = 0;
  683. // Kauft eine Karte
  684. // id: Die Id der Karte
  685. // testVersion: 1:=Es wird die Testversion erworben, 0:=Es wird die Vollversion erworben
  686. virtual bool karteErwerben( int karteId, bool testVersion ) = 0;
  687. // Erhält die Verbindung aufrecht
  688. // Gibt 1 zurück, falls der Vorgang erfolgreich ist, 0 sonnst
  689. // Sollte während einer bestehenden Verbindung etwa einmal alle 60 Sekunden aufgerufen werden, da sonst der Router die Verbindung automatisch trennt
  690. virtual bool keepAlive() = 0;
  691. // Trennt die Verbindung zum Server
  692. // Gibt 1 zurück, falls der Vorgang erfolgreich ist, 0 sonnst
  693. // Sollte erst nach einem erfolgreichen Aufruf von verbinde aufgerufen werden
  694. virtual bool trenne() = 0;
  695. // Gibt 1 zurück, falls der Client verbunden ist, 0 sonst
  696. virtual bool istVerbunden() const = 0;
  697. // gibt den Letzten Fehlertext zuück
  698. // sollte erst aufgerufen werden, nachdem eine andere aufgerufene Methode fehlgeschlagen ist
  699. virtual char *getLetzterFehler() const = 0;
  700. // Erhöht den Reference Counter um 1 un gibt this zurück
  701. virtual ShopServerClient *getThis() = 0;
  702. // Verringert den Reference Counter um 1 und gibt 0 zurück.
  703. // Falls der Reference Counter nach dem Aufruf auf 0 ist löscht sich das Objekt selbst
  704. virtual ShopServerClient *release() = 0;
  705. };
  706. // Wird verwendet um sich für Spiele anzumelden
  707. // Kann nur von eingeloggten Clients verwendet werden
  708. class AnmeldungServerClient
  709. {
  710. public:
  711. // verbindet sich mit dem zugewiesenen Anmeldung Server
  712. // Gibt 1 zurück, falls der Vorgang erfolgreich ist, 0 sonnst
  713. virtual bool verbinde() = 0;
  714. // erstellt eine gruppe
  715. // karteId: Die Id der Karte für die die Gruppe erstellt werden soll
  716. // Gibt bei Erfolg die Id der Gruppe zurück. Bei misserfolg wird 0 zurückgegeben
  717. virtual int gruppeErstellen( int karteId ) = 0;
  718. // Betritt eine Gruppe
  719. // gruppeId: Die Id der Gruppe
  720. // mitglieder: Nach erfolgreichem Aufruf enthält diese Liste die Lister der Account Ids der Gruppenmitglieder
  721. // anzahl: Nach erfolgreichem Aufruf wird hier die Anzahl der Gruppenmitglieder gespeichert
  722. // Gibt 1 zurück, falls der Vorgang erfolgreich ist, 0 sonnst
  723. virtual bool gruppeBetreten( int gruppeId, Framework::Array< int > *mitglieder, int *anzahl ) = 0;
  724. // Verlässt eine Gruppe
  725. // gruppeId: Die Id der Gruppe
  726. // Gibt 1 zurück, falls der Vorgang erfolgreich ist, 0 sonnst
  727. virtual bool gruppeVerlassen( int gruppeId ) = 0;
  728. // Trägt die Gruppe in die Warteschlange für die Karte ein (nur für den Gruppen Administrator)
  729. // gruppeId: Die Id der Gruppe
  730. // Gibt 1 zurück, falls der Vorgang erfolgreich ist, 0 sonnst
  731. virtual bool gruppeAnmelden( int gruppeId ) = 0;
  732. // Trägt die Gruppe aus der Warteschlange für die Karte aus (nur für den Gruppen Administrator)
  733. // gruppeId: Die Id der Gruppe
  734. // Gibt 1 zurück, falls der Vorgang erfolgreich ist, 0 sonnst
  735. virtual bool gruppeAbmelden( int gruppeId ) = 0;
  736. // läht Spieler ein die Gruppe zu betreten (nur für den Gruppen Administrator)
  737. // accountId: Die Id des Accounts
  738. // gruppeId: Die Id der Gruppe
  739. // Gibt 1 zurück, falls der Vorgang erfolgreich ist, 0 sonnst
  740. virtual bool gruppeSpielerEinladen( int accountId, int gruppeId ) = 0;
  741. // Zieht die Einladung eine Gruppe zu betreten zurück (nur für den Gruppen Administrator)
  742. // accountId: Die Id des Accounts
  743. // gruppeId: Die Id der Gruppe
  744. // Gibt 1 zurück, falls der Vorgang erfolgreich ist, 0 sonnst
  745. virtual bool gruppeEinladungAbbrechen( int accountId, int gruppeId ) = 0;
  746. // Einladung zur Gruppe ablehnen
  747. // gruppeId: Die Id der Gruppe
  748. // Gibt 1 zurück, falls der Vorgang erfolgreich ist, 0 sonnst
  749. virtual bool gruppeEinladungAblehnen( int gruppeId ) = 0;
  750. // wirft Spieler aus Gruppe (nur für den Gruppen Administrator)
  751. // accountId: Die Id des Accounts
  752. // gruppeId: Die Id der Gruppe
  753. // Gibt 1 zurück, falls der Vorgang erfolgreich ist, 0 sonnst
  754. virtual bool kickSpielerAusGruppe( int accountId, int gruppeId ) = 0;
  755. // 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
  756. // gruppeId: Die Id der Gruppe
  757. // spielStarte: 1:=alleine spielen, 0:=auf volles Spiel warten
  758. // Gibt 1 zurück, falls der Vorgang erfolgreich ist, 0 sonnst
  759. virtual bool gruppeSpielStarten( int gruppeId, bool spielStarten ) = 0;
  760. // Sendet eine Nachricht an den Gruppen Chat
  761. // gruppeId: Die Id der Gruppe
  762. // nachricht: Die Nachricht, die gesendet werden soll
  763. // Gibt 1 zurück, falls der Vorgang erfolgreich ist, 0 sonnst
  764. virtual bool gruppeNachricht( int gruppeId, char *nachricht ) = 0;
  765. // Meldet den eingeloggten Account in der Warteschlange für eine Karte an
  766. // karteId: Die Id der Karte
  767. // Gibt 1 zurück, falls der Vorgang erfolgreich ist, 0 sonnst
  768. virtual bool anmelden( int karteId ) = 0;
  769. // Meldet den eingeloggten Account aus der Warteschlange ab
  770. // Gibt 1 zurück, falls der Vorgang erfolgreich ist, 0 sonnst
  771. virtual bool abmelden() = 0;
  772. // Erhält die Verbindung aufrecht
  773. // Gibt 1 zurück, falls der Vorgang erfolgreich ist, 0 sonnst
  774. // Sollte während einer bestehenden Verbindung etwa einmal alle 60 Sekunden aufgerufen werden, da sonst der Router die Verbindung automatisch trennt
  775. virtual bool keepAlive() = 0;
  776. // Trennt die Verbindung zum Server
  777. // Gibt 1 zurück, falls der Vorgang erfolgreich ist, 0 sonnst
  778. // Sollte erst nach einem erfolgreichen Aufruf von verbinde aufgerufen werden
  779. virtual bool trenne() = 0;
  780. // Gibt 1 zurück, falls der Client verbunden ist, 0 sonst
  781. virtual bool istVerbunden() const = 0;
  782. // gibt den Letzten Fehlertext zuück
  783. // sollte erst aufgerufen werden, nachdem eine andere aufgerufene Methode fehlgeschlagen ist
  784. virtual char *getLetzterFehler() const = 0;
  785. // Erhöht den Reference Counter um 1 un gibt this zurück
  786. virtual AnmeldungServerClient *getThis() = 0;
  787. // Verringert den Reference Counter um 1 und gibt 0 zurück.
  788. // Falls der Reference Counter nach dem Aufruf auf 0 ist löscht sich das Objekt selbst
  789. virtual AnmeldungServerClient *release() = 0;
  790. };
  791. // Wird verwendet um die aktuellen versionen der Karten vor dem Spiel herunterzuladen
  792. // Kann nur von eingeloggten Clients verwendet werden
  793. class KartenServerClient
  794. {
  795. public:
  796. // verbindet sich mit dem zugewiesenen Karten Server
  797. // Gibt 1 zurück, falls der Vorgang erfolgreich ist, 0 sonnst
  798. virtual bool verbinde() = 0;
  799. // lädt eine Karte herunter und speichert sie unter data/tmp/Karten/{id}/spiel
  800. // id: Die Id der Karte
  801. // Gibt 1 zurück, falls der Vorgang erfolgreich ist, 0 sonnst
  802. virtual bool downloadKarte( int id ) = 0;
  803. // lädt das Titelbild Karte herunter und speichert es unter data/tmp/Karten/{id}/titel.ltdb
  804. // id: Die Id der Karte
  805. // Gibt 1 zurück, falls der Vorgang erfolgreich ist, 0 sonnst
  806. virtual bool downloadKarteTitel( int id ) = 0;
  807. // lädt die Beschreibung Karte herunter und speichert sie unter data/tmp/Karten/{id}/beschreibung.ksgs
  808. // id: Die Id der Karte
  809. // Gibt 1 zurück, falls der Vorgang erfolgreich ist, 0 sonnst
  810. virtual bool downloadKarteBeschreibung( int id ) = 0;
  811. // lädt die Minimap Karte herunter und speichert es unter data/tmp/Karten/{id}/minimap.ltdb
  812. // id: Die Id der Karte
  813. // Gibt 1 zurück, falls der Vorgang erfolgreich ist, 0 sonnst
  814. virtual bool downloadKarteMinimap( int id ) = 0;
  815. // lädt das Ladebild Karte herunter und speichert es unter data/tmp/Karten/{id}/ladebild.ltdb
  816. // id: Die Id der Karte
  817. // Gibt 1 zurück, falls der Vorgang erfolgreich ist, 0 sonnst
  818. virtual bool downloadKarteLadebild( int id ) = 0;
  819. // Erhält die Verbindung aufrecht
  820. // Gibt 1 zurück, falls der Vorgang erfolgreich ist, 0 sonnst
  821. // Sollte während einer bestehenden Verbindung etwa einmal alle 60 Sekunden aufgerufen werden, da sonst der Router die Verbindung automatisch trennt
  822. virtual bool keepAlive() = 0;
  823. // Trennt die Verbindung zum Server
  824. // Gibt 1 zurück, falls der Vorgang erfolgreich ist, 0 sonnst
  825. // Sollte erst nach einem erfolgreichen Aufruf von verbinde aufgerufen werden
  826. virtual bool trenne() = 0;
  827. // Gibt 1 zurück, falls der Client verbunden ist, 0 sonst
  828. virtual bool istVerbunden() const = 0;
  829. // gibt den Letzten Fehlertext zuück
  830. // sollte erst aufgerufen werden, nachdem eine andere aufgerufene Methode fehlgeschlagen ist
  831. virtual char *getLetzterFehler() const = 0;
  832. // Erhöht den Reference Counter um 1 un gibt this zurück
  833. virtual KartenServerClient *getThis() = 0;
  834. // Verringert den Reference Counter um 1 und gibt 0 zurück.
  835. // Falls der Reference Counter nach dem Aufruf auf 0 ist löscht sich das Objekt selbst
  836. virtual KartenServerClient *release() = 0;
  837. };
  838. // Wird zum Online Spielen verwendet
  839. // Kann nur von eingeloggten Clients verwendet werden
  840. class SpielServerClient
  841. {
  842. public:
  843. // verbindet sich mit dem zugewiesenen Karten Server
  844. // Gibt 1 zurück, falls der Vorgang erfolgreich ist, 0 sonnst
  845. virtual bool verbinde() = 0;
  846. // Betritt das Vorgeschlagene Spiel
  847. // Gibt 1 zurück, falls der Vorgang erfolgreich ist, 0 sonnst
  848. virtual bool spielErstelltAnnehmen() = 0;
  849. // Lehnt das Vorgeschlagene Spiel ab
  850. // Gibt 1 zurück, falls der Vorgang erfolgreich ist, 0 sonnst
  851. virtual bool spielErstelltAblehnen() = 0;
  852. // Wechselt zu einem bestimmten Team
  853. // team: Die Id des teams
  854. // Gibt 1 zurück, falls der Vorgang erfolgreich ist, 0 sonnst
  855. virtual bool spielErstelltTeamWechseln( int team ) = 0;
  856. // Bestätigt die Teamauswahl so dass das Spiel früher beginnen kann
  857. // Gibt 1 zurück, falls der Vorgang erfolgreich ist, 0 sonnst
  858. virtual bool spielErstelltTeamFertig() = 0;
  859. // sendet eine Chat Nachricht an die mitglieder des erstellten Spiels
  860. // nachricht: Die Nachricht
  861. // Gibt 1 zurück, falls der Vorgang erfolgreich ist, 0 sonnst
  862. virtual bool spielErstelltChatNachricht( char *nachricht ) = 0;
  863. // Teilt dem Server mit, dass der Client bereit ist das Spiel zu laden
  864. // Gibt 1 zurück, falls der Vorgang erfolgreich ist, 0 sonnst
  865. virtual bool bereitZumLaden() = 0;
  866. // Teilt dem Server mit, zu wie viel Prozent der Client das Spiel geladen hat
  867. // Gibt 1 zurück, falls der Vorgang erfolgreich ist, 0 sonnst
  868. virtual bool setLadenProzent( int prozent ) = 0;
  869. // Teilt dem Server mit, dass das Spiel fertig geladen wurde
  870. // Gibt 1 zurück, falls der Vorgang erfolgreich ist, 0 sonnst
  871. virtual bool bereitZumSpiel() = 0;
  872. // Sendet während des Spiels eine Nachricht an den Server
  873. // län: Die Länge der Nachricht
  874. // bytes: Ein Zeiger auf die Nachricht
  875. // Gibt 1 zurück, falls der Vorgang erfolgreich ist, 0 sonnst
  876. virtual bool spielNachricht( short län, char *bytes ) = 0;
  877. // Sendet während der Statistik eine Nachricht an den Server
  878. // län: Die Länge der Nachricht
  879. // bytes: Ein Zeiger auf die Nachricht
  880. // Gibt 1 zurück, falls der Vorgang erfolgreich ist, 0 sonnst
  881. virtual bool statistikNachricht( short län, char *bytes ) = 0;
  882. // Wartet auf eine Nachricht vom Spiel Servers und gibt diese zurück.
  883. virtual SpielServerNachricht *getNextMessage() = 0;
  884. // Erhält die Verbindung aufrecht
  885. // Gibt 1 zurück, falls der Vorgang erfolgreich ist, 0 sonnst
  886. // Sollte während einer bestehenden Verbindung etwa einmal alle 60 Sekunden aufgerufen werden, da sonst der Router die Verbindung automatisch trennt
  887. virtual bool keepAlive() = 0;
  888. // Trennt die Verbindung zum Server
  889. // Gibt 1 zurück, falls der Vorgang erfolgreich ist, 0 sonnst
  890. // Sollte erst nach einem erfolgreichen Aufruf von verbinde aufgerufen werden
  891. virtual bool trenne() = 0;
  892. // Gibt 1 zurück, falls der Client verbunden ist, 0 sonst
  893. virtual bool istVerbunden() const = 0;
  894. // gibt den Letzten Fehlertext zuück
  895. // sollte erst aufgerufen werden, nachdem eine andere aufgerufene Methode fehlgeschlagen ist
  896. virtual char *getLetzterFehler() const = 0;
  897. // Erhöht den Reference Counter um 1 un gibt this zurück
  898. virtual SpielServerClient *getThis() = 0;
  899. // Verringert den Reference Counter um 1 und gibt 0 zurück.
  900. // Falls der Reference Counter nach dem Aufruf auf 0 ist löscht sich das Objekt selbst
  901. virtual SpielServerClient *release() = 0;
  902. };
  903. // Wird verwendet um Statistiken und Aufzeichnungen von vergangenen Spielen abzufragen
  904. // Kann nur von eingeloggten Clients verwendet werden
  905. class HistorieServerClient
  906. {
  907. protected:
  908. // verbindet sich mit dem zugewiesenen Historie Server
  909. // Gibt 1 zurück, falls der Vorgang erfolgreich ist, 0 sonnst
  910. virtual bool verbinde( char *ip, int port ) = 0;
  911. // Trennt die Verbindung zum Server
  912. // Gibt 1 zurück, falls der Vorgang erfolgreich ist, 0 sonnst
  913. // Sollte erst nach einem erfolgreichen Aufruf von verbinde aufgerufen werden
  914. virtual bool trenne() = 0;
  915. public:
  916. // Lädt die Spiel Aufzeichnung eines Spiels herunter und speichert sie unter data/tmp/historie/{spielId}
  917. // Die Spielid wurde dem Objekt zum Zeitpunkt der Erstellung vom Information Server mitgegeben
  918. // Gibt 1 zurück, falls der Vorgang erfolgreich ist, 0 sonnst
  919. // Diese Funktion verbindet sich selbstständig mit dem Server und trennt die Verbindung nach Beendigung des Vorgangs
  920. virtual bool downloadSpielHistorie() = 0;
  921. // gibt den Letzten Fehlertext zuück
  922. // sollte erst aufgerufen werden, nachdem eine andere aufgerufene Methode fehlgeschlagen ist
  923. virtual char *getLetzterFehler() const = 0;
  924. // Erhöht den Reference Counter um 1 un gibt this zurück
  925. virtual HistorieServerClient *getThis() = 0;
  926. // Verringert den Reference Counter um 1 und gibt 0 zurück.
  927. // Falls der Reference Counter nach dem Aufruf auf 0 ist löscht sich das Objekt selbst
  928. virtual HistorieServerClient *release() = 0;
  929. };
  930. // Wird verwendet um Minigame Bestscores abzufragen und Minigame Spielaufzeichnungen zu laden
  931. // Kann nur von eingeloggten Clients verwendet werden
  932. class MinigameServerClient
  933. {
  934. public:
  935. // verbindet sich mit dem zugewiesenen Minigame Server
  936. // Gibt 1 zurück, falls der Vorgang erfolgreich ist, 0 sonnst
  937. virtual bool verbinde() = 0;
  938. // Ermittelt die liste mit allen Optionen zu einem Minigame zurück, zu denen es Welt beste Scores gibt
  939. // mName: Der Name des Minigames
  940. // zOptionList: Enthält nach erfolgreichem Aufruf eine Liste mit Optionen
  941. // Gibt die Anzahl der Optionen zurück
  942. virtual int getMinigameOptionList( char *mName, Framework::RCArray< Framework::Text > *zOptionList ) = 0;
  943. // Ermittelt eine Liste mit den Weltbesten Scores zurück
  944. // mName: Der Name des Minigames
  945. // zScore: Enthält nach erfolgreichem Aufruf eine Liste mit Scores
  946. // zPlayerList: Enthält nach erfolgreichem Aufruf eine Liste mit angezeigten Account Namen, die die Scores erreicht haben.
  947. // zOptionList: Enthält nach erfolgreichem Aufruf eine Liste mit Optionen, die beim erreichen der Scores aktiv waren.
  948. // Gibt die Anzahl der Bestscores zurück
  949. virtual int getMinigameBestscoreList( char *mName, Framework::Array< int > *zScore, Framework::RCArray< Framework::Text > *zPlayerList, Framework::RCArray< Framework::Text > *zOptionList ) = 0;
  950. // Gibt den Welt bestscore zu einem Bestimmten Minigame mit bestimmten Optionen zurück.
  951. // mName: Der Name des Minigames
  952. // oName: Die Optionen
  953. // zPlayer: Enthält nach erfolgreichem Aufruf den Angezeigten Namen des Accounts, der den Score erreicht hat
  954. virtual int getMinigameOptionBestscore( char *mName, char *oName, Framework::Text *zPlayer ) = 0;
  955. // Meldet die Beendigung eines Minigames
  956. // mName: Der Name des Minigames
  957. // oName: Die Optionen mit denen gespielt wurde
  958. // score: Der Erreichte Score
  959. // Gibt 0 zurück wenn eines Fehler aufgetreten ist, 1 wenn der Forgang erfolgreich war, 2 wenn ein Game Capture hochgeladen werden muss
  960. virtual int reportEndOfGame( char *mName, char *oName, int score ) = 0;
  961. // Lädt ein Game Capture hoch
  962. // zCapture: Ein Zeiger auf die Capture Datei
  963. // Gibt 1 zurück, falls der Vorgang erfolgreich ist, 0 sonnst
  964. virtual bool uploadGameCapture( Framework::Datei *zCapture ) = 0;
  965. // Lädt ein Game Capture herunter und speichert sie unter data/tmp/minigames/wb.mgc
  966. // mName: Der Name des Minigames
  967. // oName: Die Optionen
  968. // Gibt die Datei mit dem Capture zurück
  969. virtual Framework::Datei *downloadGameCapture( char *mName, char *oName ) = 0;
  970. // Erhält die Verbindung aufrecht
  971. // Gibt 1 zurück, falls der Vorgang erfolgreich ist, 0 sonnst
  972. // Sollte während einer bestehenden Verbindung etwa einmal alle 60 Sekunden aufgerufen werden, da sonst der Router die Verbindung automatisch trennt
  973. virtual bool keepAlive() = 0;
  974. // Trennt die Verbindung zum Server
  975. // Gibt 1 zurück, falls der Vorgang erfolgreich ist, 0 sonnst
  976. // Sollte erst nach einem erfolgreichen Aufruf von verbinde aufgerufen werden
  977. virtual bool trenne() = 0;
  978. // Gibt 1 zurück, falls der Client verbunden ist, 0 sonst
  979. virtual bool istVerbunden() const = 0;
  980. // gibt den Letzten Fehlertext zuück
  981. // sollte erst aufgerufen werden, nachdem eine andere aufgerufene Methode fehlgeschlagen ist
  982. virtual char *getLetzterFehler() const = 0;
  983. // Erhöht den Reference Counter um 1 un gibt this zurück
  984. virtual MinigameServerClient *getThis() = 0;
  985. // Verringert den Reference Counter um 1 und gibt 0 zurück.
  986. // Falls der Reference Counter nach dem Aufruf auf 0 ist löscht sich das Objekt selbst
  987. virtual MinigameServerClient *release() = 0;
  988. };
  989. // Wird verwendet um Karten für Spiele zu erstellen
  990. // Kann nur von eingeloggten Clients verwendet werden
  991. class EditorServerClient
  992. {
  993. };
  994. // Wird verwendet um Eine Verbindung mit dem Serversystem herzustellen
  995. class MainServerClient
  996. {
  997. public:
  998. // 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
  999. virtual bool registerSSL( Framework::Text *ip, unsigned short port ) = 0;
  1000. // Verbindet den Client mit dem Server
  1001. // Wird automatisch aufgerufen, falls eine Methode aufgerufen wird, die eine Verbindung erfordert. In diesem Fall wird die Verbindung auch automatisch wieder getrennt.
  1002. virtual bool connect() = 0;
  1003. // Erzeugt einen Erhaltungs Server Client
  1004. // Gibt bei misserfolg 0 zurück
  1005. virtual ErhaltungServerClient *createErhaltungServerClient() = 0;
  1006. // Erzeugt einen Patch Server Client
  1007. // Gibt bei misserfolg 0 zurück
  1008. virtual PatchServerClient *createPatchServerClient() = 0;
  1009. // Erzeugt einen News Server Client
  1010. // Gibt bei misserfolg 0 zurück
  1011. virtual NewsServerClient *createNewsServerClient() = 0;
  1012. // Erzeugt einen Register Server Client
  1013. // Gibt bei misserfolg 0 zurück
  1014. virtual RegisterServerClient *createRegisterServerClient() = 0;
  1015. // Erzeugt einen Login Server Client
  1016. // Gibt bei misserfolg 0 zurück
  1017. virtual LoginServerClient *createLoginServerClient() = 0;
  1018. // Erzeugt einen Information Server Client
  1019. // Gibt bei misserfolg 0 zurück
  1020. virtual InformationServerClient *createInformationServerClient() = 0;
  1021. // Erzeugt einen Chat Server Client
  1022. // Gibt bei misserfolg 0 zurück
  1023. virtual ChatServerClient *createChatServerClient() = 0;
  1024. // Erzeugt einen Shop Server Client
  1025. // Gibt bei misserfolg 0 zurück
  1026. virtual ShopServerClient *createShopServerClient() = 0;
  1027. // Erzeugt einen Anmeldung Server Client
  1028. // Gibt bei misserfolg 0 zurück
  1029. virtual AnmeldungServerClient *createAnmeldungServerClient() = 0;
  1030. // Erzeugt einen Minigame Server Client
  1031. // Gibt bei misserfolg 0 zurück
  1032. virtual MinigameServerClient *createMinigameServerClient() = 0;
  1033. // Trennt die Verbindung zum Server. Muss nur aufgerufen werden, wenn vorher manuell connect aufgerufen wurde
  1034. virtual bool disconnect() = 0;
  1035. // Meldet den Client vom Server ab. Alle zuvor von diesem Client erzeugten Clients werden durch diesen Vorgang unbrauchbar
  1036. virtual bool unregister() = 0;
  1037. // Gibt die dem Client zugewiesene Id zurück.
  1038. // sollte erst nach dem Aufruf von registerSSL verwendet werden.
  1039. virtual int getClientId() const = 0;
  1040. // Gibt die Ip Adresse des dem Client zugewiesenen Main Servers zurück.
  1041. // sollte erst nach dem Aufruf von registerSSL verwendet werden.
  1042. virtual Framework::Text *getServerIp() const = 0;
  1043. // Gibt den Port des dem Client zugewiesenen Main Servers zurück.
  1044. // sollte erst nach dem Aufruf von registerSSL verwendet werden.
  1045. virtual unsigned short getServerPort() const = 0;
  1046. };
  1047. extern "C"
  1048. {
  1049. // Einstiegspunkte in die Bibliothek
  1050. // Erzeugt einen neuen Client beim Serversystem.
  1051. // registerSSL Methode muss aufgerufen werden um den Client beim Serversystem anzumelden
  1052. MainServerClient *createMainServerClient();
  1053. // Erzeugt einen Client, der bereits beim Serversystem angemeldet ist
  1054. // ip: Die Ip des Main Servers für angemeldete Clients
  1055. // port: Der Port des Main Servers für angemeldete Clients
  1056. // klientId: Die Id die der Client durch das Anmelden bekommen hat
  1057. MainServerClient *createMainServerClient( char *ip, unsigned short port, int klientId );
  1058. }
  1059. }