Lumiera
0.pre.03
»edit your freedom«
|
#include "steam/asset/struct.hpp"
Factory specialised for creating Structural Asset objects.
Definition at line 136 of file struct.hpp.
Public Member Functions | |
template<class STRU > | |
lib::P< STRU > | made4fake (Query< STRU > const &query) |
special backdoor for fake-configrules.hpp This allows to simulate creation of objects triggered by rules. More... | |
template<class STRU > | |
lib::P< STRU > | newInstance (Symbol nameID="") |
invoke the factory to create new Structural Asset. More... | |
lib::P< Pipe > | newPipe (string pipeID, string streamID) |
Factory method for creating Pipes explicitly. More... | |
template<class STRU > | |
lib::P< STRU > | operator() (Query< STRU > const &query) |
Retrieve a suitable Structural Asset instance, possibly create one. More... | |
Friends | |
class | Struct |
Protected Member Functions | |
StructFactory () | |
using private implementation detail class | |
Private Attributes | |
unique_ptr< StructFactoryImpl > | impl_ |
Additional Inherited Members | |
Private Member Functions inherited from NonCopyable | |
NonCopyable (NonCopyable const &)=delete | |
NonCopyable & | operator= (NonCopyable const &)=delete |
Retrieve a suitable Structural Asset instance, possibly create one.
First tries to resolve the asset by issuing an capability query. If unsuccessful, use some internally specialised ctor call.
work out the struct asset naming scheme! /////////////////////////////////TICKET #565
for now we're using a faked config query, just pulling preconfigured hardwired answers from a table. Should be replaced by a real resolution engine.
Definition at line 112 of file struct.cpp.
References AssetManager::instance, ConfigResolver::instance, and QueryHandler< TY >::resolve().
Referenced by StructFactory::newPipe().
invoke the factory to create new Structural Asset.
This function skips the query and retrieval of existing instances and immediately creates a new one.
nameID | (optional) an ID to use; if omitted an ID will be default created, based on the kind of Asset. |
Definition at line 85 of file struct.cpp.
Referenced by StructFactory::newPipe().
special backdoor for fake-configrules.hpp This allows to simulate creation of objects triggered by rules.
Actually we use just a fake implementation based on a table lookup plus some hard wired special cases, which need to call in here to fabricate new objects, which can then be used as "solutions".
query | a prolog like query string |
Definition at line 140 of file struct.cpp.
References AssetManager::instance.
Referenced by StructFactory::newPipe().
Factory method for creating Pipes explicitly.
Normalises pipe- and streamID, then retrieves the default processing pattern (ProcPatt) for this streamID. The Pipe ctor will fill out the shortDesc and longDesc automatically, based on pipeID and streamID (and they are editable anyways)
Definition at line 158 of file struct.cpp.
References AssetManager::instance, StructFactory::made4fake(), StructFactory::newInstance(), and StructFactory::operator()().