AeAssetBin.h 915 Bytes
#ifndef __AeAssetBin__
#define __AeAssetBin__

#include "AeTypes.h"
#include "AeAsset.h"


template<class T> class GList;
class AeAsset;


class AeAssetBin
{
public:
                        AeAssetBin (TAssetType type, AeAssetBin * childBin = NULL);
    virtual	       	~AeAssetBin (void);

    Boolean	       	AppendAsset (AeAsset *);
    void		DeleteAsset (AeAsset *);

    Boolean	       	FindNamedAsset (const char * name, AeAsset* & assetBin);

    Boolean		IsBankType (void);
    TAssetType 		GetType (void)		{ return fType; }
    GList<AeAsset *> *	GetAssetList (void)	{ return fAssetList; }
    AeAssetBin *	GetChildBin (void)	{ return fChildBin; }
    int			GetNumAssets (void);

private:

    TAssetType		fType;		// the type of assets this bin contains
    GList<AeAsset *> *	fAssetList;	// the list of assets
    AeAssetBin *	fChildBin; 	// ref to the bin of the child assets
};


#endif __AeAssetBin__