Home · All Classes · Grouped Classes · Annotated · Functions

Qtopia Messaging Library

Overview

The Qtopia Messaging library provides a set of APIs for accessing Qtopia messaging data. Interfaces are provided to create and modify, and to store and retrieve messages. The library does not directly support sending or retrieving messages; these actions are currently supported via the QtopiaServiceRequest mechanism. For detailed class information refer to: Messaging Classes.

The Qtopia Messaging library provides unified access to the messaging data on a Qtopia device including concurrent access to messaging data by multiple applications, and independence from the mechanism used to store the messaging data on the device.

Composition and Manipulation of Messages

The Qtopia Messaging library provides a number of classes to assist with the composition and manipulation of message data. Messages of all supported types are represented uniformly, although not all transport mechanisms are able to deliver more complex message formulations. Messages can be composed of multiple parts, composed hierarchically; the Qtopia Messaging Library supports composition of multipart messages from individual parts.

Classes to assist with composition and manipulation of messages:

ClassDescription
QMailMessageConvenient interface for working with messages
QMailMessagePartConvenient interface for working with message attachments
QMailMessagePartContainerAccess to a collection of message parts
QMailMessageBodyThe body element of a message or message part
QMailMessageHeaderFieldEncapsulates the parsing of message header fields
QMailMessageContentDispositionEncapsulates the parsing of the RFC 2822 'Content-Disposition' header field
QMailMessageContentTypeEncapsulates the parsing of the RFC 2822 'Content-Type' header field
QMailAddressInterface for manipulating message address strings
QMailTimeStampManages message time stamps

Sorting and Searching Functionality

The Qtopia Messaging library provides a number of sort and search functions to aid in selecting data most useful to the view requested. This reduces the burden on the application for managing the messaging data, as well as allowing better use of the underlying storage mechanism.

Sorting is accomplished by providing a sorting key, specifying the sort order, and the message property upon which to sort.

Searching is accomplished by providing a search condition, specifying a value, the message property to match, and the desired relation between the value and the message property. Search conditions can be combined to produce searches of arbitrary complexity.

Classes to assist with sorting and searching messages:

ClassDescription
QMailIdDefines the 64bit database ID's for message store elements
QMailStoreRepresents the main interface for storage and retrieval of messages and folders on the message store
QMailFolderRepresents a folder for mail messages on the message store
QMailMessageKeyDefines the parameters used for querying a subset of all available mail messages from the mail store
QMailFolderKeyDefines the parameters used for querying a subset of all available mail folders from the mail store
QMailMessageSortKeyDefines the parameters used for sorting a subset of queried messages from the mail store
QMailFolderSortKeyDefines the parameters used for sorting a subset of queried folders from the mail store

Message Composer and Viewer Plugins

The Qtopia Messaging Library uses a plugin system to register components that can compose and view messages. Although this mechanism can be accessed by applications, it is currently recommended that Services should be used to support message composing and viewing requirements.

Classes supporting the use of plugins for message composition and viewing:

ClassDescription
QMailComposerFactoryCreates objects implementing the QMailComposerInterface interface
QMailViewerFactoryCreates objects implementing the QMailViewerInterface interface
QMailComposerInterfaceDefines the interface to objects that can compose a mail message
QMailViewerInterfaceDefines the interface to objects that can display a mail message
QMailComposerPluginDefines a base class for implementing mail message composer plug-ins
QMailViewerPluginDefines a base class for implementing mail message viewer plug-ins
QMailComposerPluginInterfaceDefines the interface to plug-ins that provide mail message composers
QMailViewerPluginInterfaceDefines the interface to plug-ins that provide mail message viewers

Concurrent Access to Messaging Data

The Qtopia Messaging library provides a level of concurrent access to messaging data by multiple applications. The concurrent access does guarantee that data won't be corrupted by concurrent access, however does not give any guarantees as to performance of messaging data access if accessed concurrently by multiple applications.

Abstraction of Messaging Data Storage Mechanism

The Qtopia Messaging library abstracts the storage method used to store messaging data. On a device the Qtopia Messaging library will only read and write the primary storage mechanism and synchronizing mechanism.

Assumptions and Dependencies

The Qtopia Messaging library requires SQL support either through the included SQLite or through some other SQL engine.

See also MessageViewer Example.


Copyright © 2008 Nokia Trademarks
Qtopia 4.3.3