SerialPortManager.h 1.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061
  1. #pragma once
  2. #include <tchar.h>
  3. #include <Windows.h>
  4. #include "CSerialPort/sigslot.h"
  5. #include "CSerialPort/SerialPort.h"
  6. #include "CSerialPort/SerialPortInfo.h"
  7. using namespace itas109;
  8. class SerialPortSlot : public has_slots<>
  9. {
  10. public:
  11. SerialPortSlot(CSerialPort& serialPort, HANDLE startAPPEvent);
  12. virtual void onMessage();
  13. protected:
  14. virtual int handleMessage(const char* szContent, int nRecv);
  15. virtual int onStartAPP();
  16. virtual void printMessage(const char* szData, int size);
  17. private:
  18. CSerialPort m_serialPort;
  19. HANDLE m_hStartAPPEvent;
  20. };
  21. class SerialPortManager
  22. {
  23. public:
  24. SerialPortManager();
  25. virtual ~SerialPortManager();
  26. virtual int initialize();
  27. virtual int listenCOMandStartApp(const TCHAR* szAppPath, const TCHAR* szAppArgs);
  28. virtual int sendStartedApp();
  29. virtual int sendCloseApp();
  30. protected:
  31. virtual void release();
  32. virtual int writeData(const char* szBuf, int size);
  33. virtual int initEvent();
  34. virtual int startAPP(const TCHAR* szAppPath, const TCHAR* szAppArgs);
  35. protected:
  36. CSerialPort* m_serialPort;
  37. SerialPortSlot* m_serialPortSlot;
  38. HANDLE m_hStartEvent;
  39. };