1 #pragma once 2 3 #include "KMTronicBase.h" 4 5 class KMTronicUDP : public KMTronicBase 6 { 7 public: 8 KMTronicUDP(const int ID, const std::string &IPAddress, const unsigned short usIPPort); 9 ~KMTronicUDP(void); 10 bool WriteToHardware(const char *pdata, const unsigned char length) override; 11 boost::signals2::signal<void()> sDisconnected; 12 private: 13 bool StartHardware() override; 14 bool StopHardware() override; 15 void Do_Work(); 16 bool WriteInt(const unsigned char *data, const size_t len, const bool bWaitForReturn) override; 17 void Init(); 18 void GetMeterDetails(); 19 private: 20 std::string m_szIPAddress; 21 unsigned short m_usIPPort; 22 std::string m_Username; 23 std::string m_Password; 24 std::shared_ptr<std::thread> m_thread; 25 }; 26 27