Sophie

Sophie

distrib > Mandriva > 2010.0 > i586 > media > contrib-release > by-pkgid > eeacaa4eb55fa544d622989e42fc27b1 > files > 233

libyate-devel-2.0.0-2mdv2009.1.i586.rpm

<!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&nbsp;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&nbsp;List</span></a></li>
      <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
      <li><a href="functions.html"><span>Class&nbsp;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 &lt;<a class="el" href="yatejabber_8h-source.html">yatejabber.h</a>&gt;</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 &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTelEngine_1_1JBPresence.html#c25d041dbdb54de3fe3b492859d0575c">Presence</a> { <br>
&nbsp;&nbsp;<b>Error</b> =  0, 
<b>Probe</b> =  1, 
<b>Subscribe</b> =  2, 
<b>Subscribed</b> =  3, 
<br>
&nbsp;&nbsp;<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">&nbsp;</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&nbsp;</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>&nbsp;</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&nbsp;</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>&nbsp;</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>&nbsp;</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>&nbsp;</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&nbsp;</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&nbsp;</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&nbsp;</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&nbsp;</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&nbsp;</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> &amp;params)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual bool&nbsp;</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&nbsp;</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&nbsp;</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&nbsp;</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&nbsp;</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&nbsp;</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&nbsp;</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&nbsp;</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&nbsp;</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&nbsp;</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&nbsp;</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&nbsp;</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&nbsp;</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&nbsp;</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> *&nbsp;</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> &amp;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> *&nbsp;</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> &amp;local, const <a class="el" href="classTelEngine_1_1JabberID.html">JabberID</a> &amp;remote, bool addLocal, bool *addedLocal, bool addRemote, bool *addedRemote)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</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> &amp;local, const <a class="el" href="classTelEngine_1_1JabberID.html">JabberID</a> &amp;remote)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</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> &amp;domain)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</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&nbsp;</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> &amp;from, const <a class="el" href="classTelEngine_1_1String.html">String</a> &amp;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&nbsp;</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> *&nbsp;</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&nbsp;</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> &amp;code, <a class="el" href="classTelEngine_1_1String.html">String</a> &amp;type, <a class="el" href="classTelEngine_1_1String.html">String</a> &amp;error)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">static <a class="el" href="classTelEngine_1_1JBPresence.html#c25d041dbdb54de3fe3b492859d0575c">Presence</a>&nbsp;</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 *&nbsp;</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&nbsp;</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 &amp;processed, bool &amp;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>&nbsp;</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&nbsp;</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&nbsp;</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&nbsp;</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>&nbsp;</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>&nbsp;</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>&nbsp;</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&nbsp;</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&nbsp;</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&nbsp;</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>&nbsp;</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> *&nbsp;</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>&nbsp;</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>&nbsp;</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&nbsp;</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 &amp; 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> *&nbsp;</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> *&nbsp;</td>
          <td class="paramname"> <em>params</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&nbsp;</td>
          <td class="paramname"> <em>prio</em> = <code>0</code></td><td>&nbsp;</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>&nbsp;</td><td>The Jabber engine </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>params</em>&nbsp;</td><td>Service's parameters </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>prio</em>&nbsp;</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>&nbsp;)&nbsp;</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 &amp;processed, bool &amp;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> *&nbsp;</td>
          <td class="paramname"> <em>event</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">bool &amp;&nbsp;</td>
          <td class="paramname"> <em>processed</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">bool &amp;&nbsp;</td>
          <td class="paramname"> <em>insert</em></td><td>&nbsp;</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>&nbsp;</td><td>The event to accept </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>processed</em>&nbsp;</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>&nbsp;</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>&nbsp;)&nbsp;</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>&nbsp;)&nbsp;</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>&nbsp;)&nbsp;</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>&nbsp;)&nbsp;</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>&nbsp;)&nbsp;</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&nbsp;</td>
          <td class="paramname"> <em>time</em>          </td>
          <td>&nbsp;)&nbsp;</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>&nbsp;</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>&nbsp;)&nbsp;</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 *&nbsp;</td>
          <td class="paramname"> <em>from</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&nbsp;</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>&nbsp;</td>
          <td class="paramname"> <em>type</em> = <code>None</code></td><td>&nbsp;</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>&nbsp;</td><td>The 'from' attribute </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>to</em>&nbsp;</td><td>The 'to' attribute </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>type</em>&nbsp;</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 &amp;code, String &amp;type, String &amp;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> *&nbsp;</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> &amp;&nbsp;</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> &amp;&nbsp;</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> &amp;&nbsp;</td>
          <td class="paramname"> <em>error</em></td><td>&nbsp;</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>&nbsp;</td><td>The XML element </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>code</em>&nbsp;</td><td>The 'code' attribute </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>type</em>&nbsp;</td><td>The 'type' attribute </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>error</em>&nbsp;</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>&nbsp;)&nbsp;</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>&nbsp;)&nbsp;</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 &amp;local, const JabberID &amp;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> &amp;&nbsp;</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> &amp;&nbsp;</td>
          <td class="paramname"> <em>remote</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">bool&nbsp;</td>
          <td class="paramname"> <em>addLocal</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">bool *&nbsp;</td>
          <td class="paramname"> <em>addedLocal</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">bool&nbsp;</td>
          <td class="paramname"> <em>addRemote</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">bool *&nbsp;</td>
          <td class="paramname"> <em>addedRemote</em></td><td>&nbsp;</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>&nbsp;</td><td>The local peer </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>remote</em>&nbsp;</td><td>The remote peer </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>addLocal</em>&nbsp;</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>&nbsp;</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>&nbsp;</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>&nbsp;</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 &amp;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> &amp;&nbsp;</td>
          <td class="paramname"> <em>jid</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">bool&nbsp;</td>
          <td class="paramname"> <em>add</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">bool *&nbsp;</td>
          <td class="paramname"> <em>added</em></td><td>&nbsp;</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>&nbsp;</td><td>The user's jid </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>add</em>&nbsp;</td><td>True to add the user if doesn't exists </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>added</em>&nbsp;</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>&nbsp;)&nbsp;</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 &amp;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> &amp;&nbsp;</td>
          <td class="paramname"> <em>params</em>          </td>
          <td>&nbsp;)&nbsp;</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>&nbsp;</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> *&nbsp;</td>
          <td class="paramname"> <em>user</em>          </td>
          <td>&nbsp;)&nbsp;</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>&nbsp;</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> *&nbsp;</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> *&nbsp;</td>
          <td class="paramname"> <em>resource</em></td><td>&nbsp;</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>&nbsp;</td><td>The user that received the event </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>resource</em>&nbsp;</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> *&nbsp;</td>
          <td class="paramname"> <em>event</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">bool&nbsp;</td>
          <td class="paramname"> <em>available</em></td><td>&nbsp;</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>&nbsp;</td><td>The event with the element </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>available</em>&nbsp;</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> *&nbsp;</td>
          <td class="paramname"> <em>event</em>          </td>
          <td>&nbsp;)&nbsp;</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>&nbsp;</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> *&nbsp;</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>&nbsp;</td>
          <td class="paramname"> <em>presence</em></td><td>&nbsp;</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>&nbsp;</td><td>The user that received the event </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>presence</em>&nbsp;</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> *&nbsp;</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>&nbsp;</td>
          <td class="paramname"> <em>presence</em></td><td>&nbsp;</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>&nbsp;</td><td>The event with the element </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>presence</em>&nbsp;</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>&nbsp;</td>
          <td class="paramname"> <em>presence</em>          </td>
          <td>&nbsp;)&nbsp;</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>&nbsp;</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 *&nbsp;</td>
          <td class="paramname"> <em>text</em>          </td>
          <td>&nbsp;)&nbsp;</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>&nbsp;</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>&nbsp;)&nbsp;</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>&nbsp;)&nbsp;</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> *&nbsp;</td>
          <td class="paramname"> <em>event</em>          </td>
          <td>&nbsp;)&nbsp;</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>&nbsp;</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> *&nbsp;</td>
          <td class="paramname"> <em>event</em>          </td>
          <td>&nbsp;)&nbsp;</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>&nbsp;</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> *&nbsp;</td>
          <td class="paramname"> <em>event</em>          </td>
          <td>&nbsp;)&nbsp;</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>&nbsp;</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> *&nbsp;</td>
          <td class="paramname"> <em>event</em>          </td>
          <td>&nbsp;)&nbsp;</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>&nbsp;</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> *&nbsp;</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>&nbsp;</td>
          <td class="paramname"> <em>presence</em></td><td>&nbsp;</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>&nbsp;</td><td>The event with the element </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>presence</em>&nbsp;</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> *&nbsp;</td>
          <td class="paramname"> <em>event</em>          </td>
          <td>&nbsp;)&nbsp;</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>&nbsp;</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 &amp;local, const JabberID &amp;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> &amp;&nbsp;</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> &amp;&nbsp;</td>
          <td class="paramname"> <em>remote</em></td><td>&nbsp;</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>&nbsp;</td><td>The local peer </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>remote</em>&nbsp;</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 &amp;from, const String &amp;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>&nbsp;</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> &amp;&nbsp;</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> &amp;&nbsp;</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> *&nbsp;</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> *&nbsp;</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> *&nbsp;</td>
          <td class="paramname"> <em>id</em> = <code>0</code></td><td>&nbsp;</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>&nbsp;</td><td>The error </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>from</em>&nbsp;</td><td>The from attribute </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>to</em>&nbsp;</td><td>The to attribute </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>element</em>&nbsp;</td><td>The element that generated the error </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>stream</em>&nbsp;</td><td>Optional stream to use </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>id</em>&nbsp;</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> *&nbsp;</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> *&nbsp;</td>
          <td class="paramname"> <em>stream</em></td><td>&nbsp;</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>&nbsp;</td><td>Element to send </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>stream</em>&nbsp;</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 &amp;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> &amp;&nbsp;</td>
          <td class="paramname"> <em>domain</em>          </td>
          <td>&nbsp;)&nbsp;</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>&nbsp;</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&nbsp;
<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>