Lumiera  0.pre.03
»edit your freedom«
assetmanager.hpp File Reference

Go to the source code of this file.

Description

Steam-Layer Interface: Asset Lookup and Organisation.

Declares the AssetManager interface used to access individual Asset instances.

These classes are placed into namespace asset and proc_interface.

Todo:

10/10 meanwhile I'm unhappy with some aspects of this implementation //////////////TICKET #691

12/12 and meanwhile I'm way more unhappy with the whole design. Looks like I wasn't proficient enough with OO design in C++ when writing that original design. Especially, this design couples the object creation, the memory management and the registration way too tightly. Having a registration magic in the asset baseclass ctor is just too clever and a half. Rather, there should be a responsibility chain, using completely passive Asset objects: Factory -> AssetManaager -> Asset object

See also
asset.hpp
mobject.hpp

Definition in file assetmanager.hpp.

#include "steam/asset.hpp"
#include "lib/error.hpp"
#include "lib/depend.hpp"
#include <cstddef>
#include <string>
#include <list>
#include <boost/utility.hpp>

Classes

class  AssetManager
 Facade for the Asset subsystem. More...
 

Functions

 LUMIERA_ERROR_DECLARE (UNKNOWN_ASSET_ID)
 use of a non-registered Asset ID.
 
 LUMIERA_ERROR_DECLARE (WRONG_ASSET_KIND)
 Asset ID of wrong Asset kind, unable to cast.
 

Namespaces

 steam
 Steam-Layer implementation namespace root.
 
 steam::asset
 The asset subsystem of the Steam-Layer.