12 #ifndef ROC_SDP_SESSION_DESCRIPTION_H_
13 #define ROC_SDP_SESSION_DESCRIPTION_H_
45 const char* end_p_origin_username,
46 const char* start_p_origin_sess_id,
47 const char* end_p_origin_sess_id,
48 const char* start_p_origin_nettype,
49 const char* end_p_origin_nettype,
50 const char* start_p_origin_addr,
51 const char* end_p_origin_addr);
#define ROC_ATTR_NODISCARD
Emit warning if function result is not checked.
Intrusive doubly-linked list.
Base class for non-copyable objects.
Shared ownership intrusive pointer.
SDP connection data field.
const address::SocketAddr & origin_unicast_address() const
Origin unicast address.
const core::SharedPtr< MediaDescription > last_media_description() const
Get a shared pointer to the last added media description.
const ConnectionData & session_connection_data()
Get reference to the connection data of the session.
ROC_ATTR_NODISCARD bool add_media_description()
Create and add a new empty media description.
ROC_ATTR_NODISCARD bool set_origin_unicast_address(address::AddrFamily addrtype, const char *str, size_t str_len)
Check and set origin unicast address from a string.
SessionDescription(core::IArena &arena)
Initialize empty session description.
const core::List< MediaDescription > get_media_descriptions() const
Get a const reference to the list of media descriptions.
const core::SharedPtr< MediaDescription > nextof_media_description(core::SharedPtr< MediaDescription > element) const
Get list media description next to given one.
const char * guid() const
Globally Unique Identifier for the session. Built from a tuple of username, sess-id,...
ROC_ATTR_NODISCARD bool set_session_connection_data(address::AddrFamily addrtype, const char *str, size_t str_len)
Check and set session connection address from a string.
void clear()
Clear all fields.
const core::SharedPtr< MediaDescription > first_media_description() const
Get a shared pointer to the first added media description.
ROC_ATTR_NODISCARD bool set_guid(const char *start_p_origin_username, const char *end_p_origin_username, const char *start_p_origin_sess_id, const char *end_p_origin_sess_id, const char *start_p_origin_nettype, const char *end_p_origin_nettype, const char *start_p_origin_addr, const char *end_p_origin_addr)
Set GUID.
Connection field in a SDP.
Intrusive doubly-linked list.
AddrFamily
Address family.
bool parse_sdp(const char *str, SessionDescription &result)
Parse SDP session description from string.
Shared ownership intrusive pointer.