X-Git-Url: https://git.piment-noir.org/?a=blobdiff_plain;f=src%2Flib%2Fplatform%2Fsockets%2Fserialport.h;h=bbe01363ce69266f484c4157df19cda7a0bb1734;hb=24048d575419fe909fade9110fab48d17370ee6f;hp=bef3a806abd9ac8a6849c03891ddfff749e77429;hpb=3d78df91b40ec5020b312fff1ff0c3abe1524948;p=deb_libcec.git diff --git a/src/lib/platform/sockets/serialport.h b/src/lib/platform/sockets/serialport.h index bef3a80..bbe0136 100644 --- a/src/lib/platform/sockets/serialport.h +++ b/src/lib/platform/sockets/serialport.h @@ -39,9 +39,10 @@ #if !defined(__WINDOWS__) #include -#include "socket.h" #endif +#include "socket.h" + namespace PLATFORM { #define PAR_NONE 0 @@ -52,7 +53,7 @@ namespace PLATFORM { public: CSerialPort(void); - virtual ~CSerialPort(void) {}; + virtual ~CSerialPort(void) {} bool Open(std::string name, uint32_t baudrate, uint8_t databits = 8, uint8_t stopbits = 1, uint8_t parity = PAR_NONE); @@ -63,16 +64,22 @@ namespace PLATFORM return strName; } + #ifdef __WINDOWS__ + virtual bool IsOpen(void); + virtual void Close(void); + virtual int64_t Write(uint8_t* data, uint32_t len); + virtual int32_t Read(uint8_t* data, uint32_t len, uint64_t iTimeoutMs = 0); + private: + void FormatWindowsError(int iErrorCode, CStdString &strMessage); bool SetBaudRate(uint32_t baudrate); std::string m_name; bool m_tostdout; - #ifdef __WINDOWS__ bool SetTimeouts(bool bBlocking); - HANDLE m_handle; + HANDLE m_handle; bool m_bIsOpen; uint32_t m_iBaudrate; uint8_t m_iDatabits;