<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"> <title>Yate: XMPPUserRoster Class Reference</title> <link href="doxygen.css" rel="stylesheet" type="text/css"> <link href="tabs.css" rel="stylesheet" type="text/css"> </head><body> <!-- Generated by Doxygen 1.5.7.1 --> <div class="navigation" id="top"> <div class="tabs"> <ul> <li><a href="index.html"><span>Main Page</span></a></li> <li><a href="namespaces.html"><span>Namespaces</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> </ul> </div> <div class="tabs"> <ul> <li><a href="annotated.html"><span>Class List</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 class="navpath"><a class="el" href="namespaceTelEngine.html">TelEngine</a>::<a class="el" href="classTelEngine_1_1XMPPUserRoster.html">XMPPUserRoster</a> </div> </div> <div class="contents"> <h1>XMPPUserRoster Class Reference</h1><!-- doxytag: class="TelEngine::XMPPUserRoster" --><!-- doxytag: inherits="TelEngine::RefObject,TelEngine::Mutex" -->The roster of a local user. <a href="#_details">More...</a> <p> <code>#include <<a class="el" href="yatejabber_8h-source.html">yatejabber.h</a>></code> <p> <div class="dynheader"> Inheritance diagram for XMPPUserRoster:</div> <div class="dynsection"> <p><center><img src="classTelEngine_1_1XMPPUserRoster.png" usemap="#XMPPUserRoster_map" border="0" alt=""></center> <map name="XMPPUserRoster_map"> <area href="classTelEngine_1_1RefObject.html" alt="RefObject" shape="rect" coords="0,56,110,80"> <area href="classTelEngine_1_1Mutex.html" alt="Mutex" shape="rect" coords="120,56,230,80"> <area href="classTelEngine_1_1GenObject.html" alt="GenObject" shape="rect" coords="0,0,110,24"> </map> </div> <p> <a href="classTelEngine_1_1XMPPUserRoster-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">virtual </td><td class="memItemRight" valign="bottom"><a class="el" href="classTelEngine_1_1XMPPUserRoster.html#01fc58d166a6ec4cfc681eca31009364">~XMPPUserRoster</a> ()</td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">const <a class="el" href="classTelEngine_1_1JabberID.html">JabberID</a> & </td><td class="memItemRight" valign="bottom"><a class="el" href="classTelEngine_1_1XMPPUserRoster.html#92124d50d5cabbd5c051f851a0eaf04b">jid</a> () const </td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classTelEngine_1_1JBPresence.html">JBPresence</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="classTelEngine_1_1XMPPUserRoster.html#dbd98645010e87b417fba284ca0c39b6">engine</a> ()</td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classTelEngine_1_1JIDResourceList.html">JIDResourceList</a> & </td><td class="memItemRight" valign="bottom"><a class="el" href="classTelEngine_1_1XMPPUserRoster.html#4a1633bea62c9a6b4255fee6fb307825">resources</a> ()</td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classTelEngine_1_1XMPPUser.html">XMPPUser</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="classTelEngine_1_1XMPPUserRoster.html#dca9400ca9271685adbf0700c1412e39">getUser</a> (const <a class="el" href="classTelEngine_1_1JabberID.html">JabberID</a> &jid, bool add=false, bool *added=0)</td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classTelEngine_1_1XMPPUserRoster.html#931443bc440a43bd7cb7e19c5c1b04a6">removeUser</a> (const <a class="el" href="classTelEngine_1_1JabberID.html">JabberID</a> &remote)</td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classTelEngine_1_1XMPPUserRoster.html#4b66d5e31b5dc18b314c8a68163263bd">cleanup</a> ()</td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classTelEngine_1_1XMPPUserRoster.html#155e1ff519bcdc2a3a34aa68328f3860">timeout</a> (u_int64_t time)</td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classTelEngine_1_1XMLElement.html">XMLElement</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="classTelEngine_1_1XMPPUserRoster.html#8da2441e1991f5ceb8d846f88ece62d4">createDiscoInfoResult</a> (const char *from, const char *to, const char *id)</td></tr> <tr><td colspan="2"><br><h2>Protected Member Functions</h2></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classTelEngine_1_1XMPPUserRoster.html#41c198ccbd54335ad2cf9e9394676711">XMPPUserRoster</a> (<a class="el" href="classTelEngine_1_1JBPresence.html">JBPresence</a> *engine, const char *node, const char *domain, <a class="el" href="classTelEngine_1_1JBEngine.html#ac39b55be6469395f55ff0292ad8184c">JBEngine::Protocol</a> proto=JBEngine::Component)</td></tr> <tr><td colspan="2"><br><h2>Friends</h2></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="2895e5e6794be10a70ed8b5c23e529f4"></a><!-- doxytag: member="TelEngine::XMPPUserRoster::JBPresence" ref="2895e5e6794be10a70ed8b5c23e529f4" args="" --> class </td><td class="memItemRight" valign="bottom"><b>JBPresence</b></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="bee7630b1eccff4b2d6b3032ab88b980"></a><!-- doxytag: member="TelEngine::XMPPUserRoster::JBClientStream" ref="bee7630b1eccff4b2d6b3032ab88b980" args="" --> class </td><td class="memItemRight" valign="bottom"><b>JBClientStream</b></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="266b10b587f31f1ba6e465dad9268aaa"></a><!-- doxytag: member="TelEngine::XMPPUserRoster::XMPPUser" ref="266b10b587f31f1ba6e465dad9268aaa" args="" --> class </td><td class="memItemRight" valign="bottom"><b>XMPPUser</b></td></tr> </table> <hr><a name="_details"></a><h2>Detailed Description</h2> The roster of a local user. <p> This class holds the roster for a local user. <hr><h2>Constructor & Destructor Documentation</h2> <a class="anchor" name="01fc58d166a6ec4cfc681eca31009364"></a><!-- doxytag: member="TelEngine::XMPPUserRoster::~XMPPUserRoster" ref="01fc58d166a6ec4cfc681eca31009364" args="()" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">virtual ~<a class="el" href="classTelEngine_1_1XMPPUserRoster.html">XMPPUserRoster</a> </td> <td>(</td> <td class="paramname"> </td> <td> ) </td> <td><code> [virtual]</code></td> </tr> </table> </div> <div class="memdoc"> <p> Destructor. Remove this roster from engine's queue. </div> </div><p> <a class="anchor" name="41c198ccbd54335ad2cf9e9394676711"></a><!-- doxytag: member="TelEngine::XMPPUserRoster::XMPPUserRoster" ref="41c198ccbd54335ad2cf9e9394676711" args="(JBPresence *engine, const char *node, const char *domain, JBEngine::Protocol proto=JBEngine::Component)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname"><a class="el" href="classTelEngine_1_1XMPPUserRoster.html">XMPPUserRoster</a> </td> <td>(</td> <td class="paramtype"><a class="el" href="classTelEngine_1_1JBPresence.html">JBPresence</a> * </td> <td class="paramname"> <em>engine</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">const char * </td> <td class="paramname"> <em>node</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">const char * </td> <td class="paramname"> <em>domain</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"><a class="el" href="classTelEngine_1_1JBEngine.html#ac39b55be6469395f55ff0292ad8184c">JBEngine::Protocol</a> </td> <td class="paramname"> <em>proto</em> = <code>JBEngine::Component</code></td><td> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td><td><code> [protected]</code></td> </tr> </table> </div> <div class="memdoc"> <p> Constructor. <dl compact><dt><b>Parameters:</b></dt><dd> <table border="0" cellspacing="2" cellpadding="0"> <tr><td valign="top"></td><td valign="top"><em>engine</em> </td><td>Pointer to the presence engine this user belongs to </td></tr> <tr><td valign="top"></td><td valign="top"><em>node</em> </td><td>User's name </td></tr> <tr><td valign="top"></td><td valign="top"><em>domain</em> </td><td>User's domain </td></tr> <tr><td valign="top"></td><td valign="top"><em>proto</em> </td><td>Protocol. Used to create identity </td></tr> </table> </dl> </div> </div><p> <hr><h2>Member Function Documentation</h2> <a class="anchor" name="4b66d5e31b5dc18b314c8a68163263bd"></a><!-- doxytag: member="TelEngine::XMPPUserRoster::cleanup" ref="4b66d5e31b5dc18b314c8a68163263bd" args="()" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">void cleanup </td> <td>(</td> <td class="paramname"> </td> <td> ) </td> <td><code> [inline]</code></td> </tr> </table> </div> <div class="memdoc"> <p> () Clear remote user list. </div> </div><p> <a class="anchor" name="8da2441e1991f5ceb8d846f88ece62d4"></a><!-- doxytag: member="TelEngine::XMPPUserRoster::createDiscoInfoResult" ref="8da2441e1991f5ceb8d846f88ece62d4" args="(const char *from, const char *to, const char *id)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname"><a class="el" href="classTelEngine_1_1XMLElement.html">XMLElement</a>* createDiscoInfoResult </td> <td>(</td> <td class="paramtype">const char * </td> <td class="paramname"> <em>from</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">const char * </td> <td class="paramname"> <em>to</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">const char * </td> <td class="paramname"> <em>id</em></td><td> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td><td><code> [inline]</code></td> </tr> </table> </div> <div class="memdoc"> <p> Create an iq result to respond to disco info. Add user's features and identity <dl compact><dt><b>Parameters:</b></dt><dd> <table border="0" cellspacing="2" cellpadding="0"> <tr><td valign="top"></td><td valign="top"><em>from</em> </td><td>The from attribute </td></tr> <tr><td valign="top"></td><td valign="top"><em>to</em> </td><td>The to attribute </td></tr> <tr><td valign="top"></td><td valign="top"><em>id</em> </td><td>The id attribute </td></tr> </table> </dl> <dl class="return" compact><dt><b>Returns:</b></dt><dd><a class="el" href="classTelEngine_1_1XMLElement.html" title="An XML element.">XMLElement</a> pointer </dd></dl> <p>References <a class="el" href="classTelEngine_1_1XMPPUtils.html#d2196e2a0ced3a3359d874470b9928c5">XMPPUtils::createDiscoInfoRes()</a>.</p> </div> </div><p> <a class="anchor" name="dbd98645010e87b417fba284ca0c39b6"></a><!-- doxytag: member="TelEngine::XMPPUserRoster::engine" ref="dbd98645010e87b417fba284ca0c39b6" args="()" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname"><a class="el" href="classTelEngine_1_1JBPresence.html">JBPresence</a>* engine </td> <td>(</td> <td class="paramname"> </td> <td> ) </td> <td><code> [inline]</code></td> </tr> </table> </div> <div class="memdoc"> <p> Get the presence engine this user belongs to. <dl class="return" compact><dt><b>Returns:</b></dt><dd>Pointer to the presence engine this user belongs to. </dd></dl> </div> </div><p> <a class="anchor" name="dca9400ca9271685adbf0700c1412e39"></a><!-- doxytag: member="TelEngine::XMPPUserRoster::getUser" ref="dca9400ca9271685adbf0700c1412e39" args="(const JabberID &jid, bool add=false, bool *added=0)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname"><a class="el" href="classTelEngine_1_1XMPPUser.html">XMPPUser</a>* getUser </td> <td>(</td> <td class="paramtype">const <a class="el" href="classTelEngine_1_1JabberID.html">JabberID</a> & </td> <td class="paramname"> <em>jid</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">bool </td> <td class="paramname"> <em>add</em> = <code>false</code>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">bool * </td> <td class="paramname"> <em>added</em> = <code>0</code></td><td> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td><td></td> </tr> </table> </div> <div class="memdoc"> <p> Get a remote user. This method is thread safe. <dl compact><dt><b>Parameters:</b></dt><dd> <table border="0" cellspacing="2" cellpadding="0"> <tr><td valign="top"></td><td valign="top"><em>jid</em> </td><td>User's jid. </td></tr> <tr><td valign="top"></td><td valign="top"><em>add</em> </td><td>True to add if not found. </td></tr> <tr><td valign="top"></td><td valign="top"><em>added</em> </td><td>Optional flag to set if added a new user. </td></tr> </table> </dl> <dl class="return" compact><dt><b>Returns:</b></dt><dd>Referenced pointer to the user or 0. </dd></dl> </div> </div><p> <a class="anchor" name="92124d50d5cabbd5c051f851a0eaf04b"></a><!-- doxytag: member="TelEngine::XMPPUserRoster::jid" ref="92124d50d5cabbd5c051f851a0eaf04b" args="() const " --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">const <a class="el" href="classTelEngine_1_1JabberID.html">JabberID</a>& jid </td> <td>(</td> <td class="paramname"> </td> <td> ) </td> <td> const<code> [inline]</code></td> </tr> </table> </div> <div class="memdoc"> <p> Get the local user's jid. <dl class="return" compact><dt><b>Returns:</b></dt><dd>The local user's jid. </dd></dl> </div> </div><p> <a class="anchor" name="931443bc440a43bd7cb7e19c5c1b04a6"></a><!-- doxytag: member="TelEngine::XMPPUserRoster::removeUser" ref="931443bc440a43bd7cb7e19c5c1b04a6" args="(const JabberID &remote)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">bool removeUser </td> <td>(</td> <td class="paramtype">const <a class="el" href="classTelEngine_1_1JabberID.html">JabberID</a> & </td> <td class="paramname"> <em>remote</em> </td> <td> ) </td> <td></td> </tr> </table> </div> <div class="memdoc"> <p> Remove a remote user. This method is thread safe. <dl compact><dt><b>Parameters:</b></dt><dd> <table border="0" cellspacing="2" cellpadding="0"> <tr><td valign="top"></td><td valign="top"><em>remote</em> </td><td>The user to remove. </td></tr> </table> </dl> <dl class="return" compact><dt><b>Returns:</b></dt><dd>False if no more users. </dd></dl> </div> </div><p> <a class="anchor" name="4a1633bea62c9a6b4255fee6fb307825"></a><!-- doxytag: member="TelEngine::XMPPUserRoster::resources" ref="4a1633bea62c9a6b4255fee6fb307825" args="()" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname"><a class="el" href="classTelEngine_1_1JIDResourceList.html">JIDResourceList</a>& resources </td> <td>(</td> <td class="paramname"> </td> <td> ) </td> <td><code> [inline]</code></td> </tr> </table> </div> <div class="memdoc"> <p> Get the list of available resources belonging to the same user <dl class="return" compact><dt><b>Returns:</b></dt><dd>The list of available resources </dd></dl> </div> </div><p> <a class="anchor" name="155e1ff519bcdc2a3a34aa68328f3860"></a><!-- doxytag: member="TelEngine::XMPPUserRoster::timeout" ref="155e1ff519bcdc2a3a34aa68328f3860" args="(u_int64_t time)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">bool timeout </td> <td>(</td> <td class="paramtype">u_int64_t </td> <td class="paramname"> <em>time</em> </td> <td> ) </td> <td></td> </tr> </table> </div> <div class="memdoc"> <p> Check timeout. This method is thread safe. <dl compact><dt><b>Parameters:</b></dt><dd> <table border="0" cellspacing="2" cellpadding="0"> <tr><td valign="top"></td><td valign="top"><em>time</em> </td><td>Current time. </td></tr> </table> </dl> <dl class="return" compact><dt><b>Returns:</b></dt><dd>True to remove the roster. </dd></dl> </div> </div><p> <hr>The documentation for this class was generated from the following file:<ul> <li><a class="el" href="yatejabber_8h-source.html">yatejabber.h</a></ul> </div> <hr size="1"><address style="text-align: right;"><small>Generated on Sun Dec 7 21:36:13 2008 for Yate by <a href="http://www.doxygen.org/index.html"> <img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.7.1 </small></address> </body> </html>