Эх сурвалжийг харах

abstrakte ShopServerClient Klasse hinzugefügt

Kolja Strohm 7 жил өмнө
parent
commit
179978fe9c
1 өөрчлөгдсөн 100 нэмэгдсэн , 21 устгасан
  1. 100 21
      Include/KSGNetwork.h

+ 100 - 21
Include/KSGNetwork.h

@@ -603,7 +603,86 @@ namespace KSGClient
     //  Kann nur von eingeloggten Clients verwendet werden
     class ShopServerClient
     {
-
+        // verbindet sich mit dem zugewiesenen Shop Server
+        //  Gibt 1 zurück, falls der Vorgang erfolgreich ist, 0 sonnst
+        virtual bool verbinde() = 0;
+        // Gibt eine Liste mit Spiel Ids zurück, mit Spielen, die einen Bestimten Text im Namen haben
+        //  suche: Der Text, der im Namen der Spiele vorkommen soll
+        //  Gibt bei misserfolg 0 zurück
+        virtual Framework::Array< int > *suchSpiele( const char *suche ) = 0;
+        // läd Titelbild des Spieles herunter und speichert es unter data/tmp/shop/kazfen/spiele/{id}/titelbg.ltdb
+        //  id: Die Id des Spiels
+        //  Gibt 1 zurück, falls der Vorgang erfolgreich ist, 0 sonnst
+        virtual bool ladeSpielTitel( int id ) = 0;
+        // läd Shop Seite des Spieles herunter und speichert es unter data/tmp/shop/kazfen/spiele/{id}/seite.ksgs
+        //  id: Die Id des Spiels
+        //  Gibt 1 zurück, falls der Vorgang erfolgreich ist, 0 sonnst
+        virtual bool ladeSpielSeite( int id ) = 0;
+        // Gibt den Besitz Status eines Spiels zurück (0 = nicht im Besitz, 1 = Testversion, 2 = gekauft)
+        //  id: Die Id des Spiels
+        virtual int getSpielBesitzStatus( int id ) = 0;
+        // gibt die Anzahl der verbleibenden Spiele der Testversion zurück
+        //  id: Die Id des Spiels
+        virtual int getSpielTestversion( int id ) = 0;
+        // Gibt den Erwerbbarkeits Status eines Spiels zurück (0 = nichts, 1 = nur Testversion, 2 = nur Vollversion, 3 = beides)
+        //  id: Die Id des Spiels
+        virtual int istSpielErwerbbar( int id ) = 0;
+        // Gibt den Preis eines Spiels in Kupfer zurück
+        //  id: Die Id des Spiels
+        //  testVersion: 1:=Es wird der Preis der Testversion zurückgegeben, 0:=Es wird der Preis der Vollversion zurückgegeben
+        virtual int getSpielPreis( int id, bool testVersion ) = 0; 
+        // Kauft ein Spiel
+        //  id: Die Id des Spiels
+        //  testVersion: 1:=Es wird die Testversion erworben, 0:=Es wird die Vollversion erworben
+        virtual bool spielErwerben( int spielId, bool testVersion ) = 0;
+        // sucht nach Karten mit zu einem bestimmten Spiel
+        //  suche: Ein Text, der im Namen der Karte vorkommen soll
+        //  spielId: Die Id des Spiels
+        //  Gibt eine Liste Mit den Ids der gefundenen Karten zurück
+        virtual Framework::Array< int > *suchKarten( const char *suche, int spielId ) = 0;
+        // lädt das Titelbild der Karte herunter und speichert es unter data/tmp/shop/kaufen/karten/{id}/titelbg.ltdb
+        //  id: Die Id der Karte
+        //  Gibt 1 zurück, falls der Vorgang erfolgreich ist, 0 sonnst
+        virtual bool ladeKarteTitel( int id ) = 0;
+        // lädt die Shop Seite der Karte herunter und speichert es unter data/tmp/shop/kaufen/karten/{id}/seite.ksgs
+        //  id: Die Id der Karte
+        //  Gibt 1 zurück, falls der Vorgang erfolgreich ist, 0 sonnst
+        virtual bool ladeKarteSeite( int id ) = 0;
+        // Gibt den Besitz Status einer Karte zurück (0 = nicht im Besitz, 1 = Testversion, 2 = gekauft)
+        //  id: Die Id der Karte
+        virtual int getKarteBesitzStatus( int id ) = 0;
+        // gibt die Anzahl der verbleibenden Spiele der Testversion zurück
+        //  id: Die Id der Karte
+        virtual int getKarteTestversion( int id ) = 0;
+        // Gibt den Erwerbbarkeits Status einer Karte zurück (0 = nichts, 1 = nur Testversion, 2 = nur Vollversion, 3 = beides)
+        //  id: Die Id der Karte
+        virtual int istKarteErwerbbar( int id ) = 0;
+        // Gibt den Preis einer Karte in Kupfer zurück
+        //  id: Die Id der Karte
+        //  testVersion: 1:=Es wird der Preis der Testversion zurückgegeben, 0:=Es wird der Preis der Vollversion zurückgegeben
+        virtual int getKartePreis( int id, bool testVersion ) = 0;
+        // Kauft eine Karte
+        //  id: Die Id der Karte
+        //  testVersion: 1:=Es wird die Testversion erworben, 0:=Es wird die Vollversion erworben
+        virtual bool karteErwerben( int karteId, bool testVersion ) = 0;
+        // Erhält die Verbindung aufrecht
+        //  Gibt 1 zurück, falls der Vorgang erfolgreich ist, 0 sonnst
+        //  Sollte während einer bestehenden Verbindung etwa einmal alle 60 Sekunden aufgerufen werden, da sonst der Router die Verbindung automatisch trennt
+        virtual bool keepAlive() = 0;
+        // Trennt die Verbindung zum Server
+        //  Gibt 1 zurück, falls der Vorgang erfolgreich ist, 0 sonnst
+        //  Sollte erst nach einem erfolgreichen Aufruf von verbinde aufgerufen werden
+        virtual bool trenne() = 0;
+        // Gibt 1 zurück, falls der Client verbunden ist, 0 sonst
+        virtual bool istVerbunden() const = 0;
+        // gibt den Letzten Fehlertext zuück
+        //  sollte erst aufgerufen werden, nachdem eine andere aufgerufene Methode fehlgeschlagen ist
+        virtual char *getLetzterFehler() const = 0;
+        // Erhöht den Reference Counter um 1 un gibt this zurück
+        virtual ShopServerClient *getThis() = 0;
+        // Verringert den Reference Counter um 1 und gibt 0 zurück.
+        //  Falls der Reference Counter nach dem Aufruf auf 0 ist löscht sich das Objekt selbst 
+        virtual ShopServerClient *release() = 0;
     };
 
     // Wird verwendet um sich für Spiele anzumelden
@@ -613,83 +692,83 @@ namespace KSGClient
     public:
         // verbindet sich mit dem zugewiesenen Anmeldung Server
         //  Gibt 1 zurück, falls der Vorgang erfolgreich ist, 0 sonnst
-        bool verbinde();
+        virtual bool verbinde() = 0;
         // erstellt eine gruppe
         //  karteId: Die Id der Karte für die die Gruppe erstellt werden soll
         //  Gibt bei Erfolg die Id der Gruppe zurück. Bei misserfolg wird 0 zurückgegeben
-        int gruppeErstellen( int karteId );
+        virtual int gruppeErstellen( int karteId ) = 0;
         // Betritt eine Gruppe
         //  gruppeId: Die Id der Gruppe
         //  mitglieder: Nach erfolgreichem Aufruf enthält diese Liste die Lister der Account Ids der Gruppenmitglieder
         //  anzahl: Nach erfolgreichem Aufruf wird hier die Anzahl der Gruppenmitglieder gespeichert
         //  Gibt 1 zurück, falls der Vorgang erfolgreich ist, 0 sonnst
-        bool gruppeBetreten( int gruppeId, Framework::Array< int > *mitglieder, int *anzahl );
+        virtual bool gruppeBetreten( int gruppeId, Framework::Array< int > *mitglieder, int *anzahl ) = 0;
         // Verlässt eine Gruppe
         //  gruppeId: Die Id der Gruppe
         //  Gibt 1 zurück, falls der Vorgang erfolgreich ist, 0 sonnst
-        bool gruppeVerlassen( int gruppeId );
+        virtual bool gruppeVerlassen( int gruppeId ) = 0;
         // Trägt die Gruppe in die Warteschlange für die Karte ein (nur für den Gruppen Administrator)
         //  gruppeId: Die Id der Gruppe
         //  Gibt 1 zurück, falls der Vorgang erfolgreich ist, 0 sonnst
-        bool gruppeAnmelden( int gruppeId );
+        virtual bool gruppeAnmelden( int gruppeId ) = 0;
         // Trägt die Gruppe aus der Warteschlange für die Karte aus (nur für den Gruppen Administrator)
         //  gruppeId: Die Id der Gruppe
         //  Gibt 1 zurück, falls der Vorgang erfolgreich ist, 0 sonnst
-        bool gruppeAbmelden( int gruppeId );
+        virtual bool gruppeAbmelden( int gruppeId ) = 0;
         // läht Spieler ein die Gruppe zu betreten (nur für den Gruppen Administrator)
         //  accountId: Die Id des Accounts
         //  gruppeId: Die Id der Gruppe
         //  Gibt 1 zurück, falls der Vorgang erfolgreich ist, 0 sonnst
-        bool gruppeSpielerEinladen( int accountId, int gruppeId );
+        virtual bool gruppeSpielerEinladen( int accountId, int gruppeId ) = 0;
         // Zieht die Einladung eine Gruppe zu betreten zurück (nur für den Gruppen Administrator)
         //  accountId: Die Id des Accounts
         //  gruppeId: Die Id der Gruppe
         //  Gibt 1 zurück, falls der Vorgang erfolgreich ist, 0 sonnst
-        bool gruppeEinladungAbbrechen( int accountId, int gruppeId );
+        virtual bool gruppeEinladungAbbrechen( int accountId, int gruppeId ) = 0;
         // Einladung zur Gruppe ablehnen
         //  gruppeId: Die Id der Gruppe
         //  Gibt 1 zurück, falls der Vorgang erfolgreich ist, 0 sonnst
-        bool gruppeEinladungAblehnen( int gruppeId );
+        virtual bool gruppeEinladungAblehnen( int gruppeId ) = 0;
         // wirft Spieler aus Gruppe (nur für den Gruppen Administrator)
         //  accountId: Die Id des Accounts
         //  gruppeId: Die Id der Gruppe
         //  Gibt 1 zurück, falls der Vorgang erfolgreich ist, 0 sonnst
-        bool kickSpielerAusGruppe( int accountId, int gruppeId );
+        virtual bool kickSpielerAusGruppe( int accountId, int gruppeId ) = 0;
         // Legt fest, ob die Spieler in der Gruppe alleine spielen wollen, oder ob weitere Spieler aus der Warteschlange hinzugefügt werden sollen bis die Karte voll ist
         //  gruppeId: Die Id der Gruppe
         //  spielStarte: 1:=alleine spielen, 0:=auf volles Spiel warten
         //  Gibt 1 zurück, falls der Vorgang erfolgreich ist, 0 sonnst
-        bool gruppeSpielStarten( int gruppeId, bool spielStarten );
+        virtual bool gruppeSpielStarten( int gruppeId, bool spielStarten ) = 0;
         // Sendet eine Nachricht an den Gruppen Chat
         //  gruppeId: Die Id der Gruppe
         //  nachricht: Die Nachricht, die gesendet werden soll
         //  Gibt 1 zurück, falls der Vorgang erfolgreich ist, 0 sonnst
-        bool gruppeNachricht( int gruppeId, char *nachricht );
+        virtual bool gruppeNachricht( int gruppeId, char *nachricht ) = 0;
         // Meldet den eingeloggten Account in der Warteschlange für eine Karte an
         //  karteId: Die Id der Karte
         //  Gibt 1 zurück, falls der Vorgang erfolgreich ist, 0 sonnst
-        bool anmelden( int karteId );
+        virtual bool anmelden( int karteId ) = 0;
         // Meldet den eingeloggten Account aus der Warteschlange ab
         //  Gibt 1 zurück, falls der Vorgang erfolgreich ist, 0 sonnst
-        bool abmelden();
+        virtual bool abmelden() = 0;
         // Erhält die Verbindung aufrecht
         //  Gibt 1 zurück, falls der Vorgang erfolgreich ist, 0 sonnst
         //  Sollte während einer bestehenden Verbindung etwa einmal alle 60 Sekunden aufgerufen werden, da sonst der Router die Verbindung automatisch trennt
-        bool keepAlive();
+        virtual bool keepAlive() = 0;
         // Trennt die Verbindung zum Server
         //  Gibt 1 zurück, falls der Vorgang erfolgreich ist, 0 sonnst
         //  Sollte erst nach einem erfolgreichen Aufruf von verbinde aufgerufen werden
-        bool trenne();
+        virtual bool trenne() = 0;
         // Gibt 1 zurück, falls der Client verbunden ist, 0 sonst
-        bool istVerbunden() const;
+        virtual bool istVerbunden() const = 0;
         // gibt den Letzten Fehlertext zuück
         //  sollte erst aufgerufen werden, nachdem eine andere aufgerufene Methode fehlgeschlagen ist
-        char *getLetzterFehler() const;
+        virtual char *getLetzterFehler() const = 0;
         // Erhöht den Reference Counter um 1 un gibt this zurück
-        AnmeldungServerClient *getThis();
+        virtual AnmeldungServerClient *getThis() = 0;
         // Verringert den Reference Counter um 1 und gibt 0 zurück.
         //  Falls der Reference Counter nach dem Aufruf auf 0 ist löscht sich das Objekt selbst 
-        AnmeldungServerClient *release();
+        virtual AnmeldungServerClient *release() = 0;
     };
 
     // Wird verwendet um die aktuellen versionen der Karten vor dem Spiel herunterzuladen