17#ifndef _MQTTPublisher_H_
18#define _MQTTPublisher_H_
20#include <unordered_map>
23#include <mosquittopp.h>
24#include "UObject_SK.h"
25#include "SMInterface.h"
26#include "SharedMemory.h"
27#include "Extensions.h"
28#include "USingleProcess.h"
112 protected mosqpp::mosquittopp,
117 const std::string& prefix =
"mqtt" );
121 static std::shared_ptr<MQTTPublisher>
init_mqttpublisher(
int argc,
const char*
const* argv,
123 const std::string& prefix =
"mqtt" );
126 static void help_print(
int argc,
const char*
const* argv );
128 virtual void on_connect(
int rc)
override;
129 virtual void on_message(
const struct mosquitto_message* message)
override;
130 virtual void on_subscribe(
int mid,
int qos_count,
const int* granted_qos)
override;
135 virtual void askSensors( UniversalIO::UIOCommand cmd )
override;
140 std::shared_ptr<SMInterface> shm;
148 sid(
id), pubname(name) {}
151 typedef std::unordered_map<uniset::ObjectId, MQTTInfo> MQTTMap;
155 RangeInfo(
long min,
long max,
const std::string& t ): rmin(min), rmax(max), text(t) {}
160 bool check(
long val )
const;
172 std::list<RangeInfo> rlist;
174 void check( mosqpp::mosquittopp* serv,
long value, std::shared_ptr<DebugStream>& log,
const std::string& myname );
176 std::string replace(
RangeInfo* ri,
long value );
179 typedef std::unordered_map<uniset::ObjectId, MQTTTextInfo> MQTTTextMap;
182 MQTTTextMap textpublist;
188 bool connectOK = {
false };
189 std::string host = {
"localhost" };
191 int keepalive = { 60 };
Definition UObject_SK.h:30
Definition MQTTPublisher.h:114
static std::shared_ptr< MQTTPublisher > init_mqttpublisher(int argc, const char *const *argv, uniset::ObjectId shmID, const std::shared_ptr< SharedMemory > &ic=nullptr, const std::string &prefix="mqtt")
Definition MQTTPublisher.cc:219
virtual bool deactivateObject() override
Деактивация объекта (переопределяется для необходимых действий при завершении работы)
Definition MQTTPublisher.cc:143
static void help_print(int argc, const char *const *argv)
Definition MQTTPublisher.cc:165
Definition MessageType.h:127
Definition MessageType.h:171
Definition USingleProcess.h:28
Definition AccessConfig.h:30
long ObjectId
Definition UniSetTypes_i.idl:30
Definition MQTTPublisher.h:143
Definition MQTTPublisher.h:164
Definition MQTTPublisher.h:154