Datenbank.h 2.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374
  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 CSStarten = 0x00000018;
  12. const int CSBeenden = 0x00000019;
  13. const int CSPausieren = 0x0000001A;
  14. const int CSMCChange = 0x0000001B;
  15. }
  16. class CSDatenbank
  17. {
  18. private:
  19. Datenbank *datenbank;
  20. CRITICAL_SECTION cs;
  21. int ref;
  22. public:
  23. // Konstruktor
  24. CSDatenbank( InitDatei *zIni );
  25. // Destruktor
  26. ~CSDatenbank();
  27. // nicht constant
  28. void lock();
  29. void unlock();
  30. int istAdministrator( const char *name, const char *passwort );
  31. bool adminHatRecht( int id, int recht );
  32. bool proveKlient( int num, int sNum );
  33. Text *getKlientKey( int cId );
  34. void unregisterKlient( int num, int sNum );
  35. bool serverAnmelden( InitDatei *zIni );
  36. bool setServerStatus( int id, int status );
  37. bool setMaxClients( int id, int maxC );
  38. int getAdminPort( int id );
  39. bool serverIstNichtPausiert( int id );
  40. int getKlientAccountId( int klientId );
  41. int getAccountFreunde( int accountId, Array< int > *fAccountId );
  42. int getAccountOnlineFreunde( int accountId, Array< int > *fAccountId );
  43. bool accountNameChange( int accountId, const char *name );
  44. bool beendeFreundschaft( int accountId1, int accountId2 );
  45. bool proveFreundschaftsAnfrage( int vonAccountId, int zuAccountId );
  46. bool saveFreundschaftsAnfrage( int vonAccountId, int zuAccountId );
  47. int getFreundschaftsAnfragen( int accountId, Array< int > *vonAccountIds );
  48. bool neueFreundschaft( int accountId1, int accountId2 );
  49. Text *getAccountRufName( int accountId );
  50. bool accountIstOnline( int accountId );
  51. bool accountIstImSpiel( int accountId );
  52. int getChatServerId( int accountId );
  53. bool getChatServerIpPort( int serverId, unsigned short *port, char **ip );
  54. int getChatNachrichten( int accountId, Array< int > *vonAccount, RCArray< Text > *nachricht );
  55. bool speicherChatNachricht( int vonAccount, int zuAccount, const char *nachricht );
  56. int getChatroomAccount( int chatroomId, Array< int > *accountId );
  57. int chatroomErstellen( int accountId, const char *name );
  58. bool proveChatroomEinladung( int vonAccount, int zuAccount, int chatroomId );
  59. bool chatroomBeitreten( int accountId, int chatroomId );
  60. int chatroomVerlassen( int accountId, int chatroomId );
  61. int getChatroomAdmin( int chatroomId );
  62. // constant
  63. Text *getLetzterFehler() const;
  64. // Reference Counting
  65. CSDatenbank *getThis();
  66. CSDatenbank *release();
  67. };
  68. #endif