VISR  0.11.7
Versatile Interactive Scene Renderer
parameter_port_base_implementation.hpp
Go to the documentation of this file.
1 /* Copyright Institute of Sound and Vibration Research - All rights reserved */
2 
3 #ifndef VISR_IMPL_PARAMETER_PORT_BASE_IMPLEMENTATION_HPP_INCLUDED
4 #define VISR_IMPL_PARAMETER_PORT_BASE_IMPLEMENTATION_HPP_INCLUDED
5 
7 
8 #include "../export_symbols.hpp"
9 #include "../parameter_type.hpp"
10 #include "../communication_protocol_type.hpp"
11 
12 #include <memory>
13 #include <string>
14 
15 namespace visr
16 {
17  // Forward declarations
18  class Component;
19  class CommunicationProtocolBase;
20  class ParameterConfigBase;
21  class ParameterPortBase;
22 
23 namespace impl
24 {
25 
31 {
32 public:
33  VISR_CORE_LIBRARY_SYMBOL explicit ParameterPortBaseImplementation( char const * name,
40 
41  VISR_CORE_LIBRARY_SYMBOL explicit ParameterPortBaseImplementation( char const * name,
47 
51  VISR_CORE_LIBRARY_SYMBOL virtual ~ParameterPortBaseImplementation();
52 
57  VISR_CORE_LIBRARY_SYMBOL void setParameterConfig( ParameterConfigBase const & parameterConfig );
58 
59  VISR_CORE_LIBRARY_SYMBOL ParameterPortBase & containingPort();
60 
61  VISR_CORE_LIBRARY_SYMBOL ParameterPortBase const & containingPort() const;
62 
63  VISR_CORE_LIBRARY_SYMBOL ParameterType parameterType() const;
64 
65  VISR_CORE_LIBRARY_SYMBOL CommunicationProtocolType protocolType() const;
66 
71  VISR_CORE_LIBRARY_SYMBOL bool hasParameterConfig() const noexcept;
72 
77  VISR_CORE_LIBRARY_SYMBOL ParameterConfigBase const & parameterConfig() const;
78 
79 protected:
81 
83 
85 
86  std::unique_ptr<visr::ParameterConfigBase> mParameterConfig;
87 };
88 
89 } // namespace impl
90 } // namespace visr
91 
92 #endif // #ifndef VISR_IMPL_PARAMETER_PORT_BASE_IMPLEMENTATION_HPP_INCLUDED
ParameterType parameterType() const
Definition: parameter_port_base_implementation.cpp:73
CommunicationProtocolType protocolType() const
Definition: parameter_port_base_implementation.cpp:78
ParameterConfigBase const & parameterConfig() const
Definition: parameter_port_base_implementation.cpp:97
std::unique_ptr< visr::ParameterConfigBase > mParameterConfig
Definition: parameter_port_base_implementation.hpp:86
virtual ~ParameterPortBaseImplementation()
Definition: parameter_port_base_implementation.cpp:52
Direction
Definition: port_base.hpp:22
uint64_t ParameterType
Definition: parameter_type.hpp:13
Definition: component_implementation.hpp:34
bool hasParameterConfig() const noexcept
Definition: parameter_port_base_implementation.cpp:92
Definition: parameter_port_base_implementation.hpp:30
visr::ParameterType const mParameterType
Definition: parameter_port_base_implementation.hpp:82
ParameterPortBase & containingPort()
Definition: parameter_port_base_implementation.cpp:62
std::uint64_t CommunicationProtocolType
Definition: communication_protocol_type.hpp:14
ComponentImplementation const & parent() const
Definition: port_base_implementation.cpp:29
Definition: port_base_implementation.hpp:20
Definition: options.cpp:10
char const * name() const
Definition: port_base_implementation.hpp:52
Definition: parameter_config_base.hpp:22
visr::CommunicationProtocolType const mProtocolType
Definition: parameter_port_base_implementation.hpp:84
Definition: parameter_port_base.hpp:29
void setParameterConfig(ParameterConfigBase const &parameterConfig)
Definition: parameter_port_base_implementation.cpp:83
ParameterPortBaseImplementation(char const *name, ParameterPortBase &containingPort, ComponentImplementation *parent, visr::PortBase::Direction direction, ParameterType const &parameterType, CommunicationProtocolType const &protocolType, ParameterConfigBase const &parameterConfig)
Definition: parameter_port_base_implementation.cpp:20
ParameterPortBase & mContainingPort
Definition: parameter_port_base_implementation.hpp:80
visr::PortBase::Direction direction() const
Definition: port_base_implementation.hpp:75