Datenbank.h 2.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566
  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 RSStarten = 8;
  11. const int RSBeenden = 9;
  12. const int RSPausieren = 10;
  13. const int RSMCChange = 11;
  14. }
  15. class RSDatenbank
  16. {
  17. private:
  18. Datenbank *datenbank;
  19. CRITICAL_SECTION cs;
  20. int ref;
  21. public:
  22. // Konstruktor
  23. RSDatenbank( InitDatei *zIni );
  24. // Destruktor
  25. ~RSDatenbank();
  26. // nicht constant
  27. void lock();
  28. void unlock();
  29. int istAdministrator( const char *name, const char *passwort );
  30. bool adminHatRecht( int id, int recht );
  31. bool proveKlient( int num, int sNum );
  32. Text *getKlientKey( int cId );
  33. void unregisterKlient( int num, int sNum );
  34. bool setServerStatus( int id, int status );
  35. bool setMaxClients( int id, int maxC );
  36. bool serverIstNichtPausiert( int id );
  37. int proveNeuAccount( const char *name, const char *eMail );
  38. bool neuAccount( const char *name, const char *pass, const char *geheim, const char *eMail, const char *gebDatum, InitDatei *zIni );
  39. void neuAccountAbbruch( const char *name );
  40. bool aktiviereAccount( const char *name, const char *key );
  41. int removeAccount( const char *name, const char *pass, const char *geheim, InitDatei *zIni );
  42. void removeAccountAbbruch( const char *name );
  43. bool removeConfirmation( const char *name, const char *key );
  44. int passwortChange( const char *name, const char *pass, const char *nPass, const char *geheim );
  45. int eMailChange( const char *name, const char *pass, const char *geheim, const char *eMail );
  46. int geheimnisChange( const char *name, const char *pass, const char *geheim, const char *nGeheim );
  47. bool nameVergessen( const char *pass, const char *geheim, InitDatei *zIni );
  48. bool passwortVergessen( const char *name, const char *geheim, InitDatei *zIni );
  49. bool geheimnisVergessen( const char *name, const char *pass, InitDatei *zIni );
  50. Text *eMailVergessen( const char *name, const char *pass, const char *geheim );
  51. char suchConfirmation( const char *name, const char *pass );
  52. void sendeErstellEMail( const char *name, InitDatei *zIni );
  53. void sendeRemoveEMail( const char *name, InitDatei *zIni );
  54. // constant
  55. Text *getLetzterFehler() const;
  56. // Reference Counting
  57. RSDatenbank *getThis();
  58. RSDatenbank *release();
  59. };
  60. #endif