76 _Fmt pattern (
"dummy_%s_%i");
82 return pattern % prefix % std::rand();
100 string pipeID = create();
110 string sID =
newID (
"stream");
118 CHECK (pipe1 != pipe2);
119 CHECK (stID == pipe2->getStreamID());
121 CHECK (!
find (pipe1->getPipeID()),
"accidental clash of random test-IDs");
122 CHECK (!
find (pipe2->getPipeID()),
"accidental clash of random test-IDs");
126 lumiera::query::setFakeBypass(justAnyPipe);
129 Query<Pipe> pipeWithSpecificStream(
"stream("+sID+
")");
130 lumiera::query::setFakeBypass(pipeWithSpecificStream);
133 CHECK (
find (pipe1->getPipeID()),
"failure declaring object as default");
134 CHECK (
find (pipe2->getPipeID()),
"failure declaring object as default");
136 CHECK (stID != pipe1->getStreamID(),
"accidental clash");
145 string sID =
newID (
"stream");
146 Query<Pipe> query_for_streamID (
"stream("+sID+
")");
151 typeHandler.
resolve (pipe1, query_for_streamID);
154 CHECK (!
find (pipe1->getPipeID()));
157 CHECK (pipe2 == pipe1);
158 CHECK (
find (pipe1->getPipeID()));
160 return pipe1->getPipeID();
168 REQUIRE (
find (pipe->getPipeID()),
"test assumes pre-registered default pipe");
169 long cnt = pipe.use_count();
173 CHECK (!
find (pipe->getPipeID()));
174 CHECK (cnt == pipe.use_count());
Utilities to support working with predicate queries.
Steam-Layer Interface: Asset Lookup and Organisation.
A "processing pipe" represented as Asset.
Framework for classification of media streams.
the "front side" interface: the Steam-Layer code can use this QueryHandler to retrieve instances of t...
void normaliseID(string &id)
ensure standard format for a given id string.
virtual bool resolve(P< TY > &solution, Query< TY > const &q)=0
try to find or create an object of type TY fulfilling the given query.
lib::P< TAR > create(Query< TAR > const &)
retrieve an object fulfilling the query and register it as default.
Facade for the Asset subsystem.
static session::SessManager & current
access point to the current Session
Steam-Layer implementation namespace root.
A front-end for using printf-style formatting.
DefaultsAccess defaults
manages default configured objects
Definition of the concrete frontend for rule based configuration within the session.
Namespace of Session and user visible high-level objects.
structural asset corresponding to the part of the model forming a processing pipe for generating medi...
static StructFactory retrieve
storage for the static StructFactory instance
Token or Atom with distinct identity.
static lib::Depend< ConfigResolver > instance
Singleton factory instance, configured with the actual implementation type.
Simple test class runner.
Tiny helper functions and shortcuts to be used everywhere Consider this header to be effectively incl...
Superinterface describing especially bookkeeping properties.
Steam-Layer Interface: Assets.
static PPipe query(string const &properties)
convenience shortcut for retrieving default configured pipes
lib::P< Pipe > newPipe(string pipeID, string streamID)
Factory method for creating Pipes explicitly.
Customised refcounting smart pointer template, built upon std::shared_ptr, but forwarding type relati...
key abstraction: structural asset Created automatically as a sideeffect of building the structure of ...
Primary Interface to the current Session.
user-visible Interface to the ConfigRules subsystem.
Asset representation of structural elements within the model.
Generic interface to express a query for specifically typed result elements exposing some capabilitie...
string newID(Symbol prefix)
create a random new ID
bool find(const string &pID)
shortcut: query for given Pipe-ID
Implementation of the core defaults-management operations.