#ifndef GSLDateiV_H
#define GSLDateiV_H

#include <Text.h>
#include "GSLSoundV.h"

namespace GSL
{
    class GSLDateiV
    {
    public:
        virtual ~GSLDateiV()
        {}
        virtual void setDatei( Framework::Text *txt ) = 0;
        virtual void setDatei( char *txt ) = 0;
        virtual bool leseDaten() = 0;
        virtual int getSoundAnzahl() = 0;
        virtual Framework::Text *getSoundName( int num ) = 0;
        // Laden
        virtual GSLSoundV *getSound( Framework::Text *name ) = 0;
        virtual GSLSoundV *getSound( char *name ) = 0;
        // Speichern
        virtual bool speicherSound( GSLSoundV *zSound, Framework::Text *name ) = 0;
        virtual bool speicherSound( GSLSoundV *zSound, char *name ) = 0;
        // Löschen
        virtual bool removeSound( Framework::Text *name ) = 0;
        virtual bool removeSound( char *name ) = 0;
        // Reference Counting
        virtual GSLDateiV *getThis() = 0;
        virtual GSLDateiV *release() = 0;
    };
}

#endif