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(), and IWAMessage().

◆ sint32()

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

◆ sint64()

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

◆ string()

◆ uint32()

◆ uint64()

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

Member Data Documentation

◆ m_fields

FieldList_t libetonyek::IWAMessage::m_fields
mutableprivate

◆ m_input

RVNGInputStreamPtr_t libetonyek::IWAMessage::m_input
private

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

Generated for libetonyek by doxygen 1.14.0