Open Lighting Architecture 0.10.9
Loading...
Searching...
No Matches
ola::rdm::GroupSizeCalculator Class Reference

Detailed Description

Calculate the number of repeats of a group required, given a certain number of tokens.

Inheritance diagram for ola::rdm::GroupSizeCalculator:
ola::messaging::FieldDescriptorVisitor

Public Types

enum  calculator_state {
  INSUFFICIENT_TOKENS , EXTRA_TOKENS , NO_VARIABLE_GROUPS , SINGLE_VARIABLE_GROUP ,
  MULTIPLE_VARIABLE_GROUPS , NESTED_VARIABLE_GROUPS , MISMATCHED_TOKENS
}
 

Public Member Functions

bool Descend () const
 
calculator_state CalculateGroupSize (unsigned int token_count, const class ola::messaging::Descriptor *descriptor, unsigned int *group_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 *)
 
- Public Member Functions inherited from ola::messaging::FieldDescriptorVisitor

Member Function Documentation

◆ CalculateGroupSize()

GroupSizeCalculator::calculator_state ola::rdm::GroupSizeCalculator::CalculateGroupSize ( unsigned int token_count,
const class ola::messaging::Descriptor * descriptor,
unsigned int * group_repeat_count )

Figure out the number of group repetitions required.

This method is not re-entrant.

Parameters
token_countthe number of tokens supplied
descriptorthe descriptor to use to build the Message
[out]group_repeat_countthe number of repeated groups
Returns
the state of the calculator as a calculator_state.

◆ Descend()

bool ola::rdm::GroupSizeCalculator::Descend ( ) const
inlinevirtual

◆ PostVisit()

void ola::rdm::GroupSizeCalculator::PostVisit ( const ola::messaging::FieldDescriptorGroup * descriptor)
virtual

◆ Visit() [1/12]

void ola::rdm::GroupSizeCalculator::Visit ( const ola::messaging::BoolFieldDescriptor * descriptor)
virtual

◆ Visit() [2/12]

void ola::rdm::GroupSizeCalculator::Visit ( const ola::messaging::FieldDescriptorGroup * descriptor)
virtual

◆ Visit() [3/12]

void ola::rdm::GroupSizeCalculator::Visit ( const ola::messaging::Int16FieldDescriptor * descriptor)
virtual

◆ Visit() [4/12]

void ola::rdm::GroupSizeCalculator::Visit ( const ola::messaging::Int32FieldDescriptor * descriptor)
virtual

◆ Visit() [5/12]

void ola::rdm::GroupSizeCalculator::Visit ( const ola::messaging::Int8FieldDescriptor * descriptor)
virtual

◆ Visit() [6/12]

void ola::rdm::GroupSizeCalculator::Visit ( const ola::messaging::IPV4FieldDescriptor * descriptor)
virtual

◆ Visit() [7/12]

void ola::rdm::GroupSizeCalculator::Visit ( const ola::messaging::MACFieldDescriptor * descriptor)
virtual

◆ Visit() [8/12]

void ola::rdm::GroupSizeCalculator::Visit ( const ola::messaging::StringFieldDescriptor * descriptor)
virtual

◆ Visit() [9/12]

void ola::rdm::GroupSizeCalculator::Visit ( const ola::messaging::UIDFieldDescriptor * descriptor)
virtual

◆ Visit() [10/12]

void ola::rdm::GroupSizeCalculator::Visit ( const ola::messaging::UInt16FieldDescriptor * descriptor)
virtual

◆ Visit() [11/12]

void ola::rdm::GroupSizeCalculator::Visit ( const ola::messaging::UInt32FieldDescriptor * descriptor)
virtual

◆ Visit() [12/12]

void ola::rdm::GroupSizeCalculator::Visit ( const ola::messaging::UInt8FieldDescriptor * descriptor)
virtual

The documentation for this class was generated from the following files: