Datenbank.h 2.0 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576
  1. #ifndef Datenbank_H
  2. #define Datenbank_H
  3. #include <sql.h>
  4. #include <Text.h>
  5. #include <InitDatei.h>
  6. using namespace Framework;
  7. using namespace sql;
  8. namespace Admin_Recht
  9. {
  10. const int PSStarten = 3;
  11. const int PSBeenden = 4;
  12. const int PSPausieren = 5;
  13. const int PSMCChange = 6;
  14. const int KSGCUpdate = 7;
  15. }
  16. struct FileGroupInfo
  17. {
  18. int id;
  19. Text name;
  20. Text status;
  21. };
  22. class PSDatenbank
  23. {
  24. private:
  25. Datenbank *datenbank;
  26. CRITICAL_SECTION cs;
  27. int ref;
  28. public:
  29. // Konstruktor
  30. PSDatenbank( InitDatei *zIni );
  31. // Destruktor
  32. ~PSDatenbank();
  33. // nicht constant
  34. void lock();
  35. void unlock();
  36. int istAdministrator( const char *name, const char *passwort );
  37. bool adminHatRecht( int id, int recht );
  38. bool proveKlient( int num, int sNum );
  39. Text *getKlientKey( int cId );
  40. void unregisterKlient( int num, int sNum );
  41. bool setServerStatus( int id, int status );
  42. bool setMaxClients( int id, int maxC );
  43. bool serverIstNichtPausiert( int id );
  44. Result getSystemListe();
  45. Result getDateiListe( int system, int gruppe );
  46. Result getDateiListeSMP( int system, int gruppe );
  47. Result getDateiListeOhneOrdner( int system, int gruppe );
  48. Result getDeletedFiles( int system, int gruppe );
  49. Text *getSystemName( int system );
  50. Text *getDateiGruppeName( int gruppe );
  51. bool supportedDateiGruppe( int server, int gruppe );
  52. bool istDateigruppeStatusUpdate( int server, int gruppe );
  53. bool setDateiGruppe( int server, int gruppe, int version );
  54. bool setDateiGruppe( int server, int gruppe, bool update );
  55. bool dateiGruppeUpdateFertig( int server, int gruppe );
  56. int getDateiGruppePatchServer( int client, int gruppe );
  57. bool getPatchServerPortIp( int server, int *port, Text *zIp );
  58. Result getGruppeIds();
  59. Result getDateiGruppeListe();
  60. int getDateiGruppeVersion( int gruppe );
  61. int getDateiVersion( const char *pfad, int system, int gruppe );
  62. bool getFileGroupInfoList( int serverId, Array< FileGroupInfo* > *list );
  63. // constant
  64. Text *getLetzterFehler() const;
  65. // Reference Counting
  66. PSDatenbank *getThis();
  67. PSDatenbank *release();
  68. };
  69. #endif