Detailed Description
The QMessageContentContainer class provides an interface for internet media (MIME) and Transport Neutral Encapsulation Format (TNEF) content that is possibly only partially retrieved.
A QMessageContentContainer object can either directly contain media such as text, image, audio, video, application or message data, or contain multiple parts of content, but can not contain both media and multiple parts directly.
Container objects can be obtained via their QMessageContentContainerId identifier, using the find() function of the containing QMessage object.
For textual content using a recognized charset encoding textContent() will return the content as a unicode string.
For non-multipart content content() will return the content data after decoding any transfer encoding used to represent binary data using 7-bit ASCII characters, such as quoted-printable and base64.
The internet media (MIME) type of the container is returned by contentType(), the content subtype is returned by contentSubType(), the content type charset parameter is returned by contentCharset(), and the content suggested filename by suggestedFileName().
The type of a container that contains multiple parts of content must be "multipart" (case insensitive). A list of identifiers for directly contained parts of content is returned by contentIds().
An indication of the size of the container and its contents on the originating server is given by size(). If the content is entirely available on the device isContentAvailable() will return true.
Non-multipart content can be serialized to a QDataStream using writeContentTo(), or to a QTextStream using writeTextContentTo().
A container also stores name-value pairs known as header fields. Names are ASCII strings, while values are charset encoded unicode strings. A list of the header fields present in a container is returned by headerFields(). The unicode string values associated with a particular header field name are returned by headerFieldValues().
Member Function Documentation
QMessageContentContainer::QMessageContentContainer ()
Constructs an empty container object.
QMessageContentContainer::QMessageContentContainer ( const QMessageContentContainer & other )
Constructs a copy of other.
QMessageContentContainer::~QMessageContentContainer () [virtual]
Destroys the container object.
bool QMessageContentContainer::contains ( const QMessageContentContainerId & id ) const
If the container contains content with the identifier id, either directly or recursively then returns true; otherwise returns false.
See also find() and contentIds().
QByteArray QMessageContentContainer::content () const
Return the content after decoding any transfer encoding used to represent binary data using 7-bit ASCII characters, such as quoted-printable and base64.
For textual content any text charset encoding such as Shift-JIS, ISO 2022-JP, KOI8-R, Windows-1251 etc will not be decoded.
See also textContent().
QByteArray QMessageContentContainer::contentCharset () const
Returns the internet media (MIME) content charset, when defined; otherwise an empty array is returned.
See also contentType() and contentSubType().
QMessageContentContainerIdList QMessageContentContainer::contentIds () const
For a multipart container returns a list of identifiers for all content directly contained by the container; otherwise returns an empty list.
See also find() and contains().
QByteArray QMessageContentContainer::contentSubType () const
Returns the internet media (MIME) subtype of the content.
See also contentType() and contentCharset().
QByteArray QMessageContentContainer::contentType () const
Returns the content type of the container. Common types are "text", "image", "audio", "video", "application", "message" and "multipart".
The internet media (MIME) type of the container is "multipart" if the container directly contains multiple parts rather than directly contains media.
See also contentSubType() and contentCharset().
QMessageContentContainer QMessageContentContainer::find ( const QMessageContentContainerId & id ) const
If the container contains another container with identifier id either directly or recursively, then returns the value of that other container; otherwise returns an empty container constructed with the default constructor.
See also contains() and contentIds().
Returns the value of the first header field of the container with the name name, if any; otherwise returns a null string.
See also headerFields() and headerFieldValues().
Returns a list of values of header fields with the name name, if any; otherwise returns an empty list.
See also headerFields() and headerFieldValue().
Returns a list of names of header fields of the container.
See also headerFieldValue() and headerFieldValues().
bool QMessageContentContainer::isContentAvailable () const
Returns true if the entirety of the content contained is available on the device; otherwise returns false.
int QMessageContentContainer::size () const
If the size of the container is known then returns an indication of the size of the container on the originating server, including contents; otherwise returns 0.
QByteArray QMessageContentContainer::suggestedFileName () const
Returns the suggested filename for the attachment, when defined; otherwise an empty array is returned.
The default is an empty array.
QString QMessageContentContainer::textContent () const
For textual content encoded with a recognized charset, returns the content as a unicode string; otherwise a null string is returned.
void QMessageContentContainer::writeContent ( QDataStream & out ) const
For a non-multipart container, writes the content as returned by content() to the stream out; otherwise does nothing.
void QMessageContentContainer::writeTextContent ( QTextStream & out ) const
For a non-multipart container, writes the content as returned by textContent() to the stream out; otherwise does nothing.