37 #ifndef STEAM_PLAY_DUMMY_BUILDER_CONTEXT_H 38 #define STEAM_PLAY_DUMMY_BUILDER_CONTEXT_H 60 using fixture::ModelPortRegistry;
69 BuffHandle claimBufferFor(FrameID)
override { UNIMPLEMENTED (
"claimBufferFor(FrameID)"); }
70 bool isTimely (FrameID,
TimeValue)
override {
return true; }
71 void transfer (
BuffHandle const&)
override { UNIMPLEMENTED (
"transfer (BuffHandle const&)"); }
72 void pushout (
BuffHandle const&)
override { UNIMPLEMENTED (
"pushout (BuffHandle const&)"); }
73 void discard (
BuffHandle const&)
override { UNIMPLEMENTED (
"discard (BuffHandle const&)"); }
74 void shutDown ()
override { UNIMPLEMENTED (
"shutDown() Connection"); }
97 using DummyOutputLink = std::pair<mobject::ModelPort, play::DataSink>;
107 getTimeline (
string id)
112 const uint NUMBER_OF_PORTS = 2;
113 const string namePortA(
"bus-A");
114 const string namePortB(
"bus-B");
127 std::vector<ModelPort> modelPorts_;
128 std::vector<DataSink> dataSinks_;
141 if (existingRegistry_)
150 PID pipeA = getPipe (namePortA);
151 PID pipeB = getPipe (namePortB);
152 TID someTimeline = getTimeline (
"dummy_Timeline");
161 modelPorts_.push_back (
ModelPort(pipeA));
162 modelPorts_.push_back (
ModelPort(pipeB));
165 dataSinks_.emplace_back().activate(std::make_shared<UnimplementedConnection>());
166 dataSinks_.emplace_back().activate(std::make_shared<UnimplementedConnection>());
173 return lib::iter_source::eachEntry (modelPorts_.begin(), modelPorts_.end());
177 getModelPort (uint index)
179 REQUIRE (index < modelPorts_.size());
180 return {modelPorts_[index]
Organising the output data calculation possibilities.
ModelPortDescriptor const & definePort(PID pipe, StID element_exposing_this_port)
create and register a new model port entry, within the pending transaction
A "processing pipe" represented as Asset.
Basic and generic representation of an internal query.
void commit()
activate pending model port changes.
Mutation and management facility for model ports within the builder.
~UnimplementedConnection()
emit VTable here...
Steam-Layer implementation namespace root.
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
static ModelPortRegistry * setActiveInstance(ModelPortRegistry &newRegistry)
switch the implicit link to the global ModelPort registry to point to the given implementation instan...
static void shutdown()
globally deactivate access to model ports
Mix-Ins to allow or prohibit various degrees of copying and cloning.
Management facility for tracking model ports.
helper for dummy render engine: Simulate the result of a build process, without actually running the ...
Tiny helper functions and shortcuts to be used everywhere Consider this header to be effectively incl...
SimulatedBuilderContext()
setup
Interface for concrete output implementations to talk to the OutputSlot frontend. ...
static PPipe query(string const &properties)
convenience shortcut for retrieving default configured pipes
Handle designating a point within the model, where actually output data can be pulled.
Handle for a buffer for processing data, abstracting away the actual implementation.
A global service to handle all external output connections.
~SimulatedBuilderContext()
tear-down
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 ...
Extension module to build an opaque data source, accessible as Lumiera Forward Iterator.
basic constant internal time value.
Generic interface to express a query for specifically typed result elements exposing some capabilitie...
Top level structural element within the session.