![]() |
Lumiera 0.pre.04
»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 > | operator() (Query< STRU > const &query) |
| Retrieve a suitable Structural Asset instance, possibly create one. | |
| template<class STRU > | |
| lib::P< STRU > | newInstance (Symbol nameID="") |
| invoke the factory to create new Structural Asset. | |
| 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. | |
| lib::P< Pipe > | newPipe (string pipeID, string streamID) |
| Factory method for creating Pipes explicitly. | |
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 ()=default | |
| NonCopyable ()=default | |
| NonCopyable (NonCopyable const &)=delete | |
| NonCopyable & | operator= (NonCopyable const &)=delete |
|
protected |
using private implementation detail class
Definition at line 67 of file struct.cpp.
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 StructFactory::impl_, AssetManager::instance, ConfigResolver::instance, and QueryHandler< TY >::resolve().
Here is the call graph for this function: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. |
| error::Invalid | in case of ID clash with an existing Asset |
Definition at line 85 of file struct.cpp.
References StructFactory::impl_, and AssetManager::instance.
Referenced by DefsManager_test::verifyRemoval().
Here is the caller graph for this function: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 StructFactory::impl_, and AssetManager::instance.
Referenced by MockTable::fabricate_Sequence_on_demand(), and MockTable::fabricate_Timeline_on_demand().
Here is the caller graph for this function: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 StructFactory::impl_, and AssetManager::instance.
Referenced by BasicPipe_test::createExplicit(), and DefsManagerImpl_test::define_and_search().
Here is the caller graph for this function:
|
private |
Definition at line 139 of file struct.hpp.
Referenced by StructFactory::made4fake(), StructFactory::newInstance(), StructFactory::newPipe(), and StructFactory::operator()().
|
friend |
Definition at line 143 of file struct.hpp.
Inheritance diagram for StructFactory:
Collaboration diagram for StructFactory: