diff -r 913c9751c067 -r 716254ccbcc0 org.symbian.tools.wrttools.doc.WebDeveloper/html/GUID-AE9A928B-F938-49B5-BC9E-72CB42046571.html --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/org.symbian.tools.wrttools.doc.WebDeveloper/html/GUID-AE9A928B-F938-49B5-BC9E-72CB42046571.html Fri Mar 05 19:11:15 2010 -0800 @@ -0,0 +1,173 @@ + + +
The Calendar +Service API allows widgets to access, create, and manage +calendars and calendar entries stored on a device. You can use the Calendar +Service to create widgets that:
+Retrieve information about calendars and calendar entries
+Create and delete calendars
Create, update, and delete entries for a given calendar
+Import and export calendar entries
Notify the user when calendar entries are created, updated, +or deleted
Calendar information involves the following concepts:
+Calendar stores calendar entries. There can be one +or more calendars on a device, and each calendar corresponds to a single file +in the device file system.
Calendar entries make up the main content of a calendar. +Each entry belongs to one of the following categories:
+ +Anniversary
Event
Meeting
Reminder
To-do item
For more information about calendar entries and what they contain, see +section Calendar entries.
+ +Recurring entry is an entry that has more than one +occurrence. The rules of recurrence must be defined separately for each entry. +Only meetings can be recurring.
Instance is a specific occurrence of a recurring entry. +Instances are not stored separately (as a rule) but calculated dynamically +based on the entry data and rules of recurrence. Non-recurring entries have +only a single instance.
+ +For example, a weekly meeting that occurs once a week for eight weeks +has eight instances. The meeting entry itself is stored only once in the calendar +file, but a calendar application can show each meeting instance separately.
+ +Parent entry is any original entry. When a new entry +is added to a calendar, the entry is stored as a parent entry. A recurring +parent entry can have one or more child entries.
Child entry is a modified instance of a recurring
+parent entry. When an instance (occurrence) of a recurring entry is explicitly
+modified, so that it differs in some way from the parent data, it is stored
+as a child entry. A parent entry and its child entries share the same id
,
+but have unique LocalId
s. A child entry always has a
+single instance.
For example, if one of the eight instances of the weekly meeting is +modified to occur at a different time of day than the rest, it is stored as +a child entry. Since it no longer fully conforms to the parent data and cannot +be derived from it, it must be stored as a separate entry.
+ +Exception is an occurrence in the original schedule +that has been removed and may be replaced with a different occurrence.
+To create a service
+object for the Calendar Service API, use Service.Calendar
to
+identify the service provider and IDataSource
to identify
+the supported interface:
var so = device.getServiceObject("Service.Calendar", "IDataSource");+
The IDataSource
interface provides the following
+methods:
Use the GetList()
method to retrieve information
+about calendars and calendar entries.
Use the Add()
method to create a new calendar or
+calendar entry. You can also use this method to update an existing calendar
+entry.
Use the Delete()
method to delete a calendar or
+one or more entries in a given calendar.
Use the Import()
method to import entries into
+a calendar. The information must be imported from an iCal or vCal file (see
+below).
Use the Export()
method to export entries from
+a calendar. The information is exported to an iCal or vCal file (see below).
Use the RequestNotification()
method to receive
+notifications when entries are created, updated, or deleted in a given calendar.
Use the Cancel()
method to cancel an ongoing asynchronous
+call. This method is valid for any asynchronous call made through the Calendar
+Service API.
iCalendar (iCal) is an RFC standard for calendar data exchange. It allows +for the capture and exchange of information normally stored within a calendar +or scheduling application. It allows users to send meeting requests and tasks +to other users through email. Recipients of the iCalendar email can respond +to the sender easily or counter-propose another meeting date and time. For +more information, see the iCalendar +specification (RFC 2445).
+vCalendar (vCal) is the precursor of the iCalendar standard. It defines +a format that allows for the capture of information normally stored within +a calendar or scheduling application. The format is suitable as an interchange +format between applications or systems and is intended to be used for exchanging +information about event and to-do types of entities. For more information, +see the vCalendar specification.
+To access and manage calendar information using the Calendar Service +API:
+Create a service
+object for the API using device.getServiceObject()
.
Define the +tasks you want to perform and choose the correct methods for them.
+Optionally, +define how you want the results filtered.
Define methods +for processing the results.
Use the methods
+defined in step 2 to perform the tasks. Use asynchronous methods together
+with callback()
.
Process the +results with the methods defined in step 4.
For the complete source of a sample widget that demonstrates how to +use this service, see the +full example.
+