Datenbank.h 2.0 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859
  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 : public virtual ReferenceCounter
  16. {
  17. private:
  18. Datenbank* datenbank;
  19. CRITICAL_SECTION cs;
  20. public:
  21. // Konstruktor
  22. RSDatenbank(InitDatei* zIni);
  23. // Destruktor
  24. ~RSDatenbank();
  25. // nicht constant
  26. void lock();
  27. void unlock();
  28. int istAdministrator(const char* name, const char* passwort);
  29. bool adminHatRecht(int id, int recht);
  30. bool proveKlient(int num, int sNum);
  31. Text* getKlientKey(int cId);
  32. void unregisterKlient(int num, int sNum);
  33. bool setServerStatus(int id, int status);
  34. bool setMaxClients(int id, int maxC);
  35. bool serverIstNichtPausiert(int id);
  36. int proveNeuAccount(const char* name, const char* eMail);
  37. bool neuAccount(const char* name, const char* pass, const char* geheim, const char* eMail, const char* gebDatum, InitDatei* zIni);
  38. int removeAccount(const char* name, const char* pass, const char* geheim, InitDatei* zIni);
  39. void removeAccountAbbruch(const char* name);
  40. bool removeConfirmation(const char* name, const char* key);
  41. int passwortChange(const char* name, const char* pass, const char* nPass, const char* geheim);
  42. int eMailChange(const char* name, const char* pass, const char* geheim, const char* eMail);
  43. int geheimnisChange(const char* name, const char* pass, const char* geheim, const char* nGeheim);
  44. bool nameVergessen(const char* pass, const char* geheim, InitDatei* zIni);
  45. bool passwortVergessen(const char* name, const char* geheim, InitDatei* zIni);
  46. bool geheimnisVergessen(const char* name, const char* pass, InitDatei* zIni);
  47. Text* eMailVergessen(const char* name, const char* pass, const char* geheim);
  48. char suchConfirmation(const char* name, const char* pass);
  49. void sendeRemoveEMail(const char* name, InitDatei* zIni);
  50. // constant
  51. Text* getLetzterFehler() const;
  52. };
  53. #endif