2 #include <ossia/network/base/protocol.hpp>
3 #include <ossia/network/context.hpp>
5 #include <boost/asio/cancellation_signal.hpp>
6 #include <boost/unordered/concurrent_flat_map.hpp>
9 struct mqtt5_configuration
17 class OSSIA_EXPORT mqtt5_protocol
19 ,
public Nano::Observer
22 explicit mqtt5_protocol(
23 ossia::net::network_context_ptr,
const mqtt5_configuration& conf);
26 bool pull(parameter_base&)
override;
27 bool push(
const parameter_base&,
const value& v)
override;
28 bool push_raw(
const full_parameter_data&)
override;
29 bool observe(parameter_base&,
bool)
override;
30 bool update(node_base& node_base)
override;
31 void set_device(device_base& dev)
override;
34 void on_new_param(
const parameter_base& param);
35 void on_removed_param(
const parameter_base& param);
36 void on_subscribe(
const parameter_base& param);
37 void on_unsubscribe(
const parameter_base& param);
39 ossia::net::network_context_ptr m_context;
40 mqtt5_configuration m_conf{};
41 std::unique_ptr<mqtt5_client> m_client;
43 struct subscribe_state;
44 boost::unordered::concurrent_flat_map<
The parameter_base class.
Definition: ossia/network/base/parameter.hpp:48
The protocol_base class.
Definition: protocol.hpp:40