23#ifndef __mqtt_disconnect_options_h
24#define __mqtt_disconnect_options_h
40class disconnect_options
43 static constexpr MQTTAsync_disconnectOptions DFLT_C_STRUCT
44 MQTTAsync_disconnectOptions_initializer;
47 static constexpr MQTTAsync_disconnectOptions DFLT_C_STRUCT5
48 MQTTAsync_disconnectOptions_initializer5;
51 MQTTAsync_disconnectOptions opts_{DFLT_C_STRUCT};
68 void update_c_struct();
87 template <
class Rep,
class Period>
105 static disconnect_options
v3() {
return disconnect_options{DFLT_C_STRUCT}; }
110 static disconnect_options
v5() {
return disconnect_options{DFLT_C_STRUCT5}; }
115 disconnect_options&
operator=(
const disconnect_options& opt);
120 disconnect_options&
operator=(disconnect_options&& opt);
124#if defined(UNIT_TESTS)
125 const MQTTAsync_disconnectOptions& c_struct()
const {
return opts_; }
132 return std::chrono::milliseconds(opts_.timeout);
145 template <
class Rep,
class Period>
185 props_ = std::move(props);
186 opts_.properties = props_.c_struct();
205class disconnect_options_builder
215 using self = disconnect_options_builder;
224 static disconnect_options_builder
v3() {
225 return disconnect_options_builder{disconnect_options::DFLT_C_STRUCT};
231 static disconnect_options_builder
v5() {
232 return disconnect_options_builder{disconnect_options::DFLT_C_STRUCT5};
239 opts_.set_properties(std::move(props));
247 opts_.set_properties(props);
255 template <
class Rep,
class Period>
256 auto timeout(
const std::chrono::duration<Rep, Period>& to) ->
self& {
257 opts_.set_timeout(to);
265 opts_.set_reason_code(code);
static disconnect_options_builder v3()
Definition disconnect_options.h:224
auto properties(const mqtt::properties &props) -> self &
Definition disconnect_options.h:246
disconnect_options_builder()
Definition disconnect_options.h:219
static disconnect_options_builder v5()
Definition disconnect_options.h:231
disconnect_options finalize()
Definition disconnect_options.h:272
auto timeout(const std::chrono::duration< Rep, Period > &to) -> self &
Definition disconnect_options.h:256
auto reason_code(ReasonCode code) -> self &
Definition disconnect_options.h:264
auto properties(mqtt::properties &&props) -> self &
Definition disconnect_options.h:238
disconnect_options_builder self
Definition disconnect_options.h:215
Definition disconnect_options.h:41
static disconnect_options v5()
Definition disconnect_options.h:110
void set_timeout(int timeout)
Definition disconnect_options.h:139
disconnect_options()
Definition disconnect_options.h:77
friend class disconnect_options_builder
Definition disconnect_options.h:63
const properties & get_properties() const
Definition disconnect_options.h:166
ReasonCode get_reason_code() const
Definition disconnect_options.h:192
void set_timeout(const std::chrono::duration< Rep, Period > &to)
Definition disconnect_options.h:146
properties & get_properties()
Definition disconnect_options.h:171
disconnect_options & operator=(const disconnect_options &opt)
void set_token(const token_ptr &tok, int mqttVersion)
void set_properties(const properties &props)
Definition disconnect_options.h:176
void set_reason_code(ReasonCode code)
Definition disconnect_options.h:197
disconnect_options & operator=(disconnect_options &&opt)
disconnect_options(const disconnect_options &opt)
disconnect_options(const std::chrono::duration< Rep, Period > &to)
Definition disconnect_options.h:88
token_ptr get_token() const
Definition disconnect_options.h:161
std::chrono::milliseconds get_timeout() const
Definition disconnect_options.h:131
friend class async_client
Definition disconnect_options.h:60
static disconnect_options v3()
Definition disconnect_options.h:105
disconnect_options(disconnect_options &&opt)
disconnect_options(int timeout)
Definition disconnect_options.h:82
void set_properties(properties &&props)
Definition disconnect_options.h:184
Definition properties.h:293
properties()
Definition properties.h:358
Definition async_client.h:60
ReasonCode
Definition reason_code.h:39
token::ptr_t token_ptr
Definition token.h:513
long to_milliseconds_count(const std::chrono::duration< Rep, Period > &dur)
Definition types.h:95