#include <TurnMsgLib.h>
Public Member Functions | |
| StunAttrIterator (u08bits *buf, size_t sz, stun_attr_ref sar) throw (WrongStunBufferFormatException) | |
| StunAttrIterator (u08bits *buf, size_t sz) throw (WrongStunBufferFormatException) | |
| StunAttrIterator (u08bits *buf, size_t sz, u16bits attr_type) throw (WrongStunBufferFormatException) | |
| void | next () throw (EndOfStunMsgException) |
| bool | eof () const |
| bool | isAddr () const |
| int | getType () const |
| virtual | ~StunAttrIterator () |
| const u08bits * | getRawBuffer (size_t &sz) const throw (WrongStunAttrFormatException) |
Friends | |
| class | StunAttr |
Iterator class for attributes
Definition at line 71 of file TurnMsgLib.h.
| StunAttrIterator::StunAttrIterator | ( | u08bits * | buf, |
| size_t | sz, | ||
| stun_attr_ref | sar | ||
| ) | throw (WrongStunBufferFormatException) [inline] |
Definition at line 73 of file TurnMsgLib.h.
:
_buf(buf), _sz(sz), _sar(sar) {
if(!stun_is_command_message_str(buf, sz)) {
throw WrongStunBufferFormatException();
}
}
| StunAttrIterator::StunAttrIterator | ( | u08bits * | buf, |
| size_t | sz | ||
| ) | throw (WrongStunBufferFormatException) [inline] |
Definition at line 80 of file TurnMsgLib.h.
:
_buf(buf), _sz(sz) {
if(!stun_is_command_message_str(buf, sz)) {
throw WrongStunBufferFormatException();
}
_sar = stun_attr_get_first_str(buf, sz);
}
| StunAttrIterator::StunAttrIterator | ( | u08bits * | buf, |
| size_t | sz, | ||
| u16bits | attr_type | ||
| ) | throw (WrongStunBufferFormatException) [inline] |
Definition at line 88 of file TurnMsgLib.h.
:
_buf(buf), _sz(sz) {
if(!stun_is_command_message_str(buf, sz)) {
throw WrongStunBufferFormatException();
}
_sar = stun_attr_get_first_by_type_str(buf, sz, attr_type);
}
| virtual StunAttrIterator::~StunAttrIterator | ( | ) | [inline, virtual] |
Definition at line 115 of file TurnMsgLib.h.
{}
| bool StunAttrIterator::eof | ( | ) | const [inline] |
Definition at line 103 of file TurnMsgLib.h.
{
return (!_sar);
}
| const u08bits* StunAttrIterator::getRawBuffer | ( | size_t & | sz | ) | const throw (WrongStunAttrFormatException) [inline] |
Definition at line 117 of file TurnMsgLib.h.
{
int len = stun_attr_get_len(_sar);
if(len<0)
throw WrongStunAttrFormatException();
sz = (size_t)len;
const u08bits *value = stun_attr_get_value(_sar);
if(!value) value=(const u08bits*)"";
return value;
}
| int StunAttrIterator::getType | ( | ) | const [inline] |
Definition at line 111 of file TurnMsgLib.h.
{
return stun_attr_get_type(_sar);
}
| bool StunAttrIterator::isAddr | ( | ) | const [inline] |
Definition at line 107 of file TurnMsgLib.h.
{
return stun_attr_is_addr(_sar);
}
| void StunAttrIterator::next | ( | ) | throw (EndOfStunMsgException) [inline] |
Definition at line 96 of file TurnMsgLib.h.
{
if(!_sar) {
throw EndOfStunMsgException();
}
_sar = stun_attr_get_next_str(_buf,_sz,_sar);
}
friend class StunAttr [friend] |
Definition at line 126 of file TurnMsgLib.h.
1.8.0