VISR  0.12.0
Versatile Interactive Scene Renderer
visr::pml::SharedDataProtocol Class Reference

#include <shared_data_protocol.hpp>

Inheritance diagram for visr::pml::SharedDataProtocol:
visr::CommunicationProtocolBase

Classes

class  Input
 
class  InputBase
 
class  Output
 
class  OutputBase
 

Public Member Functions

 SharedDataProtocol (ParameterType const &config, ParameterConfigBase const &parameterConfig)
 
virtual ~SharedDataProtocol () override
 
ParameterType parameterType () const override
 
virtual CommunicationProtocolType protocolType () const override
 
ParameterBasedata ()
 
ParameterBase const & data () const
 
void connectInput (CommunicationProtocolBase::Input *port) override
 
void connectOutput (CommunicationProtocolBase::Output *port) override
 
bool disconnectInput (CommunicationProtocolBase::Input *port) noexcept override
 
bool disconnectOutput (CommunicationProtocolBase::Output *port) noexcept override
 
- Public Member Functions inherited from visr::CommunicationProtocolBase
 CommunicationProtocolBase ()
 
virtual ~CommunicationProtocolBase ()
 

Static Public Member Functions

static constexpr CommunicationProtocolType staticType ()
 
static constexpr const char * staticName ()
 

Constructor & Destructor Documentation

◆ SharedDataProtocol()

visr::pml::SharedDataProtocol::SharedDataProtocol ( ParameterType const &  config,
ParameterConfigBase const &  parameterConfig 
)
explicit

◆ ~SharedDataProtocol()

visr::pml::SharedDataProtocol::~SharedDataProtocol ( )
overridevirtualdefault

Member Function Documentation

◆ connectInput()

void visr::pml::SharedDataProtocol::connectInput ( CommunicationProtocolBase::Input port)
overridevirtual

Connect a protocol input to this protocol. Derived protocol types must override this pure virtual interface.

Parameters
portAn parameter input with compatible protocol and parameter types.
Exceptions
std::exceptionIf the protocol or parameter types do not match.
std::exceptionIf the connection would violate the "arity" of the protocol, i.e., attempting multiple inputs in case of a 1:1 or 1:N protocol.

Implements visr::CommunicationProtocolBase.

◆ connectOutput()

void visr::pml::SharedDataProtocol::connectOutput ( CommunicationProtocolBase::Output port)
overridevirtual

Connect a protocol output to this protocol. Derived protocol types must override this pure virtual interface.

Parameters
portAn parameter output with compatible protocol and parameter types.
Exceptions
std::exceptionIf the protocol or parameter types do not match.
std::exceptionIf the connection would violate the "arity" of the protocol, i.e., attempting multiple outputs in case of a 1:1 or N:1 protocol.

Implements visr::CommunicationProtocolBase.

◆ data() [1/2]

ParameterBase& visr::pml::SharedDataProtocol::data ( )
inline

◆ data() [2/2]

ParameterBase const& visr::pml::SharedDataProtocol::data ( ) const
inline

◆ disconnectInput()

bool visr::pml::SharedDataProtocol::disconnectInput ( CommunicationProtocolBase::Input port)
overridevirtualnoexcept

Disconnect a protocol input from this protocol.

Returns
true if the disconnect was successful, i.e., if the protocol port was actually connected, false otherwise.

Implements visr::CommunicationProtocolBase.

◆ disconnectOutput()

bool visr::pml::SharedDataProtocol::disconnectOutput ( CommunicationProtocolBase::Output port)
overridevirtualnoexcept

Disconnect a protocol output from this protocol.

Returns
true if the disconnect was successful, i.e., if the protocol port was actually connected, false otherwise.

Implements visr::CommunicationProtocolBase.

◆ parameterType()

ParameterType visr::pml::SharedDataProtocol::parameterType ( ) const
overridevirtual

Return the configured parameter type of this protocol instance. Derived protocols are requirted to override this method.

Implements visr::CommunicationProtocolBase.

◆ protocolType()

CommunicationProtocolType visr::pml::SharedDataProtocol::protocolType ( ) const
overridevirtual

Return the protocol type (a numerical id) of the concrete derived protocol object. Derived protocol types are required to override this method.

Implements visr::CommunicationProtocolBase.

◆ staticName()

static constexpr const char* visr::pml::SharedDataProtocol::staticName ( )
inlinestatic

◆ staticType()

static constexpr CommunicationProtocolType visr::pml::SharedDataProtocol::staticType ( )
inlinestatic

The documentation for this class was generated from the following files: