LLTemplateMessageReader Class Reference

#include <lltemplatemessagereader.h>

Inheritance diagram for LLTemplateMessageReader:

Inheritance graph
[legend]
Collaboration diagram for LLTemplateMessageReader:

Collaboration graph
[legend]

List of all members.

Public Types

typedef std::map< U32,
LLMessageTemplate * > 
message_template_number_map_t

Public Member Functions

 LLTemplateMessageReader (message_template_number_map_t &)
virtual ~LLTemplateMessageReader ()
virtual void getBinaryData (const char *blockname, const char *varname, void *datap, S32 size, S32 blocknum=0, S32 max_size=S32_MAX)
virtual void getBOOL (const char *block, const char *var, BOOL &data, S32 blocknum=0)
virtual void getS8 (const char *block, const char *var, S8 &data, S32 blocknum=0)
virtual void getU8 (const char *block, const char *var, U8 &data, S32 blocknum=0)
virtual void getS16 (const char *block, const char *var, S16 &data, S32 blocknum=0)
virtual void getU16 (const char *block, const char *var, U16 &data, S32 blocknum=0)
virtual void getS32 (const char *block, const char *var, S32 &data, S32 blocknum=0)
virtual void getF32 (const char *block, const char *var, F32 &data, S32 blocknum=0)
virtual void getU32 (const char *block, const char *var, U32 &data, S32 blocknum=0)
virtual void getU64 (const char *block, const char *var, U64 &data, S32 blocknum=0)
virtual void getF64 (const char *block, const char *var, F64 &data, S32 blocknum=0)
virtual void getVector3 (const char *block, const char *var, LLVector3 &vec, S32 blocknum=0)
virtual void getVector4 (const char *block, const char *var, LLVector4 &vec, S32 blocknum=0)
virtual void getVector3d (const char *block, const char *var, LLVector3d &vec, S32 blocknum=0)
virtual void getQuat (const char *block, const char *var, LLQuaternion &q, S32 blocknum=0)
virtual void getUUID (const char *block, const char *var, LLUUID &uuid, S32 blocknum=0)
virtual void getIPAddr (const char *block, const char *var, U32 &ip, S32 blocknum=0)
virtual void getIPPort (const char *block, const char *var, U16 &port, S32 blocknum=0)
virtual void getString (const char *block, const char *var, S32 buffer_size, char *buffer, S32 blocknum=0)
virtual S32 getNumberOfBlocks (const char *blockname)
virtual S32 getSize (const char *blockname, const char *varname)
virtual S32 getSize (const char *blockname, S32 blocknum, const char *varname)
virtual void clearMessage ()
virtual const char * getMessageName () const
virtual S32 getMessageSize () const
virtual void copyToBuilder (LLMessageBuilder &) const
BOOL validateMessage (const U8 *buffer, S32 buffer_size, const LLHost &sender)
BOOL readMessage (const U8 *buffer, const LLHost &sender)
bool isTrusted () const
bool isBanned (bool trusted_source) const

Private Member Functions

void getData (const char *blockname, const char *varname, void *datap, S32 size=0, S32 blocknum=0, S32 max_size=S32_MAX)
BOOL decodeTemplate (const U8 *buffer, S32 buffer_size, LLMessageTemplate **msg_template)
void logRanOffEndOfPacket (const LLHost &host, const S32 where, const S32 wanted)
BOOL decodeData (const U8 *buffer, const LLHost &sender)

Private Attributes

S32 mReceiveSize
LLMessageTemplatemCurrentRMessageTemplate
LLMsgDatamCurrentRMessageData
message_template_number_map_tmMessageNumbers


Detailed Description

Definition at line 42 of file lltemplatemessagereader.h.


Member Typedef Documentation

Definition at line 46 of file lltemplatemessagereader.h.


Constructor & Destructor Documentation

LLTemplateMessageReader::LLTemplateMessageReader ( message_template_number_map_t number_template_map  ) 

Definition at line 45 of file lltemplatemessagereader.cpp.

LLTemplateMessageReader::~LLTemplateMessageReader (  )  [virtual]

Definition at line 55 of file lltemplatemessagereader.cpp.

References mCurrentRMessageData, and NULL.


Member Function Documentation

void LLTemplateMessageReader::getBinaryData ( const char *  blockname,
const char *  varname,
void *  datap,
S32  size,
S32  blocknum = 0,
S32  max_size = S32_MAX 
) [virtual]

All get* methods expect pointers to canonical strings.

Implements LLMessageReader.

Definition at line 271 of file lltemplatemessagereader.cpp.

References getData().

Here is the call graph for this function:

void LLTemplateMessageReader::getBOOL ( const char *  block,
const char *  var,
BOOL data,
S32  blocknum = 0 
) [virtual]

Implements LLMessageReader.

Definition at line 291 of file lltemplatemessagereader.cpp.

References getData().

Here is the call graph for this function:

void LLTemplateMessageReader::getS8 ( const char *  block,
const char *  var,
S8 data,
S32  blocknum = 0 
) [virtual]

Implements LLMessageReader.

Definition at line 279 of file lltemplatemessagereader.cpp.

References getData().

Here is the call graph for this function:

void LLTemplateMessageReader::getU8 ( const char *  block,
const char *  var,
U8 data,
S32  blocknum = 0 
) [virtual]

Implements LLMessageReader.

Definition at line 285 of file lltemplatemessagereader.cpp.

References getData().

Here is the call graph for this function:

void LLTemplateMessageReader::getS16 ( const char *  block,
const char *  var,
S16 data,
S32  blocknum = 0 
) [virtual]

Implements LLMessageReader.

Definition at line 299 of file lltemplatemessagereader.cpp.

References getData().

Here is the call graph for this function:

void LLTemplateMessageReader::getU16 ( const char *  block,
const char *  var,
U16 data,
S32  blocknum = 0 
) [virtual]

Implements LLMessageReader.

Definition at line 305 of file lltemplatemessagereader.cpp.

References getData().

Here is the call graph for this function:

void LLTemplateMessageReader::getS32 ( const char *  block,
const char *  var,
S32 data,
S32  blocknum = 0 
) [virtual]

Implements LLMessageReader.

Definition at line 311 of file lltemplatemessagereader.cpp.

References getData(), and S32.

Here is the call graph for this function:

void LLTemplateMessageReader::getF32 ( const char *  block,
const char *  var,
F32 data,
S32  blocknum = 0 
) [virtual]

Implements LLMessageReader.

Definition at line 329 of file lltemplatemessagereader.cpp.

References getData(), llendl, llfinite, and llwarns.

Here is the call graph for this function:

void LLTemplateMessageReader::getU32 ( const char *  block,
const char *  var,
U32 data,
S32  blocknum = 0 
) [virtual]

Implements LLMessageReader.

Definition at line 317 of file lltemplatemessagereader.cpp.

References getData().

Here is the call graph for this function:

void LLTemplateMessageReader::getU64 ( const char *  block,
const char *  var,
U64 data,
S32  blocknum = 0 
) [virtual]

Implements LLMessageReader.

Definition at line 323 of file lltemplatemessagereader.cpp.

References getData().

Here is the call graph for this function:

void LLTemplateMessageReader::getF64 ( const char *  block,
const char *  var,
F64 data,
S32  blocknum = 0 
) [virtual]

Implements LLMessageReader.

Definition at line 342 of file lltemplatemessagereader.cpp.

References getData(), llendl, llfinite, and llwarns.

Here is the call graph for this function:

void LLTemplateMessageReader::getVector3 ( const char *  block,
const char *  var,
LLVector3 vec,
S32  blocknum = 0 
) [virtual]

Implements LLMessageReader.

Definition at line 355 of file lltemplatemessagereader.cpp.

References getData(), LLVector3::isFinite(), llendl, llwarns, LLVector3::mV, and LLVector3::zeroVec().

Here is the call graph for this function:

void LLTemplateMessageReader::getVector4 ( const char *  block,
const char *  var,
LLVector4 vec,
S32  blocknum = 0 
) [virtual]

Implements LLMessageReader.

Definition at line 368 of file lltemplatemessagereader.cpp.

References getData(), LLVector4::isFinite(), llendl, llwarns, LLVector4::mV, and LLVector4::zeroVec().

Here is the call graph for this function:

void LLTemplateMessageReader::getVector3d ( const char *  block,
const char *  var,
LLVector3d vec,
S32  blocknum = 0 
) [virtual]

Implements LLMessageReader.

Definition at line 381 of file lltemplatemessagereader.cpp.

References getData(), LLVector3d::isFinite(), llendl, llwarns, LLVector3d::mdV, and LLVector3d::zeroVec().

Here is the call graph for this function:

void LLTemplateMessageReader::getQuat ( const char *  block,
const char *  var,
LLQuaternion q,
S32  blocknum = 0 
) [virtual]

Implements LLMessageReader.

Definition at line 395 of file lltemplatemessagereader.cpp.

References getData(), LLVector3::isFinite(), llendl, llwarns, LLQuaternion::loadIdentity(), LLVector3::mV, and LLQuaternion::unpackFromVector3().

Here is the call graph for this function:

void LLTemplateMessageReader::getUUID ( const char *  block,
const char *  var,
LLUUID uuid,
S32  blocknum = 0 
) [virtual]

Implements LLMessageReader.

Definition at line 412 of file lltemplatemessagereader.cpp.

References getData(), and LLUUID::mData.

Here is the call graph for this function:

void LLTemplateMessageReader::getIPAddr ( const char *  block,
const char *  var,
U32 ip,
S32  blocknum = 0 
) [inline, virtual]

Implements LLMessageReader.

Definition at line 418 of file lltemplatemessagereader.cpp.

References getData().

Here is the call graph for this function:

void LLTemplateMessageReader::getIPPort ( const char *  block,
const char *  var,
U16 port,
S32  blocknum = 0 
) [inline, virtual]

Implements LLMessageReader.

Definition at line 423 of file lltemplatemessagereader.cpp.

References getData().

Here is the call graph for this function:

void LLTemplateMessageReader::getString ( const char *  block,
const char *  var,
S32  buffer_size,
char *  buffer,
S32  blocknum = 0 
) [inline, virtual]

Implements LLMessageReader.

Definition at line 429 of file lltemplatemessagereader.cpp.

References getData().

Here is the call graph for this function:

S32 LLTemplateMessageReader::getNumberOfBlocks ( const char *  blockname  )  [virtual]

S32 LLTemplateMessageReader::getSize ( const char *  blockname,
const char *  varname 
) [virtual]

S32 LLTemplateMessageReader::getSize ( const char *  blockname,
S32  blocknum,
const char *  varname 
) [virtual]

void LLTemplateMessageReader::clearMessage (  )  [virtual]

const char * LLTemplateMessageReader::getMessageName (  )  const [virtual]

Returns pointer to canonical (prehashed) string.

Implements LLMessageReader.

Definition at line 770 of file lltemplatemessagereader.cpp.

References llendl, llwarns, mCurrentRMessageTemplate, and LLMessageTemplate::mName.

Referenced by LLMessageSystem::checkMessages(), and logRanOffEndOfPacket().

Here is the caller graph for this function:

S32 LLTemplateMessageReader::getMessageSize (  )  const [virtual]

Implements LLMessageReader.

Definition at line 437 of file lltemplatemessagereader.cpp.

References mReceiveSize.

void LLTemplateMessageReader::copyToBuilder ( LLMessageBuilder builder  )  const [virtual]

Implements LLMessageReader.

Definition at line 793 of file lltemplatemessagereader.cpp.

References LLMessageBuilder::copyFromMessageData(), mCurrentRMessageData, mCurrentRMessageTemplate, and NULL.

Here is the call graph for this function:

BOOL LLTemplateMessageReader::validateMessage ( const U8 buffer,
S32  buffer_size,
const LLHost sender 
)

Definition at line 747 of file lltemplatemessagereader.cpp.

References decodeTemplate(), mCurrentRMessageTemplate, LLMessageTemplate::mReceiveCount, and mReceiveSize.

Referenced by LLMessageSystem::checkMessages(), and tut::LLTemplateMessageBuilderTestData::setReader().

Here is the call graph for this function:

Here is the caller graph for this function:

BOOL LLTemplateMessageReader::readMessage ( const U8 buffer,
const LLHost sender 
)

Definition at line 763 of file lltemplatemessagereader.cpp.

References decodeData().

Referenced by LLMessageSystem::checkMessages(), and tut::LLTemplateMessageBuilderTestData::setReader().

Here is the call graph for this function:

Here is the caller graph for this function:

bool LLTemplateMessageReader::isTrusted (  )  const

Definition at line 781 of file lltemplatemessagereader.cpp.

References LLMessageTemplate::getTrust(), mCurrentRMessageTemplate, and MT_TRUST.

Referenced by LLMessageSystem::checkMessages().

Here is the call graph for this function:

Here is the caller graph for this function:

bool LLTemplateMessageReader::isBanned ( bool  trusted_source  )  const

Definition at line 787 of file lltemplatemessagereader.cpp.

References LLMessageTemplate::isBanned(), and mCurrentRMessageTemplate.

Referenced by LLMessageSystem::checkMessages().

Here is the call graph for this function:

Here is the caller graph for this function:

void LLTemplateMessageReader::getData ( const char *  blockname,
const char *  varname,
void *  datap,
S32  size = 0,
S32  blocknum = 0,
S32  max_size = S32_MAX 
) [private]

BOOL LLTemplateMessageReader::decodeTemplate ( const U8 buffer,
S32  buffer_size,
LLMessageTemplate **  msg_template 
) [private]

Definition at line 443 of file lltemplatemessagereader.cpp.

References LLMessageSystem::callExceptionFunc(), FALSE, get_ptr_in_map(), gMessageSystem, LL_MINIMUM_VALID_PACKET_SIZE, LL_PACKET_ID_SIZE, llendl, llwarns, mMessageNumbers, MX_UNREGISTERED_MESSAGE, S32, and TRUE.

Referenced by validateMessage().

Here is the call graph for this function:

Here is the caller graph for this function:

void LLTemplateMessageReader::logRanOffEndOfPacket ( const LLHost host,
const S32  where,
const S32  wanted 
) [private]

Definition at line 508 of file lltemplatemessagereader.cpp.

References LLMessageSystem::callExceptionFunc(), getMessageName(), gMessageSystem, llendl, llinfos, llwarns, mCurrentRMessageTemplate, LLMessageTemplate::mName, mReceiveSize, LLMessageSystem::mVerboseLog, and MX_RAN_OFF_END_OF_PACKET.

Referenced by decodeData().

Here is the call graph for this function:

Here is the caller graph for this function:

BOOL LLTemplateMessageReader::decodeData ( const U8 buffer,
const LLHost sender 
) [private]


Member Data Documentation

Definition at line 126 of file lltemplatemessagereader.h.

Referenced by decodeTemplate().


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

Generated on Fri May 16 09:11:14 2008 for SecondLife by  doxygen 1.5.5