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

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

Member Enumeration Documentation

Enumerator
WIRE_TYPE_VARINT 
WIRE_TYPE_64_BIT 
WIRE_TYPE_LENGTH_DELIMITED 
WIRE_TYPE_32_BIT 

Constructor & Destructor Documentation

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

Member Function Documentation

const IWABytesField & libetonyek::IWAMessage::bytes ( std::size_t  field) const
const IWADoubleField & libetonyek::IWAMessage::double_ ( std::size_t  field) const
const IWAFixed32Field & libetonyek::IWAMessage::fixed32 ( std::size_t  field) const
const IWAFixed64Field & libetonyek::IWAMessage::fixed64 ( std::size_t  field) const
template<typename FieldT >
const FieldT & libetonyek::IWAMessage::getField ( std::size_t  field,
WireType  wireType,
IWAField::Tag  tag 
) const
private
void libetonyek::IWAMessage::parse ( unsigned long  length)
private

Referenced by IWAMessage().

const IWASInt32Field & libetonyek::IWAMessage::sint32 ( std::size_t  field) const
const IWASInt64Field & libetonyek::IWAMessage::sint64 ( std::size_t  field) const
const IWAStringField & libetonyek::IWAMessage::string ( std::size_t  field) const
const IWAUInt64Field & libetonyek::IWAMessage::uint64 ( std::size_t  field) const

Member Data Documentation

FieldList_t libetonyek::IWAMessage::m_fields
mutableprivate

Referenced by getField(), and parse().

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.6