<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"> <title>ccRTP: Participant Class Reference</title> <link href="tabs.css" rel="stylesheet" type="text/css"> <link href="doxygen.css" rel="stylesheet" type="text/css"> </head><body> <!-- Generated by Doxygen 1.5.9 --> <div class="navigation" id="top"> <div class="tabs"> <ul> <li><a href="index.html"><span>Main Page</span></a></li> <li><a href="modules.html"><span>Modules</span></a></li> <li class="current"><a href="annotated.html"><span>Classes</span></a></li> <li><a href="files.html"><span>Files</span></a></li> <li><a href="examples.html"><span>Examples</span></a></li> </ul> </div> <div class="tabs"> <ul> <li><a href="annotated.html"><span>Class List</span></a></li> <li><a href="classes.html"><span>Class Index</span></a></li> <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li> <li><a href="functions.html"><span>Class Members</span></a></li> </ul> </div> </div> <div class="contents"> <h1>Participant Class Reference<br> <small> [<a class="el" href="group__sources.html">Participants and synchronization sources.</a>]</small> </h1><!-- doxytag: class="Participant" --><!-- doxytag: inherits="SDESItemsHolder" -->A class of objects representing remote participants (RTP applications) in a multimedia session. <a href="#_details">More...</a> <p> <code>#include <<a class="el" href="sources_8h_source.html">sources.h</a>></code> <p> <div class="dynheader"> Inheritance diagram for Participant:</div> <div class="dynsection"> <p><center><img src="class_participant.png" usemap="#Participant_map" border="0" alt=""></center> <map name="Participant_map"> <area href="class_s_d_e_s_items_holder.html" alt="SDESItemsHolder" shape="rect" coords="0,0,111,24"> </map> </div> <p> <a href="class_participant-members.html">List of all members.</a><table border="0" cellpadding="0" cellspacing="0"> <tr><td></td></tr> <tr><td colspan="2"><br><h2>Public Member Functions</h2></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">const std::string & </td><td class="memItemRight" valign="bottom"><a class="el" href="class_participant.html#09080be78b19740b978800a1ec51bc3e">getSDESItem</a> (<a class="el" href="group__rtcppacket.html#gf6d38e5ccbbcdf2a24ebbd4fc5b4eeac">SDESItemType</a> type) const </td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Get the value of an SDES item. <a href="#09080be78b19740b978800a1ec51bc3e"></a><br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">const std::string & </td><td class="memItemRight" valign="bottom"><a class="el" href="class_participant.html#5e0f43f97faa6466378859b0ea6cd256">getPRIVPrefix</a> () const </td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Get the prefix value for the PRIV SDES item. <a href="#5e0f43f97faa6466378859b0ea6cd256"></a><br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="class_participant.html#38ef89322981d3c50d7f2ea356089633">Participant</a> (const std::string &cname)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Construct a new participant. <a href="#38ef89322981d3c50d7f2ea356089633"></a><br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="class_participant.html#fb8c8a103cf97d1bacbd5e3621041522">~Participant</a> ()</td></tr> <tr><td colspan="2"><br><h2>Friends</h2></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">class </td><td class="memItemRight" valign="bottom"><a class="el" href="class_participant.html#c5f576c6041abd2767b03df2263aa432">ParticipantHandler</a></td></tr> </table> <hr><a name="_details"></a><h2>Detailed Description</h2> A class of objects representing remote participants (RTP applications) in a multimedia session. <p> Any RTP socket/queue class that directly or indirectly inherits from <a class="el" href="class_queue_r_t_c_p_manager.html" title="Adds generic management of RTCP functions to an RTP data queue.">QueueRTCPManager</a> (and hence has RTCP support) will represent participants from which any RTP or RTCP packet has been received through a <a class="el" href="class_participant.html" title="A class of objects representing remote participants (RTP applications) in a multimedia...">Participant</a> object. These <a class="el" href="class_participant.html" title="A class of objects representing remote participants (RTP applications) in a multimedia...">Participant</a> objects are entities such as end systems (user applications, monitors, etc), RTP mixers and RTP translators.<p> <a class="el" href="class_participant.html" title="A class of objects representing remote participants (RTP applications) in a multimedia...">Participant</a> objects are identified by a CNAME and provide access to all known data about the source of RTP/RTCP packets, such as the CNAME and any other SDES item. Each participant object is related to one or more synchronization objects (<dl class="see" compact><dt><b>See also:</b></dt><dd><a class="el" href="class_sync_source.html" title="Synchronization source in an RTP session.">SyncSource</a>).</dd></dl> If an RTP application based on ccRTP receives packets from itself (for instance, it is included in the destination list), there will be a <a class="el" href="class_participant.html" title="A class of objects representing remote participants (RTP applications) in a multimedia...">Participant</a> object that corresponds to the "local participant" (<a class="el" href="class_r_t_p_application.html" title="An RTP application, holding identifying RTCP SDES item values.">RTPApplication</a>) object.<p> <dl class="author" compact><dt><b>Author:</b></dt><dd>Federico Montesino Pouzols <<a href="mailto:fedemp@altern.org">fedemp@altern.org</a>></dd></dl> <dl compact><dt><b>Examples: </b></dt><dd> <p> <a class="el" href="ccrtptest_8cpp-example.html#_a16">ccrtptest.cpp</a>.</dl><hr><h2>Constructor & Destructor Documentation</h2> <a class="anchor" name="38ef89322981d3c50d7f2ea356089633"></a><!-- doxytag: member="Participant::Participant" ref="38ef89322981d3c50d7f2ea356089633" args="(const std::string &cname)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">Participant::Participant </td> <td>(</td> <td class="paramtype">const std::string & </td> <td class="paramname"> <em>cname</em> </td> <td> ) </td> <td></td> </tr> </table> </div> <div class="memdoc"> <p> Construct a new participant. <p> <dl compact><dt><b>Parameters:</b></dt><dd> <table border="0" cellspacing="2" cellpadding="0"> <tr><td valign="top"></td><td valign="top"><em>cname</em> </td><td>Unique CNAME identifier. </td></tr> </table> </dl> </div> </div><p> <a class="anchor" name="fb8c8a103cf97d1bacbd5e3621041522"></a><!-- doxytag: member="Participant::~Participant" ref="fb8c8a103cf97d1bacbd5e3621041522" args="()" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">Participant::~Participant </td> <td>(</td> <td class="paramname"> </td> <td> ) </td> <td></td> </tr> </table> </div> <div class="memdoc"> <p> </div> </div><p> <hr><h2>Member Function Documentation</h2> <a class="anchor" name="5e0f43f97faa6466378859b0ea6cd256"></a><!-- doxytag: member="Participant::getPRIVPrefix" ref="5e0f43f97faa6466378859b0ea6cd256" args="() const " --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">const std::string& Participant::getPRIVPrefix </td> <td>(</td> <td class="paramname"> </td> <td> ) </td> <td> const<code> [inline]</code></td> </tr> </table> </div> <div class="memdoc"> <p> Get the prefix value for the PRIV SDES item. <p> <dl class="return" compact><dt><b>Returns:</b></dt><dd>PRIV SDES item prefix as a string. </dd></dl> <dl compact><dt><b>Return values:</b></dt><dd> <table border="0" cellspacing="2" cellpadding="0"> <tr><td valign="top"></td><td valign="top"><em>empty</em> </td><td>string when no PRIV SDES item has been received from this source. </td></tr> </table> </dl> <p>Reimplemented from <a class="el" href="class_s_d_e_s_items_holder.html#75c4089724bf170b962417818ee025b2">SDESItemsHolder</a>.</p> </div> </div><p> <a class="anchor" name="09080be78b19740b978800a1ec51bc3e"></a><!-- doxytag: member="Participant::getSDESItem" ref="09080be78b19740b978800a1ec51bc3e" args="(SDESItemType type) const " --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">const std::string& Participant::getSDESItem </td> <td>(</td> <td class="paramtype"><a class="el" href="group__rtcppacket.html#gf6d38e5ccbbcdf2a24ebbd4fc5b4eeac">SDESItemType</a> </td> <td class="paramname"> <em>type</em> </td> <td> ) </td> <td> const<code> [inline]</code></td> </tr> </table> </div> <div class="memdoc"> <p> Get the value of an SDES item. <p> For instance, getSDESItem(SDESItemTypeCNAME), return the CNAME of this <a class="el" href="class_participant.html" title="A class of objects representing remote participants (RTP applications) in a multimedia...">Participant</a>.<p> <dl compact><dt><b>Parameters:</b></dt><dd> <table border="0" cellspacing="2" cellpadding="0"> <tr><td valign="top"></td><td valign="top"><em>type</em> </td><td>type of SDES item to get value of.</td></tr> </table> </dl> <dl class="return" compact><dt><b>Returns:</b></dt><dd>value of the SDES item as a string. </dd></dl> <dl compact><dt><b>Return values:</b></dt><dd> <table border="0" cellspacing="2" cellpadding="0"> <tr><td valign="top"></td><td valign="top"><em>empty</em> </td><td>string when the value is not known (no RTCP packet with the requested SDES item has been received from this source). </td></tr> </table> </dl> <dl compact><dt><b>Examples: </b></dt><dd> <a class="el" href="ccrtptest_8cpp-example.html#a18">ccrtptest.cpp</a>, and <a class="el" href="rtplisten_8cpp-example.html#a18">rtplisten.cpp</a>.</dl> </div> </div><p> <hr><h2>Friends And Related Function Documentation</h2> <a class="anchor" name="c5f576c6041abd2767b03df2263aa432"></a><!-- doxytag: member="Participant::ParticipantHandler" ref="c5f576c6041abd2767b03df2263aa432" args="" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">friend class <a class="el" href="class_participant_handler.html">ParticipantHandler</a><code> [friend]</code> </td> </tr> </table> </div> <div class="memdoc"> <p> </div> </div><p> <hr>The documentation for this class was generated from the following file:<ul> <li><a class="el" href="sources_8h_source.html">sources.h</a></ul> </div> <hr size="1"><address style="text-align: right;"><small>Generated on Fri Jul 24 21:42:25 2009 for ccRTP by <a href="http://www.doxygen.org/index.html"> <img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.9 </small></address> </body> </html>