#ifndef Datenbank_H #define Datenbank_H #include #include #include using namespace Framework; using namespace sql; namespace Admin_Recht { const int RSStarten = 8; const int RSBeenden = 9; const int RSPausieren = 10; const int RSMCChange = 11; } class RSDatenbank { private: Datenbank *datenbank; CRITICAL_SECTION cs; int ref; public: // Konstruktor RSDatenbank( InitDatei *zIni ); // Destruktor ~RSDatenbank(); // nicht constant void lock(); void unlock(); int istAdministrator( const char *name, const char *passwort ); bool adminHatRecht( int id, int recht ); bool proveKlient( int num, int sNum ); Text *getKlientKey( int cId ); void unregisterKlient( int num, int sNum ); bool setServerStatus( int id, int status ); bool setMaxClients( int id, int maxC ); bool serverIstNichtPausiert( int id ); int proveNeuAccount( const char *name, const char *eMail ); bool neuAccount( const char *name, const char *pass, const char *geheim, const char *eMail, const char *gebDatum, InitDatei *zIni ); void neuAccountAbbruch( const char *name ); bool aktiviereAccount( const char *name, const char *key ); int removeAccount( const char *name, const char *pass, const char *geheim, InitDatei *zIni ); void removeAccountAbbruch( const char *name ); bool removeConfirmation( const char *name, const char *key ); int passwortChange( const char *name, const char *pass, const char *nPass, const char *geheim ); int eMailChange( const char *name, const char *pass, const char *geheim, const char *eMail ); int geheimnisChange( const char *name, const char *pass, const char *geheim, const char *nGeheim ); bool nameVergessen( const char *pass, const char *geheim, InitDatei *zIni ); bool passwortVergessen( const char *name, const char *geheim, InitDatei *zIni ); bool geheimnisVergessen( const char *name, const char *pass, InitDatei *zIni ); Text *eMailVergessen( const char *name, const char *pass, const char *geheim ); char suchConfirmation( const char *name, const char *pass ); void sendeErstellEMail( const char *name, InitDatei *zIni ); void sendeRemoveEMail( const char *name, InitDatei *zIni ); // constant Text *getLetzterFehler() const; // Reference Counting RSDatenbank *getThis(); RSDatenbank *release(); }; #endif