VISR
0.11.1
Versatile Interactive Scene Renderer
Main Page
Related Pages
Namespaces
Classes
Files
File List
File Members
scalar_osc_decoder.hpp
Go to the documentation of this file.
1
/* Copyright Institute of Sound and Vibration Research - All rights reserved */
2
3
#ifndef VISR_LIBRCL_SCALAR_OSC_DECODER_HPP_INCLUDED
4
#define VISR_LIBRCL_SCALAR_OSC_DECODER_HPP_INCLUDED
5
6
#include "
export_symbols.hpp
"
7
8
#include <
libvisr/atomic_component.hpp
>
9
10
#include <
libvisr/parameter_input.hpp
>
11
#include <
libvisr/parameter_output.hpp
>
12
13
#include <
libpml/string_parameter.hpp
>
14
#include <
libpml/message_queue_protocol.hpp
>
15
#include <
libpml/scalar_parameter.hpp
>
16
17
#include <memory>
// for std::unique_ptr
18
#include <vector>
19
20
// Forward declarations
21
namespace
oscpkt
22
{
23
class
PacketReader;
24
}
25
26
namespace
visr
27
{
28
29
namespace
rcl
30
{
31
35
class
VISR_RCL_LIBRARY_SYMBOL
ScalarOscDecoder
:
public
AtomicComponent
36
{
37
public
:
38
enum class
DataType
39
{
40
Boolean,
41
Integer,
42
UnsignedInteger,
43
Float,
44
Double
45
// complex types don't make sense here.
46
};
47
54
explicit
ScalarOscDecoder
(
SignalFlowContext
const
& context,
55
char
const
* name,
56
CompositeComponent
* parent =
nullptr
);
57
61
ScalarOscDecoder
(
ScalarOscDecoder
const
& ) =
delete
;
62
63
67
~
ScalarOscDecoder
();
68
72
void
setup(
char
const
* dataType );
73
77
void
process();
78
79
private
:
80
ParameterInput< pml::MessageQueueProtocol, pml::StringParameter >
mDatagramInput;
81
82
std::unique_ptr<oscpkt::PacketReader> mOscParser;
83
84
std::unique_ptr<ParameterOutput< pml::MessageQueueProtocol, pml::ScalarParameter<bool> > > mBoolOutput;
85
std::unique_ptr<ParameterOutput< pml::MessageQueueProtocol, pml::ScalarParameter<int> > > mIntOutput;
86
std::unique_ptr<ParameterOutput< pml::MessageQueueProtocol, pml::ScalarParameter<unsigned int> > > mUIntOutput;
87
std::unique_ptr<ParameterOutput< pml::MessageQueueProtocol, pml::ScalarParameter<float> > > mFloatOutput;
88
std::unique_ptr<ParameterOutput< pml::MessageQueueProtocol, pml::ScalarParameter<double> > > mDoubleOutput;
89
};
90
91
}
// namespace rcl
92
}
// namespace visr
93
94
#endif // #ifndef VISR_LIBRCL_SCALAR_OSC_DECODER_HPP_INCLUDED
parameter_input.hpp
string_parameter.hpp
scalar_parameter.hpp
visr::rcl::ScalarOscDecoder
Definition:
scalar_osc_decoder.hpp:35
visr
Definition:
options.cpp:10
visr::AtomicComponent
Definition:
atomic_component.hpp:21
visr::ParameterInput< pml::MessageQueueProtocol, pml::StringParameter >
visr::CompositeComponent
Definition:
composite_component.hpp:29
parameter_output.hpp
visr::SignalFlowContext
Definition:
signal_flow_context.hpp:15
visr::rcl::ScalarOscDecoder::DataType
DataType
Definition:
scalar_osc_decoder.hpp:38
oscpkt
Definition:
scalar_osc_decoder.hpp:21
export_symbols.hpp
atomic_component.hpp
message_queue_protocol.hpp
src
librcl
scalar_osc_decoder.hpp
Generated on Tue Oct 30 2018 16:25:44 for VISR by
1.8.11