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
Definition: channel.h:569
virtual PString GetErrorText(ErrorGroup group=NumErrorGroups) const
Get error message description.
virtual PString GetName() const
Get the name of the channel.
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
virtual PBoolean IsOpen() const
Determine if the channel is currently open and read and write operations can be executed on it...
This is a channel that operates indirectly through another channel(s).
Definition: indchan.h:49
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
PChannel * GetReadChannel() const
Get the channel used for read operations.
virtual PChannel * GetBaseWriteChannel() const
This function returns the eventual base channel for writing of a series of indirect channels provided...
PChannel * GetWriteChannel() const
Get the channel used for write operations.
BOOL PBoolean
Definition: object.h:102
PChannel * writeChannel
Channel for write operations.
Definition: indchan.h:307
Abstract class defining I/O channel semantics.
Definition: channel.h:107
virtual PBoolean Close()
Close the channel.
virtual PChannel * GetBaseReadChannel() const
This function returns the eventual base channel for reading of a series of indirect channels provided...
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.
Comparison Compare(const PObject &obj) const
Determine if the two objects refer to the same indirect 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
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.