![]() |
VISR
0.11.6
Versatile Interactive Scene Renderer
|
#include <communication_protocol_base.hpp>
Classes | |
class | Input |
class | Output |
Public Member Functions | |
CommunicationProtocolBase () | |
virtual | ~CommunicationProtocolBase () |
virtual CommunicationProtocolType | protocolType () const =0 |
virtual ParameterType | parameterType () const =0 |
virtual void | connectInput (Input *port)=0 |
virtual void | connectOutput (Output *port)=0 |
virtual bool | disconnectInput (Input *port) noexcept=0 |
virtual bool | disconnectOutput (Output *port) noexcept=0 |
Abstract base class for communication communication protocols which define the semantics of data transmissions between parameter ports.
|
default |
Default constructor. Because this class exports its symbol from a shared library, we need to provide an explicit constructor in order to avoid multiple auto-generated default constructors.
|
virtualdefault |
Destructor, virtual. Communication protocols are instantiated and used polymophically, so the destructor needs to be virtual.
|
pure virtual |
Connect a protocol input to this protocol. Derived protocol types must override this pure virtual interface.
port | An parameter input with compatible protocol and parameter types. |
std::exception | If the protocol or parameter types do not match. |
std::exception | If the connection would violate the "arity" of the protocol, i.e., attempting multiple inputs in case of a 1:1 or 1:N protocol. |
Implemented in visr::pml::DoubleBufferingProtocol, visr::pml::MessageQueueProtocol, and visr::pml::SharedDataProtocol.
|
pure virtual |
Connect a protocol output to this protocol. Derived protocol types must override this pure virtual interface.
port | An parameter output with compatible protocol and parameter types. |
std::exception | If the protocol or parameter types do not match. |
std::exception | If the connection would violate the "arity" of the protocol, i.e., attempting multiple outputs in case of a 1:1 or N:1 protocol. |
Implemented in visr::pml::DoubleBufferingProtocol, visr::pml::MessageQueueProtocol, and visr::pml::SharedDataProtocol.
|
pure virtualnoexcept |
Disconnect a protocol input from this protocol.
Implemented in visr::pml::DoubleBufferingProtocol, visr::pml::MessageQueueProtocol, and visr::pml::SharedDataProtocol.
|
pure virtualnoexcept |
Disconnect a protocol output from this protocol.
Implemented in visr::pml::DoubleBufferingProtocol, visr::pml::MessageQueueProtocol, and visr::pml::SharedDataProtocol.
|
pure virtual |
Return the configured parameter type of this protocol instance. Derived protocols are requirted to override this method.
Implemented in visr::pml::DoubleBufferingProtocol, visr::pml::MessageQueueProtocol, visr::pml::SharedDataProtocol, and visr::python::visr::CommunicationProtocolWrapper.
|
pure virtual |
Return the protocol type (a numerical id) of the concrete derived protocol object. Derived protocol types are required to override this method.
Implemented in visr::pml::DoubleBufferingProtocol, visr::pml::MessageQueueProtocol, visr::pml::SharedDataProtocol, and visr::python::visr::CommunicationProtocolWrapper.