This class represents a driver for a protocol.
Definition at line 20 of file VuoCompilerDriver.hh.
Public Member Functions | |
VuoCompilerDriver (VuoCompiler *compiler, const string &driverAsCompositionString) | |
Creates a driver. More... | |
bool | isValidDriverForProtocol (VuoProtocol *protocol) |
Returns a boolean indicating whether this driver is valid for the provided protocol . More... | |
void | applyToComposition (VuoCompilerComposition *composition, VuoCompiler *compiler, bool canPublishedInputsBeEdited=true) |
Applies this driver to the provided composition . More... | |
VuoCompilerDriver::VuoCompilerDriver | ( | VuoCompiler * | compiler, |
const string & | driverAsCompositionString | ||
) |
Creates a driver.
compiler | The compiler to use for looking up node classes. |
driverAsCompositionString | The serialized driver, in the form of .vuo composition Graphviz source. |
Definition at line 32 of file VuoCompilerDriver.cc.
void VuoCompilerDriver::applyToComposition | ( | VuoCompilerComposition * | composition, |
VuoCompiler * | compiler, | ||
bool | canPublishedInputsBeEdited = true |
||
) |
Applies this driver to the provided composition
.
Bridges the driver with the composition by matching published output ports within the driver to identically named and typed published input ports within the composition, and vice versa, and re-routing their connected cables appropriately.
Definition at line 90 of file VuoCompilerDriver.cc.
bool VuoCompilerDriver::isValidDriverForProtocol | ( | VuoProtocol * | protocol | ) |
Returns a boolean indicating whether this driver is valid for the provided protocol
.
A driver is valid for a given protocol if, for each of the driver's published outputs, the protocol has a published input with the same name and type, and for each of the driver's published inputs, the protocol has a published output with the same name and type. The protocol may have additional published inputs and outputs and still be compatible with the driver.
Definition at line 46 of file VuoCompilerDriver.cc.