|
PTLib
Version 2.18.8
|
This interface is the base class of each XMPP transport class. More...
#include <xmpp.h>


Public Member Functions | |
| virtual PBoolean | Open ()=0 |
| virtual PBoolean | Close ()=0 |
| Close the channel. More... | |
Public Member Functions inherited from PIndirectChannel | |
| PIndirectChannel () | |
| Create a new indirect channel without any channels to redirect to. More... | |
| ~PIndirectChannel () | |
| Close the indirect channel, deleting read/write channels if desired. More... | |
| Comparison | Compare (const PObject &obj) const |
| Determine if the two objects refer to the same indirect channel. More... | |
| virtual PString | GetName () const |
| Get the name of the channel. More... | |
| virtual P_INT_PTR | GetHandle () const |
| Get the OS specific handle for the PSoundChannel. More... | |
| virtual PBoolean | IsOpen () const |
| Determine if the channel is currently open and read and write operations can be executed on it. More... | |
| virtual PBoolean | Read (void *buf, PINDEX len) |
| Low level read from the channel. More... | |
| virtual int | ReadChar () |
| Read a single character from the channel. More... | |
| virtual PBoolean | Write (const void *buf, PINDEX len) |
| Low level write to the channel. More... | |
| virtual PBoolean | Shutdown (ShutdownValue option) |
| Close one or both of the data streams associated with a channel. More... | |
| virtual bool | SetLocalEcho (bool localEcho) |
| Set local echo mode. More... | |
| virtual PChannel * | GetBaseReadChannel () const |
This function returns the eventual base channel for reading of a series of indirect channels provided by descendents of PIndirectChannel. More... | |
| virtual PChannel * | GetBaseWriteChannel () const |
This function returns the eventual base channel for writing of a series of indirect channels provided by descendents of PIndirectChannel. More... | |
| virtual bool | CloseBaseReadChannel () |
| Close the base channel of channel indirection using PIndirectChannel. More... | |
| virtual bool | CloseBaseWriteChannel () |
| Close the base channel of channel indirection using PIndirectChannel. More... | |
| virtual PString | GetErrorText (ErrorGroup group=NumErrorGroups) const |
| Get error message description. More... | |
| PBoolean | Open (PChannel &channel) |
| Set the channel for both read and write operations. More... | |
| PBoolean | Open (PChannel *channel, PBoolean autoDelete=true) |
| Set the channel for both read and write operations. More... | |
| PBoolean | Open (PChannel *readChannel, PChannel *writeChannel, PBoolean autoDeleteRead=true, PBoolean autoDeleteWrite=true) |
| Set the channel for both read and write operations. More... | |
| PChannel * | Detach (ShutdownValue option=ShutdownReadAndWrite) |
| Detach without closing the read/write channel. More... | |
| PChannel * | GetReadChannel () const |
| Get the channel used for read operations. More... | |
| bool | SetReadChannel (PChannel *channel, bool autoDelete=true, bool closeExisting=false) |
| Set the channel for read operations. More... | |
| PChannel * | GetWriteChannel () const |
| Get the channel used for write operations. More... | |
| PBoolean | SetWriteChannel (PChannel *channel, bool autoDelete=true, bool closeExisting=false) |
| Set the channel for read operations. More... | |
| template<class ChannelClass > | |
| ChannelClass * | FindChannel () |
| Locate a channel of a specific class in the indirect chain. More... | |
Public Member Functions inherited from PChannel | |
| PBoolean | SetErrorValues (Errors errorCode, int osError, ErrorGroup group=LastGeneralError) |
| Set error values to those specified. More... | |
| virtual PINDEX | HashFunction () const |
| Calculate a hash value for use in sets and dictionaries. More... | |
| FILE * | FDOpen (const char *mode) |
| Re-open the device using the stdio library. More... | |
| void | SetReadTimeout (const PTimeInterval &time) |
| Set the timeout for read operations. More... | |
| PTimeInterval | GetReadTimeout () const |
| Get the timeout for read operations. More... | |
| virtual PINDEX | GetLastReadCount () const |
| Get the number of bytes read by the last Read() call. More... | |
| virtual PINDEX | SetLastReadCount (PINDEX count) |
| PBoolean | ReadBlock (void *buf, PINDEX len) |
| Read len bytes into the buffer from the channel. More... | |
| PString | ReadString (PINDEX len) |
Read len character into a string from the channel. More... | |
| void | SetWriteTimeout (const PTimeInterval &time) |
| Set the timeout for write operations to complete. More... | |
| PTimeInterval | GetWriteTimeout () const |
| Get the timeout for write operations to complete. More... | |
| virtual PBoolean | Write (const void *buf, PINDEX len, const void *) |
| Low level write to the channel with marker. More... | |
| virtual PINDEX | GetLastWriteCount () const |
| Get the number of bytes written by the last Write() call. More... | |
| virtual PINDEX | SetLastWriteCount (PINDEX count) |
| PBoolean | WriteChar (int c) |
| Write a single character to the channel. More... | |
| PBoolean | WriteString (const PString &str) |
| Write a string to the channel. More... | |
| ~PChannel () | |
| Close down the channel. More... | |
| Errors | GetErrorCode (ErrorGroup group=NumErrorGroups) const |
| Get normalised error code. More... | |
| int | GetErrorNumber (ErrorGroup group=NumErrorGroups) const |
| Get OS errro code. More... | |
| virtual bool | ReadAsync (AsyncContext &context) |
| Begin an asynchronous read from channel. More... | |
| virtual void | OnReadComplete (AsyncContext &context) |
User callback function for when a ReadAsync() call has completed or timed out. More... | |
| virtual bool | WriteAsync (AsyncContext &context) |
| Begin an asynchronous write from channel. More... | |
| virtual void | OnWriteComplete (AsyncContext &context) |
| User callback function for when a WriteAsync() call has completed or timed out. More... | |
| virtual bool | FlowControl (const void *flowData) |
| Flow Control information Pass data to the channel for flowControl determination. More... | |
| PBoolean | SetBufferSize (PINDEX newSize) |
| Set the iostream buffer size for reads and writes. More... | |
| PBoolean | SendCommandString (const PString &command) |
| Send a command meta-string. More... | |
| void | AbortCommandString () |
| Abort a command string that is in progress. More... | |
Public Member Functions inherited from PObject | |
| __inline unsigned | GetTraceContextIdentifier () const |
| Get PTRACE context identifier. More... | |
| __inline void | SetTraceContextIdentifier (unsigned id) |
| __inline void | SetTraceContextIdentifier (const PObject &obj) |
| __inline void | SetTraceContextIdentifier (const PObject *obj) |
| __inline void | CopyTraceContextIdentifier (PObject &obj) const |
| __inline void | CopyTraceContextIdentifier (PObject *obj) const |
| virtual | ~PObject () |
| __inline const char * | GetClass () const |
| __inline bool | IsClass (const char *name) const |
| __inline const PObject * | PTraceObjectInstance () const |
| virtual PObject * | Clone () const |
| Create a copy of the class on the heap. More... | |
| template<class CLS > | |
| CLS * | CloneAs () const |
| As for Clone() but converts to specified type. More... | |
| virtual Comparison | CompareObjectMemoryDirect (const PObject &obj) const |
| Determine the byte wise comparison of two objects. More... | |
| bool | operator== (const PObject &obj) const |
| Compare the two objects. More... | |
| bool | operator!= (const PObject &obj) const |
| Compare the two objects. More... | |
| bool | operator< (const PObject &obj) const |
| Compare the two objects. More... | |
| bool | operator> (const PObject &obj) const |
| Compare the two objects. More... | |
| bool | operator<= (const PObject &obj) const |
| Compare the two objects. More... | |
| bool | operator>= (const PObject &obj) const |
| Compare the two objects. More... | |
| virtual void | PrintOn (ostream &strm) const |
| Output the contents of the object to the stream. More... | |
| virtual void | ReadFrom (istream &strm) |
| Input the contents of the object from the stream. More... | |
Additional Inherited Members | |
Public Types inherited from PChannel | |
| enum | PXBlockType { PXReadBlock, PXWriteBlock, PXAcceptBlock, PXConnectBlock } |
| enum | Errors { NoError, NotFound, FileExists, DiskFull, AccessDenied, DeviceInUse, BadParameter, NoMemory, NotOpen, Timeout, Interrupted, BufferTooSmall, Miscellaneous, ProtocolFailure, Unavailable, NumNormalisedErrors } |
| Normalised error codes. More... | |
| enum | ErrorGroup { LastReadError, LastWriteError, LastGeneralError, NumErrorGroups } |
| Error groups. More... | |
| typedef PNotifierTemplate < PChannel::AsyncContext & > | AsyncNotifier |
| enum | ShutdownValue { ShutdownRead = 0, ShutdownWrite = 1, ShutdownReadAndWrite = 2 } |
Public Types inherited from PObject | |
| enum | Comparison { LessThan = -1, EqualTo = 0, GreaterThan = 1 } |
Result of the comparison operation performed by the Compare() function. More... | |
Static Public Member Functions inherited from PChannel | |
| static PString | GetErrorText (Errors lastError, int osError=0) |
| Get error message description. More... | |
Static Public Member Functions inherited from PObject | |
| static __inline void | CopyTraceContextIdentifier (PObject &to, const PObject &from) |
| static __inline void | CopyTraceContextIdentifier (PObject &to, const PObject *from) |
| static __inline void | CopyTraceContextIdentifier (PObject *to, const PObject &from) |
| static __inline void | CopyTraceContextIdentifier (PObject *to, const PObject *from) |
| static __inline const char * | Class () |
| static __inline const PObject * | PTraceObjectInstance (const char *) |
| static __inline const PObject * | PTraceObjectInstance (const PObject *obj) |
| template<typename T > | |
| static Comparison | Compare2 (T v1, T v2) |
| Compare two types, returning Comparison type. More... | |
| static Comparison | InternalCompareObjectMemoryDirect (const PObject *obj1, const PObject *obj2, PINDEX size) |
| Internal function caled from CompareObjectMemoryDirect() More... | |
Protected Member Functions inherited from PIndirectChannel | |
| virtual PBoolean | OnOpen () |
| This callback is executed when the Open() function is called with open channels. More... | |
| PDECLARE_READ_WRITE_MUTEX (channelPointerMutex) | |
| Race condition prevention on closing channel. More... | |
Protected Member Functions inherited from PChannel | |
| PChannel (const PChannel &) | |
| PChannel & | operator= (const PChannel &) |
| virtual PBoolean | ConvertOSError (P_INT_PTR libcReturnValue, ErrorGroup group=LastGeneralError) |
| Convert an operating system error into platform independent error. More... | |
| int | ReadCharWithTimeout (PTimeInterval &timeout) |
| Read a character with specified timeout. More... | |
| PBoolean | ReceiveCommandString (int nextChar, const PString &reply, PINDEX &pos, PINDEX start) |
| bool | CheckNotOpen () |
| virtual int | os_errno () const |
| PBoolean | PXSetIOBlock (PXBlockType type, const PTimeInterval &timeout) |
| P_INT_PTR | GetOSHandleAsInt () const |
| int | PXClose () |
| PDECLARE_MUTEX (px_threadMutex) | |
| PDECLARE_MUTEX (px_writeMutex) | |
| PChannel () | |
| Create the channel. More... | |
Protected Member Functions inherited from PObject | |
| PObject () | |
| Constructor for PObject, made protected so cannot ever create one on its own. More... | |
Protected Attributes inherited from PIndirectChannel | |
| PChannel * | readChannel |
| Channel for read operations. More... | |
| PBoolean | readAutoDelete |
| Automatically delete read channel on destruction. More... | |
| PChannel * | writeChannel |
| Channel for write operations. More... | |
| PBoolean | writeAutoDelete |
| Automatically delete write channel on destruction. More... | |
Protected Attributes inherited from PChannel | |
| PTimeInterval | readTimeout |
| Timeout for read operations. More... | |
| PTimeInterval | writeTimeout |
| Timeout for write operations. More... | |
| atomic< P_INT_PTR > | os_handle |
| The operating system file handle return by standard open() function. More... | |
| PThreadLocalStorage< Status > | m_status [NumErrorGroups+1] |
| PXBlockType | px_lastBlockType |
| PThread * | px_readThread |
| PThread * | px_writeThread |
| PThread * | px_selectThread [3] |
| PCriticalSection | px_selectMutex [3] |
Protected Attributes inherited from PObject | |
| unsigned | m_traceContextIdentifier |
This interface is the base class of each XMPP transport class.
Derived classes might include an XMPP TCP transport as well as classes to handle XMPP incapsulated in SIP messages.
|
pure virtual |
Close the channel.
This will detach itself from the read and write channels and delete both of them if they are auto delete.
Reimplemented from PIndirectChannel.
Implemented in XMPP::C2S::TCPTransport.
|
pure virtual |
Implemented in XMPP::C2S::TCPTransport.