Listing calendars in Symbian Web Runtime
hamishwillee
(Talk | contribs) m (Automated change of category from Web Runtime (WRT) to Symbian Web Runtime) |
hamishwillee
(Talk | contribs) m (Hamishwillee - Bot change of template (Template:CodeSnippet) - now using Template:ArticleMetaData) |
||
| Line 2: | Line 2: | ||
__NOEDITSECTION__ | __NOEDITSECTION__ | ||
{{KBCS}} | {{KBCS}} | ||
| − | {{ | + | {{ArticleMetaData |
|id=CS001278 | |id=CS001278 | ||
|platform=S60 5th Edition | |platform=S60 5th Edition | ||
| Line 10: | Line 10: | ||
|creationdate=January 20, 2009 | |creationdate=January 20, 2009 | ||
|keywords=device.getServiceObject(), Service.Calendar.GetList() | |keywords=device.getServiceObject(), Service.Calendar.GetList() | ||
| + | |||
| + | |sourcecode= <!-- Link to example source code (e.g. [[Media:The Code Example ZIP.zip]]) --> | ||
| + | |installfile= <!-- Link to installation file (e.g. [[Media:The Installation File.sis]]) --> | ||
| + | |sdk=<!-- SDK(s) built and tested against (e.g. [http://linktosdkdownload/ Nokia Qt SDK 1.1]) --> | ||
| + | |devicecompatability=<!-- Compatible devices (e.g.: All* (must have GPS) ) --> | ||
| + | |signing=<!-- Empty or one of Self-Signed, DevCert, Manufacturer --> | ||
| + | |capabilities=<!-- Capabilities required (e.g. Location, NetworkServices. -->) | ||
| + | |author=[[User:Tapla]] | ||
}} | }} | ||
Revision as of 11:51, 24 June 2011
Article Metadata
Tested with
Devices(s): Nokia 5800 XpressMusic
Compatibility
Platform(s): S60 5th Edition
Platform Security
Capabilities: )
Article
Keywords: device.getServiceObject(), Service.Calendar.GetList()
Created: tapla
(20 Jan 2009)
Last edited: hamishwillee
(24 Jun 2011)
Overview
This code snippet shows how to list calendars by using the Calendar Platform Service for S60 Web Runtime introduced in S60 5th Edition.
The device.getServiceObject("Service.Calendar", "IDataSource") method is used to obtain access to the service object for the Calendar Service API.
Source: Relevant HTML components
<label for="calendarList">Calendars:</label><br />
<select size="2" id="calendarList" onclick="showEvents();"></select>
Source: JavaScript file
var serviceObj = null;
window.onload = init;
// Initializes the widget
function init() {
// Obtain the service object
try {
serviceObj = device.getServiceObject("Service.Calendar",
"IDataSource");
} catch (ex) {
alert("Service object cannot be found.");
return;
}
listCalendars();
}
function listCalendars() {
try {
var filter = new Object();
// Not using the default calendar
filter.DefaultCalendar = false;
// Criteria for fetching calendars
var criteria = new Object();
criteria.Type = "Calendar";
criteria.Filter = filter;
// Get the list of calendars
result = serviceObj.IDataSource.GetList(criteria);
if (result.ErrorCode == 0) {
showCalendars(result.ReturnValue);
} else {
alert("Error in getting calendars");
}
} catch( exception ) {
alert("initialize error: " + exception);
}
}
function showCalendars(iterator) {
var calendarList = document.getElementById("calendarList");
// Empty the calendar list
while (calendarList.length != 0) {
calendarList.remove(0);
}
// Set the pointer to the first element
iterator.reset();
var item;
while ((item = iterator.getNext()) != undefined) {
var node = document.createElement("option");
node.value = item;
node.appendChild(document.createTextNode(item));
calendarList.appendChild(node);
}
}
Postconditions
Available calendars are displayed.

