![]() |
Open Lighting Architecture 0.10.9
|
Calculate the size of a variable field when unpacking a Message from a raw data stream.
Public Types | |
| enum | calculator_state { TOO_SMALL , TOO_LARGE , FIXED_SIZE , VARIABLE_STRING , VARIABLE_GROUP , MULTIPLE_VARIABLE_FIELDS , NESTED_VARIABLE_GROUPS , MISMATCHED_SIZE } |
Public Member Functions | |
| bool | Descend () const |
| calculator_state | CalculateFieldSize (unsigned int data_size, const class ola::messaging::Descriptor *, unsigned int *variable_field_repeat_count) |
| void | Visit (const ola::messaging::BoolFieldDescriptor *) |
| void | Visit (const ola::messaging::IPV4FieldDescriptor *) |
| void | Visit (const ola::messaging::MACFieldDescriptor *) |
| void | Visit (const ola::messaging::UIDFieldDescriptor *) |
| void | Visit (const ola::messaging::StringFieldDescriptor *) |
| void | Visit (const ola::messaging::UInt8FieldDescriptor *) |
| void | Visit (const ola::messaging::UInt16FieldDescriptor *) |
| void | Visit (const ola::messaging::UInt32FieldDescriptor *) |
| void | Visit (const ola::messaging::Int8FieldDescriptor *) |
| void | Visit (const ola::messaging::Int16FieldDescriptor *) |
| void | Visit (const ola::messaging::Int32FieldDescriptor *) |
| void | Visit (const ola::messaging::FieldDescriptorGroup *) |
| void | PostVisit (const ola::messaging::FieldDescriptorGroup *) |
| VariableFieldSizeCalculator::calculator_state ola::rdm::VariableFieldSizeCalculator::CalculateFieldSize | ( | unsigned int | data_size, |
| const class ola::messaging::Descriptor * | descriptor, | ||
| unsigned int * | variable_field_size ) |
Figure out the size of a variable-length field in a descriptor. The variable field may be a string or a repeated group of fields. Multiple-variable length fields are not supported as this doesn't allow us to determine the boundary of the individual fields within a message.
This method is not re-entrant.
| data_size | the size in bytes of the data in this message |
| descriptor | The descriptor to use to build the Message |
| variable_field_size | a pointer to a int which is set to the length of the variable field within this message. |
|
inlinevirtual |
Implements ola::messaging::FieldDescriptorVisitor.
|
inlinevirtual |
Implements ola::messaging::FieldDescriptorVisitor.
|
virtual |
Implements ola::messaging::FieldDescriptorVisitor.
|
virtual |
Implements ola::messaging::FieldDescriptorVisitor.
|
virtual |
Implements ola::messaging::FieldDescriptorVisitor.
|
virtual |
Implements ola::messaging::FieldDescriptorVisitor.
|
virtual |
Implements ola::messaging::FieldDescriptorVisitor.
|
virtual |
Implements ola::messaging::FieldDescriptorVisitor.
|
virtual |
Implements ola::messaging::FieldDescriptorVisitor.
|
virtual |
Implements ola::messaging::FieldDescriptorVisitor.
|
virtual |
Implements ola::messaging::FieldDescriptorVisitor.
|
virtual |
Implements ola::messaging::FieldDescriptorVisitor.
|
virtual |
Implements ola::messaging::FieldDescriptorVisitor.
|
virtual |
Implements ola::messaging::FieldDescriptorVisitor.