24 #ifndef __mqtt_client_h 25 #define __mqtt_client_h 48 std::chrono::milliseconds timeout_;
63 std::shared_ptr<T> ptr(
const T& val) {
64 return std::shared_ptr<T>(
const_cast<T*
>(&val), [](T*){});
70 void connected(
const string& cause)
override {
73 void connection_lost(
const string& cause)
override {
74 std::async(std::launch::async,
91 using ptr_t = std::shared_ptr<client>;
109 client(
const string& serverURI,
const string& clientId,
121 client(
const string& serverURI,
const string& clientId,
122 const string& persistDir);
137 client(
const string& serverURI,
const string& clientId,
138 int maxBufferedMessages,
152 client(
const string& serverURI,
const string& clientId,
153 int maxBufferedMessages,
const string& persistDir);
167 client(
const string& serverURI,
const string& clientId,
205 template <
class Rep,
class Period>
206 void disconnect(
const std::chrono::duration<Rep, Period>& to) {
223 virtual std::chrono::milliseconds
get_timeout()
const {
return timeout_; }
234 return topic(cli_, top, qos, retained);
261 int qos,
bool retained) {
262 if (!cli_.
publish(std::move(top), payload, n, qos, retained)->wait_for(timeout_))
273 if (!cli_.
publish(std::move(top), payload, n)->wait_for(timeout_))
281 if (!cli_.
publish(msg)->wait_for(timeout_))
292 cli_.
publish(ptr(msg))->wait();
305 timeout_ = std::chrono::milliseconds(timeoutMS);
311 template <
class Rep,
class Period>
345 const std::vector<subscribe_options>& opts=std::vector<subscribe_options>(),
357 const std::vector<subscribe_options>& opts=std::vector<subscribe_options>(),
409 template <
typename Rep,
class Period>
411 const std::chrono::duration<Rep, Period>& relTime) {
421 template <
class Clock,
class Duration>
423 const std::chrono::time_point<Clock,Duration>& absTime) {
435 #endif // __mqtt_client_h message::const_ptr_t const_message_ptr
Definition: message.h:368
std::shared_ptr< callback > ptr_t
Definition: callback.h:45
Definition: async_client.h:107
Definition: iclient_persistence.h:72
string get_server_uri() const override
Definition: async_client.h:498
client::ptr_t client_ptr
Definition: client.h:429
virtual string get_client_id() const
Definition: client.h:213
virtual const_message_ptr consume_message()
Definition: client.h:392
virtual std::chrono::milliseconds get_timeout() const
Definition: client.h:223
bool try_consume_message_for(const_message_ptr *msg, const std::chrono::duration< Rep, Period > &relTime)
Definition: client.h:410
virtual void connection_lost(const string &)
Definition: callback.h:64
virtual ~client()
Definition: client.h:173
Definition: exception.h:193
Definition: create_options.h:37
bool is_connected() const override
Definition: async_client.h:513
virtual void message_arrived(const_message_ptr)
Definition: callback.h:68
virtual subscribe_response subscribe(const string &topicFilter, const subscribe_options &opts=subscribe_options(), const properties &props=properties())
const_message_ptr consume_message() override
Definition: async_client.h:744
virtual bool is_connected() const
Definition: client.h:241
virtual connect_response connect()
bool try_consume_message_until(const_message_ptr *msg, const std::chrono::time_point< Clock, Duration > &absTime)
Definition: client.h:422
Definition: connect_options.h:48
Definition: server_response.h:74
virtual void connected(const string &)
Definition: callback.h:60
virtual void set_callback(callback &cb)
virtual void publish(string_ref top, const void *payload, size_t n, int qos, bool retained)
Definition: client.h:260
virtual void delivery_complete(delivery_token_ptr)
Definition: callback.h:73
virtual void publish(const message &msg)
Definition: client.h:291
long to_milliseconds_count(const std::chrono::duration< Rep, Period > &dur)
Definition: types.h:149
Definition: string_collection.h:42
void stop_consuming() override
virtual void publish(string_ref top, const void *payload, size_t n)
Definition: client.h:272
delivery_token_ptr publish(string_ref topic, const void *payload, size_t n, int qos, bool retained) override
void set_update_connection_handler(update_connection_handler cb)
Definition: properties.h:255
virtual void start_consuming()
Definition: client.h:380
void disconnect(const std::chrono::duration< Rep, Period > &to)
Definition: client.h:206
async_client::update_connection_handler update_connection_handler
Definition: client.h:96
virtual void publish(const_message_ptr msg)
Definition: client.h:280
virtual void disconnect()
bool try_consume_message_for(const_message_ptr *msg, const std::chrono::duration< Rep, Period > &relTime)
Definition: async_client.h:762
async_client::qos_collection qos_collection
Definition: client.h:93
void set_timeout(const std::chrono::duration< Rep, Period > &to)
Definition: client.h:312
std::shared_ptr< client > ptr_t
Definition: client.h:91
delivery_token::ptr_t delivery_token_ptr
Definition: delivery_token.h:125
static PAHO_MQTTPP_EXPORT const int DFLT_QOS
Definition: message.h:59
Definition: subscribe_options.h:41
Definition: server_response.h:176
#define PAHO_MQTTPP_EXPORT
Definition: export.h:40
virtual void set_timeout(int timeoutMS)
Definition: client.h:304
Definition: callback.h:41
virtual connect_response reconnect()
void start_consuming() override
bool try_consume_message_until(const_message_ptr *msg, const std::chrono::time_point< Clock, Duration > &absTime)
Definition: async_client.h:786
std::function< bool(connect_data &)> update_connection_handler
Definition: async_client.h:122
string get_client_id() const override
Definition: async_client.h:493
std::chrono::milliseconds to_milliseconds(const std::chrono::duration< Rep, Period > &dur)
Definition: types.h:138
virtual unsubscribe_response unsubscribe(const string &topicFilter, const properties &props=properties())
virtual void stop_consuming()
Definition: client.h:386
virtual bool try_consume_message(const_message_ptr *msg)
Definition: client.h:399
void set_update_connection_handler(update_connection_handler cb)
Definition: client.h:247
virtual topic get_topic(const string &top, int qos=message::DFLT_QOS, bool retained=message::DFLT_RETAINED)
Definition: client.h:232
Definition: async_client.h:49
Definition: server_response.h:122
static PAHO_MQTTPP_EXPORT const bool DFLT_RETAINED
Definition: message.h:61
virtual string get_server_uri() const
Definition: client.h:218
std::vector< int > qos_collection
Definition: iasync_client.h:65
bool try_consume_message(const_message_ptr *msg) override
Definition: async_client.h:751