38 #ifndef BLOCXX_UNNAMEDPIPE_HPP_
39 #define BLOCXX_UNNAMEDPIPE_HPP_
40 #include "blocxx/BLOCXX_config.h"
50 namespace BLOCXX_NAMESPACE
73 int writeInt(
int value);
94 int readInt(
int* value);
109 static const int INFINITE_TIMEOUT = -1;
168 virtual void open() = 0;
174 virtual int close() = 0;
179 virtual bool isOpen()
const = 0;
184 virtual Select_t getReadSelectObj()
const = 0;
189 virtual Select_t getWriteSelectObj()
const = 0;
202 virtual void setBlocking(EBlockingMode isBlocking=E_BLOCKING) = 0;
209 virtual void setWriteBlocking(EBlockingMode isBlocking=E_BLOCKING) = 0;
216 virtual void setReadBlocking(EBlockingMode isBlocking=E_BLOCKING) = 0;
221 virtual EBlockingMode getReadBlocking()
const = 0;
226 virtual EBlockingMode getWriteBlocking()
const = 0;
232 virtual Descriptor getInputDescriptor()
const = 0;
238 virtual Descriptor getOutputDescriptor()
const = 0;
259 virtual int closeInputHandle() = 0;
260 virtual int closeOutputHandle() = 0;
332 : m_readTimeout(
Timeout::infinite)
333 , m_writeTimeout(
Timeout::infinite)
343 #endif // BLOCXX_UNNAMEDPIPE_HPP_