SDRAngel
4.11.5
Developer docs for <a href="https://github.com/f4exb/sdrangel">SDRangel<\a>, an Open Source Qt5 / OpenGL 3.0+ SDR and signal analyzer frontend to various hardware.
|
#include <rtcpsdesinfo.h>
Classes | |
class | SDESItem |
class | SDESPrivateItem |
Public Member Functions | |
RTCPSDESInfo () | |
virtual | ~RTCPSDESInfo () |
void | Clear () |
int | SetCNAME (const uint8_t *s, std::size_t l) |
int | SetName (const uint8_t *s, std::size_t l) |
int | SetEMail (const uint8_t *s, std::size_t l) |
int | SetPhone (const uint8_t *s, std::size_t l) |
int | SetLocation (const uint8_t *s, std::size_t l) |
int | SetTool (const uint8_t *s, std::size_t l) |
int | SetNote (const uint8_t *s, std::size_t l) |
int | SetPrivateValue (const uint8_t *prefix, std::size_t prefixlen, const uint8_t *value, std::size_t valuelen) |
int | DeletePrivatePrefix (const uint8_t *s, std::size_t len) |
uint8_t * | GetCNAME (std::size_t *len) const |
uint8_t * | GetName (std::size_t *len) const |
uint8_t * | GetEMail (std::size_t *len) const |
uint8_t * | GetPhone (std::size_t *len) const |
uint8_t * | GetLocation (std::size_t *len) const |
uint8_t * | GetTool (std::size_t *len) const |
uint8_t * | GetNote (std::size_t *len) const |
void | GotoFirstPrivateValue () |
bool | GetNextPrivateValue (uint8_t **prefix, std::size_t *prefixlen, uint8_t **value, std::size_t *valuelen) |
bool | GetPrivateValue (const uint8_t *prefix, std::size_t prefixlen, uint8_t **value, std::size_t *valuelen) const |
Private Member Functions | |
int | SetNonPrivateItem (int itemno, const uint8_t *s, std::size_t l) |
uint8_t * | GetNonPrivateItem (int itemno, std::size_t *len) const |
Private Attributes | |
SDESItem | nonprivateitems [RTCP_SDES_NUMITEMS_NONPRIVATE] |
std::list< SDESPrivateItem * > | privitems |
std::list< SDESPrivateItem * >::const_iterator | curitem |
The class RTCPSDESInfo is a container for RTCP SDES information.
Definition at line 54 of file rtcpsdesinfo.h.
|
inline |
Constructs an instance, optionally installing a memory manager.
Definition at line 58 of file rtcpsdesinfo.h.
|
inlinevirtual |
Definition at line 61 of file rtcpsdesinfo.h.
void qrtplib::RTCPSDESInfo::Clear | ( | ) |
Clears all SDES information.
Definition at line 38 of file rtcpsdesinfo.cpp.
References privitems.
Referenced by qrtplib::RTCPPacketBuilder::Destroy().
int qrtplib::RTCPSDESInfo::DeletePrivatePrefix | ( | const uint8_t * | s, |
std::size_t | len | ||
) |
Deletes the entry for the prefix specified by s
with length len
.
Definition at line 99 of file rtcpsdesinfo.cpp.
References ERR_RTP_SDES_PREFIXNOTFOUND, and privitems.
|
inline |
Returns the SDES CNAME item and stores its length in len
.
Definition at line 123 of file rtcpsdesinfo.h.
References RTCP_SDES_ID_CNAME.
Referenced by qrtplib::RTCPPacketBuilder::BuildBYEPacket(), qrtplib::RTCPPacketBuilder::BuildNextPacket(), and qrtplib::RTPInternalSourceData::ProcessSDESItem().
|
inline |
Returns the SDES e-mail item and stores its length in len
.
Definition at line 135 of file rtcpsdesinfo.h.
References RTCP_SDES_ID_EMAIL.
Referenced by qrtplib::RTCPPacketBuilder::FillInSDES(), and qrtplib::RTPInternalSourceData::ProcessSDESItem().
|
inline |
Returns the SDES location item and stores its length in len
.
Definition at line 147 of file rtcpsdesinfo.h.
References RTCP_SDES_ID_LOCATION.
Referenced by qrtplib::RTCPPacketBuilder::FillInSDES().
|
inline |
Returns the SDES name item and stores its length in len
.
Definition at line 129 of file rtcpsdesinfo.h.
References RTCP_SDES_ID_NAME.
Referenced by qrtplib::RTCPPacketBuilder::FillInSDES(), and qrtplib::RTPInternalSourceData::ProcessSDESItem().
bool qrtplib::RTCPSDESInfo::GetNextPrivateValue | ( | uint8_t ** | prefix, |
std::size_t * | prefixlen, | ||
uint8_t ** | value, | ||
std::size_t * | valuelen | ||
) |
Returns SDES priv item information. If available, returns true
and stores the next SDES private item prefix in prefix
and its length in prefixlen
. The associated value and its length are then stored in value
and valuelen
. Otherwise, it returns false
.
Definition at line 137 of file rtcpsdesinfo.cpp.
References curitem, and privitems.
|
inlineprivate |
Definition at line 192 of file rtcpsdesinfo.h.
|
inline |
Returns the SDES note item and stores its length in len
.
Definition at line 159 of file rtcpsdesinfo.h.
References RTCP_SDES_ID_NOTE.
Referenced by qrtplib::RTCPPacketBuilder::FillInSDES().
|
inline |
Returns the SDES phone item and stores its length in len
.
Definition at line 141 of file rtcpsdesinfo.h.
References RTCP_SDES_ID_PHONE.
Referenced by qrtplib::RTCPPacketBuilder::FillInSDES().
bool qrtplib::RTCPSDESInfo::GetPrivateValue | ( | const uint8_t * | prefix, |
std::size_t | prefixlen, | ||
uint8_t ** | value, | ||
std::size_t * | valuelen | ||
) | const |
Returns SDES priv item information. Looks for the entry which corresponds to the SDES private item prefix prefix
with length prefixlen
. If found, the function returns true
and stores the associated value and its length in value
and valuelen
respectively.
Definition at line 147 of file rtcpsdesinfo.cpp.
References privitems.
|
inline |
Returns the SDES tool item and stores its length in len
.
Definition at line 153 of file rtcpsdesinfo.h.
References RTCP_SDES_ID_TOOL.
Referenced by qrtplib::RTCPPacketBuilder::FillInSDES(), and qrtplib::RTPInternalSourceData::ProcessSDESItem().
void qrtplib::RTCPSDESInfo::GotoFirstPrivateValue | ( | ) |
Starts the iteration over the stored SDES private item prefixes and their associated values.
Definition at line 132 of file rtcpsdesinfo.cpp.
References curitem, and privitems.
|
inline |
Sets the SDES CNAME item to s
with length l
.
Definition at line 70 of file rtcpsdesinfo.h.
References RTCP_SDES_ID_CNAME.
Referenced by qrtplib::RTCPPacketBuilder::Init(), and qrtplib::RTPInternalSourceData::ProcessSDESItem().
|
inline |
Sets the SDES e-mail item to s
with length l
.
Definition at line 82 of file rtcpsdesinfo.h.
References RTCP_SDES_ID_EMAIL.
Referenced by qrtplib::RTPInternalSourceData::ProcessSDESItem().
|
inline |
Sets the SDES location item to s
with length l
.
Definition at line 94 of file rtcpsdesinfo.h.
References RTCP_SDES_ID_LOCATION.
Referenced by qrtplib::RTPInternalSourceData::ProcessSDESItem().
|
inline |
Sets the SDES name item to s
with length l
.
Definition at line 76 of file rtcpsdesinfo.h.
References RTCP_SDES_ID_NAME.
Referenced by qrtplib::RTPInternalSourceData::ProcessSDESItem().
|
inlineprivate |
Definition at line 186 of file rtcpsdesinfo.h.
References ERR_RTP_SDES_LENGTHTOOBIG, and RTCP_SDES_MAXITEMLENGTH.
|
inline |
Sets the SDES note item to s
with length l
.
Definition at line 106 of file rtcpsdesinfo.h.
References RTCP_SDES_ID_NOTE.
Referenced by qrtplib::RTPInternalSourceData::ProcessSDESItem().
|
inline |
Sets the SDES phone item to s
with length l
.
Definition at line 88 of file rtcpsdesinfo.h.
References RTCP_SDES_ID_PHONE.
Referenced by qrtplib::RTPInternalSourceData::ProcessSDESItem().
int qrtplib::RTCPSDESInfo::SetPrivateValue | ( | const uint8_t * | prefix, |
std::size_t | prefixlen, | ||
const uint8_t * | value, | ||
std::size_t | valuelen | ||
) |
Sets the entry for the prefix string specified by prefix
with length prefixlen
to contain the value string specified by value
with length valuelen
(if the maximum allowed number of prefixes was reached, the error code ERR_RTP_SDES_MAXPRIVITEMS
is returned.
Definition at line 50 of file rtcpsdesinfo.cpp.
References ERR_RTP_SDES_MAXPRIVITEMS, privitems, RTP_MAXPRIVITEMS, qrtplib::RTCPSDESInfo::SDESItem::SetInfo(), and qrtplib::RTCPSDESInfo::SDESPrivateItem::SetPrefix().
Referenced by qrtplib::RTPInternalSourceData::ProcessPrivateSDESItem().
|
inline |
Sets the SDES tool item to s
with length l
.
Definition at line 100 of file rtcpsdesinfo.h.
References RTCP_SDES_ID_TOOL.
Referenced by qrtplib::RTPInternalSourceData::ProcessSDESItem().
|
private |
Definition at line 277 of file rtcpsdesinfo.h.
Referenced by GetNextPrivateValue(), and GotoFirstPrivateValue().
|
private |
Definition at line 246 of file rtcpsdesinfo.h.
|
private |
Definition at line 276 of file rtcpsdesinfo.h.
Referenced by Clear(), DeletePrivatePrefix(), GetNextPrivateValue(), GetPrivateValue(), GotoFirstPrivateValue(), and SetPrivateValue().