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.
Figure: Calendar dependencies
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 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.
Creates, modifies and deletes calendar files on removable media.
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.