IQRF Gateway Daemon
MqttMessaging.h
Go to the documentation of this file.
1 
17 #pragma once
18 
19 #include "JsonUtils.h"
20 #include "IMessaging.h"
21 #include <string>
22 
23 class MqttMessagingImpl;
24 
25 typedef std::basic_string<unsigned char> ustring;
26 
56 class MqttMessaging : public IMessaging
57 {
58 public:
59  MqttMessaging() = delete;
60  MqttMessaging(const std::string& name);
61 
62  virtual ~MqttMessaging();
63 
65  void start() override;
66  void stop() override;
67  void update(const rapidjson::Value& cfg) override;
68  const std::string& getName() const override;
69  void registerMessageHandler(MessageHandlerFunc hndl) override;
70  void unregisterMessageHandler() override;
71  void sendMessage(const ustring& msg) override;
72 
73 private:
74  MqttMessagingImpl* m_impl;
75 };
virtual ~MqttMessaging()
Definition: MqttMessaging.cpp:467
void registerMessageHandler(MessageHandlerFunc hndl) override
Register message handler.
Definition: MqttMessaging.cpp:487
void update(const rapidjson::Value &cfg) override
Update configuration.
Definition: MqttMessaging.cpp:472
void sendMessage(const ustring &msg) override
send message
Definition: MqttMessaging.cpp:497
std::function< void(const ustring &)> MessageHandlerFunc
Incoming message handler functional type.
Definition: IMessaging.h:56
MqttMessaging()=delete
void stop() override
Stop Messaging instance.
Definition: MqttMessaging.cpp:482
IMessaging interface.
Definition: IMessaging.h:29
const std::string & getName() const override
Get name of the instance.
Definition: MqttMessaging.cpp:502
std::basic_string< unsigned char > ustring
Definition: MqttMessaging.h:23
std::basic_string< unsigned char > ustring
Definition: IMessaging.h:54
void start() override
IMessaging overriden methods.
Definition: MqttMessaging.cpp:477
void unregisterMessageHandler() override
Unregister message handler.
Definition: MqttMessaging.cpp:492
MQTT messaging.
Definition: MqttMessaging.h:56