Datenbank.h 2.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980
  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. Text pfad;
  22. int version;
  23. };
  24. class PSDatenbank
  25. {
  26. private:
  27. Datenbank *datenbank;
  28. CRITICAL_SECTION cs;
  29. int ref;
  30. public:
  31. // Konstruktor
  32. PSDatenbank( InitDatei *zIni );
  33. // Destruktor
  34. ~PSDatenbank();
  35. // nicht constant
  36. void lock();
  37. void unlock();
  38. int istAdministrator( const char *name, const char *passwort );
  39. bool adminHatRecht( int id, int recht );
  40. bool proveKlient( int num, int sNum );
  41. Text *getKlientKey( int cId );
  42. void unregisterKlient( int num, int sNum );
  43. bool setServerStatus( int id, int status );
  44. bool setMaxClients( int id, int maxC );
  45. bool serverIstNichtPausiert( int id );
  46. Result getSystemListe();
  47. Result getDateiListe( int system, int gruppe );
  48. Result getDateiListeSMP( int system, int gruppe );
  49. Result getDateiListeOhneOrdner( int system, int gruppe );
  50. Result getDeletedFiles( int system, int gruppe );
  51. Text *getSystemName( int system );
  52. Text *getDateiGruppeName( int gruppe );
  53. bool supportedDateiGruppe( int server, int gruppe );
  54. bool istDateigruppeStatusUpdate( int server, int gruppe );
  55. bool setDateiGruppe( int server, int gruppe, int version );
  56. bool setDateiGruppe( int server, int gruppe, bool update );
  57. bool dateiGruppeUpdateFertig( int server, int gruppe );
  58. int getDateiGruppePatchServer( int client, int gruppe );
  59. bool getPatchServerPortIp( int server, int *port, Text *zIp );
  60. Result getGruppeIds();
  61. Result getDateiGruppeListe();
  62. int getDateiGruppeVersion( int gruppe );
  63. int getDateiVersion( const char *pfad, int system, int gruppe );
  64. bool getFileGroupInfoList( int serverId, Array< FileGroupInfo* > *list );
  65. bool updateDatei( const char *pfad, char status, char *letzteAEnderung, int system, int gruppe );
  66. bool dateiGruppeUpdate( int gruppe );
  67. // constant
  68. Text *getLetzterFehler() const;
  69. // Reference Counting
  70. PSDatenbank *getThis();
  71. PSDatenbank *release();
  72. };
  73. #endif