| Yate
    | 
Abstract MIME data holder. More...
#include <yatemime.h>
 
  
 | Public Member Functions | |
| virtual | ~MimeBody () | 
| virtual void * | getObject (const String &name) const | 
| const MimeHeaderLine & | getType () const | 
| MimeBody * | getFirst (const String &type) const | 
| const ObjList & | headers () const | 
| void | appendHdr (MimeHeaderLine *hdr) | 
| void | removeHdr (MimeHeaderLine *hdr, bool delobj=true) | 
| MimeHeaderLine * | findHdr (const String &name, const MimeHeaderLine *start=0) const | 
| void | buildHeaders (String &buf) | 
| bool | setParam (const char *name, const char *value=0, const char *header=0) | 
| bool | delParam (const char *name, const char *header=0) | 
| const NamedString * | getParam (const char *name, const char *header=0) const | 
| const DataBlock & | getBody () const | 
| const DataBlock & | body () const | 
| virtual bool | isSDP () const | 
| virtual bool | isMultipart () const | 
| virtual MimeBody * | clone () const =0 | 
|  Public Member Functions inherited from GenObject | |
| GenObject () | |
| virtual | ~GenObject () | 
| virtual bool | alive () const | 
| virtual void | destruct () | 
| virtual const String & | toString () const | 
| NamedCounter * | getObjCounter () const | 
| NamedCounter * | setObjCounter (NamedCounter *counter) | 
| Static Public Member Functions | |
| static MimeBody * | build (const char *buf, int len, const MimeHeaderLine &type) | 
| static String * | getUnfoldedLine (const char *&buf, int &len) | 
|  Static Public Member Functions inherited from GenObject | |
| static void * | getObject (const String &name, const GenObject *obj) | 
| static bool | getObjCounting () | 
| static void | setObjCounting (bool enable) | 
| static NamedCounter * | getObjCounter (const String &name, bool create=true) | 
| static ObjList & | getObjCounters () | 
| Protected Member Functions | |
| MimeBody (const String &type) | |
| MimeBody (const MimeHeaderLine &type) | |
| virtual void | buildBody () const =0 | 
| Protected Attributes | |
| DataBlock | m_body | 
| ObjList | m_headers | 
Abstract MIME data holder.
Abstract base class for holding Multipurpose Internet Mail Extensions data. Keeps a Content-Type header line with body type and parameters and any additional header lines the body may have. The body type contains lower case characters.
| 
 | virtual | 
Destructor
Constructor to be used only by derived classes. Converts the MIME type string to lower case
| type | The value of the Content-Type header line | 
| 
 | protected | 
Constructor to be used only by derived classes. Builds this body from a header line. Converts the MIME type string to lower case
| type | The content type header line | 
| 
 | inline | 
Append an additional header line to this body
| hdr | The header line to append | 
References ObjList::append(), and MimeBody::m_headers.
| 
 | inline | 
Get the binary data of this MIME body without building it.
References MimeBody::m_body.
| 
 | static | 
Method to build a MIME body from a type and data buffer. Unknown body types are built into a binary body. Exactly 1 leading CRLF is removed from the beginning of the buffer if found before building it
| buf | Pointer to buffer of data just after the body headers | 
| len | Length of data in buffer | 
| type | The header line declaring the body's content. Usually this is a Content-Type header line | 
| 
 | protectedpure virtual | 
Method that is called internally to build the binary encoded body
Implemented in MimeLinesBody, MimeStringBody, MimeBinaryBody, MimeSdpBody, and MimeMultipartBody.
| 
 | inline | 
Build a string with this body's header lines
| buf | Destination string | 
References MimeHeaderLine::buildHeaders(), MimeHeaderLine::buildLine(), and MimeBody::m_headers.
| 
 | pure virtual | 
Duplicate this MIME body
Implemented in MimeLinesBody, MimeStringBody, MimeBinaryBody, MimeSdpBody, and MimeMultipartBody.
| bool delParam | ( | const char * | name, | 
| const char * | header = 0 | ||
| ) | 
Remove a header parameter
| name | Parameter's name | 
| header | Header whose parameter will be removed. Set to 0 to use the body's content type header | 
| MimeHeaderLine* findHdr | ( | const String & | name, | 
| const MimeHeaderLine * | start = 0 | ||
| ) | const | 
Find an additional header line by its name. The names are compared case insensitive
| name | The name of the header to find | 
| start | The starting point in the list. 0 to start from the beginning | 
| const DataBlock& getBody | ( | ) | const | 
Retrieve the binary encoding of this MIME body. Build the body if empty. The body doesn't contain the Content-Type header or the additional headers
Get the first body that matches a requested type, descends into multiparts
| type | Name of the MIME type to search for | 
| 
 | virtual | 
RTTI method, get a pointer to a derived class given the class name
| name | Name of the class we are asking for | 
Reimplemented from GenObject.
Reimplemented in MimeLinesBody, MimeStringBody, MimeBinaryBody, MimeSdpBody, and MimeMultipartBody.
| const NamedString* getParam | ( | const char * | name, | 
| const char * | header = 0 | ||
| ) | const | 
Get a header parameter
| name | Parameter's name | 
| header | Header whose parameter will be retrieved. Set to 0 to use the body's content type header | 
| 
 | inline | 
Retrieve the MIME type of this body
| 
 | static | 
Utility method, returns an unfolded line and advances the pointer
| buf | Reference to pointer to start of buffer data | 
| len | Reference to variable holding buffer length | 
| 
 | inline | 
Retrieve the additional headers of this MIME body (other then Content-Type)
References MimeBody::m_headers.
| 
 | inlinevirtual | 
Check if this body is multipart (can hold other MIME bodies)
Reimplemented in MimeMultipartBody.
| 
 | inlinevirtual | 
Check if this body is a Session Description Protocol
Reimplemented in MimeSdpBody.
| 
 | inline | 
Remove an additional header line from this body
| hdr | The header line to remove | 
| delobj | True to delete the header, false to remove from list without deleting it | 
References MimeBody::m_headers, and ObjList::remove().
| bool setParam | ( | const char * | name, | 
| const char * | value = 0, | ||
| const char * | header = 0 | ||
| ) | 
Replace the value of an existing parameter or add a new one
| name | Parameter's name | 
| value | Parameter's value | 
| header | Header whose parameter will be changed. Set to 0 to use the body's content type header | 
| 
 | mutableprotected | 
Block of binary data that buildBody() must fill
Referenced by MimeBody::body().
| 
 | protected | 
Additional body headers (other then Content-Type)
Referenced by MimeBody::appendHdr(), MimeBody::buildHeaders(), MimeBody::headers(), and MimeBody::removeHdr().
 1.8.8
 1.8.8