34 #ifndef PTLIB_INDIRECTCHANNEL_H 35 #define PTLIB_INDIRECTCHANNEL_H 262 bool autoDelete =
true,
263 bool closeExisting =
false 280 bool autoDelete =
true,
281 bool closeExisting =
false 317 #endif // PTLIB_INDIRECTCHANNEL_H PReadWriteMutex channelPointerMutex
Race condition prevention on closing channel.
Definition: indchan.h:313
Comparison Compare(const PObject &obj) const
Determine if the two objects refer to the same indirect channel.
Definition: channel.h:569
PBoolean readAutoDelete
Automatically delete read channel on destruction.
Definition: indchan.h:304
Comparison
Result of the comparison operation performed by the Compare() function.
Definition: object.h:1184
This is a channel that operates indirectly through another channel(s).
Definition: indchan.h:49
virtual PChannel * GetBaseWriteChannel() const
This function returns the eventual base channel for writing of a series of indirect channels provided...
PChannel * readChannel
Channel for read operations.
Definition: indchan.h:301
virtual PBoolean Shutdown(ShutdownValue option)
Close one or both of the data streams associated with a channel.
ShutdownValue
Definition: channel.h:433
BOOL PBoolean
Definition: object.h:102
PChannel * writeChannel
Channel for write operations.
Definition: indchan.h:307
virtual PChannel * GetBaseReadChannel() const
This function returns the eventual base channel for reading of a series of indirect channels provided...
Abstract class defining I/O channel semantics.
Definition: channel.h:107
PChannel * GetWriteChannel() const
Get the channel used for write operations.
virtual PBoolean Close()
Close the channel.
virtual PString GetErrorText(ErrorGroup group=NumErrorGroups) const
Get error message description.
virtual PBoolean IsOpen() const
Determine if the channel is currently open and read and write operations can be executed on it...
PIndirectChannel()
Create a new indirect channel without any channels to redirect to.
The character string class.
Definition: pstring.h:108
PBoolean Open(PChannel &channel)
Set the channel for both read and write operations.
virtual PString GetName() const
Get the name of the channel.
PBoolean writeAutoDelete
Automatically delete write channel on destruction.
Definition: indchan.h:310
ErrorGroup
Error groups.
Definition: channel.h:565
virtual PBoolean Write(const void *buf, PINDEX len)
Low level write to the channel.
virtual PBoolean OnOpen()
This callback is executed when the Open() function is called with open channels.
virtual bool SetLocalEcho(bool localEcho)
Set local echo mode.
virtual PBoolean Read(void *buf, PINDEX len)
Low level read from the channel.
bool SetReadChannel(PChannel *channel, bool autoDelete=true, bool closeExisting=false)
Set the channel for read operations.
This class defines a thread synchronisation object.
Definition: syncthrd.h:251
PChannel * GetReadChannel() const
Get the channel used for read operations.
Ultimate parent class for all objects in the class library.
Definition: object.h:1118
PBoolean SetWriteChannel(PChannel *channel, bool autoDelete=true, bool closeExisting=false)
Set the channel for read operations.
~PIndirectChannel()
Close the indirect channel, deleting read/write channels if desired.