X-Git-Url: https://git.piment-noir.org/?a=blobdiff_plain;f=src%2Flib%2Fplatform%2Fsockets%2Fserialport.h;h=eed05a001761f6add5dc1a0de1475ba5bb9dc240;hb=5daed059e1d5bca3ddfa0787679ef4e7b349e382;hp=c74cc05d38ec967dfef8923af15ff466158beb09;hpb=996665192725398172263999b88c63663d11db04;p=deb_libcec.git diff --git a/src/lib/platform/sockets/serialport.h b/src/lib/platform/sockets/serialport.h index c74cc05..eed05a0 100644 --- a/src/lib/platform/sockets/serialport.h +++ b/src/lib/platform/sockets/serialport.h @@ -71,13 +71,16 @@ namespace PLATFORM public: CSerialSocket(const CStdString &strName, uint32_t iBaudrate, SerialDataBits iDatabits = SERIAL_DATA_BITS_EIGHT, SerialStopBits iStopbits = SERIAL_STOP_BITS_ONE, SerialParity iParity = SERIAL_PARITY_NONE) : CCommonSocket(INVALID_SERIAL_SOCKET_VALUE, strName), + #ifdef __WINDOWS__ + m_iCurrentReadTimeout(MAXDWORD), + #endif m_bIsOpen(false), m_iBaudrate(iBaudrate), m_iDatabits(iDatabits), m_iStopbits(iStopbits), m_iParity(iParity) {} - virtual ~CSerialSocket(void) {} + virtual ~CSerialSocket(void) { Close(); } virtual bool Open(uint64_t iTimeoutMs = 0); virtual void Close(void); @@ -96,6 +99,9 @@ namespace PLATFORM protected: #ifndef __WINDOWS__ struct termios m_options; + #else + bool SetTimeouts(serial_socket_t socket, int* iError, DWORD iTimeoutMs); + DWORD m_iCurrentReadTimeout; #endif bool m_bIsOpen;