Datenbank.h 2.3 KB

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