42#include <boost/functional/hash.hpp>
86 UNIMPLEMENTED (
"how to query a placement for output designation");
102 UNIMPLEMENTED (
"how the hell can we get a grip on the target to resolve the bus??");
155 return hash_value (query);
168 typeHandler.
resolve (res, query4pipe);
169 HashVal resulting_targetPipeID (res? (HashVal)res->getID() : 0 );
170 return resulting_targetPipeID;
Customised refcounting smart pointer template, built upon std::shared_ptr, but forwarding type relati...
Token or Atom with distinct identity.
Builder & removeTerm(Symbol termPredicate)
remove the first term from this query definition, which matches the given predicate symbol
Generic interface to express a query for specifically typed result elements exposing some capabilitie...
string extractID(Symbol predicate) const
convenience shortcut to extract a desired name-ID.
the "front side" interface: the Steam-Layer code can use this QueryHandler to retrieve instances of t...
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.
user-visible Interface to the ConfigRules subsystem.
static lib::Depend< ConfigResolver > instance
Singleton factory instance, configured with the actual implementation type.
thin wrapper around a size_t hash ID used as primary key for all Asset objects.
OutputDesignation(PID explicitTarget)
create an output designation by directly specifying the target to connect
SpecBuff spec_
Storage to hold the Target Spec inline.
Definition of the concrete frontend for rule based configuration within the session.
Lumiera error handling (C++ interface).
Core abstraction of the Session model: a media object.
string extractID(Symbol sym, const string &termString)
(preliminary) helper: instead of really parsing and evaluating the terms, just do a regular expressio...
string removeTerm(Symbol sym, string &queryString)
(preliminary) helper: cut a term with the given symbol.
size_t HashVal
a STL compatible hash value
Query< asset::Pipe > build_corresponding_sourceQuery(Query< asset::Pipe > const &query4pipe)
..and build the corresponding defaults source query for this case
uint is_defaults_query_with_channel(Query< asset::Pipe > const &query4pipe)
detect the special case, when actually the Nth solution of a defaults query is requested
HashVal slot(Query< asset::Pipe > const &query)
yield a suitable table slot for this query
HashVal resolveQuery(Query< asset::Pipe > const &query4pipe)
delegate target pipe resolution to the rules system
OutputDesignation::PPipe PPipe
OutputDesignation::TargetSpec TargetSpec
OutputDesignation::PID PID
Steam-Layer implementation namespace root.
uint uNum(CStr charPtr)
positive integral number from textual representation
Core abstraction: symbolic representation of some output target.
Translating and wiring output designations.
A generic reference mechanism for Placements, as added to the current session.
framework and to resolve logical queries.
Utilities to support working with predicate queries.
AbsoluteSpec(PID explicitTarget)
IndirectSpec(RefPlacement const &indirectTarget)
RelativeSpec(uint relative_busNr)
Marker types to indicate a literal string and a Symbol.
Tiny helper functions and shortcuts to be used everywhere Consider this header to be effectively incl...