libetonyek::IWAMessage Class Reference

#include <IWAMessage.h>

Classes

struct  Field
 

Public Member Functions

 IWAMessage ()
 
 IWAMessage (const RVNGInputStreamPtr_t &input, unsigned long length)
 
 IWAMessage (const RVNGInputStreamPtr_t &input, long start, long end)
 
const IWAUInt32Fielduint32 (std::size_t field) const
 
const IWAUInt64Fielduint64 (std::size_t field) const
 
const IWASInt32Fieldsint32 (std::size_t field) const
 
const IWASInt64Fieldsint64 (std::size_t field) const
 
const IWABoolFieldbool_ (std::size_t field) const
 
const IWAFixed64Fieldfixed64 (std::size_t field) const
 
const IWADoubleFielddouble_ (std::size_t field) const
 
const IWAStringFieldstring (std::size_t field) const
 
const IWABytesFieldbytes (std::size_t field) const
 
const IWAMessageFieldmessage (std::size_t field) const
 
const IWAFixed32Fieldfixed32 (std::size_t field) const
 
const IWAFloatFieldfloat_ (std::size_t field) const
 

Private Types

enum  WireType { WIRE_TYPE_VARINT, WIRE_TYPE_64_BIT, WIRE_TYPE_LENGTH_DELIMITED, WIRE_TYPE_32_BIT = 5 }
 
typedef std::pair< long, long > InputRange_t
 
typedef std::map< unsigned, FieldFieldList_t
 

Private Member Functions

void parse (unsigned long length)
 
template<typename FieldT >
const FieldT & getField (std::size_t field, WireType wireType, IWAField::Tag tag) const
 

Private Attributes

RVNGInputStreamPtr_t m_input
 
FieldList_t m_fields
 

Member Typedef Documentation

◆ FieldList_t

typedef std::map<unsigned, Field> libetonyek::IWAMessage::FieldList_t
private

◆ InputRange_t

typedef std::pair<long, long> libetonyek::IWAMessage::InputRange_t
private

Member Enumeration Documentation

◆ WireType

Enumerator
WIRE_TYPE_VARINT 
WIRE_TYPE_64_BIT 
WIRE_TYPE_LENGTH_DELIMITED 
WIRE_TYPE_32_BIT 

Constructor & Destructor Documentation

◆ IWAMessage() [1/3]

libetonyek::IWAMessage::IWAMessage ( )

◆ IWAMessage() [2/3]

libetonyek::IWAMessage::IWAMessage ( const RVNGInputStreamPtr_t input,
unsigned long  length 
)

◆ IWAMessage() [3/3]

libetonyek::IWAMessage::IWAMessage ( const RVNGInputStreamPtr_t input,
long  start,
long  end 
)

Member Function Documentation

◆ bool_()

◆ bytes()

const IWABytesField & libetonyek::IWAMessage::bytes ( std::size_t  field) const

◆ double_()

const IWADoubleField & libetonyek::IWAMessage::double_ ( std::size_t  field) const

◆ fixed32()

const IWAFixed32Field & libetonyek::IWAMessage::fixed32 ( std::size_t  field) const

◆ fixed64()

const IWAFixed64Field & libetonyek::IWAMessage::fixed64 ( std::size_t  field) const

◆ float_()

◆ getField()

template<typename FieldT >
const FieldT & libetonyek::IWAMessage::getField ( std::size_t  field,
WireType  wireType,
IWAField::Tag  tag 
) const
private

◆ message()

◆ parse()

void libetonyek::IWAMessage::parse ( unsigned long  length)
private

Referenced by IWAMessage().

◆ sint32()

const IWASInt32Field & libetonyek::IWAMessage::sint32 ( std::size_t  field) const

◆ sint64()

const IWASInt64Field & libetonyek::IWAMessage::sint64 ( std::size_t  field) const

◆ string()

const IWAStringField & libetonyek::IWAMessage::string ( std::size_t  field) const

◆ uint32()

◆ uint64()

const IWAUInt64Field & libetonyek::IWAMessage::uint64 ( std::size_t  field) const

Member Data Documentation

◆ m_fields

FieldList_t libetonyek::IWAMessage::m_fields
mutableprivate

Referenced by getField(), and parse().

◆ m_input

RVNGInputStreamPtr_t libetonyek::IWAMessage::m_input
private

Referenced by getField(), and parse().


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

Generated for libetonyek by doxygen 1.8.13