PhoneGap library was updated
authorEugene Ostroukhov <eugeneo@symbian.org>
Tue, 27 Apr 2010 12:24:37 +0100
changeset 321 b99b8311285c
parent 320 147e1da95419
child 322 a2085280e663
PhoneGap library was updated
org.symbian.tools.wrttools.product/launch/WRT IDE Product (Mac OS X).launch
org.symbian.tools.wrttools/libraries/phonegap.js
--- a/org.symbian.tools.wrttools.product/launch/WRT IDE Product (Mac OS X).launch	Fri Apr 23 17:08:33 2010 -0700
+++ b/org.symbian.tools.wrttools.product/launch/WRT IDE Product (Mac OS X).launch	Tue Apr 27 12:24:37 2010 +0100
@@ -21,8 +21,8 @@
 <stringAttribute key="product" value="org.symbian.tools.wrttools.product.product"/>
 <stringAttribute key="productFile" value="\org.symbian.tools.wrttools.product\wrt-ide.product"/>
 <booleanAttribute key="restart" value="false"/>
-<stringAttribute key="selected_target_plugins" value="org.eclipse.team.cvs.ssh2@default:default,org.eclipse.equinox.simpleconfigurator@1:true,org.eclipse.wst.jsdt.ui@default:default,org.eclipse.team.cvs.core@default:default,org.eclipse.core.runtime@default:true,org.eclipse.wst.standard.schemas@default:default,org.eclipse.wst.dtd.core@default:default,org.eclipse.equinox.simpleconfigurator.manipulator@default:default,org.eclipse.jface@default:default,org.eclipse.osgi.services@default:default,org.eclipse.wst.common.emf@default:default,org.eclipse.ui.ide@default:default,org.eclipse.wst.xml.xpath.core@default:default,org.eclipse.core.runtime.compatibility.auth@default:default,org.eclipse.wst.common.core@default:default,org.eclipse.core.filesystem.macosx@default:false,org.eclipse.platform@default:default,org.eclipse.core.runtime.compatibility@default:default,org.eclipse.search@default:default,org.eclipse.ltk.ui.refactoring@default:default,org.eclipse.wst.xml.xpath2.processor@default:default,org.eclipse.equinox.ds@1:true,org.eclipse.equinox.jsp.jasper@default:default,org.eclipse.wst.css.ui@default:default,org.sat4j.pb@default:default,org.eclipse.gef@default:default,org.eclipse.ltk.core.refactoring@default:default,org.apache.log4j@default:default,org.eclipse.equinox.concurrent@default:default,org.eclipse.wst.jsdt.core@default:default,org.eclipse.ecf.identity@default:default,org.eclipse.update.scheduler@default:default,org.eclipse.emf.ecore.edit@default:default,org.apache.lucene.analysis@default:default,org.eclipse.equinox.common@2:true,org.apache.commons.logging@default:default,org.eclipse.text@default:default,org.eclipse.equinox.http.jetty@default:default,org.eclipse.ecf.provider.filetransfer.ssl@default:false,org.eclipse.wst.jsdt.doc@default:default,org.eclipse.cvs@default:default,org.eclipse.ui.net@default:default,org.eclipse.wst.css.core@default:default,org.eclipse.equinox.security.macosx@default:false,org.eclipse.ui.navigator@default:default,org.eclipse.wst.common.uriresolver@default:default,org.eclipse.wst.doc.user@default:default,org.eclipse.wst.sse.doc.user@default:default,org.eclipse.ui.workbench.compatibility@default:false,org.eclipse.wst.common.emfworkbench.integration@default:default,javax.xml@default:default,org.eclipse.wst.jsdt.web.ui@default:default,org.eclipse.ui.workbench@default:default,org.eclipse.core.contenttype@default:default,org.eclipse.ui.editors@default:default,org.eclipse.wst.internet.monitor.ui@default:default,org.eclipse.core.databinding.beans@default:default,org.eclipse.equinox.preferences@default:default,org.eclipse.ui.views.properties.tabbed@default:default,org.eclipse.wst.jsdt.support.firefox@default:default,org.eclipse.ecf.ssl@default:false,org.eclipse.ui.navigator.resources@default:default,org.eclipse.equinox.p2.core@default:default,org.apache.velocity@default:default,org.eclipse.wst.sse.core@default:default,org.eclipse.team.core@default:default,org.mortbay.jetty.server@default:default,org.apache.commons.httpclient@default:default,org.eclipse.wst.common.ui@default:default,org.eclipse.jface.text@default:default,org.eclipse.equinox.registry@default:default,javax.servlet.jsp@default:default,org.sat4j.core@default:default,org.eclipse.wst.jsdt.manipulation@default:default,org.eclipse.help.webapp@default:default,org.eclipse.ecf.provider.filetransfer@default:default,org.eclipse.ui.presentations.r21@default:default,org.eclipse.core.filebuffers@default:default,org.eclipse.core.net@default:default,org.eclipse.ui.intro@default:default,java_cup.runtime@default:default,org.apache.bcel@default:default,org.eclipse.help@default:default,org.eclipse.ecf@default:default,org.eclipse.ui.console@default:default,org.eclipse.equinox.util@default:default,org.eclipse.help.appserver@default:default,org.eclipse.core.databinding.property@default:default,org.eclipse.emf.edit@default:default,org.eclipse.jsch.core@default:default,org.eclipse.wst.xml.xpath.ui@default:default,org.eclipse.core.boot@default:default,org.eclipse.swt@default:default,org.eclipse.wst.common.modulecore@default:default,org.eclipse.team.cvs.ui@default:default,org.eclipse.equinox.security.ui@default:default,org.eclipse.emf.common@default:default,org.eclipse.equinox.jsp.jasper.registry@default:default,org.eclipse.wst.validation@default:default,org.eclipse.equinox.security@default:default,org.eclipse.equinox.p2.jarprocessor@default:default,org.eclipse.ecf.filetransfer@default:default,org.eclipse.equinox.http.servlet@default:default,org.eclipse.equinox.p2.metadata.generator@default:default,com.ibm.icu@default:default,org.eclipse.wst.validation.infopop@default:default,org.eclipse.wst.common.frameworks@default:default,org.eclipse.equinox.launcher.cocoa.macosx@default:false,org.mozilla.xpcom@default:default,org.eclipse.wst.xml.ui.infopop@default:default,org.eclipse.wst.internet.cache@default:default,org.eclipse.jem.util@default:default,org.eclipse.compare@default:default,org.eclipse.wst.validation.ui@default:default,org.eclipse.compare.core@default:default,org.apache.commons.el@default:default,org.eclipse.wst.jsdt.web.core@default:default,org.apache.xerces@default:default,org.eclipse.equinox.http.registry@default:default,org.mozilla.xulrunner@default:default,org.eclipse.update.configurator@3:true,org.eclipse.wst.xml.ui@default:default,org.eclipse.team.ui@default:default,org.eclipse.core.databinding.observable@default:default,org.eclipse.wst.common.infopop@default:default,org.eclipse.ui.views@default:default,org.eclipse.help.base@default:default,org.eclipse.ui.workbench.texteditor@default:default,org.eclipse.wst.common.snippets@default:default,org.mortbay.jetty.util@default:default,org.eclipse.rcp@default:default,org.eclipse.help.ui@default:default,org.eclipse.wst.common.frameworks.ui@default:default,org.eclipse.debug.core@default:default,org.eclipse.wst.sse.ui.infopop@default:default,org.eclipse.ui.intro.universal@default:default,org.eclipse.ui.ide.application@default:default,org.eclipse.equinox.launcher@default:default,org.eclipse.equinox.frameworkadmin.equinox@default:default,org.eclipse.emf.ecore@default:default,com.jcraft.jsch@default:default,org.jdom@default:default,org.eclipse.debug.ui@default:default,org.eclipse.ui@default:default,org.eclipse.wst.html.ui@default:default,org.eclipse.core.databinding@default:default,org.eclipse.core.filesystem@default:default,org.eclipse.ecf.provider.filetransfer.httpclient.ssl@default:false,org.eclipse.ui.cocoa@default:false,org.eclipse.wst.common.environment@default:default,org.eclipse.emf.ecore.xmi@default:default,org.eclipse.jsch.ui@default:default,org.eclipse.equinox.app@default:default,org.apache.commons.codec@default:default,org.apache.jasper@default:default,org.eclipse.emf.ecore.change@default:default,org.eclipse.core.expressions@default:default,org.eclipse.emf.common.ui@default:default,org.apache.xml.resolver@default:default,org.eclipse.equinox.p2.engine@default:default,org.eclipse.osgi.util@default:default,org.eclipse.ui.cheatsheets@default:default,org.eclipse.draw2d@default:default,org.mozilla.xulrunner.carbon.macosx@default:false,org.eclipse.emf.edit.ui@default:default,org.eclipse.equinox.frameworkadmin@default:default,org.eclipse.equinox.p2.artifact.repository@default:default,org.eclipse.core.commands@default:default,org.eclipse.ecf.provider.filetransfer.httpclient@default:default,org.eclipse.core.resources@default:default,org.apache.commons.lang@default:default,org.eclipse.wst.sse.ui@default:default,javax.servlet@default:default,org.eclipse.wst.html.ui.infopop@default:default,org.apache.xalan@default:default,org.apache.lucene@default:default,org.eclipse.wst.common.project.facet.core@default:default,org.eclipse.platform.doc.user@default:default,org.eclipse.core.variables@default:default,org.apache.commons.collections@default:default,org.eclipse.ui.forms@default:default,org.eclipse.wst.html.core@default:default,org.eclipse.wst.internet.monitor.core@default:default,org.eclipse.jface.databinding@default:default,org.apache.xml.serializer@default:default,org.eclipse.swt.cocoa.macosx@default:false,org.eclipse.wst.jsdt.support.ie@default:default,org.eclipse.core.jobs@default:default,org.eclipse.wst.xmleditor.doc.user@default:default,org.eclipse.update.core@default:default,org.eclipse.equinox.p2.metadata@default:default,org.eclipse.wst.xml.core@default:default,org.eclipse.ui.browser@default:default,org.eclipse.equinox.p2.metadata.repository@default:default,org.eclipse.osgi@-1:true,org.eclipse.update.ui@default:default,org.eclipse.core.runtime.compatibility.registry@default:false,org.eclipse.equinox.p2.director@default:default,org.eclipse.equinox.p2.repository@default:default"/>
-<stringAttribute key="selected_workspace_plugins" value="org.chromium.debug.core@default:default,org.symbian.tools.wrttools@default:default,org.w3c.css@default:default,org.chromium.sdk@default:default,org.symbian.tools.wrttools.previewer@default:default,org.symbian.tools.wrttools.product@default:default,org.symbian.tools.wrttools.doc.WebDeveloper@default:default,org.chromium.debug.ui@default:default,org.symbian.tools.wrttools.debug.core@default:default"/>
+<stringAttribute key="selected_target_plugins" value="org.eclipse.ui.workbench.compatibility@default:false,org.eclipse.equinox.p2.repository@default:default,org.mortbay.jetty.util@default:default,org.eclipse.search@default:default,org.eclipse.rcp@default:default,org.eclipse.wst.html.ui@default:default,org.eclipse.ui@default:default,org.eclipse.core.boot@default:default,org.sat4j.pb@default:default,org.eclipse.equinox.concurrent@default:default,org.eclipse.wst.xml.core@default:default,org.apache.lucene.analysis@default:default,org.eclipse.wst.sse.ui@default:default,org.apache.log4j@default:default,org.eclipse.wst.common.ui@default:default,org.eclipse.team.ui@default:default,org.eclipse.emf.ecore.edit@default:default,org.eclipse.equinox.preferences@default:default,org.eclipse.wst.validation.infopop@default:default,org.apache.xml.serializer@default:default,org.apache.commons.codec@default:default,org.eclipse.equinox.security@default:default,org.eclipse.core.filebuffers@default:default,org.eclipse.text@default:default,org.eclipse.ui.ide@default:default,com.ibm.icu@default:default,org.eclipse.swt.cocoa.macosx@default:false,org.eclipse.ui.workbench.texteditor@default:default,org.eclipse.wst.standard.schemas@default:default,javax.servlet@default:default,org.eclipse.ltk.core.refactoring@default:default,org.eclipse.jface.text@default:default,org.eclipse.equinox.p2.director@default:default,org.eclipse.wst.common.infopop@default:default,org.eclipse.gef@default:default,org.eclipse.jface@default:default,org.eclipse.wst.common.frameworks@default:default,org.eclipse.equinox.p2.engine@default:default,org.eclipse.ui.editors@default:default,org.eclipse.ui.cheatsheets@default:default,org.eclipse.compare.core@default:default,org.eclipse.core.databinding.observable@default:default,org.eclipse.core.databinding@default:default,org.jdom@default:default,org.eclipse.core.jobs@default:default,org.eclipse.core.runtime@default:true,org.eclipse.ui.console@default:default,org.eclipse.wst.common.core@default:default,org.eclipse.ui.forms@default:default,org.eclipse.wst.jsdt.support.firefox@default:default,org.eclipse.help.appserver@default:default,org.eclipse.equinox.http.servlet@default:default,org.eclipse.equinox.simpleconfigurator.manipulator@default:default,org.eclipse.ecf.provider.filetransfer.ssl@default:false,org.apache.lucene@default:default,org.eclipse.ui.navigator@default:default,org.eclipse.help.ui@default:default,org.eclipse.platform.doc.user@default:default,org.eclipse.wst.internet.monitor.ui@default:default,org.apache.xml.resolver@default:default,org.eclipse.equinox.p2.artifact.repository@default:default,org.mozilla.xpcom@default:default,org.eclipse.core.databinding.beans@default:default,org.eclipse.equinox.p2.jarprocessor@default:default,org.eclipse.core.net@default:default,org.eclipse.osgi.util@default:default,javax.xml@default:default,org.eclipse.update.configurator@3:true,org.eclipse.ui.presentations.r21@default:default,org.eclipse.wst.dtd.core@default:default,org.eclipse.emf.ecore@default:default,org.eclipse.wst.xml.ui@default:default,org.eclipse.draw2d@default:default,com.jcraft.jsch@default:default,org.eclipse.wst.common.project.facet.core@default:default,org.eclipse.ui.intro.universal@default:default,javax.servlet.jsp@default:default,org.eclipse.jface.databinding@default:default,org.eclipse.jsch.core@default:default,org.sat4j.core@default:default,org.eclipse.equinox.frameworkadmin.equinox@default:default,org.eclipse.wst.common.emfworkbench.integration@default:default,org.eclipse.core.contenttype@default:default,org.eclipse.equinox.frameworkadmin@default:default,org.eclipse.platform@default:default,org.eclipse.equinox.jsp.jasper.registry@default:default,org.eclipse.ecf.provider.filetransfer.httpclient@default:default,org.eclipse.equinox.util@default:default,org.eclipse.wst.sse.core@default:default,org.eclipse.help.webapp@default:default,org.eclipse.core.runtime.compatibility.registry@default:false,org.eclipse.wst.xml.xpath.core@default:default,org.eclipse.equinox.common@2:true,org.eclipse.ecf@default:default,org.mozilla.xulrunner.carbon.macosx@default:false,org.eclipse.equinox.launcher@default:default,org.eclipse.ui.net@default:default,org.eclipse.core.filesystem@default:default,org.eclipse.equinox.p2.metadata.generator@default:default,org.eclipse.core.runtime.compatibility.auth@default:default,org.eclipse.team.cvs.ui@default:default,org.eclipse.ui.cocoa@default:false,org.eclipse.swt@default:default,org.eclipse.help@default:default,org.mozilla.xulrunner@default:default,org.eclipse.wst.validation@default:default,org.eclipse.compare@default:default,org.apache.bcel@default:default,org.eclipse.wst.doc.user@default:default,org.eclipse.ecf.ssl@default:false,org.eclipse.update.ui@default:default,org.eclipse.wst.jsdt.manipulation@default:default,org.eclipse.core.databinding.property@default:default,org.eclipse.wst.jsdt.web.ui@default:default,org.eclipse.wst.html.core@default:default,org.eclipse.wst.validation.ui@default:default,org.eclipse.wst.jsdt.doc@default:default,org.eclipse.ui.views@default:default,org.apache.commons.httpclient@default:default,org.eclipse.wst.xmleditor.doc.user@default:default,org.eclipse.wst.common.emf@default:default,org.eclipse.update.core@default:default,org.eclipse.jsch.ui@default:default,org.eclipse.wst.sse.doc.user@default:default,org.eclipse.debug.core@default:default,org.eclipse.ui.ide.application@default:default,org.eclipse.equinox.app@default:default,org.eclipse.equinox.security.ui@default:default,org.apache.commons.collections@default:default,org.eclipse.wst.sse.ui.infopop@default:default,org.eclipse.ecf.identity@default:default,org.eclipse.ltk.ui.refactoring@default:default,org.eclipse.wst.css.core@default:default,java_cup.runtime@default:default,org.eclipse.equinox.ds@1:true,org.apache.velocity@default:default,org.eclipse.equinox.jsp.jasper@default:default,org.eclipse.emf.ecore.change@default:default,org.eclipse.core.variables@default:default,org.eclipse.core.commands@default:default,org.eclipse.equinox.p2.core@default:default,org.eclipse.wst.common.snippets@default:default,org.apache.commons.logging@default:default,org.eclipse.ui.navigator.resources@default:default,org.eclipse.ecf.provider.filetransfer@default:default,org.eclipse.wst.common.modulecore@default:default,org.eclipse.wst.jsdt.web.core@default:default,org.eclipse.wst.jsdt.core@default:default,org.eclipse.ecf.provider.filetransfer.httpclient.ssl@default:false,org.apache.commons.el@default:default,org.apache.commons.lang@default:default,org.eclipse.ui.browser@default:default,org.mortbay.jetty.server@default:default,org.eclipse.ui.intro@default:default,org.eclipse.debug.ui@default:default,org.eclipse.equinox.http.jetty@default:default,org.eclipse.equinox.registry@default:default,org.apache.jasper@default:default,org.eclipse.ui.views.properties.tabbed@default:default,org.apache.xalan@default:default,org.eclipse.wst.xml.ui.infopop@default:default,org.eclipse.wst.jsdt.ui@default:default,org.eclipse.emf.common@default:default,org.eclipse.wst.css.ui@default:default,org.eclipse.equinox.launcher.cocoa.macosx@default:false,org.eclipse.team.cvs.ssh2@default:default,org.eclipse.emf.ecore.xmi@default:default,org.eclipse.core.filesystem.macosx@default:false,org.eclipse.equinox.http.registry@default:default,org.eclipse.update.scheduler@default:default,org.eclipse.wst.common.frameworks.ui@default:default,org.eclipse.wst.common.environment@default:default,org.eclipse.jem.util@default:default,org.eclipse.wst.common.uriresolver@default:default,org.eclipse.emf.edit.ui@default:default,org.eclipse.emf.edit@default:default,org.eclipse.wst.jsdt.support.ie@default:default,org.eclipse.core.runtime.compatibility@default:default,org.eclipse.wst.internet.cache@default:default,org.eclipse.equinox.simpleconfigurator@1:true,org.eclipse.wst.internet.monitor.core@default:default,org.eclipse.ui.workbench@default:default,org.eclipse.cvs@default:default,org.eclipse.osgi@-1:true,org.eclipse.team.cvs.core@default:default,org.eclipse.core.expressions@default:default,org.apache.xerces@default:default,org.eclipse.emf.common.ui@default:default,org.eclipse.equinox.p2.metadata.repository@default:default,org.eclipse.team.core@default:default,org.eclipse.help.base@default:default,org.eclipse.wst.xml.xpath.ui@default:default,org.eclipse.equinox.security.macosx@default:false,org.eclipse.equinox.p2.metadata@default:default,org.eclipse.core.resources@default:default,org.eclipse.wst.xml.xpath2.processor@default:default,org.eclipse.wst.html.ui.infopop@default:default,org.eclipse.ecf.filetransfer@default:default,org.eclipse.osgi.services@default:default"/>
+<stringAttribute key="selected_workspace_plugins" value="org.symbian.tools.wrttools.previewer@default:default,org.symbian.tools.wrttools.debug.core@default:default,org.symbian.tools.wrttools.product@default:default,org.chromium.debug.ui@default:default,org.symbian.tools.wrttools@default:default,org.symbian.tools.wrttools.doc.WebDeveloper@default:default,org.chromium.sdk@default:default,org.w3c.css@default:default,org.chromium.debug.core@default:default"/>
 <booleanAttribute key="show_selected_only" value="false"/>
 <booleanAttribute key="tracing" value="false"/>
 <booleanAttribute key="useCustomFeatures" value="false"/>
--- a/org.symbian.tools.wrttools/libraries/phonegap.js	Fri Apr 23 17:08:33 2010 -0700
+++ b/org.symbian.tools.wrttools/libraries/phonegap.js	Tue Apr 27 12:24:37 2010 +0100
@@ -103,7 +103,6 @@
 	// If the acceleration is not available then call error
 	
 	try {
-		alert(1);
 		if (!this.serviceObj) 
 			this.serviceObj = this.getServiceObj();
 		
@@ -118,7 +117,6 @@
 			SearchCriterion: "AccelerometerAxis"
 		};
 		var returnvalue = this.serviceObj.ISensor.FindSensorChannel(SensorParams);
-		alert(2);
 		var error = returnvalue["ErrorCode"];
 		var errmsg = returnvalue["ErrorMessage"];
 		if (!(error == 0 || error == 1012)) {
@@ -150,7 +148,6 @@
 		// http://discussion.forum.nokia.com/forum/showthread.php?t=182151&highlight=memory+leak
 		this.serviceObj.ISensor.RegisterForNotification(criteria, function(transId, eventCode, result){
 			try {
-				alert(10);
 				var criteria = {
 					TransactionID: transId
 				};
@@ -168,9 +165,7 @@
 			}
 			
 		});
-		alert(4);
 	} catch (ex) {
-		alert(5);
 		errorCallback(ex);
 	}
 
@@ -220,6 +215,42 @@
 };
 
 if (typeof navigator.accelerometer == "undefined") navigator.accelerometer = new Accelerometer();/**
+ * This class provides access to the device media, interfaces to both sound and video
+ * @constructor
+ */
+function Audio(src, successCallback, errorCallback) {
+	this.src = src;
+	this.successCallback = successCallback;
+	this.errorCallback = errorCallback;												
+}
+
+Audio.prototype.record = function() {
+};
+
+Audio.prototype.play = function() {
+try {
+	if (document.getElementById('gapsound'))
+		document.body.removeChild(document.getElementById('gapsound'));
+	var obj;
+	obj = document.createElement("embed");
+	obj.setAttribute("id", "gapsound");
+	obj.setAttribute("type", "audio/x-mpeg");
+	obj.setAttribute("width", "0");
+	obj.setAttribute("width", "0");
+	obj.setAttribute("hidden", "true");
+	obj.setAttribute("autostart", "true");
+	obj.setAttribute("src", this.src);
+	document.body.appendChild(obj);
+} catch (ex) { debug.log(ex.name + ": " + ex.message); }
+};
+
+Audio.prototype.pause = function() {
+};
+
+Audio.prototype.stop = function() {
+	document.body.removeChild(document.getElementById('gapsound'));
+};
+/**
  * This class provides access to the device camera.
  * @constructor
  */
@@ -1014,7 +1045,7 @@
 				var gapContact = new Contact();
 				gapContact.name.givenName = Contacts.GetValue(contact, "FirstName");
 				gapContact.name.familyName = Contacts.GetValue(contact, "LastName");
-				gapContact.name.formatted = gapContact.firstName + " " + gapContact.lastName;
+				gapContact.name.formatted = gapContact.name.givenName + " " + gapContact.name.familyName;
 				gapContact.emails = Contacts.getEmailsList(contact);
 				gapContact.phones = Contacts.getPhonesList(contact);
 				gapContact.address = Contacts.getAddress(contact);
@@ -1077,6 +1108,38 @@
 };
 
 if (typeof navigator.contacts == "undefined") navigator.contacts = new Contacts();
+/**
+ * This class provides access to the debugging console.
+ * @constructor
+ */
+function DebugConsole() {
+}
+
+/**
+ * Print a normal log message to the console
+ * @param {Object|String} message Message or object to print to the console
+ */
+DebugConsole.prototype.log = function(message) {
+	
+	//This ends up in C:\jslog_widget.log on the device
+	console.log(message);
+};
+
+/**
+ * Print a warning message to the console
+ * @param {Object|String} message Message or object to print to the console
+ */
+DebugConsole.prototype.warn = function(message) {
+};
+
+/**
+ * Print an error message to the console
+ * @param {Object|String} message Message or object to print to the console
+ */
+DebugConsole.prototype.error = function(message) {
+};
+
+if (typeof window.debug == "undefined") window.debug = new DebugConsole();
 PhoneGap.ExtendWrtDeviceObj = function(){
 	
 	if (!window.device)
@@ -1267,41 +1330,26 @@
 if (typeof navigator.geolocation == "undefined") navigator.geolocation = new Geolocation();
 
 /**
- * This class provides access to the device media, interfaces to both sound and video
- * @constructor
+ * This class provides access to native mapping applications on the device.
  */
-function Media(src, successCallback, errorCallback) {
-	this.src = src;
-	this.successCallback = successCallback;
-	this.errorCallback = errorCallback;												
+function Map() {
+	
 }
 
-Media.prototype.record = function() {
+/**
+ * Shows a native map on the device with pins at the given positions.
+ * @param {Array} positions
+ */
+Map.prototype.show = function(positions) {
+
+	var err = "map api is unimplemented on symbian.wrt";
+	debug.log(err);
+	return { name: "MapError", message: err };
+
 };
 
-Media.prototype.play = function(src) {
+if (typeof navigator.map == "undefined") navigator.map = new Map();
 
-	if (document.getElementById('gapsound'))
-		document.body.removeChild(document.getElementById('gapsound'));
-	var obj;
-	obj = document.createElement("embed");
-	obj.setAttribute("id", "gapsound");
-	obj.setAttribute("type", "audio/x-mpeg");
-	obj.setAttribute("width", "0");
-	obj.setAttribute("width", "0");
-	obj.setAttribute("hidden", "true");
-	obj.setAttribute("autostart", "true");
-	obj.setAttribute("src", src);
-	document.body.appendChild(obj);
-};
-
-Media.prototype.pause = function() {
-};
-
-Media.prototype.stop = function() {
-};
-
-if (typeof navigator.media == "undefined") navigator.media = new Media();
 /**
  * This class provides access to notifications on the device.
  */
@@ -1462,15 +1510,27 @@
 		//create a closure to persist this instance of orientation object into the RegisterForNofication callback
 		var obj = this;
 		
+		// TODO: this call crashes WRT, but there is no other way to read the orientation sensor
+		// http://discussion.forum.nokia.com/forum/showthread.php?t=182151&highlight=memory+leak
 		this.serviceObj.ISensor.RegisterForNotification(criteria, function(transId, eventCode, result){
-			alert(1);
 			var criteria = {
 				TransactionID: transId
 			};
 			try {
-				var orientation = result.ReturnValue.DeviceOrientation;
+				//var orientation = result.ReturnValue.DeviceOrientation;
 				obj.serviceObj.ISensor.Cancel(criteria);
 				
+				var orientation = null;
+				switch (result.ReturnValue.DeviceOrientation) {
+					case "DisplayUpwards": orientation = DisplayOrientation.FACE_UP; break;
+					case "DisplayDownwards": orientation = DisplayOrientation.FACE_DOWN; break;
+					case "DisplayUp": orientation = DisplayOrientation.PORTRAIT; break;
+					case "DisplayDown": orientation = DisplayOrientation.REVERSE_PORTRAIT; break;
+					case "DisplayRightUp": orientation = DisplayOrientation.LANDSCAPE_RIGHT_UP; break;
+					case "DisplayLeftUp": orientation = DisplayOrientation.LANDSCAPE_LEFT_UP; break;
+					
+				}
+				
 				obj.setOrientation(orientation);
 				
 				obj.success_callback(orientation);
@@ -1527,6 +1587,23 @@
 	return so;
 };
 
+
+/**
+ * This class encapsulates the possible orientation values.
+ * @constructor
+ */
+function DisplayOrientation() {
+	this.code = null;
+	this.message = "";
+}
+
+DisplayOrientation.PORTRAIT = 0;
+DisplayOrientation.REVERSE_PORTRAIT = 1;
+DisplayOrientation.LANDSCAPE_LEFT_UP = 2;
+DisplayOrientation.LANDSCAPE_RIGHT_UP = 3;
+DisplayOrientation.FACE_UP = 4;
+DisplayOrientation.FACE_DOWN = 5;
+
 if (typeof navigator.orientation == "undefined") navigator.orientation = new Orientation();
 /**
  * This class contains position information.
@@ -1741,3 +1818,22 @@
 };
 
 if (typeof navigator.storage == "undefined" ) navigator.storage = new Storage();
+/**
+ * This class provides access to the telephony features of the device.
+ * @constructor
+ */
+function Telephony() {
+	this.number = "";
+}
+
+/**
+ * Calls the specifed number.
+ * @param {Integer} number The number to be called.
+ */
+Telephony.prototype.send = function(number) {
+	var err = "Telephony API not available for symbian.wrt";
+	debug.log(err);
+	return { name: "TelephonyError", message: err };
+};
+
+if (typeof navigator.telephony == "undefined") navigator.telephony = new Telephony();
\ No newline at end of file