|
| PRFC822Channel (Direction direction) |
| Construct a RFC822 aware channel. More...
|
|
| ~PRFC822Channel () |
| Close the channel before destruction. More...
|
|
PBoolean | Close () |
| Close the channel. More...
|
|
virtual PBoolean | Write (const void *buf, PINDEX len) |
| Low level write to the channel. More...
|
|
void | NewMessage (Direction direction) |
| Begin a new message. More...
|
|
PString | MultipartMessage () |
| Enter multipart MIME message mode. More...
|
|
PBoolean | MultipartMessage (const PString &boundary) |
| Enter multipart MIME message mode. More...
|
|
void | NextPart (const PString &boundary) |
| Indicate that a new multipart message part is to begin. More...
|
|
void | SetFromAddress (const PString &fromAddress) |
| Set the sender address. More...
|
|
void | SetToAddress (const PString &toAddress) |
| Set the recipient address(es). More...
|
|
void | SetCC (const PString &ccAddress) |
| Set the Carbon Copy address(es). More...
|
|
void | SetBCC (const PString &bccAddress) |
| Set the Blind Carbon Copy address(es). More...
|
|
void | SetSubject (const PString &subject) |
| Set the message subject. More...
|
|
void | SetContentType (const PString &contentType) |
| Set the content type. More...
|
|
void | SetContentAttachment (const PFilePath &filename) |
| Set the content disposition for attachments. More...
|
|
void | SetTransferEncoding (const PString &encoding, PBoolean autoTranslate=true) |
| Set the content transfer encoding. More...
|
|
void | SetHeaderField (const PString &name, const PString &value) |
| Set the and arbitrary header field. More...
|
|
PBoolean | SendWithSMTP (const PString &hostname) |
| Send this message using an SMTP socket. More...
|
|
PBoolean | SendWithSMTP (PSMTPClient *smtp) |
| Send this message using an SMTP socket. More...
|
|
| 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 | 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 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...
|
|
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...
|
|
PINDEX | GetLastReadCount () const |
| Get the number of bytes read by the last Read() call. More...
|
|
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...
|
|
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...
|
|
unsigned | GetTraceContextIdentifier () const |
| Get PTRACE context identifier. More...
|
|
void | SetTraceContextIdentifier (unsigned id) |
|
void | GetTraceContextIdentifier (PObject &obj) |
|
void | GetTraceContextIdentifier (PObject *obj) |
|
void | SetTraceContextIdentifier (const PObject &obj) |
|
void | SetTraceContextIdentifier (const PObject *obj) |
|
virtual | ~PObject () |
|
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 const char * | GetClass (unsigned ancestor=0) const |
| Get the current dynamic type of the object instance. More...
|
|
PBoolean | IsClass (const char *cls) const |
|
virtual PBoolean | InternalIsDescendant (const char *clsName) const |
| Determine if the dynamic type of the current instance is a descendent of the specified class. More...
|
|
__inline const PObject * | PTraceObjectInstance () const |
|
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...
|
|
A channel for sending/receiving RFC822 compliant mail messages.
This encpsulates all that is required to send an RFC822 compliant message via another channel. It automatically adds/strips header information from the stream so the Read() and Write() functions only deal with the message body. For example to send a message using the SMTP classes: PSMTPClient mail("mailserver"); if (mail.IsOpen()) { PRFC822Channel message; message.SetFromAddress("Me@here.com.au"); message.SetToAddress("Fred@somwhere.com"); if (message.Open(mail)) { if (mail.BeginMessage("Me@here.com.au", "Fred@somwhere.com")) { if (!message.Write(myMessageBody)) PError << "Mail write failed." << endl; if (!message.EndMessage()) PError << "Mail send failed." << endl; } } } else PError << "Mail conection failed." << endl;