Qt Mobility Reference Documentation

Organizer Asynchronous API

Introduction

The Organizer Asynchronous API enables a client to asynchronously fetch, update, or remove calendar, scheduling and personal data from an organizer item manager. Use of the asynchronous API offers the programmer greater flexibility when requesting information from remote or slow local datastores.

Using the API

The asynchronous API offered by the Organizer module is available through classes derived from the QOrganizerAbstractRequest class. It consists of three major sections:

  • Organizer Item Manipulation
  • Item Collection Manipulation
  • Schema Manipulation

The functionality offered by the synchronous API in these two categories is also available through the asynchronous API. There is one category of functionality which is not provided by the asynchronous API which is provided by the synchronous API: some information and reporting functionality is only provided through the synchronous API.

For detailed information about the information and reporting functionality provided, please refer to the documentation for the Organizer Synchronous API.

Organizer Item Manipulation

The most common type of operation that clients will perform involves retrieval or modification of organizer items. For in-depth information about item manipulation, please refer to the Organizer Synchronous API, as the data semantics of such operations are the same.

There are four different types of operation which are supported by the asynchronous API:

  • Fetch item ids
  • Fetch items
  • Save items (create or update)
  • Remove items

These operations are supported via the QOrganizerItemLocalIdFetchRequest, QOrganizerItemFetchRequest, QOrganizerItemSaveRequest and QOrganizerItemRemoveRequest classes, respectively.

The synchronous API offered by the QOrganizerItemManager class to allow manipulation of organizer items consists of the following functions:

Item Collection Manipulation

Every item is saved in a collection in a manager. Each collection has various properties which, if the manager supports such operations, may be modified by clients.

There are four different types of operation which are supported by the asynchronous API:

  • Fetch collection ids
  • Fetch collections (that is, the object which defines the properties of a collection)
  • Save collections (create or update)
  • Remove collections

These operations are supported via the QOrganizerCollectionLocalIdFetchRequest, QOrganizerCollectionFetchRequest, QOrganizerCollectionSaveRequest and QOrganizerCollectionRemoveRequest classes, respectively.

The synchronous API offered by the QOrganizerItemManager class to allow manipulation of collections consists of the following functions:

The synchronous API also offers a function which returns the id of the default collection of the manager.

Schema Manipulation

The schema supported by a plugin is the list of detail definitions which are supported by the plugin. For in-depth information about the schema, please refer to the Organizer Synchronous API.

There are three different types of operation which are supported by the asynchronous API:

  • Fetch detail definitions
  • Save detail definitions (create or update, if supported by the backend)
  • Remove detail definitions (if supported by the backend)

These operations are supported via the the QOrganizerItemDetailDefinitionFetchRequest, QOrganizerItemDetailDefinitionSaveRequest and QOrganizerItemDetailDefinitionRemoveRequest classes, respectively.

The synchronous API offered by the QOrganizerItemManager class to allow manipulation of the schema consists of the following functions:

Examples Of Usage

Fetching Items

The client sets up a request for items matching a specific criteria from a particular manager.

Results from the request will be displayed to the user as they are received.

Other Asynchronous Operations

All other asynchronous operations are performed in a similar manner to the previous example. A request of the desired type (which is derived from QOrganizerItemAbstractRequest) is created, certain criteria are set which determine the intent of the request, and the signals of the request are connected to slots which deals with the results. The request can then be started.

X

Thank you for giving your feedback.

Make sure it is related to this specific page. For more general bugs and requests, please use the Qt Bug Tracker.