VISR  0.11.6
Versatile Interactive Scene Renderer
visr::ParameterInput< ProtocolT, ParameterT > Class Template Reference

#include <parameter_input.hpp>

Inheritance diagram for visr::ParameterInput< ProtocolT, ParameterT >:
visr::ParameterInputBase visr::ParameterPortBase

Public Types

using ParameterConfigType = typename ParameterToConfigType< ParameterT >::ConfigType
 
- Public Types inherited from visr::ParameterPortBase
using Direction = PortBase::Direction
 

Public Member Functions

template<typename ... ProtocolArgs>
 ParameterInput (char const *name, Component &parent, ParameterConfigType const &paramConfig, ProtocolArgs ... protoArgs)
 
template<typename ... ProtocolArgs>
 ParameterInput (char const *name, Component &parent, ProtocolArgs ... protoArgs)
 
 ~ParameterInput () override
 
CommunicationProtocolBase::InputprotocolInput () override
 
void setParameterConfig (ParameterConfigType const &parameterConfig)
 
- Public Member Functions inherited from visr::ParameterInputBase
 ParameterInputBase (char const *name, Component &parent, ParameterType const &parameterType, CommunicationProtocolType const &protocolType, ParameterConfigBase const &paramConfig)
 
 ParameterInputBase (char const *name, Component &parent, ParameterType const &parameterType, CommunicationProtocolType const &protocolType)
 
virtual ~ParameterInputBase () override
 
void setParameterConfig (ParameterConfigBase const &parameterConfig)
 
- Public Member Functions inherited from visr::ParameterPortBase
 ParameterPortBase (char const *name, Component &parent, PortBase::Direction direction, ParameterType const &parameterType, CommunicationProtocolType const &protocolType, ParameterConfigBase const &parameterConfig)
 
 ParameterPortBase (char const *name, Component &parent, PortBase::Direction direction, ParameterType const &parameterType, CommunicationProtocolType const &protocolType)
 
 ParameterPortBase (ParameterPortBase const &)=delete
 
 ParameterPortBase (ParameterPortBase &&)=delete
 
ParameterPortBaseoperator= (ParameterPortBase const &)=delete
 
ParameterPortBaseoperator= (ParameterPortBase &&)=delete
 
virtual ~ParameterPortBase ()
 
void setParameterConfig (ParameterConfigBase const &parameterConfig)
 
ParameterType parameterType () const
 
CommunicationProtocolType protocolType () const
 
ParameterConfigBase const & parameterConfig () const
 
impl::ParameterPortBaseImplementationimplementation ()
 
impl::ParameterPortBaseImplementation const & implementation () const
 

Protected Member Functions

void setProtocol (CommunicationProtocolBase *protocol) override
 

Member Typedef Documentation

◆ ParameterConfigType

template<class ProtocolT, class ParameterT>
using visr::ParameterInput< ProtocolT, ParameterT >::ParameterConfigType = typename ParameterToConfigType<ParameterT>::ConfigType

Constructor & Destructor Documentation

◆ ParameterInput() [1/2]

template<class ProtocolT , class ParameterT >
template<typename ... ProtocolArgs>
visr::ParameterInput< ProtocolT, ParameterT >::ParameterInput ( char const *  name,
Component parent,
ParameterConfigType const &  paramConfig,
ProtocolArgs ...  protoArgs 
)
inlineexplicit

◆ ParameterInput() [2/2]

template<class ProtocolT , class ParameterT >
template<typename ... ProtocolArgs>
visr::ParameterInput< ProtocolT, ParameterT >::ParameterInput ( char const *  name,
Component parent,
ProtocolArgs ...  protoArgs 
)
inlineexplicit

◆ ~ParameterInput()

template<class ProtocolT , class ParameterT >
visr::ParameterInput< ProtocolT, ParameterT >::~ParameterInput ( )
inlineoverridedefault

Virtual destructor

Member Function Documentation

◆ protocolInput()

template<class ProtocolT, class ParameterT>
CommunicationProtocolBase::Input& visr::ParameterInput< ProtocolT, ParameterT >::protocolInput ( )
inlineoverridevirtual

◆ setParameterConfig()

template<class ProtocolT, class ParameterT>
void visr::ParameterInput< ProtocolT, ParameterT >::setParameterConfig ( ParameterConfigType const &  parameterConfig)
inline

Set the parameter configuration for this port. This method can be called during initialisation. It replaces a previous configuration.

Exceptions
std::logic_errorif the method is called after the parameter infrastracture is initialised.

◆ setProtocol()

template<class ProtocolT, class ParameterT>
void visr::ParameterInput< ProtocolT, ParameterT >::setProtocol ( CommunicationProtocolBase protocol)
inlineoverrideprotectedvirtual

Type-specific method to check and set the connected protocol.

Todo:
Reconsider interface.
Exceptions
std::invalid_argumentif the protocol type does not match the concrete port type. At the moment, we use RTTI as the final check.

Implements visr::ParameterPortBase.


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