<!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: JBPresence 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_1JBPresence.html">JBPresence</a> </div> </div> <div class="contents"> <h1>JBPresence Class Reference</h1><!-- doxytag: class="TelEngine::JBPresence" --><!-- doxytag: inherits="TelEngine::JBService,TelEngine::JBThreadList" -->A Jabber presence service. <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 JBPresence:</div> <div class="dynsection"> <p><center><img src="classTelEngine_1_1JBPresence.png" usemap="#JBPresence_map" border="0" alt=""></center> <map name="JBPresence_map"> <area href="classTelEngine_1_1JBService.html" alt="JBService" shape="rect" coords="103,56,196,80"> <area href="classTelEngine_1_1JBThreadList.html" alt="JBThreadList" shape="rect" coords="206,56,299,80"> <area href="classTelEngine_1_1DebugEnabler.html" alt="DebugEnabler" shape="rect" coords="0,0,93,24"> <area href="classTelEngine_1_1Mutex.html" alt="Mutex" shape="rect" coords="103,0,196,24"> <area href="classTelEngine_1_1GenObject.html" alt="GenObject" shape="rect" coords="206,0,299,24"> </map> </div> <p> <a href="classTelEngine_1_1JBPresence-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 Types</h2></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">enum </td><td class="memItemRight" valign="bottom"><a class="el" href="classTelEngine_1_1JBPresence.html#c25d041dbdb54de3fe3b492859d0575c">Presence</a> { <br> <b>Error</b> = 0, <b>Probe</b> = 1, <b>Subscribe</b> = 2, <b>Subscribed</b> = 3, <br> <b>Unavailable</b> = 4, <b>Unsubscribe</b> = 5, <b>Unsubscribed</b> = 6, <b>None</b> = 7 <br> }</td></tr> <tr><td colspan="2"><br><h2>Public 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_1JBPresence.html#febd9ceb917a0b15f258e11a7abbdd04">JBPresence</a> (<a class="el" href="classTelEngine_1_1JBEngine.html">JBEngine</a> *engine, const <a class="el" href="classTelEngine_1_1NamedList.html">NamedList</a> *params, int prio=0)</td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">virtual </td><td class="memItemRight" valign="bottom"><a class="el" href="classTelEngine_1_1JBPresence.html#f16254fd230c2c3500c3c24511090290">~JBPresence</a> ()</td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classTelEngine_1_1XMPPDirVal.html">XMPPDirVal</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classTelEngine_1_1JBPresence.html#f92392a03f476eca96dc47c39f4d0407">autoSubscribe</a> () const </td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classTelEngine_1_1JBPresence.html#30593acdb8584716c1a59a3a4510a562">delUnavailable</a> () const </td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classTelEngine_1_1XMPPDirVal.html">XMPPDirVal</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classTelEngine_1_1JBPresence.html#02888ac8e073c36ceea20bb3e9dab2bb">addOnSubscribe</a> () const </td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classTelEngine_1_1XMPPDirVal.html">XMPPDirVal</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classTelEngine_1_1JBPresence.html#9e1f1c20ecf90203c844aa21687a3ef9">addOnProbe</a> () const </td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classTelEngine_1_1XMPPDirVal.html">XMPPDirVal</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classTelEngine_1_1JBPresence.html#28eaf697ed84866bba7605d49f89f95b">addOnPresence</a> () const </td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classTelEngine_1_1JBPresence.html#62d95b50b3a7fc61be81900875ece6e3">autoRoster</a> () const </td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classTelEngine_1_1JBPresence.html#81d8403390567a39af9ae095849c7fd5">ignoreNonRoster</a> () const </td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">u_int32_t </td><td class="memItemRight" valign="bottom"><a class="el" href="classTelEngine_1_1JBPresence.html#56494b758a4be1017b702e28a8b48cdd">probeInterval</a> ()</td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">u_int32_t </td><td class="memItemRight" valign="bottom"><a class="el" href="classTelEngine_1_1JBPresence.html#9a1f01d8186322d918f490ff564ee485">expireInterval</a> ()</td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">virtual void </td><td class="memItemRight" valign="bottom"><a class="el" href="classTelEngine_1_1JBPresence.html#c391e1e7a016b4064486b5994fc1fed7">initialize</a> (const <a class="el" href="classTelEngine_1_1NamedList.html">NamedList</a> &params)</td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">virtual bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classTelEngine_1_1JBPresence.html#7017ddc30577ae1cdf3941090fe9f4b4">process</a> ()</td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">virtual void </td><td class="memItemRight" valign="bottom"><a class="el" href="classTelEngine_1_1JBPresence.html#6e7441244bb5d58ec068d66553d8c39b">checkTimeout</a> (u_int64_t time)</td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">virtual void </td><td class="memItemRight" valign="bottom"><a class="el" href="classTelEngine_1_1JBPresence.html#237f8595d1601060479254f435c76a2e">processDisco</a> (<a class="el" href="classTelEngine_1_1JBEvent.html">JBEvent</a> *event)</td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">virtual void </td><td class="memItemRight" valign="bottom"><a class="el" href="classTelEngine_1_1JBPresence.html#5dc6c5f322b8d9fa0ac5134903351a8a">processError</a> (<a class="el" href="classTelEngine_1_1JBEvent.html">JBEvent</a> *event)</td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">virtual void </td><td class="memItemRight" valign="bottom"><a class="el" href="classTelEngine_1_1JBPresence.html#8cd7f33b24f3c781c85adb96cc474be3">processProbe</a> (<a class="el" href="classTelEngine_1_1JBEvent.html">JBEvent</a> *event)</td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">virtual void </td><td class="memItemRight" valign="bottom"><a class="el" href="classTelEngine_1_1JBPresence.html#1062d1893a63b6884188ce569c8c799e">processSubscribe</a> (<a class="el" href="classTelEngine_1_1JBEvent.html">JBEvent</a> *event, <a class="el" href="classTelEngine_1_1JBPresence.html#c25d041dbdb54de3fe3b492859d0575c">Presence</a> presence)</td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">virtual void </td><td class="memItemRight" valign="bottom"><a class="el" href="classTelEngine_1_1JBPresence.html#85431d5cfabe4d334e98cb75d74a8f0a">processUnavailable</a> (<a class="el" href="classTelEngine_1_1JBEvent.html">JBEvent</a> *event)</td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">virtual void </td><td class="memItemRight" valign="bottom"><a class="el" href="classTelEngine_1_1JBPresence.html#7d1bf8d5801e19b8726c6d8f03a87ad7">processPresence</a> (<a class="el" href="classTelEngine_1_1JBEvent.html">JBEvent</a> *event)</td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">virtual bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classTelEngine_1_1JBPresence.html#376c483f325871426f7c5f9e3e2a6b54">notifyProbe</a> (<a class="el" href="classTelEngine_1_1JBEvent.html">JBEvent</a> *event)</td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">virtual bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classTelEngine_1_1JBPresence.html#e2cb274f1acb51240b1a4d385f3d4788">notifySubscribe</a> (<a class="el" href="classTelEngine_1_1JBEvent.html">JBEvent</a> *event, <a class="el" href="classTelEngine_1_1JBPresence.html#c25d041dbdb54de3fe3b492859d0575c">Presence</a> presence)</td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">virtual void </td><td class="memItemRight" valign="bottom"><a class="el" href="classTelEngine_1_1JBPresence.html#7a08ed28521d238c99cfc78e06b830a5">notifySubscribe</a> (<a class="el" href="classTelEngine_1_1XMPPUser.html">XMPPUser</a> *user, <a class="el" href="classTelEngine_1_1JBPresence.html#c25d041dbdb54de3fe3b492859d0575c">Presence</a> presence)</td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">virtual bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classTelEngine_1_1JBPresence.html#f1e2082b78364bf00d8f1a732bc3d356">notifyPresence</a> (<a class="el" href="classTelEngine_1_1JBEvent.html">JBEvent</a> *event, bool available)</td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">virtual void </td><td class="memItemRight" valign="bottom"><a class="el" href="classTelEngine_1_1JBPresence.html#f7075130e70df851ef7b4ebd1452d6f1">notifyPresence</a> (<a class="el" href="classTelEngine_1_1XMPPUser.html">XMPPUser</a> *user, <a class="el" href="classTelEngine_1_1JIDResource.html">JIDResource</a> *resource)</td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">virtual void </td><td class="memItemRight" valign="bottom"><a class="el" href="classTelEngine_1_1JBPresence.html#15fdc005bfff4c338be6cc89998f3885">notifyNewUser</a> (<a class="el" href="classTelEngine_1_1XMPPUser.html">XMPPUser</a> *user)</td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classTelEngine_1_1XMPPUserRoster.html">XMPPUserRoster</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="classTelEngine_1_1JBPresence.html#75715c2fb6acaae78c655f4686a3374f">getRoster</a> (const <a class="el" href="classTelEngine_1_1JabberID.html">JabberID</a> &jid, bool add, bool *added)</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_1JBPresence.html#6f6dde4331fb7aae42528c69ed8e43fe">getRemoteUser</a> (const <a class="el" href="classTelEngine_1_1JabberID.html">JabberID</a> &local, const <a class="el" href="classTelEngine_1_1JabberID.html">JabberID</a> &remote, bool addLocal, bool *addedLocal, bool addRemote, bool *addedRemote)</td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classTelEngine_1_1JBPresence.html#12771c6d0e637371a0541ced28a56d6b">removeRemoteUser</a> (const <a class="el" href="classTelEngine_1_1JabberID.html">JabberID</a> &local, const <a class="el" href="classTelEngine_1_1JabberID.html">JabberID</a> &remote)</td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classTelEngine_1_1JBPresence.html#0d48d2597077360cd4cb51f4e648225c">validDomain</a> (const <a class="el" href="classTelEngine_1_1String.html">String</a> &domain)</td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classTelEngine_1_1JBPresence.html#a12450375ee4a427ca508c20ce325b67">sendStanza</a> (<a class="el" href="classTelEngine_1_1XMLElement.html">XMLElement</a> *element, <a class="el" href="classTelEngine_1_1JBStream.html">JBStream</a> *stream)</td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classTelEngine_1_1JBPresence.html#c153c33c0a8f71bc48e43e66dc601495">sendError</a> (<a class="el" href="classTelEngine_1_1XMPPError.html#1d1cfd8ffb84e947f82999c682b666a7">XMPPError::Type</a> type, const <a class="el" href="classTelEngine_1_1String.html">String</a> &from, const <a class="el" href="classTelEngine_1_1String.html">String</a> &to, <a class="el" href="classTelEngine_1_1XMLElement.html">XMLElement</a> *element, <a class="el" href="classTelEngine_1_1JBStream.html">JBStream</a> *stream=0, const <a class="el" href="classTelEngine_1_1String.html">String</a> *id=0)</td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classTelEngine_1_1JBPresence.html#4b66d5e31b5dc18b314c8a68163263bd">cleanup</a> ()</td></tr> <tr><td colspan="2"><br><h2>Static Public Member Functions</h2></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">static <a class="el" href="classTelEngine_1_1XMLElement.html">XMLElement</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="classTelEngine_1_1JBPresence.html#ebc12c4f9ff2f83f86e53a6640a46d51">createPresence</a> (const char *from, const char *to, <a class="el" href="classTelEngine_1_1JBPresence.html#c25d041dbdb54de3fe3b492859d0575c">Presence</a> type=None)</td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">static bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classTelEngine_1_1JBPresence.html#796b0a30e17b555f2b9f192403bb67b9">decodeError</a> (const <a class="el" href="classTelEngine_1_1XMLElement.html">XMLElement</a> *element, <a class="el" href="classTelEngine_1_1String.html">String</a> &code, <a class="el" href="classTelEngine_1_1String.html">String</a> &type, <a class="el" href="classTelEngine_1_1String.html">String</a> &error)</td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">static <a class="el" href="classTelEngine_1_1JBPresence.html#c25d041dbdb54de3fe3b492859d0575c">Presence</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classTelEngine_1_1JBPresence.html#a615b5a1d31387a2500a78b7e4e658e4">presenceType</a> (const char *text)</td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">static const char * </td><td class="memItemRight" valign="bottom"><a class="el" href="classTelEngine_1_1JBPresence.html#2fe197cd8f6468e33359e0aeb4cee17c">presenceText</a> (<a class="el" href="classTelEngine_1_1JBPresence.html#c25d041dbdb54de3fe3b492859d0575c">Presence</a> presence)</td></tr> <tr><td colspan="2"><br><h2>Protected Member Functions</h2></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">virtual bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classTelEngine_1_1JBPresence.html#eb76442d8fb651cb95647bf4a0e7fb28">accept</a> (<a class="el" href="classTelEngine_1_1JBEvent.html">JBEvent</a> *event, bool &processed, bool &insert)</td></tr> <tr><td colspan="2"><br><h2>Protected Attributes</h2></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="518f0f7e5a4f7702766951f7a0e693b5"></a><!-- doxytag: member="TelEngine::JBPresence::m_autoSubscribe" ref="518f0f7e5a4f7702766951f7a0e693b5" args="" --> <a class="el" href="classTelEngine_1_1XMPPDirVal.html">XMPPDirVal</a> </td><td class="memItemRight" valign="bottom"><b>m_autoSubscribe</b></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="91c3cd9ef530940fabfb907344819a7d"></a><!-- doxytag: member="TelEngine::JBPresence::m_delUnavailable" ref="91c3cd9ef530940fabfb907344819a7d" args="" --> bool </td><td class="memItemRight" valign="bottom"><b>m_delUnavailable</b></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="9cccf4c62a81b3cd6eaf5df9b60e515d"></a><!-- doxytag: member="TelEngine::JBPresence::m_autoRoster" ref="9cccf4c62a81b3cd6eaf5df9b60e515d" args="" --> bool </td><td class="memItemRight" valign="bottom"><b>m_autoRoster</b></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="6c27960cd7ea5badb1c09ded91894769"></a><!-- doxytag: member="TelEngine::JBPresence::m_ignoreNonRoster" ref="6c27960cd7ea5badb1c09ded91894769" args="" --> bool </td><td class="memItemRight" valign="bottom"><b>m_ignoreNonRoster</b></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="bc137cac873b614c9c7d72deb4582a0f"></a><!-- doxytag: member="TelEngine::JBPresence::m_addOnSubscribe" ref="bc137cac873b614c9c7d72deb4582a0f" args="" --> <a class="el" href="classTelEngine_1_1XMPPDirVal.html">XMPPDirVal</a> </td><td class="memItemRight" valign="bottom"><b>m_addOnSubscribe</b></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="6e93006f35a8ae2de7db9e5325d25804"></a><!-- doxytag: member="TelEngine::JBPresence::m_addOnProbe" ref="6e93006f35a8ae2de7db9e5325d25804" args="" --> <a class="el" href="classTelEngine_1_1XMPPDirVal.html">XMPPDirVal</a> </td><td class="memItemRight" valign="bottom"><b>m_addOnProbe</b></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="812793de96a411e0d2f7b50c83f3cd90"></a><!-- doxytag: member="TelEngine::JBPresence::m_addOnPresence" ref="812793de96a411e0d2f7b50c83f3cd90" args="" --> <a class="el" href="classTelEngine_1_1XMPPDirVal.html">XMPPDirVal</a> </td><td class="memItemRight" valign="bottom"><b>m_addOnPresence</b></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="8095fdd86a96681503e1fdccb8a3239f"></a><!-- doxytag: member="TelEngine::JBPresence::m_autoProbe" ref="8095fdd86a96681503e1fdccb8a3239f" args="" --> bool </td><td class="memItemRight" valign="bottom"><b>m_autoProbe</b></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="2813ced84a632b06266db894450abadd"></a><!-- doxytag: member="TelEngine::JBPresence::m_probeInterval" ref="2813ced84a632b06266db894450abadd" args="" --> u_int32_t </td><td class="memItemRight" valign="bottom"><b>m_probeInterval</b></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="b598ddf5da5dfd4e417e283ca31cd7d4"></a><!-- doxytag: member="TelEngine::JBPresence::m_expireInterval" ref="b598ddf5da5dfd4e417e283ca31cd7d4" args="" --> u_int32_t </td><td class="memItemRight" valign="bottom"><b>m_expireInterval</b></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="ab12dd16ab12d7d60e9050939476d287"></a><!-- doxytag: member="TelEngine::JBPresence::m_rosters" ref="ab12dd16ab12d7d60e9050939476d287" args="" --> <a class="el" href="classTelEngine_1_1ObjList.html">ObjList</a> </td><td class="memItemRight" valign="bottom"><b>m_rosters</b></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="ade8513daed64f65968cd90ddf93e37c"></a><!-- doxytag: member="TelEngine::JBPresence::m_defIdentity" ref="ade8513daed64f65968cd90ddf93e37c" args="" --> <a class="el" href="classTelEngine_1_1JIDIdentity.html">JIDIdentity</a> * </td><td class="memItemRight" valign="bottom"><b>m_defIdentity</b></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="22359bd66b843797bba54a75c5355d39"></a><!-- doxytag: member="TelEngine::JBPresence::m_defFeatures" ref="22359bd66b843797bba54a75c5355d39" args="" --> <a class="el" href="classTelEngine_1_1JIDFeatureList.html">JIDFeatureList</a> </td><td class="memItemRight" valign="bottom"><b>m_defFeatures</b></td></tr> <tr><td colspan="2"><br><h2>Static Protected Attributes</h2></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="0a8ea44f2e3f0d02839b6323ee04590e"></a><!-- doxytag: member="TelEngine::JBPresence::s_presence" ref="0a8ea44f2e3f0d02839b6323ee04590e" args="[]" --> static <a class="el" href="structTelEngine_1_1TokenDict.html">TokenDict</a> </td><td class="memItemRight" valign="bottom"><b>s_presence</b> []</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="fa7c3befea31f6bdacf71c0687d5a6d7"></a><!-- doxytag: member="TelEngine::JBPresence::XMPPUserRoster" ref="fa7c3befea31f6bdacf71c0687d5a6d7" args="" --> class </td><td class="memItemRight" valign="bottom"><b>XMPPUserRoster</b></td></tr> </table> <hr><a name="_details"></a><h2>Detailed Description</h2> A Jabber presence service. <p> This class is a presence service for Jabber engine. Handle presence stanzas and iq query info or items with destination containing a node and a valid domain <hr><h2>Member Enumeration Documentation</h2> <a class="anchor" name="c25d041dbdb54de3fe3b492859d0575c"></a><!-- doxytag: member="TelEngine::JBPresence::Presence" ref="c25d041dbdb54de3fe3b492859d0575c" args="" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">enum <a class="el" href="classTelEngine_1_1JBPresence.html#c25d041dbdb54de3fe3b492859d0575c">Presence</a> </td> </tr> </table> </div> <div class="memdoc"> <p> Presence type enumeration </div> </div><p> <hr><h2>Constructor & Destructor Documentation</h2> <a class="anchor" name="febd9ceb917a0b15f258e11a7abbdd04"></a><!-- doxytag: member="TelEngine::JBPresence::JBPresence" ref="febd9ceb917a0b15f258e11a7abbdd04" args="(JBEngine *engine, const NamedList *params, int prio=0)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname"><a class="el" href="classTelEngine_1_1JBPresence.html">JBPresence</a> </td> <td>(</td> <td class="paramtype"><a class="el" href="classTelEngine_1_1JBEngine.html">JBEngine</a> * </td> <td class="paramname"> <em>engine</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">const <a class="el" href="classTelEngine_1_1NamedList.html">NamedList</a> * </td> <td class="paramname"> <em>params</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">int </td> <td class="paramname"> <em>prio</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> Constructor. Constructs a Jabber Component presence service <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>The Jabber engine </td></tr> <tr><td valign="top"></td><td valign="top"><em>params</em> </td><td>Service's parameters </td></tr> <tr><td valign="top"></td><td valign="top"><em>prio</em> </td><td>The priority of this service </td></tr> </table> </dl> </div> </div><p> <a class="anchor" name="f16254fd230c2c3500c3c24511090290"></a><!-- doxytag: member="TelEngine::JBPresence::~JBPresence" ref="f16254fd230c2c3500c3c24511090290" args="()" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">virtual ~<a class="el" href="classTelEngine_1_1JBPresence.html">JBPresence</a> </td> <td>(</td> <td class="paramname"> </td> <td> ) </td> <td><code> [virtual]</code></td> </tr> </table> </div> <div class="memdoc"> <p> Destructor </div> </div><p> <hr><h2>Member Function Documentation</h2> <a class="anchor" name="eb76442d8fb651cb95647bf4a0e7fb28"></a><!-- doxytag: member="TelEngine::JBPresence::accept" ref="eb76442d8fb651cb95647bf4a0e7fb28" args="(JBEvent *event, bool &processed, bool &insert)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">virtual bool accept </td> <td>(</td> <td class="paramtype"><a class="el" href="classTelEngine_1_1JBEvent.html">JBEvent</a> * </td> <td class="paramname"> <em>event</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">bool & </td> <td class="paramname"> <em>processed</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">bool & </td> <td class="paramname"> <em>insert</em></td><td> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td><td><code> [protected, virtual]</code></td> </tr> </table> </div> <div class="memdoc"> <p> Accept an event from the engine <dl compact><dt><b>Parameters:</b></dt><dd> <table border="0" cellspacing="2" cellpadding="0"> <tr><td valign="top"></td><td valign="top"><em>event</em> </td><td>The event to accept </td></tr> <tr><td valign="top"></td><td valign="top"><em>processed</em> </td><td>Set to true on exit to signal that the event was already processed </td></tr> <tr><td valign="top"></td><td valign="top"><em>insert</em> </td><td>Set to true if accepted to insert on top of the event queue </td></tr> </table> </dl> <dl class="return" compact><dt><b>Returns:</b></dt><dd>False if not accepted, let the engine try another service </dd></dl> <p>Reimplemented from <a class="el" href="classTelEngine_1_1JBService.html#eb76442d8fb651cb95647bf4a0e7fb28">JBService</a>.</p> </div> </div><p> <a class="anchor" name="28eaf697ed84866bba7605d49f89f95b"></a><!-- doxytag: member="TelEngine::JBPresence::addOnPresence" ref="28eaf697ed84866bba7605d49f89f95b" args="() const " --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname"><a class="el" href="classTelEngine_1_1XMPPDirVal.html">XMPPDirVal</a> addOnPresence </td> <td>(</td> <td class="paramname"> </td> <td> ) </td> <td> const<code> [inline]</code></td> </tr> </table> </div> <div class="memdoc"> <p> Get the 'add on presence' flags <dl class="return" compact><dt><b>Returns:</b></dt><dd>The 'add on presence' flags </dd></dl> </div> </div><p> <a class="anchor" name="9e1f1c20ecf90203c844aa21687a3ef9"></a><!-- doxytag: member="TelEngine::JBPresence::addOnProbe" ref="9e1f1c20ecf90203c844aa21687a3ef9" args="() const " --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname"><a class="el" href="classTelEngine_1_1XMPPDirVal.html">XMPPDirVal</a> addOnProbe </td> <td>(</td> <td class="paramname"> </td> <td> ) </td> <td> const<code> [inline]</code></td> </tr> </table> </div> <div class="memdoc"> <p> Get the 'add on probe' flags <dl class="return" compact><dt><b>Returns:</b></dt><dd>The 'add on probe' flags </dd></dl> </div> </div><p> <a class="anchor" name="02888ac8e073c36ceea20bb3e9dab2bb"></a><!-- doxytag: member="TelEngine::JBPresence::addOnSubscribe" ref="02888ac8e073c36ceea20bb3e9dab2bb" args="() const " --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname"><a class="el" href="classTelEngine_1_1XMPPDirVal.html">XMPPDirVal</a> addOnSubscribe </td> <td>(</td> <td class="paramname"> </td> <td> ) </td> <td> const<code> [inline]</code></td> </tr> </table> </div> <div class="memdoc"> <p> Get the 'add on subscribe' flags <dl class="return" compact><dt><b>Returns:</b></dt><dd>The 'add on subscribe' flags </dd></dl> </div> </div><p> <a class="anchor" name="62d95b50b3a7fc61be81900875ece6e3"></a><!-- doxytag: member="TelEngine::JBPresence::autoRoster" ref="62d95b50b3a7fc61be81900875ece6e3" args="() const " --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">bool autoRoster </td> <td>(</td> <td class="paramname"> </td> <td> ) </td> <td> const<code> [inline]</code></td> </tr> </table> </div> <div class="memdoc"> <p> Check if this service should add new users when receiving presence, probe or subscribe <dl class="return" compact><dt><b>Returns:</b></dt><dd>True if should add a new user when receiving presence, probe or subscribe </dd></dl> </div> </div><p> <a class="anchor" name="f92392a03f476eca96dc47c39f4d0407"></a><!-- doxytag: member="TelEngine::JBPresence::autoSubscribe" ref="f92392a03f476eca96dc47c39f4d0407" args="() const " --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname"><a class="el" href="classTelEngine_1_1XMPPDirVal.html">XMPPDirVal</a> autoSubscribe </td> <td>(</td> <td class="paramname"> </td> <td> ) </td> <td> const<code> [inline]</code></td> </tr> </table> </div> <div class="memdoc"> <p> Get the auto subscribe parameter <dl class="return" compact><dt><b>Returns:</b></dt><dd>The auto subscribe parameter </dd></dl> </div> </div><p> <a class="anchor" name="6e7441244bb5d58ec068d66553d8c39b"></a><!-- doxytag: member="TelEngine::JBPresence::checkTimeout" ref="6e7441244bb5d58ec068d66553d8c39b" args="(u_int64_t time)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">virtual void checkTimeout </td> <td>(</td> <td class="paramtype">u_int64_t </td> <td class="paramname"> <em>time</em> </td> <td> ) </td> <td><code> [virtual]</code></td> </tr> </table> </div> <div class="memdoc"> <p> Check presence 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> </div> </div><p> <a class="anchor" name="4b66d5e31b5dc18b314c8a68163263bd"></a><!-- doxytag: member="TelEngine::JBPresence::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></td> </tr> </table> </div> <div class="memdoc"> <p> Cleanup rosters </div> </div><p> <a class="anchor" name="ebc12c4f9ff2f83f86e53a6640a46d51"></a><!-- doxytag: member="TelEngine::JBPresence::createPresence" ref="ebc12c4f9ff2f83f86e53a6640a46d51" args="(const char *from, const char *to, Presence type=None)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">static <a class="el" href="classTelEngine_1_1XMLElement.html">XMLElement</a>* createPresence </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"><a class="el" href="classTelEngine_1_1JBPresence.html#c25d041dbdb54de3fe3b492859d0575c">Presence</a> </td> <td class="paramname"> <em>type</em> = <code>None</code></td><td> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td><td><code> [static]</code></td> </tr> </table> </div> <div class="memdoc"> <p> Create an 'presence' element <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>type</em> </td><td>Presence type as enumeration </td></tr> </table> </dl> <dl class="return" compact><dt><b>Returns:</b></dt><dd>A valid <a class="el" href="classTelEngine_1_1XMLElement.html" title="An XML element.">XMLElement</a> pointer </dd></dl> </div> </div><p> <a class="anchor" name="796b0a30e17b555f2b9f192403bb67b9"></a><!-- doxytag: member="TelEngine::JBPresence::decodeError" ref="796b0a30e17b555f2b9f192403bb67b9" args="(const XMLElement *element, String &code, String &type, String &error)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">static bool decodeError </td> <td>(</td> <td class="paramtype">const <a class="el" href="classTelEngine_1_1XMLElement.html">XMLElement</a> * </td> <td class="paramname"> <em>element</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"><a class="el" href="classTelEngine_1_1String.html">String</a> & </td> <td class="paramname"> <em>code</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"><a class="el" href="classTelEngine_1_1String.html">String</a> & </td> <td class="paramname"> <em>type</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"><a class="el" href="classTelEngine_1_1String.html">String</a> & </td> <td class="paramname"> <em>error</em></td><td> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td><td><code> [static]</code></td> </tr> </table> </div> <div class="memdoc"> <p> Decode an error element <dl compact><dt><b>Parameters:</b></dt><dd> <table border="0" cellspacing="2" cellpadding="0"> <tr><td valign="top"></td><td valign="top"><em>element</em> </td><td>The XML element </td></tr> <tr><td valign="top"></td><td valign="top"><em>code</em> </td><td>The 'code' attribute </td></tr> <tr><td valign="top"></td><td valign="top"><em>type</em> </td><td>The 'type' attribute </td></tr> <tr><td valign="top"></td><td valign="top"><em>error</em> </td><td>The name of the 'error' child </td></tr> </table> </dl> <dl class="return" compact><dt><b>Returns:</b></dt><dd>False if 'element' is 0 or is not a presence one </dd></dl> </div> </div><p> <a class="anchor" name="30593acdb8584716c1a59a3a4510a562"></a><!-- doxytag: member="TelEngine::JBPresence::delUnavailable" ref="30593acdb8584716c1a59a3a4510a562" args="() const " --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">bool delUnavailable </td> <td>(</td> <td class="paramname"> </td> <td> ) </td> <td> const<code> [inline]</code></td> </tr> </table> </div> <div class="memdoc"> <p> Check if the unavailable resources must be deleted <dl class="return" compact><dt><b>Returns:</b></dt><dd>The delete unavailable parameter </dd></dl> </div> </div><p> <a class="anchor" name="9a1f01d8186322d918f490ff564ee485"></a><!-- doxytag: member="TelEngine::JBPresence::expireInterval" ref="9a1f01d8186322d918f490ff564ee485" args="()" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">u_int32_t expireInterval </td> <td>(</td> <td class="paramname"> </td> <td> ) </td> <td><code> [inline]</code></td> </tr> </table> </div> <div class="memdoc"> <p> Get the expire after probe interval <dl class="return" compact><dt><b>Returns:</b></dt><dd>The expire after probe interval </dd></dl> </div> </div><p> <a class="anchor" name="6f6dde4331fb7aae42528c69ed8e43fe"></a><!-- doxytag: member="TelEngine::JBPresence::getRemoteUser" ref="6f6dde4331fb7aae42528c69ed8e43fe" args="(const JabberID &local, const JabberID &remote, bool addLocal, bool *addedLocal, bool addRemote, bool *addedRemote)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname"><a class="el" href="classTelEngine_1_1XMPPUser.html">XMPPUser</a>* getRemoteUser </td> <td>(</td> <td class="paramtype">const <a class="el" href="classTelEngine_1_1JabberID.html">JabberID</a> & </td> <td class="paramname"> <em>local</em>, </td> </tr> <tr> <td class="paramkey"></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> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">bool </td> <td class="paramname"> <em>addLocal</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">bool * </td> <td class="paramname"> <em>addedLocal</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">bool </td> <td class="paramname"> <em>addRemote</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">bool * </td> <td class="paramname"> <em>addedRemote</em></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 peer of a local one. Add a new one if requested. 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>local</em> </td><td>The local peer </td></tr> <tr><td valign="top"></td><td valign="top"><em>remote</em> </td><td>The remote peer </td></tr> <tr><td valign="top"></td><td valign="top"><em>addLocal</em> </td><td>True to add the local user if doesn't exists </td></tr> <tr><td valign="top"></td><td valign="top"><em>addedLocal</em> </td><td>Optional parameter to be set if a new local user was added </td></tr> <tr><td valign="top"></td><td valign="top"><em>addRemote</em> </td><td>True to add the remote user if doesn't exists </td></tr> <tr><td valign="top"></td><td valign="top"><em>addedRemote</em> </td><td>Optional parameter to be set if a new remote user was added </td></tr> </table> </dl> <dl class="return" compact><dt><b>Returns:</b></dt><dd>Referenced pointer or 0 if none </dd></dl> </div> </div><p> <a class="anchor" name="75715c2fb6acaae78c655f4686a3374f"></a><!-- doxytag: member="TelEngine::JBPresence::getRoster" ref="75715c2fb6acaae78c655f4686a3374f" args="(const JabberID &jid, bool add, bool *added)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname"><a class="el" href="classTelEngine_1_1XMPPUserRoster.html">XMPPUserRoster</a>* getRoster </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>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">bool * </td> <td class="paramname"> <em>added</em></td><td> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td><td></td> </tr> </table> </div> <div class="memdoc"> <p> Get a roster. Add a new one if requested. 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>The user's jid </td></tr> <tr><td valign="top"></td><td valign="top"><em>add</em> </td><td>True to add the user if doesn't exists </td></tr> <tr><td valign="top"></td><td valign="top"><em>added</em> </td><td>Optional parameter to be set if a new user was added </td></tr> </table> </dl> <dl class="return" compact><dt><b>Returns:</b></dt><dd>Referenced pointer or 0 if none </dd></dl> </div> </div><p> <a class="anchor" name="81d8403390567a39af9ae095849c7fd5"></a><!-- doxytag: member="TelEngine::JBPresence::ignoreNonRoster" ref="81d8403390567a39af9ae095849c7fd5" args="() const " --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">bool ignoreNonRoster </td> <td>(</td> <td class="paramname"> </td> <td> ) </td> <td> const<code> [inline]</code></td> </tr> </table> </div> <div class="memdoc"> <p> Check if this service should ignore destination users not in roster <dl class="return" compact><dt><b>Returns:</b></dt><dd>True if non existent destinations should be ignored </dd></dl> </div> </div><p> <a class="anchor" name="c391e1e7a016b4064486b5994fc1fed7"></a><!-- doxytag: member="TelEngine::JBPresence::initialize" ref="c391e1e7a016b4064486b5994fc1fed7" args="(const NamedList &params)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">virtual void initialize </td> <td>(</td> <td class="paramtype">const <a class="el" href="classTelEngine_1_1NamedList.html">NamedList</a> & </td> <td class="paramname"> <em>params</em> </td> <td> ) </td> <td><code> [virtual]</code></td> </tr> </table> </div> <div class="memdoc"> <p> Initialize the presence service <dl compact><dt><b>Parameters:</b></dt><dd> <table border="0" cellspacing="2" cellpadding="0"> <tr><td valign="top"></td><td valign="top"><em>params</em> </td><td>Service's parameters </td></tr> </table> </dl> <p>Reimplemented from <a class="el" href="classTelEngine_1_1JBService.html#c391e1e7a016b4064486b5994fc1fed7">JBService</a>.</p> </div> </div><p> <a class="anchor" name="15fdc005bfff4c338be6cc89998f3885"></a><!-- doxytag: member="TelEngine::JBPresence::notifyNewUser" ref="15fdc005bfff4c338be6cc89998f3885" args="(XMPPUser *user)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">virtual void notifyNewUser </td> <td>(</td> <td class="paramtype"><a class="el" href="classTelEngine_1_1XMPPUser.html">XMPPUser</a> * </td> <td class="paramname"> <em>user</em> </td> <td> ) </td> <td><code> [virtual]</code></td> </tr> </table> </div> <div class="memdoc"> <p> Notify when a new user is added Used basically to add a local resource <dl compact><dt><b>Parameters:</b></dt><dd> <table border="0" cellspacing="2" cellpadding="0"> <tr><td valign="top"></td><td valign="top"><em>user</em> </td><td>The new user </td></tr> </table> </dl> </div> </div><p> <a class="anchor" name="f7075130e70df851ef7b4ebd1452d6f1"></a><!-- doxytag: member="TelEngine::JBPresence::notifyPresence" ref="f7075130e70df851ef7b4ebd1452d6f1" args="(XMPPUser *user, JIDResource *resource)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">virtual void notifyPresence </td> <td>(</td> <td class="paramtype"><a class="el" href="classTelEngine_1_1XMPPUser.html">XMPPUser</a> * </td> <td class="paramname"> <em>user</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"><a class="el" href="classTelEngine_1_1JIDResource.html">JIDResource</a> * </td> <td class="paramname"> <em>resource</em></td><td> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td><td><code> [virtual]</code></td> </tr> </table> </div> <div class="memdoc"> <p> Notify on state/capabilities change <dl compact><dt><b>Parameters:</b></dt><dd> <table border="0" cellspacing="2" cellpadding="0"> <tr><td valign="top"></td><td valign="top"><em>user</em> </td><td>The user that received the event </td></tr> <tr><td valign="top"></td><td valign="top"><em>resource</em> </td><td>The resource that changet its state or capabilities </td></tr> </table> </dl> </div> </div><p> <a class="anchor" name="f1e2082b78364bf00d8f1a732bc3d356"></a><!-- doxytag: member="TelEngine::JBPresence::notifyPresence" ref="f1e2082b78364bf00d8f1a732bc3d356" args="(JBEvent *event, bool available)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">virtual bool notifyPresence </td> <td>(</td> <td class="paramtype"><a class="el" href="classTelEngine_1_1JBEvent.html">JBEvent</a> * </td> <td class="paramname"> <em>event</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">bool </td> <td class="paramname"> <em>available</em></td><td> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td><td><code> [virtual]</code></td> </tr> </table> </div> <div class="memdoc"> <p> Notify on presence event with users we don't know about or presence unavailable received without resource (the remote user is entirely unavailable) <dl compact><dt><b>Parameters:</b></dt><dd> <table border="0" cellspacing="2" cellpadding="0"> <tr><td valign="top"></td><td valign="top"><em>event</em> </td><td>The event with the element </td></tr> <tr><td valign="top"></td><td valign="top"><em>available</em> </td><td>The availability of the remote user </td></tr> </table> </dl> <dl class="return" compact><dt><b>Returns:</b></dt><dd>False to send item-not-found error </dd></dl> </div> </div><p> <a class="anchor" name="376c483f325871426f7c5f9e3e2a6b54"></a><!-- doxytag: member="TelEngine::JBPresence::notifyProbe" ref="376c483f325871426f7c5f9e3e2a6b54" args="(JBEvent *event)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">virtual bool notifyProbe </td> <td>(</td> <td class="paramtype"><a class="el" href="classTelEngine_1_1JBEvent.html">JBEvent</a> * </td> <td class="paramname"> <em>event</em> </td> <td> ) </td> <td><code> [virtual]</code></td> </tr> </table> </div> <div class="memdoc"> <p> Notify on probe request with users we don't know about <dl compact><dt><b>Parameters:</b></dt><dd> <table border="0" cellspacing="2" cellpadding="0"> <tr><td valign="top"></td><td valign="top"><em>event</em> </td><td>The event with the element </td></tr> </table> </dl> <dl class="return" compact><dt><b>Returns:</b></dt><dd>False to send item-not-found error </dd></dl> </div> </div><p> <a class="anchor" name="7a08ed28521d238c99cfc78e06b830a5"></a><!-- doxytag: member="TelEngine::JBPresence::notifySubscribe" ref="7a08ed28521d238c99cfc78e06b830a5" args="(XMPPUser *user, Presence presence)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">virtual void notifySubscribe </td> <td>(</td> <td class="paramtype"><a class="el" href="classTelEngine_1_1XMPPUser.html">XMPPUser</a> * </td> <td class="paramname"> <em>user</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"><a class="el" href="classTelEngine_1_1JBPresence.html#c25d041dbdb54de3fe3b492859d0575c">Presence</a> </td> <td class="paramname"> <em>presence</em></td><td> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td><td><code> [virtual]</code></td> </tr> </table> </div> <div class="memdoc"> <p> Notify on subscribe event <dl compact><dt><b>Parameters:</b></dt><dd> <table border="0" cellspacing="2" cellpadding="0"> <tr><td valign="top"></td><td valign="top"><em>user</em> </td><td>The user that received the event </td></tr> <tr><td valign="top"></td><td valign="top"><em>presence</em> </td><td>Presence type: Subscribe,Subscribed,Unsubscribe,Unsubscribed </td></tr> </table> </dl> </div> </div><p> <a class="anchor" name="e2cb274f1acb51240b1a4d385f3d4788"></a><!-- doxytag: member="TelEngine::JBPresence::notifySubscribe" ref="e2cb274f1acb51240b1a4d385f3d4788" args="(JBEvent *event, Presence presence)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">virtual bool notifySubscribe </td> <td>(</td> <td class="paramtype"><a class="el" href="classTelEngine_1_1JBEvent.html">JBEvent</a> * </td> <td class="paramname"> <em>event</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"><a class="el" href="classTelEngine_1_1JBPresence.html#c25d041dbdb54de3fe3b492859d0575c">Presence</a> </td> <td class="paramname"> <em>presence</em></td><td> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td><td><code> [virtual]</code></td> </tr> </table> </div> <div class="memdoc"> <p> Notify on subscribe event with users we don't know about <dl compact><dt><b>Parameters:</b></dt><dd> <table border="0" cellspacing="2" cellpadding="0"> <tr><td valign="top"></td><td valign="top"><em>event</em> </td><td>The event with the element </td></tr> <tr><td valign="top"></td><td valign="top"><em>presence</em> </td><td>Presence type: Subscribe,Subscribed,Unsubscribe,Unsubscribed </td></tr> </table> </dl> <dl class="return" compact><dt><b>Returns:</b></dt><dd>False to send item-not-found error </dd></dl> </div> </div><p> <a class="anchor" name="2fe197cd8f6468e33359e0aeb4cee17c"></a><!-- doxytag: member="TelEngine::JBPresence::presenceText" ref="2fe197cd8f6468e33359e0aeb4cee17c" args="(Presence presence)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">static const char* presenceText </td> <td>(</td> <td class="paramtype"><a class="el" href="classTelEngine_1_1JBPresence.html#c25d041dbdb54de3fe3b492859d0575c">Presence</a> </td> <td class="paramname"> <em>presence</em> </td> <td> ) </td> <td><code> [inline, static]</code></td> </tr> </table> </div> <div class="memdoc"> <p> Get the text from a presence type <dl compact><dt><b>Parameters:</b></dt><dd> <table border="0" cellspacing="2" cellpadding="0"> <tr><td valign="top"></td><td valign="top"><em>presence</em> </td><td>The presence type </td></tr> </table> </dl> <dl class="return" compact><dt><b>Returns:</b></dt><dd>The associated text or 0 </dd></dl> <p>References <a class="el" href="namespaceTelEngine.html#4668c9172c6ae5f59f5782ecc6e05516">TelEngine::lookup()</a>.</p> </div> </div><p> <a class="anchor" name="a615b5a1d31387a2500a78b7e4e658e4"></a><!-- doxytag: member="TelEngine::JBPresence::presenceType" ref="a615b5a1d31387a2500a78b7e4e658e4" args="(const char *text)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">static <a class="el" href="classTelEngine_1_1JBPresence.html#c25d041dbdb54de3fe3b492859d0575c">Presence</a> presenceType </td> <td>(</td> <td class="paramtype">const char * </td> <td class="paramname"> <em>text</em> </td> <td> ) </td> <td><code> [inline, static]</code></td> </tr> </table> </div> <div class="memdoc"> <p> Get the type of a 'presence' stanza as enumeration <dl compact><dt><b>Parameters:</b></dt><dd> <table border="0" cellspacing="2" cellpadding="0"> <tr><td valign="top"></td><td valign="top"><em>text</em> </td><td>The text to check </td></tr> </table> </dl> <dl class="return" compact><dt><b>Returns:</b></dt><dd>Presence type as enumeration </dd></dl> <p>References <a class="el" href="namespaceTelEngine.html#4668c9172c6ae5f59f5782ecc6e05516">TelEngine::lookup()</a>.</p> </div> </div><p> <a class="anchor" name="56494b758a4be1017b702e28a8b48cdd"></a><!-- doxytag: member="TelEngine::JBPresence::probeInterval" ref="56494b758a4be1017b702e28a8b48cdd" args="()" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">u_int32_t probeInterval </td> <td>(</td> <td class="paramname"> </td> <td> ) </td> <td><code> [inline]</code></td> </tr> </table> </div> <div class="memdoc"> <p> Get the probe interval. <a class="el" href="classTelEngine_1_1Time.html" title="A time holding class.">Time</a> to send a probe if nothing was received from that user <dl class="return" compact><dt><b>Returns:</b></dt><dd>The probe interval </dd></dl> </div> </div><p> <a class="anchor" name="7017ddc30577ae1cdf3941090fe9f4b4"></a><!-- doxytag: member="TelEngine::JBPresence::process" ref="7017ddc30577ae1cdf3941090fe9f4b4" args="()" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">virtual bool process </td> <td>(</td> <td class="paramname"> </td> <td> ) </td> <td><code> [virtual]</code></td> </tr> </table> </div> <div class="memdoc"> <p> Process an event from the receiving list This method is thread safe <dl class="return" compact><dt><b>Returns:</b></dt><dd>False if the list is empty </dd></dl> </div> </div><p> <a class="anchor" name="237f8595d1601060479254f435c76a2e"></a><!-- doxytag: member="TelEngine::JBPresence::processDisco" ref="237f8595d1601060479254f435c76a2e" args="(JBEvent *event)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">virtual void processDisco </td> <td>(</td> <td class="paramtype"><a class="el" href="classTelEngine_1_1JBEvent.html">JBEvent</a> * </td> <td class="paramname"> <em>event</em> </td> <td> ) </td> <td><code> [virtual]</code></td> </tr> </table> </div> <div class="memdoc"> <p> Process disco info elements <dl compact><dt><b>Parameters:</b></dt><dd> <table border="0" cellspacing="2" cellpadding="0"> <tr><td valign="top"></td><td valign="top"><em>event</em> </td><td>The event with the element </td></tr> </table> </dl> </div> </div><p> <a class="anchor" name="5dc6c5f322b8d9fa0ac5134903351a8a"></a><!-- doxytag: member="TelEngine::JBPresence::processError" ref="5dc6c5f322b8d9fa0ac5134903351a8a" args="(JBEvent *event)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">virtual void processError </td> <td>(</td> <td class="paramtype"><a class="el" href="classTelEngine_1_1JBEvent.html">JBEvent</a> * </td> <td class="paramname"> <em>event</em> </td> <td> ) </td> <td><code> [virtual]</code></td> </tr> </table> </div> <div class="memdoc"> <p> Process a presence error element <dl compact><dt><b>Parameters:</b></dt><dd> <table border="0" cellspacing="2" cellpadding="0"> <tr><td valign="top"></td><td valign="top"><em>event</em> </td><td>The event with the element </td></tr> </table> </dl> </div> </div><p> <a class="anchor" name="7d1bf8d5801e19b8726c6d8f03a87ad7"></a><!-- doxytag: member="TelEngine::JBPresence::processPresence" ref="7d1bf8d5801e19b8726c6d8f03a87ad7" args="(JBEvent *event)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">virtual void processPresence </td> <td>(</td> <td class="paramtype"><a class="el" href="classTelEngine_1_1JBEvent.html">JBEvent</a> * </td> <td class="paramname"> <em>event</em> </td> <td> ) </td> <td><code> [virtual]</code></td> </tr> </table> </div> <div class="memdoc"> <p> Process a presence element <dl compact><dt><b>Parameters:</b></dt><dd> <table border="0" cellspacing="2" cellpadding="0"> <tr><td valign="top"></td><td valign="top"><em>event</em> </td><td>The event with the element </td></tr> </table> </dl> </div> </div><p> <a class="anchor" name="8cd7f33b24f3c781c85adb96cc474be3"></a><!-- doxytag: member="TelEngine::JBPresence::processProbe" ref="8cd7f33b24f3c781c85adb96cc474be3" args="(JBEvent *event)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">virtual void processProbe </td> <td>(</td> <td class="paramtype"><a class="el" href="classTelEngine_1_1JBEvent.html">JBEvent</a> * </td> <td class="paramname"> <em>event</em> </td> <td> ) </td> <td><code> [virtual]</code></td> </tr> </table> </div> <div class="memdoc"> <p> Process a presence probe element <dl compact><dt><b>Parameters:</b></dt><dd> <table border="0" cellspacing="2" cellpadding="0"> <tr><td valign="top"></td><td valign="top"><em>event</em> </td><td>The event with the element </td></tr> </table> </dl> </div> </div><p> <a class="anchor" name="1062d1893a63b6884188ce569c8c799e"></a><!-- doxytag: member="TelEngine::JBPresence::processSubscribe" ref="1062d1893a63b6884188ce569c8c799e" args="(JBEvent *event, Presence presence)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">virtual void processSubscribe </td> <td>(</td> <td class="paramtype"><a class="el" href="classTelEngine_1_1JBEvent.html">JBEvent</a> * </td> <td class="paramname"> <em>event</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"><a class="el" href="classTelEngine_1_1JBPresence.html#c25d041dbdb54de3fe3b492859d0575c">Presence</a> </td> <td class="paramname"> <em>presence</em></td><td> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td><td><code> [virtual]</code></td> </tr> </table> </div> <div class="memdoc"> <p> Process a presence subscribe element <dl compact><dt><b>Parameters:</b></dt><dd> <table border="0" cellspacing="2" cellpadding="0"> <tr><td valign="top"></td><td valign="top"><em>event</em> </td><td>The event with the element </td></tr> <tr><td valign="top"></td><td valign="top"><em>presence</em> </td><td>Presence type: Subscribe,Subscribed,Unsubscribe,Unsubscribed </td></tr> </table> </dl> </div> </div><p> <a class="anchor" name="85431d5cfabe4d334e98cb75d74a8f0a"></a><!-- doxytag: member="TelEngine::JBPresence::processUnavailable" ref="85431d5cfabe4d334e98cb75d74a8f0a" args="(JBEvent *event)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">virtual void processUnavailable </td> <td>(</td> <td class="paramtype"><a class="el" href="classTelEngine_1_1JBEvent.html">JBEvent</a> * </td> <td class="paramname"> <em>event</em> </td> <td> ) </td> <td><code> [virtual]</code></td> </tr> </table> </div> <div class="memdoc"> <p> Process a presence unavailable element <dl compact><dt><b>Parameters:</b></dt><dd> <table border="0" cellspacing="2" cellpadding="0"> <tr><td valign="top"></td><td valign="top"><em>event</em> </td><td>The event with the element </td></tr> </table> </dl> </div> </div><p> <a class="anchor" name="12771c6d0e637371a0541ced28a56d6b"></a><!-- doxytag: member="TelEngine::JBPresence::removeRemoteUser" ref="12771c6d0e637371a0541ced28a56d6b" args="(const JabberID &local, const JabberID &remote)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">void removeRemoteUser </td> <td>(</td> <td class="paramtype">const <a class="el" href="classTelEngine_1_1JabberID.html">JabberID</a> & </td> <td class="paramname"> <em>local</em>, </td> </tr> <tr> <td class="paramkey"></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> </tr> <tr> <td></td> <td>)</td> <td></td><td></td><td></td> </tr> </table> </div> <div class="memdoc"> <p> Remove a remote peer of a local one 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>local</em> </td><td>The local peer </td></tr> <tr><td valign="top"></td><td valign="top"><em>remote</em> </td><td>The remote peer </td></tr> </table> </dl> </div> </div><p> <a class="anchor" name="c153c33c0a8f71bc48e43e66dc601495"></a><!-- doxytag: member="TelEngine::JBPresence::sendError" ref="c153c33c0a8f71bc48e43e66dc601495" args="(XMPPError::Type type, const String &from, const String &to, XMLElement *element, JBStream *stream=0, const String *id=0)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">bool sendError </td> <td>(</td> <td class="paramtype"><a class="el" href="classTelEngine_1_1XMPPError.html#1d1cfd8ffb84e947f82999c682b666a7">XMPPError::Type</a> </td> <td class="paramname"> <em>type</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">const <a class="el" href="classTelEngine_1_1String.html">String</a> & </td> <td class="paramname"> <em>from</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">const <a class="el" href="classTelEngine_1_1String.html">String</a> & </td> <td class="paramname"> <em>to</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"><a class="el" href="classTelEngine_1_1XMLElement.html">XMLElement</a> * </td> <td class="paramname"> <em>element</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"><a class="el" href="classTelEngine_1_1JBStream.html">JBStream</a> * </td> <td class="paramname"> <em>stream</em> = <code>0</code>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">const <a class="el" href="classTelEngine_1_1String.html">String</a> * </td> <td class="paramname"> <em>id</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> Send an error. Error type is 'modify'. If id is 0 sent element will be of type 'presence'. Otherwise: 'iq' <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>The error </td></tr> <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>element</em> </td><td>The element that generated the error </td></tr> <tr><td valign="top"></td><td valign="top"><em>stream</em> </td><td>Optional stream to use </td></tr> <tr><td valign="top"></td><td valign="top"><em>id</em> </td><td>Optional id. If present (even if empty) the error element will be of type 'iq' </td></tr> </table> </dl> <dl class="return" compact><dt><b>Returns:</b></dt><dd>The result of send operation </dd></dl> </div> </div><p> <a class="anchor" name="a12450375ee4a427ca508c20ce325b67"></a><!-- doxytag: member="TelEngine::JBPresence::sendStanza" ref="a12450375ee4a427ca508c20ce325b67" args="(XMLElement *element, JBStream *stream)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">bool sendStanza </td> <td>(</td> <td class="paramtype"><a class="el" href="classTelEngine_1_1XMLElement.html">XMLElement</a> * </td> <td class="paramname"> <em>element</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"><a class="el" href="classTelEngine_1_1JBStream.html">JBStream</a> * </td> <td class="paramname"> <em>stream</em></td><td> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td><td></td> </tr> </table> </div> <div class="memdoc"> <p> Send an element through the given stream. If the stream is 0 try to get one from the engine. In any case the element is consumed (deleted) <dl compact><dt><b>Parameters:</b></dt><dd> <table border="0" cellspacing="2" cellpadding="0"> <tr><td valign="top"></td><td valign="top"><em>element</em> </td><td>Element to send </td></tr> <tr><td valign="top"></td><td valign="top"><em>stream</em> </td><td>The stream to send through </td></tr> </table> </dl> <dl class="return" compact><dt><b>Returns:</b></dt><dd>The result of send operation. False if element is 0 </dd></dl> </div> </div><p> <a class="anchor" name="0d48d2597077360cd4cb51f4e648225c"></a><!-- doxytag: member="TelEngine::JBPresence::validDomain" ref="0d48d2597077360cd4cb51f4e648225c" args="(const String &domain)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">bool validDomain </td> <td>(</td> <td class="paramtype">const <a class="el" href="classTelEngine_1_1String.html">String</a> & </td> <td class="paramname"> <em>domain</em> </td> <td> ) </td> <td></td> </tr> </table> </div> <div class="memdoc"> <p> Check if the given domain is a valid (known) one <dl compact><dt><b>Parameters:</b></dt><dd> <table border="0" cellspacing="2" cellpadding="0"> <tr><td valign="top"></td><td valign="top"><em>domain</em> </td><td>The domain name to check </td></tr> </table> </dl> <dl class="return" compact><dt><b>Returns:</b></dt><dd>True if the given domain is a valid one </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>