Datenbank.h 3.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101
  1. #ifndef Datenbank_H
  2. #define Datenbank_H
  3. #include <sql.h>
  4. #include <Text.h>
  5. #include <Array.h>
  6. #include <InitDatei.h>
  7. using namespace Framework;
  8. using namespace sql;
  9. namespace Admin_Recht
  10. {
  11. const int ISStarten = 0x00000014;
  12. const int ISBeenden = 0x00000015;
  13. const int ISPausieren = 0x00000016;
  14. const int ISMCÄndern = 0x00000017;
  15. }
  16. struct AHDaten;
  17. class InformationServer;
  18. class ISDatenbank
  19. {
  20. private:
  21. Datenbank *datenbank;
  22. CRITICAL_SECTION cs;
  23. int ref;
  24. public:
  25. // Konstruktor
  26. ISDatenbank( InitDatei *zIni );
  27. // Destruktor
  28. ~ISDatenbank();
  29. // nicht constant
  30. void lock();
  31. void unlock();
  32. int istAdministrator( const char *name, const char *passwort );
  33. bool adminHatRecht( int id, int recht );
  34. bool prüfKlient( int num, int sNum );
  35. Text *getKlientSchlüssel( int cId );
  36. void unregisterKlient( int num, int sNum );
  37. bool serverAnmelden( InitDatei *zIni );
  38. bool setServerStatus( int id, int status );
  39. bool setMaxClients( int id, int maxC );
  40. int getAdminPort( int id );
  41. bool serverIstNichtPausiert( int id );
  42. Text *getInformationsText( char *typ );
  43. bool istSpielErlaubt( int spielId );
  44. bool istKarteErlaubt( int karteId );
  45. Text *getAccountRufName( int accountId );
  46. int getAccountId( char *rufName );
  47. Array< int > *getAccountSpielStatistik( int accountId, int spielId );
  48. int getAccountKarteSpiele( int accountId, int karteId );
  49. int getAccountKarteSpieleGewonnen( int accountId, int karteId );
  50. Text *getKarteName( int karteId );
  51. Text *getSpielName( int spielId );
  52. Text *getChatroomName( int chatroomId );
  53. int getChatroomId( char *name );
  54. int getSpielId( int karteId );
  55. int getSpielId( char *name );
  56. int getKarteId( char *name );
  57. int getGruppenKarteId( int gruppeId );
  58. int getGruppeAdminId( int gruppeId );
  59. int getSpielerPunkte( int spielId, int accountId );
  60. Array< int > *getAccountSpielArtListe( int cId );
  61. int getNeusteSpielVersion( int spielId );
  62. int getKupfer( int cId );
  63. int getDateiGruppeVonSpiel( int sId );
  64. Text *getDateiGruppePfad( int dgId );
  65. Array< int > *getAccountKarteListe( int cId, int kId );
  66. bool hatAccountKarte( int account, int karte );
  67. bool hatAccountSpiel( int account, int spiel );
  68. int getDateiGruppeVonPfad( char *pfad );
  69. int getNeusteDateiGruppe( int dg );
  70. bool getGruppeSpielerHinzufügen( int gruppeId );
  71. Result getSpielerListe( char *suche, int *seite, int *maxSeite, int sortStalte, bool rückwärts );
  72. bool getSpielerAktivität( int accountId, RCArray< Text > *datum, Array< double > *stOnline, Array< double > *stGespielt,
  73. Array< int > *anzSpiele, Array< int > *anzGewonnen );
  74. int getOnlineSeconds( int accountId, char *beg, char *end );
  75. int getGespieltSeconds( int accountId, char *beg, char *end );
  76. int getGespieltSpiele( int accountId, char *beg, char *end );
  77. int getGewonnenSpiele( int accountId, char *beg, char *end );
  78. Array< int > *getAccountKarteGespieltListe( int accountId, int spielArt );
  79. Array< int > *getAccountSpielGespieltListe( int accountId );
  80. Result getSpielPartnerListe( int accountId );
  81. Result getSpielStatistikListe( int accountId, int *seite, int *maxSeite, int sortStalte, bool rückwärts );
  82. AHDaten *getSpielHistorie( int accountId, InformationServer *is );
  83. bool getHistorieServerPortIp( int clientId, int spielId, int *port, Text *ip );
  84. bool hatKlientRecht( int kId, int recht );
  85. Result getKartenListe( int kId, char *suchFilter, char sortSpalte, char sortRichtung );
  86. bool getEditorServerPortIp( int clientId, int karteId, int *port, Text *ip );
  87. bool getKartenServerPortIp( int clientId, int karteId, int *port, Text *ip );
  88. // constant
  89. Text *getLetzterFehler() const;
  90. // Reference Counting
  91. ISDatenbank *getThis();
  92. ISDatenbank *release();
  93. };
  94. #endif