24#ifndef __mqtt_subscribe_options_h
25#define __mqtt_subscribe_options_h
28#include "MQTTSubscribeOpts.h"
51 MQTTSubscribe_options opts_;
59 using ptr_t = std::shared_ptr<subscribe_options>;
66 static constexpr bool LOCAL =
false;
69 [[deprecated(
"Use NO_LOCAL")]]
72 [[deprecated(
"Use LOCAL")]]
113 bool noLocal,
bool retainAsPublished =
false,
116 : opts_(MQTTSubscribe_options_initializer) {
117 opts_.noLocal = noLocal ? 1 : 0;
118 opts_.retainAsPublished = retainAsPublished ? 1 : 0;
119 opts_.retainHandling = (
unsigned char)retainHandling;
127#if defined(UNIT_TESTS)
131 const auto& c_struct()
const {
return opts_; }
178 opts_.retainHandling = (
unsigned char)retainHandling;
Definition async_client.h:121
Definition response_options.h:51
Definition subscribe_options.h:49
RetainHandling
Definition subscribe_options.h:84
@ SEND_RETAINED_ON_NEW
Definition subscribe_options.h:88
@ DONT_SEND_RETAINED
Definition subscribe_options.h:90
@ SEND_RETAINED_ON_SUBSCRIBE
Definition subscribe_options.h:86
subscribe_options()
Definition subscribe_options.h:98
auto get_retain_handling() const -> RetainHandling
Definition subscribe_options.h:166
static constexpr bool NO_RETAIN_AS_PUBLISHED
Definition subscribe_options.h:79
subscribe_options(MQTTSubscribe_options opts)
Definition subscribe_options.h:125
bool get_no_local() const
Definition subscribe_options.h:139
static constexpr bool LOCAL
Definition subscribe_options.h:66
static constexpr bool SUBSCRIBE_NO_LOCAL
Definition subscribe_options.h:70
std::shared_ptr< const subscribe_options > const_ptr_t
Definition subscribe_options.h:61
void set_retain_as_published(bool on=true)
Definition subscribe_options.h:157
static constexpr bool SUBSCRIBE_LOCAL
Definition subscribe_options.h:73
void set_no_local(bool on=true)
Definition subscribe_options.h:145
bool get_retain_as_published() const
Definition subscribe_options.h:151
std::shared_ptr< subscribe_options > ptr_t
Definition subscribe_options.h:59
void set_retain_handling(RetainHandling retainHandling)
Definition subscribe_options.h:177
static constexpr bool RETAIN_AS_PUBLISHED
Definition subscribe_options.h:81
subscribe_options(bool noLocal, bool retainAsPublished=false, RetainHandling retainHandling=SEND_RETAINED_ON_SUBSCRIBE)
Definition subscribe_options.h:112
static constexpr bool NO_LOCAL
Definition subscribe_options.h:64
Definition async_client.h:60
subscribe_options::ptr_t subscribe_options_ptr
Definition subscribe_options.h:183
bool to_bool(int n)
Definition types.h:107