Open Lighting Architecture  Latest Git
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Modules Pages
Public Member Functions | Static Public Attributes | Protected Member Functions | Protected Attributes | Friends | List of all members
ola::acn::BaseInflator Class Referenceabstract

Detailed Description

An abstract PDU inflator.

Inheritance diagram for ola::acn::BaseInflator:
Inheritance graph
[legend]
Collaboration diagram for ola::acn::BaseInflator:
Collaboration graph
[legend]

Public Member Functions

 BaseInflator (PDU::vector_size v_size=PDU::FOUR_BYTES)
 
bool AddInflator (InflatorInterface *inflator)
 Add another inflator as a handler. Ownership is not transferred.
 
class InflatorInterfaceGetInflator (uint32_t vector) const
 Get the inflator used for a particular vector. More...
 
virtual unsigned int InflatePDUBlock (HeaderSet *headers, const uint8_t *data, unsigned int len)
 Parse a block of PDU data.
 
- Public Member Functions inherited from ola::acn::InflatorInterface
virtual uint32_t Id () const =0
 

Static Public Attributes

static const uint8_t LFLAG_MASK = 0x80
 
static const uint8_t LENGTH_MASK = 0x0F
 

Protected Member Functions

virtual void ResetPDUFields ()
 
virtual void ResetHeaderField ()=0
 
bool DecodeLength (const uint8_t *data, unsigned int data_length, unsigned int *pdu_length, unsigned int *bytes_used) const
 
bool DecodeVector (uint8_t flags, const uint8_t *data, unsigned int length, uint32_t *vector, unsigned int *bytes_used)
 
virtual bool DecodeHeader (HeaderSet *headers, const uint8_t *data, unsigned int len, unsigned int *bytes_used)=0
 
bool InflatePDU (HeaderSet *headers, uint8_t flags, const uint8_t *data, unsigned int pdu_len)
 
virtual bool PostHeader (uint32_t vector, const HeaderSet &headers)
 
virtual bool HandlePDUData (uint32_t vector, const HeaderSet &headers, const uint8_t *data, unsigned int pdu_len)
 

Protected Attributes

uint32_t m_last_vector
 
bool m_vector_set
 
PDU::vector_size m_vector_size
 
std::map< uint32_t,
InflatorInterface * > 
m_proto_map
 

Friends

class BaseInflatorTest
 

Member Function Documentation

InflatorInterface * ola::acn::BaseInflator::GetInflator ( uint32_t  vector) const

Get the inflator used for a particular vector.

Returns
The inflator used for the vector

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