MimeMultipartBody Class Reference

MIME multipart container. More...

#include <yatemime.h>

Inheritance diagram for MimeMultipartBody:
MimeBody GenObject

List of all members.

Public Member Functions

 MimeMultipartBody (const char *subtype="mixed", const char *boundary=0)
 MimeMultipartBody (const String &type, const char *buf, int len)
 MimeMultipartBody (const MimeHeaderLine &type, const char *buf, int len)
virtual ~MimeMultipartBody ()
const ObjListbodies () const
void appendBody (MimeBody *body)
void removeBody (MimeBody *body, bool delobj=true)
MimeBodyfindBody (const String &content, MimeBody **start=0) const
virtual void * getObject (const String &name) const
virtual bool isMultipart () const
virtual MimeBodyclone () const

Protected Member Functions

 MimeMultipartBody (const MimeMultipartBody &original)
virtual void buildBody () const
void parse (const char *buf, int len)

Detailed Description

MIME multipart container.

An object holding the bodies of a multipart MIME


Constructor & Destructor Documentation

MimeMultipartBody ( const char *  subtype = "mixed",
const char *  boundary = 0 
)

Constructor to build an empty multipart body

Parameters:
subtype The multipart subtype
boundary The string used as separator for enclosed bodies. A random one will be created if missing. The length will be truncated to 70 if this value is exceeded
MimeMultipartBody ( const String type,
const char *  buf,
int  len 
)

Constructor from block of data

Parameters:
type The value of the Content-Type header line
buf Pointer to buffer of data
len Length of data in buffer
MimeMultipartBody ( const MimeHeaderLine type,
const char *  buf,
int  len 
)

Constructor from block of data

Parameters:
type The content type header line
buf Pointer to buffer of data
len Length of data in buffer
virtual ~MimeMultipartBody (  )  [virtual]

Destructor

MimeMultipartBody ( const MimeMultipartBody original  )  [protected]

Copy constructor


Member Function Documentation

void appendBody ( MimeBody body  )  [inline]

Append a body to this multipart

Parameters:
body The body to append
const ObjList& bodies (  )  const [inline]

Get the list of bodies enclosed contained in this multipart

Returns:
The list of bodies enclosed contained in this multipart
virtual void buildBody (  )  const [protected, virtual]

Method that is called internally to build the binary encoded body

Implements MimeBody.

virtual MimeBody* clone (  )  const [virtual]

Duplicate this MIME body

Returns:
Copy of this MIME body

Implements MimeBody.

MimeBody* findBody ( const String content,
MimeBody **  start = 0 
) const

Find a body. Enclosed multiparts are also searched for the requested body

Parameters:
content The value of the body to find. Must be lower case
start The starting point in the list. 0 to start from the beginning. Be aware that this parameter is used internally to search within enclosed multipart bodies and set to 0 when the starting point is found
Returns:
Pointer to MimeBody or 0 if not found
virtual void* getObject ( const String name  )  const [virtual]

RTTI method, get a pointer to a derived class given the class name

Parameters:
name Name of the class we are asking for
Returns:
Pointer to the requested class or NULL if this object doesn't implement it

Reimplemented from MimeBody.

virtual bool isMultipart (  )  const [inline, virtual]

Check if this body is multipart (can hold other MIME bodies)

Returns:
True if this body is multipart

Reimplemented from MimeBody.

void parse ( const char *  buf,
int  len 
) [protected]

Parse a data buffer and append any valid body to this multipart Ignore prolog, epilog and invalid bodies

Parameters:
buf Pointer to buffer of data
len Length of data in buffer
void removeBody ( MimeBody body,
bool  delobj = true 
) [inline]

Remove a body from this multipart

Parameters:
body The body to remove
delobj True to delete the body, false to remove from list without deleting it

The documentation for this class was generated from the following file:
Generated on Thu Apr 8 18:19:42 2010 for Yate by  doxygen 1.6.3