24 #ifndef __mqtt_connect_options_h 25 #define __mqtt_connect_options_h 27 #include "MQTTAsync.h" 63 MQTTAsync_connectOptions opts_;
111 const char* c_str(
const string& s) {
112 return s.empty() ? nullptr : s.c_str();
117 void update_c_struct();
123 connect_options(
const MQTTAsync_connectOptions& copts) : opts_(copts) {}
127 using ptr_t = std::shared_ptr<connect_options>;
145 int ver=MQTTVERSION_DEFAULT
202 #if defined(UNIT_TESTS) 203 const MQTTAsync_connectOptions& c_struct()
const {
return opts_; }
210 return std::chrono::seconds(opts_.keepAliveInterval);
219 return std::chrono::seconds(opts_.connectTimeout);
331 return std::chrono::seconds(opts_.minRetryInterval);
339 return std::chrono::seconds(opts_.maxRetryInterval);
374 opts_.keepAliveInterval = keepAliveInterval;
383 template <
class Rep,
class Period>
395 opts_.connectTimeout = timeout;
403 template <
class Rep,
class Period>
488 opts_.automaticReconnect =
to_int(on);
505 template <
class Rep1,
class Period1,
class Rep2,
class Period2>
507 const std::chrono::duration<Rep2, Period2>& maxRetryInterval) {
543 httpHeaders_ = httpHeaders;
544 opts_.httpHeaders = httpHeaders_.
empty() ? nullptr : httpHeaders_.
c_arr();
551 httpHeaders_ = std::move(httpHeaders);
552 opts_.httpHeaders = httpHeaders_.
empty() ? nullptr : httpHeaders_.
c_arr();
592 MQTTAsync_connectData data_;
606 void update_c_struct();
748 template <
class Rep,
class Period>
759 template <
class Rep,
class Period>
891 template <
class Rep1,
class Period1,
class Rep2,
class Period2>
893 const std::chrono::duration<Rep2, Period2>& maxRetryInterval) ->
self& {
967 #endif // __mqtt_connect_options_h auto ssl(const ssl_options &ssl) -> self &
Definition: connect_options.h:818
message::const_ptr_t const_message_ptr
Definition: message.h:368
bool get_automatic_reconnect() const
Definition: connect_options.h:324
string get_will_topic() const
Definition: connect_options.h:248
const will_options & get_will_options() const
Definition: connect_options.h:262
auto servers(const_string_collection_ptr serverURIs) -> self &
Definition: connect_options.h:848
Definition: async_client.h:107
auto will(const will_options &will) -> self &
Definition: connect_options.h:792
std::shared_ptr< connect_options > ptr_t
Definition: connect_options.h:127
void set_clean_session(bool cleanSession)
void set_http_headers(name_value_collection &&httpHeaders)
Definition: connect_options.h:550
connect_options_builder(const connect_options &opts)
Definition: connect_options.h:686
string get_user_name() const
Definition: connect_options.h:225
void set_max_inflight(int n)
Definition: connect_options.h:423
static connect_options_builder v5_ws()
Definition: connect_options.h:728
bool to_bool(int n)
Definition: types.h:161
auto http_headers(name_value_collection &&headers) -> self &
Definition: connect_options.h:934
std::string string
Definition: types.h:40
auto properties(const mqtt::properties &props) -> self &
Definition: connect_options.h:910
void set_connect_timeout(int timeout)
Definition: connect_options.h:394
const properties & get_properties() const
Definition: connect_options.h:515
Definition: ssl_options.h:45
binary_ref get_password() const
Definition: connect_options.h:651
std::chrono::seconds get_keep_alive_interval() const
Definition: connect_options.h:209
auto will(will_options &&will) -> self &
Definition: connect_options.h:800
binary_ref get_password() const
Definition: connect_options.h:230
int get_max_inflight() const
Definition: connect_options.h:243
const_message_ptr get_will_message() const
Definition: connect_options.h:255
void set_password(binary_ref password)
auto automatic_reconnect(const std::chrono::duration< Rep1, Period1 > &minRetryInterval, const std::chrono::duration< Rep2, Period2 > &maxRetryInterval) -> self &
Definition: connect_options.h:892
void set_clean_start(bool cleanStart)
string get_topic() const
Definition: will_options.h:196
string_collection::const_ptr_t const_string_collection_ptr
Definition: string_collection.h:234
bool is_clean_start() const
Definition: connect_options.h:295
void set_http_proxy(const string &httpProxy)
void set_http_headers(const name_value_collection &httpHeaders)
Definition: connect_options.h:542
static connect_options_builder v5()
Definition: connect_options.h:702
void set_keep_alive_interval(int keepAliveInterval)
Definition: connect_options.h:373
std::shared_ptr< const connect_options > const_ptr_t
Definition: connect_options.h:129
const blob & to_string() const
Definition: buffer_ref.h:251
properties & get_properties()
Definition: connect_options.h:520
Definition: connect_options.h:48
connect_options & operator=(const connect_options &opt)
const MQTTAsync_nameValue * c_arr() const
Definition: string_collection.h:368
auto http_headers(const name_value_collection &headers) -> self &
Definition: connect_options.h:926
void set_servers(const_string_collection_ptr serverURIs)
connect_options finalize()
Definition: connect_options.h:960
const name_value_collection & get_http_headers() const
Definition: connect_options.h:535
auto connect_timeout(const std::chrono::duration< Rep, Period > &timeout) -> self &
Definition: connect_options.h:760
int get_mqtt_version() const
Definition: connect_options.h:317
bool is_clean_session() const
Definition: connect_options.h:289
std::chrono::seconds get_connect_timeout() const
Definition: connect_options.h:218
auto max_inflight(int n) -> self &
Definition: connect_options.h:784
connect_options_builder(int ver=MQTTVERSION_DEFAULT)
Definition: connect_options.h:682
static connect_options v5_ws()
Definition: connect_options.h:186
static connect_options v5()
const_message_ptr get_message() const
Definition: will_options.h:221
void set_token(const token_ptr &tok)
Definition: properties.h:255
auto https_proxy(const string &httpsProxy) -> self &
Definition: connect_options.h:952
void set_mqtt_version(int mqttVersion)
std::chrono::seconds get_min_retry_interval() const
Definition: connect_options.h:330
token_ptr get_token() const
Definition: connect_options.h:300
static connect_options_builder v3()
Definition: connect_options.h:695
auto properties(mqtt::properties &&props) -> self &
Definition: connect_options.h:918
void set_automatic_reconnect(const std::chrono::duration< Rep1, Period1 > &minRetryInterval, const std::chrono::duration< Rep2, Period2 > &maxRetryInterval)
Definition: connect_options.h:506
void set_ssl(const ssl_options &ssl)
auto password(binary_ref password) -> self &
Definition: connect_options.h:775
void set_will_message(const message &msg)
Definition: connect_options.h:438
token::ptr_t token_ptr
Definition: token.h:506
auto token(const token_ptr &tok) -> self &
Definition: connect_options.h:836
static connect_options v3()
bool empty() const
Definition: buffer_ref.h:226
auto ssl(ssl_options &&ssl) -> self &
Definition: connect_options.h:828
void set_automatic_reconnect(bool on)
Definition: connect_options.h:487
auto user_name(string_ref userName) -> self &
Definition: connect_options.h:768
string get_user_name() const
Definition: connect_options.h:646
auto will(const message &msg) -> self &
Definition: connect_options.h:808
#define PAHO_MQTTPP_EXPORT
Definition: export.h:40
void set_password(binary_ref password)
void set_will_message(const_message_ptr msg)
Definition: connect_options.h:445
void set_will(const will_options &will)
void set_user_name(string_ref userName)
static connect_options_builder ws()
Definition: connect_options.h:715
void set_user_name(string_ref userName)
auto clean_start(bool on=true) -> self &
Definition: connect_options.h:902
Definition: connect_options.h:669
string get_http_proxy() const
Definition: connect_options.h:558
long to_seconds_count(const std::chrono::duration< Rep, Period > &dur)
Definition: types.h:127
Definition: connect_options.h:586
connect_data & operator=(const connect_data &rhs)
int to_int(bool b)
Definition: types.h:167
string get_https_proxy() const
Definition: connect_options.h:569
const char * c_str() const
Definition: buffer_ref.h:257
const ssl_options & get_ssl_options() const
Definition: connect_options.h:267
Definition: async_client.h:49
static connect_options ws()
Definition: connect_options.h:175
void set_https_proxy(const string &httpsProxy)
auto mqtt_version(int ver) -> self &
Definition: connect_options.h:871
auto keep_alive_interval(const std::chrono::duration< Rep, Period > &interval) -> self &
Definition: connect_options.h:749
void set_connect_timeout(const std::chrono::duration< Rep, Period > &timeout)
Definition: connect_options.h:404
bool empty() const
Definition: string_collection.h:333
connect_options::ptr_t connect_options_ptr
Definition: connect_options.h:579
const_string_collection_ptr get_servers() const
Definition: connect_options.h:308
connect_options_builder(const connect_options &&opts)
Definition: connect_options.h:690
string get_password_str() const
Definition: connect_options.h:235
auto http_proxy(const string &httpProxy) -> self &
Definition: connect_options.h:943
void set_keep_alive_interval(const std::chrono::duration< Rep, Period > &interval)
Definition: connect_options.h:384
void set_properties(const properties &props)
auto automatic_reconnect(bool on=true) -> self &
Definition: connect_options.h:880
auto clean_session(bool on=true) -> self &
Definition: connect_options.h:737
Definition: will_options.h:49
std::chrono::seconds get_max_retry_interval() const
Definition: connect_options.h:338
Definition: string_collection.h:241