Open Lighting Architecture: ola::rdm::GroupSizeCalculator Class Reference

| Open Lighting Architecture 0.10.9

Loading...
Searching...
No Matches
Public Types | Public Member Functions | List of all members
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:

## 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 *)

## 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_count | the number of tokens supplied
  | descriptor | the descriptor to use to build the Message
  [out] | group_repeat_count | the number of repeated groups

Returns
  the state of the calculator as a calculator_state.

## ◆ Descend()

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

Implements ola::messaging::FieldDescriptorVisitor.

## ◆ PostVisit()

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

Implements ola::messaging::FieldDescriptorVisitor.

## ◆ Visit() [1/12]

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

Implements ola::messaging::FieldDescriptorVisitor.

## ◆ Visit() [2/12]

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

Implements ola::messaging::FieldDescriptorVisitor.

## ◆ Visit() [3/12]

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

Implements ola::messaging::FieldDescriptorVisitor.

## ◆ Visit() [4/12]

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

Implements ola::messaging::FieldDescriptorVisitor.

## ◆ Visit() [5/12]

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

Implements ola::messaging::FieldDescriptorVisitor.

## ◆ Visit() [6/12]

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

Implements ola::messaging::FieldDescriptorVisitor.

## ◆ Visit() [7/12]

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

Implements ola::messaging::FieldDescriptorVisitor.

## ◆ Visit() [8/12]

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

Implements ola::messaging::FieldDescriptorVisitor.

## ◆ Visit() [9/12]

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

Implements ola::messaging::FieldDescriptorVisitor.

## ◆ Visit() [10/12]

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

Implements ola::messaging::FieldDescriptorVisitor.

## ◆ Visit() [11/12]

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

Implements ola::messaging::FieldDescriptorVisitor.

## ◆ Visit() [12/12]

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

Implements ola::messaging::FieldDescriptorVisitor.

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

- common/rdm/GroupSizeCalculator.h
- common/rdm/GroupSizeCalculator.cpp