46 #ifndef STEAM_PLAY_DUMMY_BUILDER_CONTEXT_H 47 #define STEAM_PLAY_DUMMY_BUILDER_CONTEXT_H 69 using fixture::ModelPortRegistry;
78 BuffHandle claimBufferFor(FrameID)
override { UNIMPLEMENTED (
"claimBufferFor(FrameID)"); }
79 bool isTimely (FrameID,
TimeValue)
override {
return true; }
80 void transfer (
BuffHandle const&)
override { UNIMPLEMENTED (
"transfer (BuffHandle const&)"); }
81 void pushout (
BuffHandle const&)
override { UNIMPLEMENTED (
"pushout (BuffHandle const&)"); }
82 void discard (
BuffHandle const&)
override { UNIMPLEMENTED (
"discard (BuffHandle const&)"); }
83 void shutDown ()
override { UNIMPLEMENTED (
"shutDown() Connection"); }
106 using DummyOutputLink = std::pair<mobject::ModelPort, play::DataSink>;
116 getTimeline (
string id)
121 const uint NUMBER_OF_PORTS = 2;
122 const string namePortA(
"bus-A");
123 const string namePortB(
"bus-B");
136 std::vector<ModelPort> modelPorts_;
137 std::vector<DataSink> dataSinks_;
150 if (existingRegistry_)
159 PID pipeA = getPipe (namePortA);
160 PID pipeB = getPipe (namePortB);
161 TID someTimeline = getTimeline (
"dummy_Timeline");
170 modelPorts_.push_back (
ModelPort(pipeA));
171 modelPorts_.push_back (
ModelPort(pipeB));
174 dataSinks_.emplace_back().activate(std::make_shared<UnimplementedConnection>());
175 dataSinks_.emplace_back().activate(std::make_shared<UnimplementedConnection>());
182 return lib::iter_source::eachEntry (modelPorts_.begin(), modelPorts_.end());
186 getModelPort (uint index)
188 REQUIRE (index < modelPorts_.size());
189 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.