#ifndef Datenbank_H #define Datenbank_H #include #include #include #include using namespace Framework; using namespace sql; namespace Admin_Recht { const int ISStarten = 0x00000014; const int ISBeenden = 0x00000015; const int ISPausieren = 0x00000016; const int ISMCÄndern = 0x00000017; } struct AHDaten; class InformationServer; class ISDatenbank { private: Datenbank *datenbank; CRITICAL_SECTION cs; int ref; public: // Konstruktor ISDatenbank( InitDatei *zIni ); // Destruktor ~ISDatenbank(); // nicht constant void lock(); void unlock(); int istAdministrator( const char *name, const char *passwort ); bool adminHatRecht( int id, int recht ); bool prüfKlient( int num, int sNum ); Text *getKlientSchlüssel( int cId ); void unregisterKlient( int num, int sNum ); bool serverAnmelden( InitDatei *zIni ); bool setServerStatus( int id, int status ); bool setMaxClients( int id, int maxC ); int getAdminPort( int id ); bool serverIstNichtPausiert( int id ); Text *getInformationsText( char *typ ); bool istSpielErlaubt( int spielId ); bool istKarteErlaubt( int karteId ); Text *getAccountRufName( int accountId ); int getAccountId( char *rufName ); Array< int > *getAccountSpielStatistik( int accountId, int spielId ); int getAccountKarteSpiele( int accountId, int karteId ); int getAccountKarteSpieleGewonnen( int accountId, int karteId ); Text *getKarteName( int karteId ); Text *getSpielName( int spielId ); Text *getChatroomName( int chatroomId ); int getChatroomId( char *name ); int getSpielId( int karteId ); int getSpielId( char *name ); int getKarteId( char *name ); int getGruppenKarteId( int gruppeId ); int getGruppeAdminId( int gruppeId ); int getSpielerPunkte( int spielId, int accountId ); Array< int > *getAccountSpielArtListe( int cId ); int getNeusteSpielVersion( int spielId ); int getKupfer( int cId ); int getDateiGruppeVonSpiel( int sId ); Text *getDateiGruppePfad( int dgId ); Array< int > *getAccountKarteListe( int cId, int kId ); bool hatAccountKarte( int account, int karte ); bool hatAccountSpiel( int account, int spiel ); int getDateiGruppeVonPfad( char *pfad ); int getNeusteDateiGruppe( int dg ); bool getGruppeSpielerHinzufügen( int gruppeId ); Result getSpielerListe( char *suche, int *seite, int *maxSeite, int sortStalte, bool rückwärts ); bool getSpielerAktivität( int accountId, RCArray< Text > *datum, Array< double > *stOnline, Array< double > *stGespielt, Array< int > *anzSpiele, Array< int > *anzGewonnen ); int getOnlineSeconds( int accountId, char *beg, char *end ); int getGespieltSeconds( int accountId, char *beg, char *end ); int getGespieltSpiele( int accountId, char *beg, char *end ); int getGewonnenSpiele( int accountId, char *beg, char *end ); Array< int > *getAccountKarteGespieltListe( int accountId, int spielArt ); Array< int > *getAccountSpielGespieltListe( int accountId ); Result getSpielPartnerListe( int accountId ); Result getSpielStatistikListe( int accountId, int *seite, int *maxSeite, int sortStalte, bool rückwärts ); AHDaten *getSpielHistorie( int accountId, InformationServer *is ); bool getHistorieServerPortIp( int clientId, int spielId, int *port, Text *ip ); bool hatKlientRecht( int kId, int recht ); Result getKartenListe( int kId, char *suchFilter, char sortSpalte, char sortRichtung ); bool getEditorServerPortIp( int clientId, int karteId, int *port, Text *ip ); bool getKartenServerPortIp( int clientId, int karteId, int *port, Text *ip ); // constant Text *getLetzterFehler() const; // Reference Counting ISDatenbank *getThis(); ISDatenbank *release(); }; #endif