21#ifndef INCLUDE_OLA_MESSAGING_MESSAGE_H_
22#define INCLUDE_OLA_MESSAGING_MESSAGE_H_
24#include <ola/messaging/Descriptor.h>
25#include <ola/messaging/MessageVisitor.h>
42 const std::vector<const class MessageFieldInterface*> &fields)
49 unsigned int FieldCount()
const {
return m_fields.size(); }
52 std::vector<const class MessageFieldInterface*> m_fields;
77 : m_descriptor(descriptor),
84 bool Value()
const {
return m_value; }
103 : m_descriptor(descriptor),
109 : m_descriptor(descriptor),
119 visitor->Visit(
this);
135 : m_descriptor(descriptor),
145 visitor->Visit(
this);
161 : m_descriptor(descriptor),
171 visitor->Visit(
this);
186 const std::string &value)
187 : m_descriptor(descriptor),
192 const std::string& Value()
const {
return m_value; }
195 visitor->Visit(
this);
200 const std::string m_value;
207template <
typename type>
212 : m_descriptor(descriptor),
216 const IntegerFieldDescriptor<type> *GetDescriptor()
const {
219 type Value()
const {
return m_value; }
221 void Accept(MessageVisitor *visitor)
const {
222 visitor->Visit(
this);
226 const IntegerFieldDescriptor<type> *m_descriptor;
231typedef BasicMessageField<uint8_t> UInt8MessageField;
232typedef BasicMessageField<uint16_t> UInt16MessageField;
233typedef BasicMessageField<uint32_t> UInt32MessageField;
234typedef BasicMessageField<int8_t> Int8MessageField;
235typedef BasicMessageField<int16_t> Int16MessageField;
236typedef BasicMessageField<int32_t> Int32MessageField;
246 const std::vector<const class MessageFieldInterface*> &fields)
247 : m_descriptor(descriptor),
253 unsigned int FieldCount()
const {
return m_fields.size(); }
255 if (index < m_fields.size())
256 return m_fields[index];
264 std::vector<const class MessageFieldInterface*> m_fields;
Represents an IPv4 Address.
Represents a MAC Address.
A RDM unique identifier (UID).
Definition MessageVisitor.h:38
Definition Descriptor.h:84
Definition Descriptor.h:320
Definition Descriptor.h:103
Definition DescriptorVisitor.h:38
Definition Descriptor.h:122
Definition MessageVisitor.h:43
Definition Descriptor.h:160
Definition Descriptor.h:141
Represents a IPv4 Address.
Definition IPV4Address.h:55
Represents a MAC Address.
Definition MACAddress.h:50
Represents a RDM UID.
Definition UID.h:57
The namespace containing all OLA symbols.
Definition Credentials.cpp:44