blob: b094030546c00c0a09ec53e3d7f4ebfac4ada41b [file] [log] [blame]
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<title>mqttpp: mqtt::iasync_client Class Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<link href="doxygen.css" rel="stylesheet" type="text/css"/>
</head>
<body>
<!-- Generated by Doxygen 1.6.1 -->
<div class="navigation" id="top">
<div class="tabs">
<ul>
<li><a href="main.html"><span>Main&nbsp;Page</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="classes.html"><span>Class&nbsp;Index</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"><b>mqtt</b>::<a class="el" href="classmqtt_1_1iasync__client.html">iasync_client</a>
</div>
</div>
<div class="contents">
<h1>mqtt::iasync_client Class Reference</h1><!-- doxytag: class="mqtt::iasync_client" -->
<p>Enables an application to communicate with an MQTT server using non-blocking methods.
<a href="#_details">More...</a></p>
<p><code>#include &lt;<a class="el" href="async__client_8h_source.html">async_client.h</a>&gt;</code></p>
<div class="dynheader">
Inheritance diagram for mqtt::iasync_client:</div>
<div class="dynsection">
<div class="center">
<img src="classmqtt_1_1iasync__client.gif" usemap="#mqtt::iasync_client_map" alt=""/>
<map id="mqtt::iasync_client_map" name="mqtt::iasync_client_map">
<area href="classmqtt_1_1async__client.html" alt="mqtt::async_client" shape="rect" coords="0,56,113,80"/>
</map>
</div>
</div>
<p><a href="classmqtt_1_1iasync__client-members.html">List of all members.</a></p>
<table border="0" cellpadding="0" cellspacing="0">
<tr><td colspan="2"><h2>Public Types</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a058f9d82f67aac8415f8475ed63a5dad"></a><!-- doxytag: member="mqtt::iasync_client::topic_filter_collection" ref="a058f9d82f67aac8415f8475ed63a5dad" args="" -->
typedef std::vector&lt; std::string &gt;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmqtt_1_1iasync__client.html#a058f9d82f67aac8415f8475ed63a5dad">topic_filter_collection</a></td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Type for a collection of filters. <br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a2a86f5766c4b7f4f0c6cf01611380ccf"></a><!-- doxytag: member="mqtt::iasync_client::qos_collection" ref="a2a86f5766c4b7f4f0c6cf01611380ccf" args="" -->
typedef std::vector&lt; int &gt;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmqtt_1_1iasync__client.html#a2a86f5766c4b7f4f0c6cf01611380ccf">qos_collection</a></td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Type for a collection of QOS values. <br/></td></tr>
<tr><td colspan="2"><h2>Public Member Functions</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a423bdce3b018de4597f773402f3eb360"></a><!-- doxytag: member="mqtt::iasync_client::~iasync_client" ref="a423bdce3b018de4597f773402f3eb360" args="()" -->
virtual&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmqtt_1_1iasync__client.html#a423bdce3b018de4597f773402f3eb360">~iasync_client</a> ()</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Virtual destructor. <br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">virtual itoken_ptr&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmqtt_1_1iasync__client.html#aa617f0e2b4ed0fe4648bbefdc6433d27">connect</a> ()=0 throw (exception, security_exception)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Connects to an MQTT server using the default options. <a href="#aa617f0e2b4ed0fe4648bbefdc6433d27"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">virtual itoken_ptr&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmqtt_1_1iasync__client.html#a42808fb8034cddd1cbebf014cad50109">connect</a> (<a class="el" href="classmqtt_1_1connect__options.html">connect_options</a> options)=0 throw (exception, security_exception)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Connects to an MQTT server using the provided connect options. <a href="#a42808fb8034cddd1cbebf014cad50109"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">virtual itoken_ptr&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmqtt_1_1iasync__client.html#a81aad88ceae67dfb0009862871eca089">connect</a> (<a class="el" href="classmqtt_1_1connect__options.html">connect_options</a> options, void *userContext, <a class="el" href="classmqtt_1_1iaction__listener.html">iaction_listener</a> &amp;cb)=0 throw (exception, security_exception)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Connects to an MQTT server using the specified options. <a href="#a81aad88ceae67dfb0009862871eca089"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">virtual itoken_ptr&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmqtt_1_1iasync__client.html#a89e5d15a1719510009de898867c36051">connect</a> (void *userContext, <a class="el" href="classmqtt_1_1iaction__listener.html">iaction_listener</a> &amp;cb)=0 throw (exception, security_exception)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">virtual itoken_ptr&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmqtt_1_1iasync__client.html#aff2ecf209f7ab77d08b38510880f32ca">disconnect</a> ()=0 throw (exception)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Disconnects from the server. <a href="#aff2ecf209f7ab77d08b38510880f32ca"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">virtual itoken_ptr&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmqtt_1_1iasync__client.html#a5dba5c7b3819adbcdf3e2cf6aa1313db">disconnect</a> (long quiesceTimeout)=0 throw (exception)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Disconnects from the server. <a href="#a5dba5c7b3819adbcdf3e2cf6aa1313db"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">virtual itoken_ptr&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmqtt_1_1iasync__client.html#acd4f4567a88e587006d48e23527e30a3">disconnect</a> (long quiesceTimeout, void *userContext, <a class="el" href="classmqtt_1_1iaction__listener.html">iaction_listener</a> &amp;cb)=0 throw (exception)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Disconnects from the server. <a href="#acd4f4567a88e587006d48e23527e30a3"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">virtual itoken_ptr&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmqtt_1_1iasync__client.html#a4c1ca0b6f0bbbee719bfde1e03a9850a">disconnect</a> (void *userContext, <a class="el" href="classmqtt_1_1iaction__listener.html">iaction_listener</a> &amp;cb)=0 throw (exception)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Disconnects from the server. <a href="#a4c1ca0b6f0bbbee719bfde1e03a9850a"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">virtual idelivery_token_ptr&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmqtt_1_1iasync__client.html#af03b3ae480a762b2a655d5fe83f43096">get_pending_delivery_token</a> (int msgID) const =0</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns the delivery <a class="el" href="classmqtt_1_1token.html" title="Provides a mechanism for tracking the completion of an asynchronous action.">token</a> for the specified <a class="el" href="classmqtt_1_1message.html" title="An MQTT message holds the application payload and options specifying how the message...">message</a> ID. <a href="#af03b3ae480a762b2a655d5fe83f43096"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">virtual std::vector<br class="typebreak"/>
&lt; idelivery_token_ptr &gt;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmqtt_1_1iasync__client.html#a7c8ed0db731b51fe3b9634b92c5a77ef">get_pending_delivery_tokens</a> () const =0</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns the delivery tokens for any outstanding publish operations. <a href="#a7c8ed0db731b51fe3b9634b92c5a77ef"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">virtual std::string&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmqtt_1_1iasync__client.html#aef59cd111318d91a2455f1294a4b076b">get_client_id</a> () const =0</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns the <a class="el" href="classmqtt_1_1client.html" title="Lightweight client for talking to an MQTT server using methods that block until an...">client</a> ID used by this <a class="el" href="classmqtt_1_1client.html" title="Lightweight client for talking to an MQTT server using methods that block until an...">client</a>. <a href="#aef59cd111318d91a2455f1294a4b076b"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a86b6abefac7c06ece076645b41ec6862"></a><!-- doxytag: member="mqtt::iasync_client::get_server_uri" ref="a86b6abefac7c06ece076645b41ec6862" args="() const =0" -->
virtual std::string&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmqtt_1_1iasync__client.html#a86b6abefac7c06ece076645b41ec6862">get_server_uri</a> () const =0</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns the address of the server used by this <a class="el" href="classmqtt_1_1client.html" title="Lightweight client for talking to an MQTT server using methods that block until an...">client</a>. <br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a2c486e40ac2c91890d7ae40ef5223c92"></a><!-- doxytag: member="mqtt::iasync_client::is_connected" ref="a2c486e40ac2c91890d7ae40ef5223c92" args="() const =0" -->
virtual bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmqtt_1_1iasync__client.html#a2c486e40ac2c91890d7ae40ef5223c92">is_connected</a> () const =0</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Determines if this <a class="el" href="classmqtt_1_1client.html" title="Lightweight client for talking to an MQTT server using methods that block until an...">client</a> is currently connected to the server. <br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">virtual idelivery_token_ptr&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmqtt_1_1iasync__client.html#af70d2c1bff1f5ca2e26996870c3cbba7">publish</a> (const std::string &amp;<a class="el" href="classmqtt_1_1topic.html">topic</a>, const void *payload, size_t n, int qos, bool retained)=0 throw (exception)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Publishes a <a class="el" href="classmqtt_1_1message.html" title="An MQTT message holds the application payload and options specifying how the message...">message</a> to a <a class="el" href="classmqtt_1_1topic.html" title="Represents a topic destination, used for publish/subscribe messaging.">topic</a> on the server. <a href="#af70d2c1bff1f5ca2e26996870c3cbba7"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">virtual idelivery_token_ptr&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmqtt_1_1iasync__client.html#a974f5a18031c5a73f8d927fe90a35898">publish</a> (const std::string &amp;<a class="el" href="classmqtt_1_1topic.html">topic</a>, const void *payload, size_t n, int qos, bool retained, void *userContext, <a class="el" href="classmqtt_1_1iaction__listener.html">iaction_listener</a> &amp;cb)=0 throw (exception)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Publishes a <a class="el" href="classmqtt_1_1message.html" title="An MQTT message holds the application payload and options specifying how the message...">message</a> to a <a class="el" href="classmqtt_1_1topic.html" title="Represents a topic destination, used for publish/subscribe messaging.">topic</a> on the server. <a href="#a974f5a18031c5a73f8d927fe90a35898"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">virtual idelivery_token_ptr&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmqtt_1_1iasync__client.html#ac30286c4dfafa3e09bdd7ff7d1a4535d">publish</a> (const std::string &amp;<a class="el" href="classmqtt_1_1topic.html">topic</a>, message_ptr msg)=0 throw (exception)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Publishes a <a class="el" href="classmqtt_1_1message.html" title="An MQTT message holds the application payload and options specifying how the message...">message</a> to a <a class="el" href="classmqtt_1_1topic.html" title="Represents a topic destination, used for publish/subscribe messaging.">topic</a> on the server Takes an Message <a class="el" href="classmqtt_1_1message.html" title="An MQTT message holds the application payload and options specifying how the message...">message</a> and delivers it to the server at the requested quality of service. <a href="#ac30286c4dfafa3e09bdd7ff7d1a4535d"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">virtual idelivery_token_ptr&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmqtt_1_1iasync__client.html#a8318491eee669ce57bd4a67b64530770">publish</a> (const std::string &amp;<a class="el" href="classmqtt_1_1topic.html">topic</a>, message_ptr msg, void *userContext, <a class="el" href="classmqtt_1_1iaction__listener.html">iaction_listener</a> &amp;cb)=0 throw (exception)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Publishes a <a class="el" href="classmqtt_1_1message.html" title="An MQTT message holds the application payload and options specifying how the message...">message</a> to a <a class="el" href="classmqtt_1_1topic.html" title="Represents a topic destination, used for publish/subscribe messaging.">topic</a> on the server. <a href="#a8318491eee669ce57bd4a67b64530770"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">virtual void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmqtt_1_1iasync__client.html#ab02592cece3ea4f17164bf56ce7a16f2">set_callback</a> (<a class="el" href="classmqtt_1_1callback.html">callback</a> &amp;cb)=0 throw (exception)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Sets a <a class="el" href="classmqtt_1_1callback.html" title="Provides a mechanism for tracking the completion of an asynchronous action.">callback</a> listener to use for events that happen asynchronously. <a href="#ab02592cece3ea4f17164bf56ce7a16f2"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">virtual itoken_ptr&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmqtt_1_1iasync__client.html#ab024f5d92d340ce3355229fbe6ceaf20">subscribe</a> (const <a class="el" href="classmqtt_1_1iasync__client.html#a058f9d82f67aac8415f8475ed63a5dad">topic_filter_collection</a> &amp;topicFilters, const <a class="el" href="classmqtt_1_1iasync__client.html#a2a86f5766c4b7f4f0c6cf01611380ccf">qos_collection</a> &amp;qos)=0 throw (std::invalid_argument,exception)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Subscribe to multiple topics, each of which may include wildcards. <a href="#ab024f5d92d340ce3355229fbe6ceaf20"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">virtual itoken_ptr&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmqtt_1_1iasync__client.html#a6f5132478bcc514127f252868f0ceeaa">subscribe</a> (const <a class="el" href="classmqtt_1_1iasync__client.html#a058f9d82f67aac8415f8475ed63a5dad">topic_filter_collection</a> &amp;topicFilters, const <a class="el" href="classmqtt_1_1iasync__client.html#a2a86f5766c4b7f4f0c6cf01611380ccf">qos_collection</a> &amp;qos, void *userContext, <a class="el" href="classmqtt_1_1iaction__listener.html">iaction_listener</a> &amp;<a class="el" href="classmqtt_1_1callback.html">callback</a>)=0 throw (std::invalid_argument,exception)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Subscribes to multiple topics, each of which may include wildcards. <a href="#a6f5132478bcc514127f252868f0ceeaa"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">virtual itoken_ptr&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmqtt_1_1iasync__client.html#abc925035aa4f5fdebf19f16915411b40">subscribe</a> (const std::string &amp;topicFilter, int qos)=0 throw (exception)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Subscribe to a <a class="el" href="classmqtt_1_1topic.html" title="Represents a topic destination, used for publish/subscribe messaging.">topic</a>, which may include wildcards. <a href="#abc925035aa4f5fdebf19f16915411b40"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">virtual itoken_ptr&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmqtt_1_1iasync__client.html#ad7b7b8e253734cc1f14c62478f652b84">subscribe</a> (const std::string &amp;topicFilter, int qos, void *userContext, <a class="el" href="classmqtt_1_1iaction__listener.html">iaction_listener</a> &amp;<a class="el" href="classmqtt_1_1callback.html">callback</a>)=0 throw (exception)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Subscribe to a <a class="el" href="classmqtt_1_1topic.html" title="Represents a topic destination, used for publish/subscribe messaging.">topic</a>, which may include wildcards. <a href="#ad7b7b8e253734cc1f14c62478f652b84"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">virtual itoken_ptr&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmqtt_1_1iasync__client.html#a2b103506bf4d5d3d1702262588214acc">unsubscribe</a> (const std::string &amp;topicFilter)=0 throw (exception)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Requests the server unsubscribe the <a class="el" href="classmqtt_1_1client.html" title="Lightweight client for talking to an MQTT server using methods that block until an...">client</a> from a <a class="el" href="classmqtt_1_1topic.html" title="Represents a topic destination, used for publish/subscribe messaging.">topic</a>. <a href="#a2b103506bf4d5d3d1702262588214acc"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">virtual itoken_ptr&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmqtt_1_1iasync__client.html#ae8ad5c8f8b48887f2412bbc477c29fa2">unsubscribe</a> (const <a class="el" href="classmqtt_1_1iasync__client.html#a058f9d82f67aac8415f8475ed63a5dad">topic_filter_collection</a> &amp;topicFilters)=0 throw (exception)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Requests the server unsubscribe the <a class="el" href="classmqtt_1_1client.html" title="Lightweight client for talking to an MQTT server using methods that block until an...">client</a> from one or more topics. <a href="#ae8ad5c8f8b48887f2412bbc477c29fa2"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">virtual itoken_ptr&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmqtt_1_1iasync__client.html#ac8c856069d93fc4cdf081f601f26bce1">unsubscribe</a> (const <a class="el" href="classmqtt_1_1iasync__client.html#a058f9d82f67aac8415f8475ed63a5dad">topic_filter_collection</a> &amp;topicFilters, void *userContext, <a class="el" href="classmqtt_1_1iaction__listener.html">iaction_listener</a> &amp;<a class="el" href="classmqtt_1_1callback.html">callback</a>)=0 throw (exception)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Requests the server unsubscribe the <a class="el" href="classmqtt_1_1client.html" title="Lightweight client for talking to an MQTT server using methods that block until an...">client</a> from one or more topics. <a href="#ac8c856069d93fc4cdf081f601f26bce1"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">virtual itoken_ptr&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmqtt_1_1iasync__client.html#a2ad274a93f77d1c5c5f5a5d601211901">unsubscribe</a> (const std::string &amp;topicFilter, void *userContext, <a class="el" href="classmqtt_1_1iaction__listener.html">iaction_listener</a> &amp;<a class="el" href="classmqtt_1_1callback.html">callback</a>)=0 throw (exception)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Requests the server unsubscribe the <a class="el" href="classmqtt_1_1client.html" title="Lightweight client for talking to an MQTT server using methods that block until an...">client</a> from a topics. <a href="#a2ad274a93f77d1c5c5f5a5d601211901"></a><br/></td></tr>
<tr><td colspan="2"><h2>Friends</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ad1520136c41afff5cd24bf19d9bf76e5"></a><!-- doxytag: member="mqtt::iasync_client::token" ref="ad1520136c41afff5cd24bf19d9bf76e5" args="" -->
class&nbsp;</td><td class="memItemRight" valign="bottom"><b>token</b></td></tr>
</table>
<hr/><a name="_details"></a><h2>Detailed Description</h2>
<p>Enables an application to communicate with an MQTT server using non-blocking methods. </p>
<p>It provides applications a simple programming interface to all features of the MQTT version 3.1 specification including:</p>
<ul>
<li>connect </li>
<li>publish </li>
<li>subscribe </li>
<li>unsubscribe </li>
<li>disconnect </li>
</ul>
<hr/><h2>Member Function Documentation</h2>
<a class="anchor" id="a89e5d15a1719510009de898867c36051"></a><!-- doxytag: member="mqtt::iasync_client::connect" ref="a89e5d15a1719510009de898867c36051" args="(void *userContext, iaction_listener &amp;cb)=0" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">virtual itoken_ptr mqtt::iasync_client::connect </td>
<td>(</td>
<td class="paramtype">void *&nbsp;</td>
<td class="paramname"> <em>userContext</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="classmqtt_1_1iaction__listener.html">iaction_listener</a> &amp;&nbsp;</td>
<td class="paramname"> <em>cb</em></td><td>&nbsp;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td><td> throw (<a class="el" href="classmqtt_1_1exception.html">exception</a>, <a class="el" href="classmqtt_1_1security__exception.html">security_exception</a>)<code> [pure virtual]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
<dl><dt><b>Parameters:</b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"></td><td valign="top"><em>userContext</em>&nbsp;</td><td></td></tr>
<tr><td valign="top"></td><td valign="top"><em><a class="el" href="classmqtt_1_1callback.html" title="Provides a mechanism for tracking the completion of an asynchronous action.">callback</a></em>&nbsp;</td><td></td></tr>
</table>
</dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>bool </dd></dl>
<dl><dt><b>Exceptions:</b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"></td><td valign="top"><em><a class="el" href="classmqtt_1_1exception.html" title="Provides a mechanism for tracking the completion of an asynchronous action.">exception</a></em>&nbsp;</td><td></td></tr>
<tr><td valign="top"></td><td valign="top"><em><a class="el" href="classmqtt_1_1security__exception.html" title="Thrown when a client is not authorized to perform an operation, or if there is a...">security_exception</a></em>&nbsp;</td><td></td></tr>
</table>
</dd>
</dl>
<p>Implemented in <a class="el" href="classmqtt_1_1async__client.html#a7418f82da3afb481c837d5a7123ddde8">mqtt::async_client</a>.</p>
</div>
</div>
<a class="anchor" id="a81aad88ceae67dfb0009862871eca089"></a><!-- doxytag: member="mqtt::iasync_client::connect" ref="a81aad88ceae67dfb0009862871eca089" args="(connect_options options, void *userContext, iaction_listener &amp;cb)=0" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">virtual itoken_ptr mqtt::iasync_client::connect </td>
<td>(</td>
<td class="paramtype"><a class="el" href="classmqtt_1_1connect__options.html">connect_options</a>&nbsp;</td>
<td class="paramname"> <em>options</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">void *&nbsp;</td>
<td class="paramname"> <em>userContext</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="classmqtt_1_1iaction__listener.html">iaction_listener</a> &amp;&nbsp;</td>
<td class="paramname"> <em>cb</em></td><td>&nbsp;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td><td> throw (<a class="el" href="classmqtt_1_1exception.html">exception</a>, <a class="el" href="classmqtt_1_1security__exception.html">security_exception</a>)<code> [pure virtual]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Connects to an MQTT server using the specified options. </p>
<dl><dt><b>Parameters:</b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"></td><td valign="top"><em>options</em>&nbsp;</td><td></td></tr>
</table>
</dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>bool </dd></dl>
<dl><dt><b>Exceptions:</b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"></td><td valign="top"><em><a class="el" href="classmqtt_1_1exception.html" title="Provides a mechanism for tracking the completion of an asynchronous action.">exception</a></em>&nbsp;</td><td></td></tr>
<tr><td valign="top"></td><td valign="top"><em><a class="el" href="classmqtt_1_1security__exception.html" title="Thrown when a client is not authorized to perform an operation, or if there is a...">security_exception</a></em>&nbsp;</td><td></td></tr>
</table>
</dd>
</dl>
<p>Implemented in <a class="el" href="classmqtt_1_1async__client.html#a72e84f137adc3024b5f6d77a2d874fc1">mqtt::async_client</a>.</p>
</div>
</div>
<a class="anchor" id="a42808fb8034cddd1cbebf014cad50109"></a><!-- doxytag: member="mqtt::iasync_client::connect" ref="a42808fb8034cddd1cbebf014cad50109" args="(connect_options options)=0" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">virtual itoken_ptr mqtt::iasync_client::connect </td>
<td>(</td>
<td class="paramtype"><a class="el" href="classmqtt_1_1connect__options.html">connect_options</a>&nbsp;</td>
<td class="paramname"> <em>options</em></td>
<td>&nbsp;)&nbsp;</td>
<td> throw (<a class="el" href="classmqtt_1_1exception.html">exception</a>, <a class="el" href="classmqtt_1_1security__exception.html">security_exception</a>)<code> [pure virtual]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Connects to an MQTT server using the provided connect options. </p>
<dl><dt><b>Parameters:</b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"></td><td valign="top"><em>options</em>&nbsp;</td><td></td></tr>
</table>
</dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>bool </dd></dl>
<dl><dt><b>Exceptions:</b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"></td><td valign="top"><em><a class="el" href="classmqtt_1_1exception.html" title="Provides a mechanism for tracking the completion of an asynchronous action.">exception</a></em>&nbsp;</td><td></td></tr>
<tr><td valign="top"></td><td valign="top"><em><a class="el" href="classmqtt_1_1security__exception.html" title="Thrown when a client is not authorized to perform an operation, or if there is a...">security_exception</a></em>&nbsp;</td><td></td></tr>
</table>
</dd>
</dl>
<p>Implemented in <a class="el" href="classmqtt_1_1async__client.html#a93351de2d9bcbd19e61e88e2690a25b2">mqtt::async_client</a>.</p>
</div>
</div>
<a class="anchor" id="aa617f0e2b4ed0fe4648bbefdc6433d27"></a><!-- doxytag: member="mqtt::iasync_client::connect" ref="aa617f0e2b4ed0fe4648bbefdc6433d27" args="()=0" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">virtual itoken_ptr mqtt::iasync_client::connect </td>
<td>(</td>
<td class="paramname"></td>
<td>&nbsp;)&nbsp;</td>
<td> throw (<a class="el" href="classmqtt_1_1exception.html">exception</a>, <a class="el" href="classmqtt_1_1security__exception.html">security_exception</a>)<code> [pure virtual]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Connects to an MQTT server using the default options. </p>
<dl class="return"><dt><b>Returns:</b></dt><dd>bool </dd></dl>
<dl><dt><b>Exceptions:</b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"></td><td valign="top"><em><a class="el" href="classmqtt_1_1exception.html" title="Provides a mechanism for tracking the completion of an asynchronous action.">exception</a></em>&nbsp;</td><td></td></tr>
<tr><td valign="top"></td><td valign="top"><em><a class="el" href="classmqtt_1_1security__exception.html" title="Thrown when a client is not authorized to perform an operation, or if there is a...">security_exception</a></em>&nbsp;</td><td></td></tr>
</table>
</dd>
</dl>
<p>Implemented in <a class="el" href="classmqtt_1_1async__client.html#a48448619f85af0a34c45e6a556feac03">mqtt::async_client</a>.</p>
</div>
</div>
<a class="anchor" id="a4c1ca0b6f0bbbee719bfde1e03a9850a"></a><!-- doxytag: member="mqtt::iasync_client::disconnect" ref="a4c1ca0b6f0bbbee719bfde1e03a9850a" args="(void *userContext, iaction_listener &amp;cb)=0" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">virtual itoken_ptr mqtt::iasync_client::disconnect </td>
<td>(</td>
<td class="paramtype">void *&nbsp;</td>
<td class="paramname"> <em>userContext</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="classmqtt_1_1iaction__listener.html">iaction_listener</a> &amp;&nbsp;</td>
<td class="paramname"> <em>cb</em></td><td>&nbsp;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td><td> throw (<a class="el" href="classmqtt_1_1exception.html">exception</a>)<code> [pure virtual]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Disconnects from the server. </p>
<dl><dt><b>Parameters:</b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"></td><td valign="top"><em>userContext</em>&nbsp;</td><td></td></tr>
<tr><td valign="top"></td><td valign="top"><em><a class="el" href="classmqtt_1_1callback.html" title="Provides a mechanism for tracking the completion of an asynchronous action.">callback</a></em>&nbsp;</td><td></td></tr>
</table>
</dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>itoken_ptr </dd></dl>
<p>Implemented in <a class="el" href="classmqtt_1_1async__client.html#ac15435d6cab4825b31935c9429d533db">mqtt::async_client</a>.</p>
</div>
</div>
<a class="anchor" id="acd4f4567a88e587006d48e23527e30a3"></a><!-- doxytag: member="mqtt::iasync_client::disconnect" ref="acd4f4567a88e587006d48e23527e30a3" args="(long quiesceTimeout, void *userContext, iaction_listener &amp;cb)=0" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">virtual itoken_ptr mqtt::iasync_client::disconnect </td>
<td>(</td>
<td class="paramtype">long&nbsp;</td>
<td class="paramname"> <em>quiesceTimeout</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">void *&nbsp;</td>
<td class="paramname"> <em>userContext</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="classmqtt_1_1iaction__listener.html">iaction_listener</a> &amp;&nbsp;</td>
<td class="paramname"> <em>cb</em></td><td>&nbsp;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td><td> throw (<a class="el" href="classmqtt_1_1exception.html">exception</a>)<code> [pure virtual]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Disconnects from the server. </p>
<dl><dt><b>Parameters:</b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"></td><td valign="top"><em>quiesceTimeout</em>&nbsp;</td><td></td></tr>
<tr><td valign="top"></td><td valign="top"><em>userContext</em>&nbsp;</td><td></td></tr>
<tr><td valign="top"></td><td valign="top"><em><a class="el" href="classmqtt_1_1callback.html" title="Provides a mechanism for tracking the completion of an asynchronous action.">callback</a></em>&nbsp;</td><td></td></tr>
</table>
</dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>itoken_ptr </dd></dl>
<p>Implemented in <a class="el" href="classmqtt_1_1async__client.html#aef9f18cc73e00548f00b9500e86c338e">mqtt::async_client</a>.</p>
</div>
</div>
<a class="anchor" id="a5dba5c7b3819adbcdf3e2cf6aa1313db"></a><!-- doxytag: member="mqtt::iasync_client::disconnect" ref="a5dba5c7b3819adbcdf3e2cf6aa1313db" args="(long quiesceTimeout)=0" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">virtual itoken_ptr mqtt::iasync_client::disconnect </td>
<td>(</td>
<td class="paramtype">long&nbsp;</td>
<td class="paramname"> <em>quiesceTimeout</em></td>
<td>&nbsp;)&nbsp;</td>
<td> throw (<a class="el" href="classmqtt_1_1exception.html">exception</a>)<code> [pure virtual]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Disconnects from the server. </p>
<dl><dt><b>Parameters:</b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"></td><td valign="top"><em>quiesceTimeout</em>&nbsp;</td><td></td></tr>
</table>
</dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>itoken_ptr </dd></dl>
<p>Implemented in <a class="el" href="classmqtt_1_1async__client.html#a5226e6551395cd62a1a6d997f98330c6">mqtt::async_client</a>.</p>
</div>
</div>
<a class="anchor" id="aff2ecf209f7ab77d08b38510880f32ca"></a><!-- doxytag: member="mqtt::iasync_client::disconnect" ref="aff2ecf209f7ab77d08b38510880f32ca" args="()=0" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">virtual itoken_ptr mqtt::iasync_client::disconnect </td>
<td>(</td>
<td class="paramname"></td>
<td>&nbsp;)&nbsp;</td>
<td> throw (<a class="el" href="classmqtt_1_1exception.html">exception</a>)<code> [pure virtual]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Disconnects from the server. </p>
<dl class="return"><dt><b>Returns:</b></dt><dd>itoken_ptr </dd></dl>
<p>Implemented in <a class="el" href="classmqtt_1_1async__client.html#a96d349ba04e4866ec9627999f9d10ab9">mqtt::async_client</a>.</p>
</div>
</div>
<a class="anchor" id="aef59cd111318d91a2455f1294a4b076b"></a><!-- doxytag: member="mqtt::iasync_client::get_client_id" ref="aef59cd111318d91a2455f1294a4b076b" args="() const =0" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">virtual std::string mqtt::iasync_client::get_client_id </td>
<td>(</td>
<td class="paramname"></td>
<td>&nbsp;)&nbsp;</td>
<td> const<code> [pure virtual]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Returns the <a class="el" href="classmqtt_1_1client.html" title="Lightweight client for talking to an MQTT server using methods that block until an...">client</a> ID used by this <a class="el" href="classmqtt_1_1client.html" title="Lightweight client for talking to an MQTT server using methods that block until an...">client</a>. </p>
<dl class="return"><dt><b>Returns:</b></dt><dd>std::string </dd></dl>
<p>Implemented in <a class="el" href="classmqtt_1_1async__client.html#a1baa62fe711634bd6801d7593e4c58a8">mqtt::async_client</a>.</p>
</div>
</div>
<a class="anchor" id="af03b3ae480a762b2a655d5fe83f43096"></a><!-- doxytag: member="mqtt::iasync_client::get_pending_delivery_token" ref="af03b3ae480a762b2a655d5fe83f43096" args="(int msgID) const =0" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">virtual idelivery_token_ptr mqtt::iasync_client::get_pending_delivery_token </td>
<td>(</td>
<td class="paramtype">int&nbsp;</td>
<td class="paramname"> <em>msgID</em></td>
<td>&nbsp;)&nbsp;</td>
<td> const<code> [pure virtual]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Returns the delivery <a class="el" href="classmqtt_1_1token.html" title="Provides a mechanism for tracking the completion of an asynchronous action.">token</a> for the specified <a class="el" href="classmqtt_1_1message.html" title="An MQTT message holds the application payload and options specifying how the message...">message</a> ID. </p>
<dl class="return"><dt><b>Returns:</b></dt><dd><a class="el" href="classmqtt_1_1idelivery__token.html" title="Provides a mechanism for tracking the delivery of a message.">idelivery_token</a> </dd></dl>
<p>Implemented in <a class="el" href="classmqtt_1_1async__client.html#ac2e752cf0b0653332c7e20ee6d119d82">mqtt::async_client</a>.</p>
</div>
</div>
<a class="anchor" id="a7c8ed0db731b51fe3b9634b92c5a77ef"></a><!-- doxytag: member="mqtt::iasync_client::get_pending_delivery_tokens" ref="a7c8ed0db731b51fe3b9634b92c5a77ef" args="() const =0" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">virtual std::vector&lt;idelivery_token_ptr&gt; mqtt::iasync_client::get_pending_delivery_tokens </td>
<td>(</td>
<td class="paramname"></td>
<td>&nbsp;)&nbsp;</td>
<td> const<code> [pure virtual]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Returns the delivery tokens for any outstanding publish operations. </p>
<dl class="return"><dt><b>Returns:</b></dt><dd><a class="el" href="classmqtt_1_1idelivery__token.html" title="Provides a mechanism for tracking the delivery of a message.">idelivery_token</a>[] </dd></dl>
<p>Implemented in <a class="el" href="classmqtt_1_1async__client.html#aa9de412134fc157ff7c90e903437ac27">mqtt::async_client</a>.</p>
</div>
</div>
<a class="anchor" id="a8318491eee669ce57bd4a67b64530770"></a><!-- doxytag: member="mqtt::iasync_client::publish" ref="a8318491eee669ce57bd4a67b64530770" args="(const std::string &amp;topic, message_ptr msg, void *userContext, iaction_listener &amp;cb)=0" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">virtual idelivery_token_ptr mqtt::iasync_client::publish </td>
<td>(</td>
<td class="paramtype">const std::string &amp;&nbsp;</td>
<td class="paramname"> <em>topic</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">message_ptr&nbsp;</td>
<td class="paramname"> <em>msg</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">void *&nbsp;</td>
<td class="paramname"> <em>userContext</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="classmqtt_1_1iaction__listener.html">iaction_listener</a> &amp;&nbsp;</td>
<td class="paramname"> <em>cb</em></td><td>&nbsp;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td><td> throw (<a class="el" href="classmqtt_1_1exception.html">exception</a>)<code> [pure virtual]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Publishes a <a class="el" href="classmqtt_1_1message.html" title="An MQTT message holds the application payload and options specifying how the message...">message</a> to a <a class="el" href="classmqtt_1_1topic.html" title="Represents a topic destination, used for publish/subscribe messaging.">topic</a> on the server. </p>
<dl><dt><b>Parameters:</b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"></td><td valign="top"><em><a class="el" href="classmqtt_1_1topic.html" title="Represents a topic destination, used for publish/subscribe messaging.">topic</a></em>&nbsp;</td><td></td></tr>
<tr><td valign="top"></td><td valign="top"><em><a class="el" href="classmqtt_1_1message.html" title="An MQTT message holds the application payload and options specifying how the message...">message</a></em>&nbsp;</td><td></td></tr>
<tr><td valign="top"></td><td valign="top"><em>userContext</em>&nbsp;</td><td></td></tr>
<tr><td valign="top"></td><td valign="top"><em><a class="el" href="classmqtt_1_1callback.html" title="Provides a mechanism for tracking the completion of an asynchronous action.">callback</a></em>&nbsp;</td><td></td></tr>
</table>
</dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd><a class="el" href="classmqtt_1_1idelivery__token.html" title="Provides a mechanism for tracking the delivery of a message.">idelivery_token</a> </dd></dl>
<p>Implemented in <a class="el" href="classmqtt_1_1async__client.html#a9600b030116cc1263f4e14f586dcf8b9">mqtt::async_client</a>.</p>
</div>
</div>
<a class="anchor" id="ac30286c4dfafa3e09bdd7ff7d1a4535d"></a><!-- doxytag: member="mqtt::iasync_client::publish" ref="ac30286c4dfafa3e09bdd7ff7d1a4535d" args="(const std::string &amp;topic, message_ptr msg)=0" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">virtual idelivery_token_ptr mqtt::iasync_client::publish </td>
<td>(</td>
<td class="paramtype">const std::string &amp;&nbsp;</td>
<td class="paramname"> <em>topic</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">message_ptr&nbsp;</td>
<td class="paramname"> <em>msg</em></td><td>&nbsp;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td><td> throw (<a class="el" href="classmqtt_1_1exception.html">exception</a>)<code> [pure virtual]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Publishes a <a class="el" href="classmqtt_1_1message.html" title="An MQTT message holds the application payload and options specifying how the message...">message</a> to a <a class="el" href="classmqtt_1_1topic.html" title="Represents a topic destination, used for publish/subscribe messaging.">topic</a> on the server Takes an Message <a class="el" href="classmqtt_1_1message.html" title="An MQTT message holds the application payload and options specifying how the message...">message</a> and delivers it to the server at the requested quality of service. </p>
<dl><dt><b>Parameters:</b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"></td><td valign="top"><em><a class="el" href="classmqtt_1_1topic.html" title="Represents a topic destination, used for publish/subscribe messaging.">topic</a></em>&nbsp;</td><td></td></tr>
<tr><td valign="top"></td><td valign="top"><em><a class="el" href="classmqtt_1_1message.html" title="An MQTT message holds the application payload and options specifying how the message...">message</a></em>&nbsp;</td><td></td></tr>
</table>
</dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd><a class="el" href="classmqtt_1_1idelivery__token.html" title="Provides a mechanism for tracking the delivery of a message.">idelivery_token</a> </dd></dl>
<p>Implemented in <a class="el" href="classmqtt_1_1async__client.html#abb372b91411ee3a9ef47d7a66bd2b0e9">mqtt::async_client</a>.</p>
</div>
</div>
<a class="anchor" id="a974f5a18031c5a73f8d927fe90a35898"></a><!-- doxytag: member="mqtt::iasync_client::publish" ref="a974f5a18031c5a73f8d927fe90a35898" args="(const std::string &amp;topic, const void *payload, size_t n, int qos, bool retained, void *userContext, iaction_listener &amp;cb)=0" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">virtual idelivery_token_ptr mqtt::iasync_client::publish </td>
<td>(</td>
<td class="paramtype">const std::string &amp;&nbsp;</td>
<td class="paramname"> <em>topic</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const void *&nbsp;</td>
<td class="paramname"> <em>payload</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">size_t&nbsp;</td>
<td class="paramname"> <em>n</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int&nbsp;</td>
<td class="paramname"> <em>qos</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">bool&nbsp;</td>
<td class="paramname"> <em>retained</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">void *&nbsp;</td>
<td class="paramname"> <em>userContext</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="classmqtt_1_1iaction__listener.html">iaction_listener</a> &amp;&nbsp;</td>
<td class="paramname"> <em>cb</em></td><td>&nbsp;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td><td> throw (<a class="el" href="classmqtt_1_1exception.html">exception</a>)<code> [pure virtual]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Publishes a <a class="el" href="classmqtt_1_1message.html" title="An MQTT message holds the application payload and options specifying how the message...">message</a> to a <a class="el" href="classmqtt_1_1topic.html" title="Represents a topic destination, used for publish/subscribe messaging.">topic</a> on the server. </p>
<dl><dt><b>Parameters:</b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"></td><td valign="top"><em><a class="el" href="classmqtt_1_1topic.html" title="Represents a topic destination, used for publish/subscribe messaging.">topic</a></em>&nbsp;</td><td></td></tr>
<tr><td valign="top"></td><td valign="top"><em>payload</em>&nbsp;</td><td></td></tr>
<tr><td valign="top"></td><td valign="top"><em>qos</em>&nbsp;</td><td></td></tr>
<tr><td valign="top"></td><td valign="top"><em>retained</em>&nbsp;</td><td></td></tr>
<tr><td valign="top"></td><td valign="top"><em>userContext</em>&nbsp;</td><td></td></tr>
<tr><td valign="top"></td><td valign="top"><em>cb</em>&nbsp;</td><td></td></tr>
</table>
</dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd><a class="el" href="classmqtt_1_1idelivery__token.html" title="Provides a mechanism for tracking the delivery of a message.">idelivery_token</a> </dd></dl>
<p>Implemented in <a class="el" href="classmqtt_1_1async__client.html#aedda767ee206ae129e7a87fe80ab1062">mqtt::async_client</a>.</p>
</div>
</div>
<a class="anchor" id="af70d2c1bff1f5ca2e26996870c3cbba7"></a><!-- doxytag: member="mqtt::iasync_client::publish" ref="af70d2c1bff1f5ca2e26996870c3cbba7" args="(const std::string &amp;topic, const void *payload, size_t n, int qos, bool retained)=0" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">virtual idelivery_token_ptr mqtt::iasync_client::publish </td>
<td>(</td>
<td class="paramtype">const std::string &amp;&nbsp;</td>
<td class="paramname"> <em>topic</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const void *&nbsp;</td>
<td class="paramname"> <em>payload</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">size_t&nbsp;</td>
<td class="paramname"> <em>n</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int&nbsp;</td>
<td class="paramname"> <em>qos</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">bool&nbsp;</td>
<td class="paramname"> <em>retained</em></td><td>&nbsp;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td><td> throw (<a class="el" href="classmqtt_1_1exception.html">exception</a>)<code> [pure virtual]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Publishes a <a class="el" href="classmqtt_1_1message.html" title="An MQTT message holds the application payload and options specifying how the message...">message</a> to a <a class="el" href="classmqtt_1_1topic.html" title="Represents a topic destination, used for publish/subscribe messaging.">topic</a> on the server. </p>
<dl><dt><b>Parameters:</b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"></td><td valign="top"><em><a class="el" href="classmqtt_1_1topic.html" title="Represents a topic destination, used for publish/subscribe messaging.">topic</a></em>&nbsp;</td><td></td></tr>
<tr><td valign="top"></td><td valign="top"><em>payload</em>&nbsp;</td><td></td></tr>
<tr><td valign="top"></td><td valign="top"><em>qos</em>&nbsp;</td><td></td></tr>
<tr><td valign="top"></td><td valign="top"><em>retained</em>&nbsp;</td><td></td></tr>
</table>
</dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd><a class="el" href="classmqtt_1_1idelivery__token.html" title="Provides a mechanism for tracking the delivery of a message.">idelivery_token</a> </dd></dl>
<p>Implemented in <a class="el" href="classmqtt_1_1async__client.html#a24265326ef27792ad2440bac735cf47e">mqtt::async_client</a>.</p>
</div>
</div>
<a class="anchor" id="ab02592cece3ea4f17164bf56ce7a16f2"></a><!-- doxytag: member="mqtt::iasync_client::set_callback" ref="ab02592cece3ea4f17164bf56ce7a16f2" args="(callback &amp;cb)=0" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">virtual void mqtt::iasync_client::set_callback </td>
<td>(</td>
<td class="paramtype"><a class="el" href="classmqtt_1_1callback.html">callback</a> &amp;&nbsp;</td>
<td class="paramname"> <em>cb</em></td>
<td>&nbsp;)&nbsp;</td>
<td> throw (<a class="el" href="classmqtt_1_1exception.html">exception</a>)<code> [pure virtual]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Sets a <a class="el" href="classmqtt_1_1callback.html" title="Provides a mechanism for tracking the completion of an asynchronous action.">callback</a> listener to use for events that happen asynchronously. </p>
<dl><dt><b>Parameters:</b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"></td><td valign="top"><em><a class="el" href="classmqtt_1_1callback.html" title="Provides a mechanism for tracking the completion of an asynchronous action.">callback</a></em>&nbsp;</td><td></td></tr>
</table>
</dd>
</dl>
<p>Implemented in <a class="el" href="classmqtt_1_1async__client.html#a2a4d0408963dbfe92c3fe0dc67332dc4">mqtt::async_client</a>.</p>
</div>
</div>
<a class="anchor" id="ad7b7b8e253734cc1f14c62478f652b84"></a><!-- doxytag: member="mqtt::iasync_client::subscribe" ref="ad7b7b8e253734cc1f14c62478f652b84" args="(const std::string &amp;topicFilter, int qos, void *userContext, iaction_listener &amp;callback)=0" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">virtual itoken_ptr mqtt::iasync_client::subscribe </td>
<td>(</td>
<td class="paramtype">const std::string &amp;&nbsp;</td>
<td class="paramname"> <em>topicFilter</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int&nbsp;</td>
<td class="paramname"> <em>qos</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">void *&nbsp;</td>
<td class="paramname"> <em>userContext</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="classmqtt_1_1iaction__listener.html">iaction_listener</a> &amp;&nbsp;</td>
<td class="paramname"> <em>callback</em></td><td>&nbsp;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td><td> throw (<a class="el" href="classmqtt_1_1exception.html">exception</a>)<code> [pure virtual]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Subscribe to a <a class="el" href="classmqtt_1_1topic.html" title="Represents a topic destination, used for publish/subscribe messaging.">topic</a>, which may include wildcards. </p>
<dl><dt><b>Parameters:</b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"></td><td valign="top"><em>topicFilter</em>&nbsp;</td><td></td></tr>
<tr><td valign="top"></td><td valign="top"><em>qos</em>&nbsp;</td><td></td></tr>
<tr><td valign="top"></td><td valign="top"><em>userContext</em>&nbsp;</td><td></td></tr>
<tr><td valign="top"></td><td valign="top"><em><a class="el" href="classmqtt_1_1callback.html" title="Provides a mechanism for tracking the completion of an asynchronous action.">callback</a></em>&nbsp;</td><td></td></tr>
</table>
</dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>bool </dd></dl>
<p>Implemented in <a class="el" href="classmqtt_1_1async__client.html#a0ef212149b734b3ae58d91205cf5d5f4">mqtt::async_client</a>.</p>
</div>
</div>
<a class="anchor" id="abc925035aa4f5fdebf19f16915411b40"></a><!-- doxytag: member="mqtt::iasync_client::subscribe" ref="abc925035aa4f5fdebf19f16915411b40" args="(const std::string &amp;topicFilter, int qos)=0" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">virtual itoken_ptr mqtt::iasync_client::subscribe </td>
<td>(</td>
<td class="paramtype">const std::string &amp;&nbsp;</td>
<td class="paramname"> <em>topicFilter</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int&nbsp;</td>
<td class="paramname"> <em>qos</em></td><td>&nbsp;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td><td> throw (<a class="el" href="classmqtt_1_1exception.html">exception</a>)<code> [pure virtual]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Subscribe to a <a class="el" href="classmqtt_1_1topic.html" title="Represents a topic destination, used for publish/subscribe messaging.">topic</a>, which may include wildcards. </p>
<dl><dt><b>Parameters:</b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"></td><td valign="top"><em>topicFilter</em>&nbsp;</td><td></td></tr>
<tr><td valign="top"></td><td valign="top"><em>qos</em>&nbsp;</td><td></td></tr>
</table>
</dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>bool </dd></dl>
<p>Implemented in <a class="el" href="classmqtt_1_1async__client.html#ad157fdc13ff2caaa0b218ec1fe6e13b4">mqtt::async_client</a>.</p>
</div>
</div>
<a class="anchor" id="a6f5132478bcc514127f252868f0ceeaa"></a><!-- doxytag: member="mqtt::iasync_client::subscribe" ref="a6f5132478bcc514127f252868f0ceeaa" args="(const topic_filter_collection &amp;topicFilters, const qos_collection &amp;qos, void *userContext, iaction_listener &amp;callback)=0" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">virtual itoken_ptr mqtt::iasync_client::subscribe </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="classmqtt_1_1iasync__client.html#a058f9d82f67aac8415f8475ed63a5dad">topic_filter_collection</a> &amp;&nbsp;</td>
<td class="paramname"> <em>topicFilters</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const <a class="el" href="classmqtt_1_1iasync__client.html#a2a86f5766c4b7f4f0c6cf01611380ccf">qos_collection</a> &amp;&nbsp;</td>
<td class="paramname"> <em>qos</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">void *&nbsp;</td>
<td class="paramname"> <em>userContext</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="classmqtt_1_1iaction__listener.html">iaction_listener</a> &amp;&nbsp;</td>
<td class="paramname"> <em>callback</em></td><td>&nbsp;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td><td> throw (std::invalid_argument,<a class="el" href="classmqtt_1_1exception.html">exception</a>)<code> [pure virtual]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Subscribes to multiple topics, each of which may include wildcards. </p>
<dl><dt><b>Parameters:</b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"></td><td valign="top"><em>topicFilters</em>&nbsp;</td><td></td></tr>
<tr><td valign="top"></td><td valign="top"><em>qos</em>&nbsp;</td><td></td></tr>
<tr><td valign="top"></td><td valign="top"><em>userContext</em>&nbsp;</td><td></td></tr>
<tr><td valign="top"></td><td valign="top"><em><a class="el" href="classmqtt_1_1callback.html" title="Provides a mechanism for tracking the completion of an asynchronous action.">callback</a></em>&nbsp;</td><td></td></tr>
</table>
</dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>bool </dd></dl>
<p>Implemented in <a class="el" href="classmqtt_1_1async__client.html#a0f986619d43e7bf02f17d505b4a1fb78">mqtt::async_client</a>.</p>
</div>
</div>
<a class="anchor" id="ab024f5d92d340ce3355229fbe6ceaf20"></a><!-- doxytag: member="mqtt::iasync_client::subscribe" ref="ab024f5d92d340ce3355229fbe6ceaf20" args="(const topic_filter_collection &amp;topicFilters, const qos_collection &amp;qos)=0" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">virtual itoken_ptr mqtt::iasync_client::subscribe </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="classmqtt_1_1iasync__client.html#a058f9d82f67aac8415f8475ed63a5dad">topic_filter_collection</a> &amp;&nbsp;</td>
<td class="paramname"> <em>topicFilters</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const <a class="el" href="classmqtt_1_1iasync__client.html#a2a86f5766c4b7f4f0c6cf01611380ccf">qos_collection</a> &amp;&nbsp;</td>
<td class="paramname"> <em>qos</em></td><td>&nbsp;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td><td> throw (std::invalid_argument,<a class="el" href="classmqtt_1_1exception.html">exception</a>)<code> [pure virtual]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Subscribe to multiple topics, each of which may include wildcards. </p>
<dl><dt><b>Parameters:</b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"></td><td valign="top"><em>topicFilters</em>&nbsp;</td><td></td></tr>
<tr><td valign="top"></td><td valign="top"><em>qos</em>&nbsp;</td><td></td></tr>
</table>
</dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>bool </dd></dl>
<p>Implemented in <a class="el" href="classmqtt_1_1async__client.html#a501853f3529fc8183d9447582dc29483">mqtt::async_client</a>.</p>
</div>
</div>
<a class="anchor" id="a2ad274a93f77d1c5c5f5a5d601211901"></a><!-- doxytag: member="mqtt::iasync_client::unsubscribe" ref="a2ad274a93f77d1c5c5f5a5d601211901" args="(const std::string &amp;topicFilter, void *userContext, iaction_listener &amp;callback)=0" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">virtual itoken_ptr mqtt::iasync_client::unsubscribe </td>
<td>(</td>
<td class="paramtype">const std::string &amp;&nbsp;</td>
<td class="paramname"> <em>topicFilter</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">void *&nbsp;</td>
<td class="paramname"> <em>userContext</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="classmqtt_1_1iaction__listener.html">iaction_listener</a> &amp;&nbsp;</td>
<td class="paramname"> <em>callback</em></td><td>&nbsp;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td><td> throw (<a class="el" href="classmqtt_1_1exception.html">exception</a>)<code> [pure virtual]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Requests the server unsubscribe the <a class="el" href="classmqtt_1_1client.html" title="Lightweight client for talking to an MQTT server using methods that block until an...">client</a> from a topics. </p>
<dl><dt><b>Parameters:</b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"></td><td valign="top"><em>topicFilter</em>&nbsp;</td><td></td></tr>
<tr><td valign="top"></td><td valign="top"><em>userContext</em>&nbsp;</td><td></td></tr>
<tr><td valign="top"></td><td valign="top"><em><a class="el" href="classmqtt_1_1callback.html" title="Provides a mechanism for tracking the completion of an asynchronous action.">callback</a></em>&nbsp;</td><td></td></tr>
</table>
</dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>bool </dd></dl>
<p>Implemented in <a class="el" href="classmqtt_1_1async__client.html#a070a8170e94d5c717436b5cf643ab427">mqtt::async_client</a>.</p>
</div>
</div>
<a class="anchor" id="ac8c856069d93fc4cdf081f601f26bce1"></a><!-- doxytag: member="mqtt::iasync_client::unsubscribe" ref="ac8c856069d93fc4cdf081f601f26bce1" args="(const topic_filter_collection &amp;topicFilters, void *userContext, iaction_listener &amp;callback)=0" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">virtual itoken_ptr mqtt::iasync_client::unsubscribe </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="classmqtt_1_1iasync__client.html#a058f9d82f67aac8415f8475ed63a5dad">topic_filter_collection</a> &amp;&nbsp;</td>
<td class="paramname"> <em>topicFilters</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">void *&nbsp;</td>
<td class="paramname"> <em>userContext</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="classmqtt_1_1iaction__listener.html">iaction_listener</a> &amp;&nbsp;</td>
<td class="paramname"> <em>callback</em></td><td>&nbsp;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td><td> throw (<a class="el" href="classmqtt_1_1exception.html">exception</a>)<code> [pure virtual]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Requests the server unsubscribe the <a class="el" href="classmqtt_1_1client.html" title="Lightweight client for talking to an MQTT server using methods that block until an...">client</a> from one or more topics. </p>
<dl><dt><b>Parameters:</b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"></td><td valign="top"><em>string</em>&nbsp;</td><td></td></tr>
<tr><td valign="top"></td><td valign="top"><em>userContext</em>&nbsp;</td><td></td></tr>
<tr><td valign="top"></td><td valign="top"><em><a class="el" href="classmqtt_1_1callback.html" title="Provides a mechanism for tracking the completion of an asynchronous action.">callback</a></em>&nbsp;</td><td></td></tr>
</table>
</dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>bool </dd></dl>
<p>Implemented in <a class="el" href="classmqtt_1_1async__client.html#a4d56f8a73e0fc465ccda327ca6e8a32a">mqtt::async_client</a>.</p>
</div>
</div>
<a class="anchor" id="ae8ad5c8f8b48887f2412bbc477c29fa2"></a><!-- doxytag: member="mqtt::iasync_client::unsubscribe" ref="ae8ad5c8f8b48887f2412bbc477c29fa2" args="(const topic_filter_collection &amp;topicFilters)=0" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">virtual itoken_ptr mqtt::iasync_client::unsubscribe </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="classmqtt_1_1iasync__client.html#a058f9d82f67aac8415f8475ed63a5dad">topic_filter_collection</a> &amp;&nbsp;</td>
<td class="paramname"> <em>topicFilters</em></td>
<td>&nbsp;)&nbsp;</td>
<td> throw (<a class="el" href="classmqtt_1_1exception.html">exception</a>)<code> [pure virtual]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Requests the server unsubscribe the <a class="el" href="classmqtt_1_1client.html" title="Lightweight client for talking to an MQTT server using methods that block until an...">client</a> from one or more topics. </p>
<dl><dt><b>Parameters:</b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"></td><td valign="top"><em>string</em>&nbsp;</td><td></td></tr>
</table>
</dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>bool </dd></dl>
<p>Implemented in <a class="el" href="classmqtt_1_1async__client.html#a18cfecaf7164940998595b20048068ab">mqtt::async_client</a>.</p>
</div>
</div>
<a class="anchor" id="a2b103506bf4d5d3d1702262588214acc"></a><!-- doxytag: member="mqtt::iasync_client::unsubscribe" ref="a2b103506bf4d5d3d1702262588214acc" args="(const std::string &amp;topicFilter)=0" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">virtual itoken_ptr mqtt::iasync_client::unsubscribe </td>
<td>(</td>
<td class="paramtype">const std::string &amp;&nbsp;</td>
<td class="paramname"> <em>topicFilter</em></td>
<td>&nbsp;)&nbsp;</td>
<td> throw (<a class="el" href="classmqtt_1_1exception.html">exception</a>)<code> [pure virtual]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Requests the server unsubscribe the <a class="el" href="classmqtt_1_1client.html" title="Lightweight client for talking to an MQTT server using methods that block until an...">client</a> from a <a class="el" href="classmqtt_1_1topic.html" title="Represents a topic destination, used for publish/subscribe messaging.">topic</a>. </p>
<dl><dt><b>Parameters:</b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"></td><td valign="top"><em>topicFilter</em>&nbsp;</td><td></td></tr>
</table>
</dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>bool </dd></dl>
<p>Implemented in <a class="el" href="classmqtt_1_1async__client.html#ad603f075999327877315abf0eb10e651">mqtt::async_client</a>.</p>
</div>
</div>
<hr/>The documentation for this class was generated from the following file:<ul>
<li>mqtt/<a class="el" href="async__client_8h_source.html">async_client.h</a></li>
</ul>
</div>
<hr size="1"/><address style="text-align: right;"><small>Generated on 30 Apr 2014 for mqttpp by&nbsp;
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.1 </small></address>
</body>
</html>