1 #pragma once 2 3 #include "ASyncTCP.h" 4 #include "MySensorsBase.h" 5 6 class MySensorsTCP : public MySensorsBase, ASyncTCP 7 { 8 public: 9 MySensorsTCP(const int ID, const std::string &IPAddress, const unsigned short usIPPort); 10 ~MySensorsTCP(void); 11 public: 12 // signals 13 boost::signals2::signal<void()> sDisconnected; 14 private: 15 int m_retrycntr; 16 bool StartHardware() override; 17 bool StopHardware() override; 18 protected: 19 std::string m_szIPAddress; 20 unsigned short m_usIPPort; 21 22 void WriteInt(const std::string &sendStr) override; 23 24 void Do_Work(); 25 26 void OnConnect() override; 27 void OnDisconnect() override; 28 void OnData(const unsigned char *pData, size_t length) override; 29 void OnError(const boost::system::error_code& error) override; 30 31 std::shared_ptr<std::thread> m_thread; 32 }; 33 34