#pragma once #include "DomoticzHardware.h" class CRtl433 : public CDomoticzHardwareBase { public: explicit CRtl433(int ID, const std::string &cmdline); ~CRtl433() override = default; bool WriteToHardware(const char *pdata, unsigned char length) override; private: bool StartHardware() override; bool StopHardware() override; void Do_Work(); bool ParseJsonLine(const std::string &sLine); bool FindField(const std::map &data, const std::string &field); bool ParseData(std::map &data); private: std::shared_ptr m_thread; std::mutex m_pipe_mutex; std::string m_cmdline; std::string m_sLastLine; };