#ifndef Datenbank_H #define Datenbank_H #include #include "SSDatenbankV.h" #include #include #include #include using namespace Framework; using namespace sql; namespace Admin_Recht { const int SSStarten = 32; const int SSBeenden = 34; const int SSPausieren = 35; const int SSMSChange = 36; } class SSDatenbank : private SSDatenbankV { private: Datenbank *datenbank; CRITICAL_SECTION cs; InitDatei *ini; int ref; public: // Konstruktor SSDatenbank( InitDatei *zIni ); // Destruktor virtual ~SSDatenbank(); // nicht constant void lock(); void unlock(); Text *getKlientKey( int cId ); int istAdministrator( const char *name, const char *passwort ); bool adminHatRecht( int id, int recht ); bool setServerStatus( int id, int status ); bool setMaxSpiele( int id, int maxS ); bool serverIstNichtPausiert( int id ); virtual int getAccountId( int clientId ); virtual Text *getSpielArtName( int spielId ); virtual Text *getKarteName( int karteId ); virtual int getSpielArtId( int karteId ); int erstelleSpiel( int serverId ); bool deleteSpielErstelltNext( int serverId ); int getSpielErstelltId( int serverId ); int getSpielErstelltSpieler( int spielErstelltId, Array< int > *accountIds ); int getKarteVonErstelltemSpiel( int spielErstelltId ); bool getChatServerPortIp( int accountId, int *port, Text *zIp ); bool spielErstelltAbbruch( int spielErstelltId, int anzahl, Array< int > *accounts, Array< int > *status, Array< bool > *inWarteschlange, RCArray< Zeit > *zeit ); int spielErstelltFortsetzen( int spielErstelltId ); void spielSetTeams( int spielId, int sAnzahl, Array< int > *accounts, Array< int > *team ); void spielSetSpielerNummern( int spielId, int sAnzahl, Array< int > *accounts, Array< int > *spielerNummern ); int getSpielerAusGruppe( int gruppeId, Array< int > *accounts ); int getAktionForKlient( int serverId, int accountId, int *id ); bool setSpielStatusIsRunning( int spielId ); virtual bool setSpielStatusBeendet( int spielId, int status ); virtual bool setSpielSpielerStatus( int spielId, int accountId, int punkte, int status ); virtual bool addSpielerStatistik( int accountId, int spielId ); virtual Text *getAccountRufName( int accountId ); bool suchHistorieServer( short *port, Text *ip ); bool getKartenServer( int karteId, int *port, Text *ip ); Text *getSpielPfad( int karteId ); // constant Text *getLetzterFehler() const; // Reference Counting virtual SSDatenbankV *getThis(); virtual SSDatenbankV *release(); }; #endif