19 #ifndef STUN_MESSAGE_READER_H 20 #define STUN_MESSAGE_READER_H
FastHash< uint16_t, StunAttribute, MAX_NUM_ATTRIBUTES, 53 > AttributeHashTable
HRESULT GetAddressHelper(uint16_t attribType, CSocketAddress *pAddr)
HRESULT GetChangeRequest(StunChangeRequestAttribute *pChangeRequest)
CDataStream & GetStream()
uint16_t GetMessageType()
HRESULT GetAttributeByType(uint16_t attributeType, StunAttribute *pAttribute)
HRESULT ValidateMessageIntegrityLong(const char *pszUser, const char *pszRealm, const char *pszPassword)
HRESULT GetBuffer(CRefCountedBuffer *pRefBuffer)
void GetTransactionId(StunTransactionId *pTransId)
bool HasFingerprintAttribute()
HRESULT GetMappedAddress(CSocketAddress *pAddress)
StunMessageClass _msgClass
ReaderParseState AddBytes(const uint8_t *pData, uint32_t size)
bool IsMessageLegacyFormat()
HRESULT GetOtherAddress(CSocketAddress *pAddress)
uint16_t _msgTypeNormalized
ReaderParseState GetState()
HRESULT GetErrorCode(uint16_t *pErrorNumber)
HRESULT ValidateMessageIntegrityShort(const char *pszPassword)
HRESULT GetResponsePort(uint16_t *pPort)
HRESULT GetPaddingAttributeSize(uint16_t *pSizePadding)
HRESULT ValidateMessageIntegrity(uint8_t *key, size_t keylength)
bool IsFingerprintAttributeValid()
bool _fMessageIsLegacyFormat
StunMessageClass GetMessageClass()
bool HasMessageIntegrityAttribute()
static const size_t MAX_NUM_ATTRIBUTES
boost::shared_ptr< CBuffer > CRefCountedBuffer
void SetAllowLegacyFormat(bool fAllowLegacyFormat)
HRESULT GetStringAttributeByType(uint16_t attributeType, char *pszValue, size_t size)
StunTransactionId _transactionid
AttributeHashTable _mapAttributes
uint16_t HowManyBytesNeeded()
HRESULT GetAttributeByIndex(int index, StunAttribute *pAttribute)
HRESULT GetXorMappedAddress(CSocketAddress *pAddress)
int _indexMessageIntegrity
HRESULT GetResponseOriginAddress(CSocketAddress *pAddress)