38#ifndef BLOCXX_POSIX_UNNAMED_PIPE_HPP_
39#define BLOCXX_POSIX_UNNAMED_PIPE_HPP_
40#include "blocxx/BLOCXX_config.h"
59 virtual int write(
const void* data,
int dataLen,
ErrorAction errorAsException = E_RETURN_ON_ERROR);
60 virtual int read(
void* buffer,
int bufferLen,
ErrorAction errorAsException = E_RETURN_ON_ERROR);
65 virtual bool isOpen()
const;
66 virtual int closeInputHandle();
67 virtual int closeOutputHandle();
68 virtual void setBlocking(EBlockingMode outputIsBlocking=E_BLOCKING);
69 virtual void setWriteBlocking(EBlockingMode isBlocking=E_BLOCKING);
70 virtual void setReadBlocking(EBlockingMode isBlocking=E_BLOCKING);
71 virtual EBlockingMode getReadBlocking()
const;
72 virtual EBlockingMode getWriteBlocking()
const;
73 virtual Select_t getReadSelectObj()
const;
74 virtual Select_t getWriteSelectObj()
const;
76 virtual Descriptor getOutputDescriptor()
const;
PURPOSE: The AutoResource class template is an analog of std::auto_ptr for managing arbitrary resourc...
PosixUnnamedPipe(const PosixUnnamedPipe &x)
Descriptor getInputHandle() const
Descriptor getOutputHandle() const
PosixUnnamedPipe & operator=(const PosixUnnamedPipe &x)
Abstract interface for an UnnamedPipe.
AutoDescriptor receiveDescriptor(Descriptor streamPipe)
Gets a Descriptor from the peer.
int passDescriptor(Descriptor streamPipe, Descriptor descriptor, ProcId targetProcessId)
Sends a Descriptor to the peer.
IntrusiveReference< PosixUnnamedPipe > PosixUnnamedPipeRef