The Calendar component provides access to calendar stores, with functionality to fetch, update, save and delete calendar entries.
Calendar provides access to calendar stores, with functionality to fetch, update, save and delete calendar entries. This functionality is as the standard RFC 2445, which defines a common format for openly exchanging calendar and scheduling information across the internet. New functionality includes: attachment support, defining geographic locations, logging, expanded search capabilities and support for removable media.
The Calendar component uses the Alarm server and TZ (time zone converter) components and merges CalInterimApi and AgnModel.
Calendar is a single component that contains: Agenda Server, AgnModel and CalInterimAPI. CalInterimAPI contains classes that hold information about calendar entries. AgnModel is a DLL which is shared across the client and the server. Agenda Server provides calendar file management on behalf of all clients.
Calendar's implementation of import and export behaviour is done using the AgnVersit2 plug-in.
This document describes the following key areas:
The Calendar Server manipulates calendar files and connects to the client when single or multiple sessions (CCalSession) are instantiated.
A calendar entry, class CCalEntry, can be an appointment, a to-do item, an event, a reminder, or an anniversary. It contains repeat definition and synchronisation information as well as group scheduling data.
The API provides the following views for accessing the calendar:
Entry view
CCalEntryView allows accessing and manipulating calendar entries. For example, you can add, delete update and search for a calendar entry,
Instance view
CCalInstanceView allows individual instance(s) that are generated from an entry to be accessed and deleted.
CCalUser represents a calendar user, such as a meeting participant. The class provides attributes and methods that are common to all the calendar users, including the user’s email address, sent-by and common name fields.
Setting the Repeat Rule
Setting the repeat rule allows events to occur regularly at specified intervals.
Setting the alarm
Within a calendar entry CCalAlarm allows you to set an alarm of a specific type.
Categorising an entry
Categorisation of calendar entries can be done using built-in or user-defined types.
Importing and Exporting Entries
This API enables calendar entries to be exported and imported to and from a specific data format.
The API uses two types of callback interfaces: change notifications, and progress/completion notifications. Change notifications monitor changes to calendar entries. Progress/completion notifications monitor the progress and completion of asynchronous tasks.
Calendar provides the ability to associate an object with a calendar entry. An attachment can be a URI reference, a file or binary data.
Creates, modifies and deletes calendar files on removable media.
The GEO property represents the geographical location of a calendar entry.
The TRANSP property indicates whether an entry 'blocks' a calendar busy view.
iCalendar and vCalendar properties
Lists the properties in iCalendar and vCalendar that Calendar supports using the AgnVersit2 plug-in. Also details the import and export of time properties.
These offer the ability to search all text fields, to search entries within a given time frame, and to return results in an iterator class.
Adding a user-defined 32-bit field
Calendar entries now allows for creation of a user-defined 32-bit field. The value of the field is defined by the vendor. Field creation, storage and access are carried out by APIs within the CCalEntry class.