#ifndef Ressourcen_H
#define Ressourcen_H

#include <Array.h>
#include <Bild.h>
#include <Schrift.h>
#include <Text.h>

using namespace Framework;

class RessourceBild
{
private:
	RCArray< Text > *name;
	RCArray< Bild > *bild;
	int anzahl;
	int ref;

public:
	// Konstruktor
	RessourceBild();
	// Destruktor
	~RessourceBild();
	// nicht constant
	bool add( Text *name, Bild *bild );
	bool add( const char *name, Bild *bild );
	bool remove( Text *name );
	bool remove( const char *name );
	void reset();
	// constant
	bool hat( Text *name );
	bool hat( const char *name );
	Bild *get( Text *name );
	Bild *get( const char *name );
	Bild *z( Text *name );
	Bild *z( const char *name );
	// Reference Counting
	RessourceBild *getThis();
	RessourceBild *release();
};

class RessourceSchrift
{
private:
	RCArray< Text > *name;
	RCArray< Schrift > *schrift;
	int anzahl;
	int ref;

public:
	// Konstruktor
	RessourceSchrift();
	// Destruktor
	~RessourceSchrift();
	// nicht constant
	bool add( Text *name, Schrift *schrift );
	bool add( const char *name, Schrift *schrift );
	bool remove( Text *name );
	bool remove( const char *name );
	void reset();
	// constant
	bool hat( Text *name );
	bool hat( const char *name );
	Schrift *get( Text *name );
	Schrift *get( const char *name );
	Schrift *z( Text *name );
	Schrift *z( const char *name );
	// Reference Counting
	RessourceSchrift *getThis();
	RessourceSchrift *release();
};

#endif