38 #ifndef BLOCXX_UNNAMEDPIPE_HPP_
39 #define BLOCXX_UNNAMEDPIPE_HPP_
40 #include "blocxx/BLOCXX_config.h"
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_
BLOCXX_DEPRECATED void setTimeouts(int seconds)
BLOCXX_EXPORT_TEMPLATE(BLOCXX_COMMON_API, Array, Bool)
void setTimeouts(const Timeout &timeout)
Sets the read & write timeout values.
void setWriteTimeout(const Timeout &timeout)
Sets the write timeout value.
Abstract interface for an UnnamedPipe.
const UInt32 INFINITE_TIMEOUT BLOCXX_DEPRECATED
Value that means infinite timeout.
Timeout getWriteTimeout()
Gets the write timeout value.
BLOCXX_COMMON_API int close(const FileHandle &hdl)
Close file handle.
This String class is an abstract data type that represents as NULL terminated string of characters...
static Timeout relative(float seconds)
BLOCXX_DEPRECATED void setReadTimeout(int seconds)
A timeout can be absolute, which means that it will happen at the specified DateTime.
PURPOSE: The AutoResource class template is an analog of std::auto_ptr for managing arbitrary resourc...
void writeString(std::streambuf &ostrm, const String &str)
int passDescriptor(Descriptor streamPipe, Descriptor descriptor, ProcId targetProcessId)
Sends a Descriptor to the peer.
BLOCXX_DEPRECATED void setWriteTimeout(int seconds)
Timeout getReadTimeout()
Gets the read timeout value.
#define BLOCXX_DECLARE_APIEXCEPTION(NAME, LINKAGE_SPEC)
Declare a new exception class named Exception that derives from Exception This macro is typical...
String readString(std::streambuf &istrm)
void setReadTimeout(const Timeout &timeout)
Sets the read timeout value.
AutoDescriptor receiveDescriptor(Descriptor streamPipe)
Gets a Descriptor from the peer.