Qt Organizer C++ API

The Organizer API allows access to calendar event information. For more details, see the Qt Organizer Overview. The following are the classes involved in this API.

The Qt Organizer C++ Classes page has a list of all classes in Qt Organizer.

Main Classes

QOrganizerAbstractRequest

Mechanism for asynchronous requests to be made of a manager if it supports them

QOrganizerCollection

Represents a collection of items in a manager

QOrganizerCollectionId

Information that uniquely identifies a collection in a particular manager

QOrganizerItem

The base class of an event, todo, note, or journal entry

QOrganizerItemDetail

Represents a single, complete detail about an organizer item

QOrganizerItemFilter

Used to filter items made available through a backend

QOrganizerItemId

Information that uniquely identifies an organizer item in a particular manager

QOrganizerItemObserver

Simple class that emits a signal when a single particular item is updated or deleted

QOrganizerManager

Interface which allows clients with access to organizer item and collection information stored in a particular backend

QOrganizerRecurrenceRule

Describes the a rule by which a QOrganizerItem repeats

QOrganizerItemDetail Leaf Classes

Several subclasses of QOrganizerItemDetail are provided as part of the Organizer API. They are general in design but are intended to fulfill specific use-cases. Please note that certain backends may choose not to support one or more of these subclasses as they appear here; they may offer their own which provide similar functionality.

QOrganizerItemParent

Contains information about the event or todo that generated this item

Asynchronous Requests

You may use either the synchronous or asynchronous API to access functionality provided by a manager backend. The asynchronous API is offered through subclasses of the QOrganizerAbstractRequest class:

QOrganizerItemFetchByIdRequest

Allows a client to asynchronously fetch items from a backend, given a list of item IDs

QOrganizerItemFetchForExportRequest

Allows a client to asynchronously fetch organizer items for export from a backend

QOrganizerItemFetchRequest

Allows a client to asynchronously fetch organizer items from a backend

QOrganizerItemIdFetchRequest

Allows a client to asynchronously fetch organizer item IDs from a backend

QOrganizerItemOccurrenceFetchRequest

Allows a client to asynchronously fetch occurrences generated by a recurring item

QOrganizerItemRemoveByIdRequest

Allows a client to asynchronously request that certain organizer items be removed from a organizer items store

QOrganizerItemRemoveRequest

Allows a client to asynchronously request that certain organizer items be removed from a backend

QOrganizerItemSaveRequest

Allows a client to asynchronously request that certain organizer items be saved to a backend

Organizer Item Selection And Sorting

You may select an organizer item by specifying a unique item id, or by supplying a QOrganizerItemFilter which matches the item or items they wish to select. The various derivatives of QOrganizerItemFilter allow for fine-grained and flexible selection of organizer data according to various criteria:

QOrganizerItemDetailFieldFilter

Filter based around a detail value criterion

QOrganizerItemDetailFilter

Filter based around a detail value criterion

QOrganizerItemDetailRangeFilter

Filter based around a detail value range criterion

QOrganizerItemFetchHint

Hints to the manager about which organizer item information needs to be retrieved

QOrganizerItemIdFilter

Filter based around a list of organizer item IDs

QOrganizerItemIntersectionFilter

Filter which intersects the results of other filters

QOrganizerItemInvalidFilter

Matches no organizeritems

QOrganizerItemSortOrder

Defines how a list of organizer items should be ordered according to some criteria

QOrganizerItemUnionFilter

Filter which unions the results of other filters

A client can also request that the results of such a selection be sorted, by passing a QOrganizerItemSortOrder (or list of sort orders) to the manager.

Implementing Backends

A backend implementor must implement the following interfaces:

QOrganizerCollectionChangeSet

Simple API to simplify the emission of state-change signals for collections from QOrganizerManagerEngine implementations

QOrganizerItemChangeSet

Simple API to simplify the emission of state-change signals for items from QOrganizerManagerEngine implementations

QOrganizerManagerEngine

The interface to implement functionalities of organizer managers

For more information on this topic, see please see the documentation on implementing manager engines.

Synchronization and Serialization

The organizer API is used by the Qt Versit C++ API* module. It allows serialization of a QOrganizerItem into an iCalendar document, and vice versa.

[*] Versit ® is a trademark of the Internet Mail Consortium.

QML Types

Qt Organizer includes QML types that provide organizer functionality for QML applications. The Qt Organizer QML API page contains more details about the QML support. For a list of QML types, the Qt Organizer QML Types page lists the types in Qt Organizer