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;
111 bool noLocal,
bool retainAsPublished =
false,
114 : opts_(MQTTSubscribe_options_initializer) {
115 opts_.noLocal = noLocal ? 1 : 0;
116 opts_.retainAsPublished = retainAsPublished ? 1 : 0;
117 opts_.retainHandling = (
unsigned char)retainHandling;
125#if defined(UNIT_TESTS)
129 const auto& c_struct()
const {
return opts_; }
176 opts_.retainHandling = (
unsigned char)retainHandling;
Definition async_client.h:137
Definition response_options.h:51
Definition subscribe_options.h:49
RetainHandling
Definition subscribe_options.h:82
@ SEND_RETAINED_ON_NEW
Definition subscribe_options.h:86
@ DONT_SEND_RETAINED
Definition subscribe_options.h:88
@ SEND_RETAINED_ON_SUBSCRIBE
Definition subscribe_options.h:84
subscribe_options()
Definition subscribe_options.h:96
auto get_retain_handling() const -> RetainHandling
Definition subscribe_options.h:164
static constexpr bool NO_RETAIN_AS_PUBLISHED
Definition subscribe_options.h:77
subscribe_options(MQTTSubscribe_options opts)
Definition subscribe_options.h:123
bool get_no_local() const
Definition subscribe_options.h:137
static constexpr bool LOCAL
Definition subscribe_options.h:66
static constexpr bool SUBSCRIBE_NO_LOCAL
Definition subscribe_options.h:69
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:155
static constexpr bool SUBSCRIBE_LOCAL
Definition subscribe_options.h:71
void set_no_local(bool on=true)
Definition subscribe_options.h:143
bool get_retain_as_published() const
Definition subscribe_options.h:149
std::shared_ptr< subscribe_options > ptr_t
Definition subscribe_options.h:59
void set_retain_handling(RetainHandling retainHandling)
Definition subscribe_options.h:175
static constexpr bool RETAIN_AS_PUBLISHED
Definition subscribe_options.h:79
subscribe_options(bool noLocal, bool retainAsPublished=false, RetainHandling retainHandling=SEND_RETAINED_ON_SUBSCRIBE)
Definition subscribe_options.h:110
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:181
bool to_bool(int n)
Definition types.h:107