paho-mqtt-cpp
MQTT C++ Client for POSIX and Windows
Loading...
Searching...
No Matches
response_options.h
Go to the documentation of this file.
1
6
7#ifndef __mqtt_response_options_h
8#define __mqtt_response_options_h
9
10#include "MQTTAsync.h"
11#include "mqtt/token.h"
12#include "mqtt/delivery_token.h"
13#include "subscribe_options.h"
14
15namespace mqtt {
16
17class token_test;
18
20// response_options
22
35{
37 MQTTAsync_responseOptions opts_;
38
41
43 properties props_;
44
46 std::vector<MQTTSubscribe_options> subOpts_;
47
49 friend class async_client;
50
52 void update_c_struct();
53
54public:
59 explicit response_options(int mqttVersion=MQTTVERSION_DEFAULT);
65 response_options(const token_ptr& tok, int mqttVersion=MQTTVERSION_DEFAULT);
79 #if defined(UNIT_TESTS)
80 const MQTTAsync_responseOptions& c_struct() const { return opts_; }
81 #endif
87 void set_mqtt_version(int mqttVersion);
92 void set_token(const token_ptr& tok);
97 void set_properties(const properties& props) {
98 props_ = props;
99 opts_.properties = props_.c_struct();
100 }
106 props_ = std::move(props);
107 opts_.properties = props_.c_struct();
108 }
118 void set_subscribe_options(const std::vector<subscribe_options>& opts);
119};
120
122
127{
129 response_options opts_;
130
131public:
137 explicit response_options_builder(int mqttVersion=MQTTVERSION_DEFAULT)
138 : opts_(mqttVersion) {}
144 auto mqtt_version(int mqttVersion) -> self& {
145 opts_.set_mqtt_version(mqttVersion);
146 return *this;
147 }
152 auto token(const token_ptr& tok) -> self& {
153 opts_.set_token(tok);
154 return *this;
155 }
160 auto properties(mqtt::properties&& props) -> self& {
161 opts_.set_properties(std::move(props));
162 return *this;
163 }
168 auto properties(const mqtt::properties& props) -> self& {
169 opts_.set_properties(props);
170 return *this;
171 }
176 auto subscribe_opts(const subscribe_options& opts) -> self& {
177 opts_.set_subscribe_options(opts);
178 return *this;
179 }
184 auto subscribe_opts(const std::vector<subscribe_options>& opts) -> self& {
185 opts_.set_subscribe_options(opts);
186 return *this;
187 }
192 response_options finalize() { return opts_; }
193};
194
196// delivery_response_options
198
204{
206 MQTTAsync_responseOptions opts_;
207
210
212 friend class async_client;
213
214public:
218 delivery_response_options(int mqttVersion=MQTTVERSION_DEFAULT);
225 int mqttVersion=MQTTVERSION_DEFAULT);
229 #if defined(UNIT_TESTS)
230 const MQTTAsync_responseOptions& c_struct() const { return opts_; }
231 #endif
236 void set_token(const delivery_token_ptr& dtok) {
237 dtok_ = dtok;
238 opts_.context = dtok.get();
239 }
240};
241
243// end namespace 'mqtt'
244}
245
246#endif // __mqtt_response_options_h
247
Definition async_client.h:108
Definition response_options.h:204
void set_token(const delivery_token_ptr &dtok)
Definition response_options.h:236
delivery_response_options(int mqttVersion=MQTTVERSION_DEFAULT)
delivery_response_options(const delivery_token_ptr &dtok, int mqttVersion=MQTTVERSION_DEFAULT)
std::weak_ptr< delivery_token > weak_ptr_t
Definition delivery_token.h:61
Definition properties.h:256
const MQTTProperties & c_struct() const
Definition properties.h:308
Definition response_options.h:127
auto properties(mqtt::properties &&props) -> self &
Definition response_options.h:160
auto subscribe_opts(const subscribe_options &opts) -> self &
Definition response_options.h:176
auto properties(const mqtt::properties &props) -> self &
Definition response_options.h:168
auto token(const token_ptr &tok) -> self &
Definition response_options.h:152
auto subscribe_opts(const std::vector< subscribe_options > &opts) -> self &
Definition response_options.h:184
response_options finalize()
Definition response_options.h:192
auto mqtt_version(int mqttVersion) -> self &
Definition response_options.h:144
response_options_builder(int mqttVersion=MQTTVERSION_DEFAULT)
Definition response_options.h:137
Definition response_options.h:35
response_options(int mqttVersion=MQTTVERSION_DEFAULT)
void set_token(const token_ptr &tok)
response_options(const token_ptr &tok, int mqttVersion=MQTTVERSION_DEFAULT)
void set_subscribe_options(const subscribe_options &opts)
response_options & operator=(const response_options &rhs)
void set_subscribe_options(const std::vector< subscribe_options > &opts)
void set_mqtt_version(int mqttVersion)
void set_properties(properties &&props)
Definition response_options.h:105
void set_properties(const properties &props)
Definition response_options.h:97
response_options(const response_options &other)
Definition subscribe_options.h:42
std::weak_ptr< token > weak_ptr_t
Definition token.h:60
Definition async_client.h:49
delivery_token::ptr_t delivery_token_ptr
Definition delivery_token.h:125
token::ptr_t token_ptr
Definition token.h:506