VISR  0.11.8
Versatile Interactive Scene Renderer
visr::ParameterOutput< ProtocolT, ParameterT > Class Template Reference

#include <parameter_output.hpp>

Inheritance diagram for visr::ParameterOutput< ProtocolT, ParameterT >:
visr::ParameterOutputBase 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>
 ParameterOutput (char const *name, Component &parent, ParameterConfigType const &paramConfig, ProtocolArgs...protoArgs)
 
template<typename... ProtocolArgs>
 ParameterOutput (char const *name, Component &parent, ProtocolArgs...protoArgs)
 
 ~ParameterOutput ()
 
CommunicationProtocolBase::OutputprotocolOutput () override
 
ParameterType parameterType () const
 
CommunicationProtocolType protocolType () const
 
ParameterConfigBase const & parameterConfig () const
 
void setParameterConfig (ParameterConfigType const &parameterConfig)
 
- Public Member Functions inherited from visr::ParameterOutputBase
 ParameterOutputBase (char const *name, Component &parent, ParameterType const &parameterType, CommunicationProtocolType const &protocolType, ParameterConfigBase const &paramConfig)
 
 ParameterOutputBase (char const *name, Component &parent, ParameterType const &parameterType, CommunicationProtocolType const &protocolType)
 
virtual ~ParameterOutputBase () override
 
- 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

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

Constructor & Destructor Documentation

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

Member Function Documentation

template<class ProtocolT, class ParameterT>
ParameterConfigBase const& visr::ParameterOutput< ProtocolT, ParameterT >::parameterConfig ( ) const
inline
template<class ProtocolT, class ParameterT>
ParameterType visr::ParameterOutput< ProtocolT, ParameterT >::parameterType ( ) const
inline
template<class ProtocolT, class ParameterT>
CommunicationProtocolBase::Output& visr::ParameterOutput< ProtocolT, ParameterT >::protocolOutput ( )
inlineoverridevirtual
template<class ProtocolT, class ParameterT>
CommunicationProtocolType visr::ParameterOutput< ProtocolT, ParameterT >::protocolType ( ) const
inline
template<class ProtocolT, class ParameterT>
void visr::ParameterOutput< 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.
template<class ProtocolT, class ParameterT>
void visr::ParameterOutput< 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: