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