# HG changeset patch # User Dremov Kirill (Nokia-D-MSW/Tampere) # Date 1261033790 -7200 # Node ID 5d0ec8b709be7948ca45958f96273f3a5c3580e3 # Parent 50974a8b132e3c7b0abe7345e54b6e9c26096a95 Revision: 200949 Kit: 200951 diff -r 50974a8b132e -r 5d0ec8b709be serviceproviders/group/bld.inf --- a/serviceproviders/group/bld.inf Tue Nov 24 08:56:33 2009 +0200 +++ b/serviceproviders/group/bld.inf Thu Dec 17 09:09:50 2009 +0200 @@ -30,6 +30,7 @@ #include "../sapi_sensor/group/bld.inf" #include "../sapi_sysinfo/group/bld.inf" #include "../sapi_serviceregistry/group/bld.inf" +#include "../jsapi/group/bld.inf" PRJ_EXPORTS @@ -37,5 +38,6 @@ ../rom/serviceapiresource.iby LANGUAGE_MW_LAYER_IBY_EXPORT_PATH(serviceapiresource.iby) ../install/serviceapi_stub.sis /epoc32/data/z/system/install/serviceapi_stub.sis +../install/platformservices_stub.sis /epoc32/data/z/system/install/platformservices_stub.sis // End of File diff -r 50974a8b132e -r 5d0ec8b709be serviceproviders/install/platformservices.pkg --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/serviceproviders/install/platformservices.pkg Thu Dec 17 09:09:50 2009 +0200 @@ -0,0 +1,33 @@ +; ============================================================================ +; Copyright (c) 2007 Nokia Corporation and/or its subsidiary(-ies). +; All rights reserved. +; This component and the accompanying materials are made available +; under the terms of the License "Eclipse Public License v1.0" +; which accompanies this distribution, and is available +; at the URL "http://www.eclipse.org/legal/epl-v10.html". +; +; Initial Contributors: +; Nokia Corporation - initial contribution. +; +; Contributors: +; +; Description: package file for CJSE package +; ============================================================================ + +;Languages +&EN + +;Header +#{"Platform Services"},(0x2002139F),2,0,0, TYPE=SA,RU + +; S60 5.0 dependency +[0x1028315F], 0, 0, 0, {"Series60ProductID"} + +;Localised Vendor name +%{"Nokia"} + +;Unique Vendor name +:"Nokia" + +;JS library +"..\jsapi\cjse\lib\platformservices.js" - "c:\system\widgetlibs\platformservices.js" diff -r 50974a8b132e -r 5d0ec8b709be serviceproviders/install/platformservices_stub.pkg --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/serviceproviders/install/platformservices_stub.pkg Thu Dec 17 09:09:50 2009 +0200 @@ -0,0 +1,29 @@ +; ============================================================================ +; Copyright (c) 2007 Nokia Corporation and/or its subsidiary(-ies). +; All rights reserved. +; This component and the accompanying materials are made available +; under the terms of the License "Eclipse Public License v1.0" +; which accompanies this distribution, and is available +; at the URL "http://www.eclipse.org/legal/epl-v10.html". +; +; Initial Contributors: +; Nokia Corporation - initial contribution. +; +; Contributors: +; +; Description: package file for CJSE package +; ============================================================================ + +;Languages +&EN + +;Header +#{"Platform Services"},(0x2002139F),2,0,0, TYPE=SA + +;Localised Vendor name +%{"Nokia"} + +;Unique Vendor name +:"Nokia" + +""-"z:\system\widgetlibs\platformservices.js" diff -r 50974a8b132e -r 5d0ec8b709be serviceproviders/install/platformservices_stub.sis Binary file serviceproviders/install/platformservices_stub.sis has changed diff -r 50974a8b132e -r 5d0ec8b709be serviceproviders/install/serviceapi.pkg --- a/serviceproviders/install/serviceapi.pkg Tue Nov 24 08:56:33 2009 +0200 +++ b/serviceproviders/install/serviceapi.pkg Thu Dec 17 09:09:50 2009 +0200 @@ -18,7 +18,7 @@ &EN ;Header -#{"Platform Service Extensions"},(0x200100BE),1,1,0, TYPE=SA,RU +#{"Platform Service Extensions"},(0x200100BE),2,0,0, TYPE=SA,RU ; S60 5.0 dependency [0x1028315F], 0, 0, 0, {"Series60ProductID"} diff -r 50974a8b132e -r 5d0ec8b709be serviceproviders/install/serviceapi_stub.pkg --- a/serviceproviders/install/serviceapi_stub.pkg Tue Nov 24 08:56:33 2009 +0200 +++ b/serviceproviders/install/serviceapi_stub.pkg Thu Dec 17 09:09:50 2009 +0200 @@ -18,7 +18,7 @@ &EN ;Header -#{"Platform Service Extensions"},(0x200100BE),1,1,0, TYPE=SA +#{"Platform Service Extensions"},(0x200100BE),2,0,0, TYPE=SA ;Localised Vendor name %{"Nokia"} diff -r 50974a8b132e -r 5d0ec8b709be serviceproviders/install/serviceapi_stub.sis Binary file serviceproviders/install/serviceapi_stub.sis has changed diff -r 50974a8b132e -r 5d0ec8b709be serviceproviders/jsapi/group/bld.inf --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/serviceproviders/jsapi/group/bld.inf Thu Dec 17 09:09:50 2009 +0200 @@ -0,0 +1,22 @@ +/* +* Copyright (c) 2005 Nokia Corporation and/or its subsidiary(-ies). +* All rights reserved. +* This component and the accompanying materials are made available +* under the terms of the License "Eclipse Public License v1.0" +* which accompanies this distribution, and is available +* at the URL "http://www.eclipse.org/legal/epl-v10.html". +* +* Initial Contributors: +* Nokia Corporation - initial contribution. +* +* Contributors: +* +* Description: This is a top level bld file to generate all sapi libraries. +* +*/ + +#include + +#include "../platformservices/group/bld.inf" +// End of File + diff -r 50974a8b132e -r 5d0ec8b709be serviceproviders/jsapi/platformservices/group/bld.inf --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/serviceproviders/jsapi/platformservices/group/bld.inf Thu Dec 17 09:09:50 2009 +0200 @@ -0,0 +1,24 @@ +/* +* Copyright (c) 2005 Nokia Corporation and/or its subsidiary(-ies). +* All rights reserved. +* This component and the accompanying materials are made available +* under the terms of the License "Eclipse Public License v1.0" +* which accompanies this distribution, and is available +* at the URL "http://www.eclipse.org/legal/epl-v10.html". +* +* Initial Contributors: +* Nokia Corporation - initial contribution. +* +* Contributors: +* +* Description: This is a top level bld file to generate all sapi libraries. +* +*/ + +#include + +PRJ_EXPORTS +../lib/platformservices.js /epoc32/data/z/system/widgetlibs/platformservices.js + +// End of File + diff -r 50974a8b132e -r 5d0ec8b709be serviceproviders/jsapi/platformservices/lib/platformservices.js --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/serviceproviders/jsapi/platformservices/lib/platformservices.js Thu Dec 17 09:09:50 2009 +0200 @@ -0,0 +1,7795 @@ +/* +* Copyright (c) 2005 Nokia Corporation and/or its subsidiary(-ies). +* All rights reserved. +* This component and the accompanying materials are made available +* under the terms of the License "Eclipse Public License v1.0" +* which accompanies this distribution, and is available +* at the URL "http://www.eclipse.org/legal/epl-v10.html". +* +* Initial Contributors: +* Nokia Corporation - initial contribution. +* +* Contributors: +* +* Description: This is a top level bld file to generate all sapi libraries. +* +*/ + +function __device_calendar_descriptor(_1){ +this.interfaceName=_1.interfaceName; +this.version=_1.version; +}; +function __device_calendar_startEditor(_2,_3,_4){ +this.provider.startEditor(_2,_3,_4); +}; +function __device_calendar_getList(_5,_6,_7){ +return this.provider.getList(_5,_6,_7); +}; +function __device_calendar_add(_8){ +return this.provider.addEntry(_8); +}; +function __device_calendar_update(_9){ +return this.provider.updateEntry(_9); +}; +function __device_calendar_delete(_a){ +this.provider.deleteEntry(_a); +}; +function __device_calendar_cancel(_b){ +this.provider.cancel(_b); +}; +function __device_calendar(_c){ +this.provider=_c; +this.interfaceName=_c.descriptor.interfaceName; +this.version=_c.descriptor.version; +this.startEditor=__device_calendar_startEditor; +this.getList=__device_calendar_getList; +this.addEntry=__device_calendar_add; +this.updateEntry=__device_calendar_update; +this.deleteEntry=__device_calendar_delete; +this.cancel=__device_calendar_cancel; +}; +var __device_calendar_service_entry={"name":null,"version":null,"proto":__device_calendar,"descriptor":__device_calendar_descriptor,"providers":[{"descriptor":__sp_calendar_descriptor,"instance":__sp_calendar_instance}]}; +function __device_camera_descriptor(_d){ +this.interfaceName=_d.interfaceName; +this.version=_d.version; +}; +function __device_camera_startCamera(_e,_f){ +return this.provider.startCamera(_e,_f); +}; +function __device_camera_stopViewfinder(){ +this.provider.stopViewfinder(); +}; +function __device_camera_takePicture(_10){ +this.provider.takePicture(_10); +}; +function __device_camera(_11){ +this.provider=_11; +this.interfaceName=_11.descriptor.interfaceName; +this.version=_11.descriptor.version; +this.supportedMediaTypes=_11.supportedMediaTypes; +this.supportedSizes=_11.supportedSizes; +this.startCamera=__device_camera_startCamera; +this.stopViewfinder=__device_camera_stopViewfinder; +this.takePicture=__device_camera_takePicture; +}; +var __device_camera_service_entry={"name":null,"version":null,"proto":__device_camera,"descriptor":__device_camera_descriptor,"providers":[{"descriptor":__sp_camera_descriptor,"instance":__sp_camera_instance}]}; +function __device_commlog_descriptor(_12){ +this.interfaceName=_12.interfaceName; +this.version=_12.version; +}; +function __device_commlog_getList(_13,_14,_15){ +return this.provider.getList(_13,_14,_15); +}; +function __device_commlog_setNotification(_16,_17){ +return this.provider.setNotification(_16,_17); +}; +function __device_commlog_cancelNotification(){ +return this.provider.cancelNotification(); +}; +function __device_commlog_cancel(_18){ +return this.provider.cancel(_18); +}; +function __device_commlog_deleteLogEntry(_19){ +return this.provider.deleteLogEntry(_19); +}; +function __device_commlog(_1a){ +this.provider=_1a; +this.interfaceName=_1a.descriptor.interfaceName; +this.version=_1a.descriptor.version; +this.getList=__device_commlog_getList; +this.setNotification=__device_commlog_setNotification; +this.cancelNotification=__device_commlog_cancelNotification; +this.cancel=__device_commlog_cancel; +this.deleteLogEntry=__device_commlog_deleteLogEntry; +}; +var __device_commlog_service_entry={"name":null,"version":null,"proto":__device_commlog,"descriptor":__device_commlog_descriptor,"providers":[{"descriptor":__sp_commlog_descriptor,"instance":__sp_commlog_instance}]}; +function __device_contacts_descriptor(_1b){ +this.interfaceName=_1b.interfaceName; +this.version=_1b.version; +}; +function __device_contacts_startEditor(_1c,_1d,_1e){ +return this.provider.startEditor(_1c,_1d,_1e); +}; +function __device_contacts_getContacts(_1f,_20,_21,_22){ +return this.provider.getContacts(_1f,_20,_21,_22); +}; +function __device_contacts_add(_23){ +return this.provider.addContact(_23); +}; +function __device_contacts_update(_24){ +this.provider.updateContact(_24); +}; +function __device_contacts_delete(id){ +this.provider.deleteContacts(id); +}; +function __device_contacts_getContactInfo(id){ +return this.provider.getContactInfo(id); +}; +function __device_contacts_addGroup(_27){ +return this.provider.addGroup(_27); +}; +function __device_contacts_getGroups(_28,_29){ +return this.provider.getGroups(_28,_29); +}; +function __device_contacts_deleteGroups(id){ +this.provider.deleteGroups(id); +}; +function __device_contacts_addContactsToGroup(_2b,id){ +this.provider.addContactsToGroup(_2b,id); +}; +function __device_contacts_getContactIds(_2d,_2e,_2f,_30){ +return this.provider.getContactIds(_2d,_2e,_2f,_30); +}; +function __device_contacts_getGroupIds(_31,_32){ +return this.provider.getGroupIds(_31,_32); +}; +function __device_contacts_removeContactsFromGroup(_33,id){ +this.provider.removeContactsFromGroup(_33,id); +}; +function __device_contacts_cancel(_35){ +this.provider.cancel(_35); +}; +function __device_contacts_updateGroup(_36){ +this.provider.updateGroup(_36); +}; +function __device_contacts_getGroupInfo(_37){ +return this.provider.getGroupInfo(_37); +}; +function __device_contacts(_38){ +this.provider=_38; +this.interfaceName=_38.descriptor.interfaceName; +this.version=_38.descriptor.version; +this.SORT_ASCENDING=0; +this.SORT_DESCENDING=1; +this.startEditor=__device_contacts_startEditor; +this.getContacts=__device_contacts_getContacts; +this.addContact=__device_contacts_add; +this.updateContact=__device_contacts_update; +this.deleteContacts=__device_contacts_delete; +this.getContactInfo=__device_contacts_getContactInfo; +this.addGroup=__device_contacts_addGroup; +this.getGroups=__device_contacts_getGroups; +this.deleteGroups=__device_contacts_deleteGroups; +this.addContactsToGroup=__device_contacts_addContactsToGroup; +this.getContactIds=__device_contacts_getContactIds; +this.getGroupIds=__device_contacts_getGroupIds; +this.removeContactsFromGroup=__device_contacts_removeContactsFromGroup; +this.cancel=__device_contacts_cancel; +this.updateGroup=__device_contacts_updateGroup; +this.getGroupInfo=__device_contacts_getGroupInfo; +}; +var __device_contacts_service_entry={"name":null,"version":null,"proto":__device_contacts,"descriptor":__device_contacts_descriptor,"providers":[{"descriptor":__sp_contacts_descriptor,"instance":__sp_contacts_instance}]}; +var __device_debug_on__=true; +var MISSING_ARG_ERR=1; +var INVALID_ARG_ERR=2; +var NOT_SUPPORTED_ERR=3; +var event_completed=2; +var event_cancelled=3; +var __Service_Interface_Ver=1; +var MapErrorCode={1016:100,1012:101,1010:102,1009:103,1005:104,1000:105,1011:106,1007:107,1003:1,1002:2}; +function __device_debug(_39){ +}; +function __device_handle_exception(e,_3b){ +__device_debug(_3b); +throw (e); +}; +function __device_typeof(_3c){ +if(_3c==undefined){ +return "undefined"; +} +if(_3c instanceof Object){ +if(_3c instanceof String){ +return "String"; +}else{ +if(_3c instanceof Array){ +return "Array"; +} +} +} +if(typeof _3c){ +if(typeof _3c=="object"){ +if(typeof _3c=="object"&&!_3c){ +return "null"; +} +}else{ +if(typeof _3c=="string"){ +return "string"; +} +} +} +}; +if((typeof nokia)=="undefined"){ +nokia={}; +nokia.device={}; +}else{ +if((typeof nokia.device)!="undefined"){ +nokia.device={}; +}else{ +throw ("nokia.device already defined"); +} +} +nokia.device={load:__device_service_load,listInterfaces:__device_service_interfaces,getSystemProperties:__device_getSystemProperties,getLibraryVersion:__device_getLibraryVersion,version:2}; +function __device_getLibraryVersion(){ +return 2; +}; +function __device_getSystemProperties(){ +return {uriPath:{max:255}}; +}; +var __device_services_inited=false; +var __device_services=[{"name":"device","version":2,"interfaces":[]}]; +function __device_services_init(){ +if(__device_services_inited){ +return; +} +__device_services_inited=true; +try{ +var _3d=device.getServiceObject("Service.ServiceRegistry","IService"); +var _3e={ServiceName:"Service.Calendar",InterfaceName:"IDataSource"}; +var _3f=_3d.IService.GetList(_3e); +if(_3f.ErrorCode==0){ +var _40=_3f.ReturnValue; +if(_40){ +var _41=_40.getNext(); +if(_41){ +var _42=_41.VersionList; +var _43; +for(_43 in _42){ +if(_42[_43]>__Service_Interface_Ver){ +__Service_Interface_Ver=_42[_43]; +} +} +} +} +_40.close(); +} +_3d.close(); +} +catch(e){ +__Service_Interface_Ver=1; +} +try{ +__device_services[0].interfaces.push(__device_geolocation_service_entry); +} +catch(e){ +__device_debug("Missing library implementation: "+e); +} +try{ +__device_services[0].interfaces.push(__device_camera_service_entry); +} +catch(e1){ +__device_debug("Missing library implementation: "+e1); +} +try{ +__device_services[0].interfaces.push(__device_media_service_entry); +} +catch(e2){ +} +try{ +__device_services[0].interfaces.push(__device_contacts_service_entry); +} +catch(e3){ +} +try{ +__device_services[0].interfaces.push(__device_messaging_service_entry); +} +catch(e4){ +__device_debug("Missing library implementation: "+e4); +} +try{ +__device_services[0].interfaces.push(__device_calendar_service_entry); +} +catch(e5){ +__device_debug("Missing library implementation: "+e5); +} +try{ +__device_services[0].interfaces.push(__device_landmarks_service_entry); +} +catch(e6){ +__device_debug("Missing library implementation: "+e6); +} +try{ +__device_services[0].interfaces.push(__device_commlog_service_entry); +} +catch(e7){ +__device_debug("Missing library implementation: "+e7); +} +try{ +__device_services[0].interfaces.push(__device_sysinfo_service_entry); +} +catch(e8){ +__device_debug("Missing library implementation: "+e8); +} +try{ +__device_services[0].interfaces.push(__device_sensors_service_entry); +} +catch(e9){ +__device_debug("Missing library implementation: "+e9); +} +}; +function __device_get_implementation(i){ +return new i.proto(new (i.providers[0].instance)); +}; +function __device_get_descriptor(i){ +return new i.descriptor(new (i.providers[0].descriptor)); +}; +function __device_get_interface(s,_47,_48){ +var i=s.interfaces; +for(var d in i){ +if(i[d].name==null){ +__device_update_descriptor(i[d]); +} +if(i[d].name==undefined){ +continue; +} +if(i[d].name==_47){ +if(_48){ +if(i[d].version>=_48){ +return __device_get_implementation(i[d]); +} +}else{ +return __device_get_implementation(i[d]); +} +} +} +return null; +}; +function __device_service_load(_4b,_4c){ +var _4d=new DeviceException("dummy",0); +if(_4b){ +if(typeof _4b!="string"){ +throw new DeviceException(_4d.INVALID_ARG_ERR,"nokia.device.load:Invalid type interfaceName"); +} +}else{ +throw new DeviceException(_4d.MISSING_ARG_ERR,"nokia.device.load:interfaceName param expected"); +} +if(_4c){ +if(typeof _4c!="number"){ +throw new DeviceException(_4d.INVALID_ARG_ERR,"nokia.device.load:Invalid type version"); +} +} +__device_services_init(); +for(var s in __device_services){ +var i=__device_get_interface(__device_services[s],_4b,_4c); +if(i!=null){ +return i; +} +} +return null; +}; +function __device_update_descriptor(i){ +var d=__device_get_descriptor(i); +i.name=d.interfaceName; +i.version=d.version; +}; +function __device_interface_list(s){ +var _53=new Array(); +for(var i in s.interfaces){ +if(s.interfaces[i].name==null){ +__device_update_descriptor(s.interfaces[i]); +} +if(s.interfaces[i].name==undefined){ +continue; +} +_53[i]=new Object(); +_53[i].name=s.interfaces[i].name; +_53[i].version=s.interfaces[i].version; +} +return _53; +}; +function __device_service_descriptor(s){ +this.name=s.name; +this.version=s.version; +this.interfaces=__device_interface_list(s); +this.toString=__device_service_descriptor_to_string; +}; +function __device_service_descriptor_to_string(){ +var is="\nInterfaces(s): "; +for(i in this.interfaces){ +is+="\n"+this.interfaces[i].name+" "+this.interfaces[0].version; +} +return ("Service: "+this.name+is); +}; +function __device_service_interfaces(){ +__device_services_init(); +for(var s in __device_services){ +var _58=__device_interface_list(__device_services[s]); +return new __FWIter(_58); +} +return null; +}; +function __FWIter(arr){ +this._arr=arr; +this._pos=0; +this._valid=true; +}; +__FWIter.prototype.hasNext=function(){ +return (this._valid&&this._pos2){ +return _c4.split(":")[2]; +} +} +return _c4; +}; +var __s60_start_and_wait_cb; +function __s60_on_app_exit(){ +widget.onshow=null; +if(__s60_start_and_wait_cb!==null){ +__s60_start_and_wait_cb(); +} +}; +function __s60_on_app_start(){ +widget.onhide=null; +widget.onshow=__s60_on_app_exit; +}; +function __s60_start_and_wait(id,_c6,_c7){ +__s60_start_and_wait_cb=_c7; +widget.onhide=__s60_on_app_start; +widget.openApplication(id,_c6); +}; +function __s60_api_not_supported(){ +throw (err_ServiceNotSupported); +}; +function __s60_enumerate_object(_c8,_c9,_ca,_cb){ +var key; +for(key in _c8){ +var _cd; +if(_c9){ +_cd=_c9+"."+key; +}else{ +_cd=key; +} +var _ce=_c8[key]; +if(typeof _ce=="object"){ +__s60_enumerate_object(_ce,_cd,_ca,_cb); +}else{ +_ca(_cd,_ce,_cb); +} +} +}; +var dataGetList=0; +var isUpdate=0; +function __sp_calendar_descriptor(){ +this.interfaceName="calendar"; +if(window.__Service_Interface_Ver){ +this.version=__Service_Interface_Ver; +}else{ +this.version=1; +} +}; +function __sp_calendar_entry_time(_cf,end,_d1){ +if(_cf){ +var st=new Date(_cf); +this.begin=st; +} +if(end){ +var en=new Date(end); +this.end=en; +} +if(_d1){ +var al=new Date(_d1); +this.alarm=al; +} +}; +function __sp_calendar_isInputValid(_d5){ +if(_d5){ +if(_d5.id){ +if(typeof (_d5.id)!="string"){ +return false; +} +} +if(_d5.type){ +if((typeof (_d5.type)!="string")||!__sp_calendar_entry_types.match(_d5.type)){ +return false; +} +} +if(_d5.text){ +if(typeof (_d5.text)!="string"){ +return false; +} +} +if(_d5.range){ +if(typeof (_d5.range)!="object"){ +return false; +} +if(_d5.range.begin){ +if(typeof (_d5.range.begin)!="object"){ +return false; +} +} +if(_d5.range.end){ +if(typeof (_d5.range.end)!="object"){ +return false; +} +} +} +if(_d5.summary){ +if(typeof (_d5.summary)!="string"){ +return false; +} +} +if(_d5.description){ +if(typeof (_d5.description)!="string"){ +return false; +} +} +if(_d5.status){ +if(typeof (_d5.status)!="string"){ +return false; +} +} +if(_d5.location){ +if(typeof (_d5.location)!="string"){ +return false; +} +} +if(_d5.priority){ +if(typeof (_d5.priority)!="number"){ +return false; +} +} +if(_d5.instanceStartTime){ +if(typeof (_d5.instanceStartTime)!="object"){ +return false; +} +} +if(_d5.exceptionDates){ +if(typeof (_d5.exceptionDates)!="object"){ +return false; +} +} +if(_d5.time){ +if(typeof _d5.time!="object"){ +return false; +} +if(_d5.time.begin){ +if(typeof (_d5.time.begin)!="object"){ +return false; +} +if(_d5.time.begin=="Invalid Date"){ +return false; +} +try{ +(_d5.time.begin).getTime(); +} +catch(e){ +return false; +} +} +if(_d5.time.end){ +if(typeof (_d5.time.end)!="object"){ +return false; +} +if(_d5.time.end=="Invalid Date"){ +return false; +} +try{ +(_d5.time.end).getTime(); +} +catch(e){ +return false; +} +} +if(_d5.time.begin&&_d5.time.end){ +if(_d5.time.begin>_d5.time.end){ +return false; +} +} +if(_d5.time.alarm){ +if(typeof (_d5.time.alarm)!="object"){ +return false; +} +try{ +(_d5.time.alarm).getTime(); +} +catch(e){ +return false; +} +} +} +if(_d5.repeatRule){ +if(typeof _d5.repeatRule!="object"){ +return false; +} +if(_d5.repeatRule.frequency){ +if(typeof (_d5.repeatRule.frequency)!="string"){ +return false; +} +} +if(_d5.repeatRule.startDate){ +if(typeof (_d5.repeatRule.startDate)!="object"){ +return false; +} +if((_d5.repeatRule.startDate)=="Invalid Date"){ +return false; +} +try{ +(_d5.repeatRule.startDate).getTime(); +} +catch(e){ +return false; +} +} +if(_d5.repeatRule.untilDate){ +if(typeof (_d5.repeatRule.untilDate)!="object"){ +return false; +} +if((_d5.repeatRule.untilDate)=="Invalid Date"){ +return false; +} +try{ +(_d5.repeatRule.untilDate).getTime(); +} +catch(e){ +return false; +} +} +if(_d5.repeatRule.startDate&&_d5.repeatRule.untilDate){ +if(_d5.repeatRule.startDate>_d5.repeatRule.untilDate){ +return false; +} +} +if(_d5.repeatRule.interval){ +if(typeof (_d5.repeatRule.interval)!="number"){ +return false; +} +} +if(_d5.repeatRule.month){ +if(typeof (_d5.repeatRule.month)!="number"){ +return false; +} +} +if(_d5.repeatRule.weekDays){ +if(typeof (_d5.repeatRule.weekDays)!="object"){ +return false; +} +} +if(_d5.repeatRule.daysOfMonth){ +if(typeof (_d5.repeatRule.daysOfMonth)!="object"){ +return false; +} +} +if(_d5.repeatRule.monthDates){ +if(typeof (_d5.repeatRule.monthDates)!="object"){ +return false; +} +} +} +} +return true; +}; +function __sp_calendar_getList_repeatRule(_d6){ +var _d7; +switch(_d6.Type){ +case 1: +_d7="daily"; +this.frequency=_d7.toString(); +break; +case 2: +_d7="weekly"; +this.frequency=_d7.toString(); +break; +case 3: +_d7="monthly"; +this.frequency=_d7.toString(); +break; +case 4: +_d7="yearly"; +this.frequency=_d7.toString(); +break; +default: +throw new DeviceException(err_bad_argument,"Calendar: Repeat Rule Type is Invalid"); +} +if(_d6.StartDate){ +this.startDate=new Date(_d6.StartDate); +} +if(_d6.UntilDate){ +this.untilDate=new Date(_d6.UntilDate); +} +if(_d6.Interval){ +this.interval=_d6.Interval; +} +if(_d6.DaysInWeek){ +this.weekDays=[]; +for(var a in _d6.DaysInWeek){ +if(_d6.DaysInWeek[a]==6){ +_d6.DaysInWeek[a]=0; +}else{ +_d6.DaysInWeek[a]=_d6.DaysInWeek[a]+1; +} +this.weekDays.push(_d6.DaysInWeek[a]); +} +} +if(_d6.Month){ +this.month=_d6.Month; +} +if(_d6.DaysOfMonth){ +if(_d6.DaysOfMonth.Day){ +if(_d6.DaysOfMonth.Day==6){ +_d6.DaysOfMonth.Day=0; +}else{ +_d6.DaysOfMonth.Day=_d6.DaysOfMonth.Day+1; +} +this.daysOfMonth.day=_d6.DaysOfMonth.Day; +} +if(_d6.DaysOfMonth.WeekNum){ +this.daysOfMonth.weekInMonth=_d6.DaysOfMonth.WeekNum; +} +} +if(_d6.MonthDays){ +this.monthDates=[]; +for(var i=0;i<_d6.MonthDays.length;i++){ +this.monthDates.push(_d6.MonthDays[i]-1); +} +} +}; +function __sp_device_calendar_entry(_da){ +if(_da.id){ +this.id=_da.id; +} +if(_da.type){ +this.type=_da.Type; +} +if(_da.Summary){ +this.summary=_da.Summary; +} +if(_da.Description){ +this.description=_da.Description; +} +if(_da.Location){ +this.location=_da.Location; +} +if(_da.InstanceStartTime){ +this.instanceStartTime=_da.InstanceStartTime; +} +if(_da.Priority>=0||_da.Priority<=255){ +this.priority=_da.Priority; +} +if(_da.Status){ +this.status=_da.Status; +} +if(_da.ExDates){ +this.exceptionDates=_da.ExDates; +} +if(_da.RepeatRule){ +this.repeatRule=new __sp_calendar_getList_repeatRule(_da.RepeatRule); +} +if(dataGetList==0){ +this.time=new __sp_calendar_entry_time(_da.InstanceStartTime,_da.InstanceEndTime,_da.AlarmTime); +}else{ +this.time=new __sp_calendar_entry_time(_da.StartTime,_da.EndTime,_da.AlarmTime); +} +}; +function __sp_daysOfMonth_build(_db){ +if(_db.day){ +if(_db.day==0){ +_db.day=6; +}else{ +_db.day=_db.day-1; +} +this.Day=_db.day; +} +if(_db.weekInMonth){ +this.WeekNum=_db.weekInMonth; +} +}; +function __sp_calendar_addEntry_repeatRule(_dc,str){ +try{ +if(!(_dc.frequency)){ +throw new DeviceException(MISSING_ARG_ERR,"Calendar: addEntry: frequency is missing"); +}else{ +var _de=_dc.frequency; +switch(_de){ +case "daily": +this.Type=1; +break; +case "weekly": +this.Type=2; +break; +case "monthly": +this.Type=3; +break; +case "yearly": +this.Type=4; +break; +default: +throw new DeviceException(err_bad_argument,"Calendar: "+str+" Repeat Rule Type is Invalid"); +} +if(_dc.startDate){ +this.StartDate=_dc.startDate; +} +if(_dc.untilDate){ +this.UntilDate=_dc.untilDate; +} +if(_dc.interval){ +this.Interval=_dc.interval; +} +if(_dc.weekDays){ +this.DaysInWeek=[]; +for(var a in _dc.weekDays){ +if(_dc.weekDays[a]==0){ +_dc.weekDays[a]=6; +}else{ +_dc.weekDays[a]=_dc.weekDays[a]-1; +} +this.DaysInWeek.push(_dc.weekDays[a]); +} +} +if(_dc.month){ +this.Month=_dc.month; +} +if(_dc.monthDates){ +this.MonthDays=[]; +for(var i=0;i<_dc.monthDates.length;i++){ +this.MonthDays.push(_dc.monthDates[i]-1); +} +} +if(_dc.daysOfMonth){ +this.DaysOfMonth=new Array(); +for(var a in _dc.daysOfMonth){ +var _e1=new __sp_daysOfMonth_build(_dc.daysOfMonth[a]); +(this.DaysOfMonth).push(_e1); +} +} +} +} +catch(e){ +__device_handle_exception(e,"__sp_calendar_addEntry_repeatRule: "+e); +} +}; +function __sp_calendar_entry(_e2,str){ +try{ +if(_e2.type){ +this.Type=_e2.type; +} +if(_e2.id){ +this.id=_e2.id; +if(isUpdate){ +if(_e2.time){ +if(_e2.time.begin){ +this.StartTime=_e2.time.begin; +} +if(_e2.time.end){ +this.EndTime=_e2.time.end; +} +} +} +} +if(_e2.instanceStartTime){ +this.InstanceStartTime=_e2.instanceStartTime; +} +if(_e2.description){ +this.Description=_e2.description; +}else{ +if(isUpdate&&(_e2.description==null)){ +this.Description=" "; +} +} +if(_e2.summary){ +this.Summary=_e2.summary; +}else{ +if(isUpdate&&(_e2.summary==null)){ +this.Summary=" "; +} +} +if(_e2.location){ +this.Location=_e2.location; +}else{ +if(isUpdate&&(_e2.location==null)){ +this.Location=" "; +} +} +if(_e2.priority){ +if((_e2.priority<0)||(_e2.priority>255)){ +throw new DeviceException(INVALID_ARG_ERR,"Calendar: "+str+" Priority is Invalid"); +}else{ +this.Priority=_e2.priority; +} +}else{ +if(isUpdate&&(_e2.priority==null)){ +this.Priority=0; +} +} +if(_e2.status){ +if(this.Type=="ToDo"){ +this.Status="Todo"+_e2.status; +}else{ +this.Status=_e2.status; +} +}else{ +if(isUpdate&&(_e2.status==null)){ +this.Status="Tentative"; +} +} +if(_e2.exceptionDates){ +this.ExDates=_e2.exceptionDates; +} +if(_e2.repeatRule){ +this.RepeatRule=new __sp_calendar_addEntry_repeatRule(_e2.repeatRule,str); +} +if(_e2.type!=undefined&&_e2.type!=null){ +if(typeof this.Type!="string"){ +throw new DeviceException(INVALID_ARG_ERR,"Calendar: "+str+" Type is not a string"); +} +switch(this.Type){ +case "Meeting": +if(_e2.time){ +if(_e2.time.begin){ +this.StartTime=_e2.time.begin; +} +if(_e2.time.end){ +this.EndTime=_e2.time.end; +} +} +break; +case "Reminder": +case "Anniversary": +if(_e2.time){ +if(_e2.time.begin){ +this.StartTime=_e2.time.begin; +} +} +break; +case "ToDo": +if(_e2.time){ +if(_e2.time.end){ +this.EndTime=_e2.time.end; +} +} +break; +case "DayEvent": +if(_e2.time){ +if(_e2.time.begin){ +this.StartTime=_e2.time.begin; +} +} +break; +default: +throw new DeviceException(INVALID_ARG_ERR,"Calendar: "+str+" Type is Invalid"); +} +} +if(_e2.time){ +if(_e2.time.alarm){ +this.AlarmTime=_e2.time.alarm; +} +} +} +catch(e){ +__device_handle_exception(e,"__sp_calendar_entry: "+e); +} +}; +function __sp_calendar_iterator_get_next(){ +var _e4=this.iter.getNext(); +if(typeof _e4=="undefined"){ +return null; +} +var _e5=new __sp_device_calendar_entry(_e4); +_e4.close(); +return _e5; +}; +function __sp_calendar_iterator(_e6){ +this.iter=_e6; +this.next=__sp_calendar_iterator_get_next; +}; +var CALENDAR_APP_ID=268458241; +function __sp_calendar_startEditor(_e7,_e8,_e9){ +try{ +if(!_e7){ +throw new DeviceException(MISSING_ARG_ERR,"Calendar: startEditor: callback is missing"); +}else{ +if(typeof _e7!="function"){ +throw new DeviceException(INVALID_ARG_ERR,"Calendar: startEditor: callback is invalid"); +} +} +if(_e9){ +if(typeof _e9!="function"){ +throw new DeviceException(INVALID_ARG_ERR,"Calendar: startEditor: error callback is invalid"); +} +} +if(_e8==null||_e8==undefined){ +throw new DeviceException(INVALID_ARG_ERR,"Calendar: startEditor: entry is invalid"); +} +var _ea=function(_eb,_ec,_ed){ +var _ee=null; +_e7(_ee); +if(_ec!=event_cancelled){ +var _ee=null; +if(_ed.ReturnValue){ +_ee=new __sp_calendar_iterator(_ed.ReturnValue); +} +_e7(_ee); +} +if(_ed.ErrorCode!=0){ +switch(_ed.ErrorCode){ +case MISSING_ARG_ERR: +case INVALID_ARG_ERR: +case NOT_SUPPORTED_ERR: +if(_ed.ErrorMessage){ +var _ef=splitErrorMessage(_ed.ErrorMessage); +throw new DeviceException(MapErrorCode[_ed.ErrorCode],"Calendar: startEditor: "+_ef); +}else{ +throw new DeviceException(MapErrorCode[_ed.ErrorCode],"Calendar: startEditor: Operation Failed"); +} +break; +default: +_e9(new DeviceException(MapErrorCode[_ed.ErrorCode],"Calendar: startEditor: Operation Failed")); +} +} +}; +__s60_start_and_wait(CALENDAR_APP_ID,"",_ea); +return 0; +} +catch(e){ +__device_handle_exception(e,"__sp_calendar_startEditor: "+e); +} +}; +var __sp_calendar_entry_types="MeetingReminderToDoAnniversaryDayEvent"; +function __sp_calendar_getList(_f0,_f1,_f2){ +try{ +if(_f1){ +if(typeof _f1!="object"){ +throw new DeviceException(INVALID_ARG_ERR,"Calendar: getList: match is invalid"); +} +if(_f1.id){ +dataGetList=1; +if(typeof _f1.id!="string"){ +throw new DeviceException(INVALID_ARG_ERR,"Calendar: getList: match is invalid"); +} +}else{ +dataGetList=0; +} +} +if(!_f0){ +throw new DeviceException(MISSING_ARG_ERR,"Calendar: getList: callback is missing"); +}else{ +if(typeof _f0!="function"){ +throw new DeviceException(INVALID_ARG_ERR,"Calendar: getList: callback is invalid"); +} +} +if(_f2){ +if(typeof _f2!="function"){ +throw new DeviceException(INVALID_ARG_ERR,"Calendar: getList: error callback is invalid"); +} +if(_f2==undefined||_f2==null){ +throw new DeviceException(MISSING_ARG_ERR,"Calendar: getList: error callback is missing"); +} +} +var _f3=function(_f4,_f5,_f6){ +if(_f6.ErrorCode!=0){ +_f2(new DeviceException(_f6.ErrorCode,"Calendar: getList: Operation Failed")); +return; +} +if(_f5!=event_cancelled){ +var _f7=null; +if(_f6.ReturnValue){ +_f7=new __sp_calendar_iterator(_f6.ReturnValue); +} +_f0(_f7); +} +}; +var _f8={}; +modifyObjectBaseProp(_f8); +_f8.Type="IncludeAll"; +if(_f1){ +if(_f1.id){ +_f8.id=_f1.id; +} +if((_f1.type)&&__sp_calendar_entry_types.match(_f1.type)){ +_f8.Type=_f1.type; +}else{ +if((_f1.type)&&typeof _f1.type!="string"){ +throw new DeviceException(INVALID_ARG_ERR,"Calendar: getList: match is invalid"); +} +} +if(_f1.range){ +if(_f1.range.begin){ +if(typeof (_f1.range.begin)!="object"){ +throw new DeviceException(INVALID_ARG_ERR,"Calendar: getList: match is invalid"); +}else{ +if((_f1.range.begin)=="Invalid Date"){ +throw new DeviceException(INVALID_ARG_ERR,"Calendar: getList: match is invalid"); +}else{ +_f8.StartRange=_f1.range.begin; +} +} +} +if(_f1.range.end){ +if(typeof (_f1.range.end)!="object"){ +throw new DeviceException(INVALID_ARG_ERR,"Calendar: getList: match is invalid"); +}else{ +if((_f1.range.end)=="Invalid Date"){ +throw new DeviceException(INVALID_ARG_ERR,"Calendar: getList: match is invalid"); +}else{ +_f8.EndRange=_f1.range.end; +} +} +} +if((_f1.range.begin)&&(_f1.range.end)){ +if((_f1.range.begin)>(_f1.range.end)){ +throw new DeviceException(INVALID_ARG_ERR,"Calendar: getList: match is invalid"); +} +} +} +if(_f1.text){ +if(typeof (_f1.text)!="string"){ +throw new DeviceException(INVALID_ARG_ERR,"Calendar: getList: match is invalid"); +}else{ +_f8.SearchText=_f1.text; +} +} +} +var _f9={}; +modifyObjectBaseProp(_f9); +_f9.Type="CalendarEntry"; +_f9.Filter=_f8; +var _fa=this.so.IDataSource.GetList(_f9,_f3); +if(_f9){ +delete _f9.Type; +delete _f9.Filter; +} +if(_fa.ErrorCode!=0){ +switch(_fa.ErrorCode){ +case MISSING_ARG_ERR: +case INVALID_ARG_ERR: +case NOT_SUPPORTED_ERR: +if(_fa.ErrorMessage){ +var _fb=splitErrorMessage(_fa.ErrorMessage); +throw new DeviceException(MapErrorCode[_fa.ErrorCode],"Calendar: getList: "+_fb); +}else{ +throw new DeviceException(MapErrorCode[_fa.ErrorCode],"Calendar: getList: Operation Failed"); +} +break; +default: +_f2(new DeviceException(MapErrorCode[_fa.ErrorCode],"Calendar: getList: Operation Failed")); +} +} +return _fa.TransactionID; +} +catch(e){ +__device_handle_exception(e,"sp_calendar_getList: "+e); +} +}; +function __sp_calendar_add(_fc){ +if(_fc){ +if(typeof _fc!="object"){ +throw new DeviceException(INVALID_ARG_ERR,"Calendar: addEntry: calendarEntry param is invalid"); +} +if(_fc.id){ +_fc.id=undefined; +} +if(!_fc.type||!_fc.time){ +throw new DeviceException(MISSING_ARG_ERR,"Calendar: addEntry: mandatory param missing"); +}else{ +if(typeof _fc.type!="string"||typeof _fc.time!="object"){ +throw new DeviceException(INVALID_ARG_ERR,"Calendar: addEntry: mandatory param missing"); +} +} +if((_fc.type!="ToDo")&&!_fc.time.begin){ +throw new DeviceException(MISSING_ARG_ERR,"Calendar: addEntry: mandatory param StartTime missing"); +} +if(!_fc.time.end&&(_fc.type=="ToDo"||_fc.type=="Meeting")){ +throw new DeviceException(MISSING_ARG_ERR,"Calendar: addEntry: mandatory param EndTime missing"); +} +if(_fc.time.end&&_fc.time.alarm){ +if(_fc.time.end<_fc.time.alarm){ +throw new DeviceException(NOT_SUPPORTED_ERR,"Calendar: addEntry: alarm time greater than end time:Not supported"); +} +} +if(_fc.type=="ToDo"){ +if(_fc.status==0){ +if(typeof (_fc.status)!="string"){ +throw new DeviceException(INVALID_ARG_ERR,"Calendar: addEntry: mandatory param missing"); +} +} +} +if(_fc.repeatRule){ +if(typeof _fc.repeatRule!="object"){ +throw new DeviceException(INVALID_ARG_ERR,"Calendar: addEntry: repeatRule param type is invalid"); +} +if(!_fc.repeatRule.frequency||_fc.repeatRule.frequency==null){ +throw new DeviceException(MISSING_ARG_ERR,"Calendar: addEntry: mandatory param Frequency missing"); +} +} +var _fd=__sp_calendar_isInputValid(_fc); +if(!_fd){ +throw new DeviceException(INVALID_ARG_ERR,"Calendar: addEntry: calendarEntry param is invalid"); +} +}else{ +throw new DeviceException(MISSING_ARG_ERR,"Calendar: addEntry: mandatory param missing"); +} +try{ +var str="addEntry:"; +var _ff={}; +modifyObjectBaseProp(_ff); +_ff.Type="CalendarEntry"; +_ff.Item=new __sp_calendar_entry(_fc,str); +var _100=this.so.IDataSource.Add(_ff); +if(_ff){ +delete _ff.Type; +delete _ff.Item; +} +var _101="Operation Failed"; +if(_100.ErrorMessage){ +_101=splitErrorMessage(_100.ErrorMessage); +} +if(_100.ErrorCode!=0){ +throw new DeviceException(MapErrorCode[_100.ErrorCode],"Calendar: addEntry: Operation Failed"); +return; +}else{ +var _102=_100.ReturnValue; +return _102; +} +} +catch(e){ +__device_handle_exception(e,"__sp_calendar_add: "+e); +} +}; +function __sp_calendar_update(_103){ +isUpdate=1; +if(_103){ +if(typeof _103!="object"){ +throw new DeviceException(INVALID_ARG_ERR,"Calendar: updateEntry: calendarEntry param is invalid"); +} +if(!_103.id){ +throw new DeviceException(MISSING_ARG_ERR,"Calendar: updateEntry: mandatory param - Id missing"); +} +if(_103.repeatRule){ +if(typeof _103.repeatRule!="object"){ +throw new DeviceException(INVALID_ARG_ERR,"Calendar: updateEntry: repeatRule param type is invalid"); +} +if((_103.repeatRule.frequency==null||_103.repeatRule.frequency==undefined)){ +throw new DeviceException(INVALID_ARG_ERR,"Calendar: updateEntry: repeatRule param type is invalid"); +} +if(_103.repeatRule.startDate&&(_103.repeatRule.startDate==null||_103.repeatRule.startDate==undefined)){ +throw new DeviceException(INVALID_ARG_ERR,"Calendar: updateEntry: repeatRule param type is invalid"); +} +if(_103.repeatRule.untilDate&&(_103.repeatRule.untilDate==null||_103.repeatRule.untilDate==undefined)){ +throw new DeviceException(INVALID_ARG_ERR,"Calendar: updateEntry: repeatRule param type is invalid"); +} +} +if(_103.time){ +if(_103.time.end&&_103.time.alarm){ +if(_103.time.alarm>_103.time.end){ +throw new DeviceException(NOT_SUPPORTED_ERR,"Calendar: updateEntry: alarm time greater than end time is not supported"); +} +} +} +var _104=__sp_calendar_isInputValid(_103); +if(!_104){ +throw new DeviceException(INVALID_ARG_ERR,"Calendar: updateEntry: calendarEntry param is invalid"); +} +}else{ +throw new DeviceException(MISSING_ARG_ERR,"Calendar: updateEntry: mandatory param missing"); +} +try{ +var str="updateEntry:"; +var _106={}; +modifyObjectBaseProp(_106); +_106.Type="CalendarEntry"; +_106.Item=new __sp_calendar_entry(_103,str); +isUpdate=0; +var _107=this.so.IDataSource.Add(_106); +if(_106){ +delete _106.Type; +delete _106.Item; +} +var _108="Operation Failed"; +if(_107.ErrorMessage){ +_108=splitErrorMessage(_107.ErrorMessage); +} +if(_107.ErrorCode!=0){ +throw new DeviceException(MapErrorCode[_107.ErrorCode],"Calendar: addEntry: Operation Failed"); +return; +}else{ +var _109=_107.ReturnValue; +return _109; +} +} +catch(e){ +__device_handle_exception(e,"__sp_calendar_add: "+e); +} +}; +function __sp_calendar_delete(data){ +try{ +if(data){ +if(typeof data!="object"){ +throw new DeviceException(INVALID_ARG_ERR,"Calendar: deleteEntry: data is invalid"); +} +if(!data.id){ +throw new DeviceException(MISSING_ARG_ERR,"Calendar: deleteEntry: id is missing"); +} +var _10b=__sp_calendar_isInputValid(data); +if(!_10b){ +throw new DeviceException(INVALID_ARG_ERR,"Calendar: deleteEntry: delete data is invalid"); +} +}else{ +throw new DeviceException(MISSING_ARG_ERR,"Calendar: deleteEntry: data is missing"); +} +var _10c={}; +modifyObjectBaseProp(_10c); +_10c.Type="CalendarEntry"; +_10c.Data={}; +modifyObjectBaseProp(_10c.Data); +_10c.Data.IdList=[]; +var list=[data.id]; +_10c.Data.IdList=list; +if(data.range){ +if(data.range.begin){ +_10c.Data.StartRange=data.range.begin; +} +if(data.range.end){ +_10c.Data.EndRange=data.range.end; +} +} +var rval=this.so.IDataSource.Delete(_10c); +if(_10c){ +delete _10c.Type; +delete _10c.Data.IdList; +delete _10c.Data.StartRange; +delete _10c.Data.EndRange; +} +if(list){ +delete list.id; +} +if(rval.ErrorCode!=0){ +if(rval.ErrorMessage){ +var _10f=splitErrorMessage(rval.ErrorMessage); +throw new DeviceException(MapErrorCode[rval.ErrorCode],"Calendar: deleteEntry: "+_10f); +}else{ +throw new DeviceException(MapErrorCode[rval.ErrorCode],"Calendar: deleteEntry: Operation Failed"); +} +} +} +catch(e){ +__device_handle_exception(e,"__sp_calendar_delete: "+e); +} +}; +function __sp_calendar_cancel(_110){ +try{ +if(!_110||_110==null||_110==undefined){ +throw new DeviceException(MISSING_ARG_ERR,"Calendar: cancel: id is missing"); +} +if(_110){ +if(typeof _110!="number"){ +throw new DeviceException(INVALID_ARG_ERR,"Calendar: cancel: id is missing"); +} +} +var _111={}; +modifyObjectBaseProp(_111); +_111.TransactionID=_110; +var _112=this.so.IDataSource.Cancel(_111); +if(_111){ +delete _111.TransactionID; +} +if(_112.ErrorCode!=0){ +if(_112.ErrorMessage){ +var _113=splitErrorMessage(_112.ErrorMessage); +throw new DeviceException(MapErrorCode[_112.ErrorCode],"Calendar: cancel: "+_113); +}else{ +throw new DeviceException(MapErrorCode[_112.ErrorCode],"Calendar: cancel: Operation Failed"); +} +} +} +catch(e){ +__device_handle_exception(e,"__sp_calendar_cancel: "+e); +} +}; +function __sp_calendar_instance(){ +this.descriptor=new __sp_calendar_descriptor(); +this.startEditor=__sp_calendar_startEditor; +this.getList=__sp_calendar_getList; +this.addEntry=__sp_calendar_add; +this.updateEntry=__sp_calendar_update; +this.deleteEntry=__sp_calendar_delete; +this.cancel=__sp_calendar_cancel; +this.so=null; +try{ +this.so=device.getServiceObject("Service.Calendar","IDataSource"); +} +catch(e){ +__device_handle_exception(e,"Calendar service not available"); +} +}; +function __sp_camera_descriptor(){ +this.interfaceName="camera"; +if(window.__Service_Interface_Ver){ +this.version=__Service_Interface_Ver; +}else{ +this.version=1; +} +}; +var __sp_camera_start_date; +var CAMERA_APP_ID=270501242; +function __sp_startCamera(_114,_115){ +if(_114==null){ +throw new DeviceException(MISSING_ARG_ERR,"Camera:startCamera:callback is missing"); +} +if(_114==undefined){ +throw new DeviceException(INVALID_ARG_ERR,"Camera:startCamera:callback is a non-function"); +} +if(typeof (_114)!="function"){ +throw new DeviceException(INVALID_ARG_ERR,"Camera:startCamera:callback is a non-function"); +} +if(_115){ +if(typeof _115!="function"){ +throw new DeviceException(INVALID_ARG_ERR,"Camera:startCamera:callback is invalid"); +} +} +var _116=function(){ +var _117=function(arg1,arg2,arg3){ +var it=arg3.ReturnValue; +var item; +var _11d=[]; +if(arg3.ErrorCode!=0){ +_115(new DeviceException(arg3.ErrorCode,"Camera:startCamera: Operation Failed")); +return; +} +if((item=it.getNext())!=undefined){ +var d=new Date(Date.parse(item.FileDate)); +if(d>__sp_camera_start_date){ +var _11f={}; +modifyObjectBaseProp(_11f); +var _120=item.FileNameAndPath.replace(/\\/g,"/"); +var _121="file:///"; +var _122=""; +_122=_122.concat(_121,_120); +_11f.uri=_122; +var _123={}; +_123.height=item.XPixels; +_123.width=item.YPixels; +_123.type=item.MimeType; +_11f.format=_123; +_11d.unshift(_11f); +if(_123){ +} +} +} +var _124=0; +var _125=0; +_114(_11d); +}; +try{ +var mso=device.getServiceObject("Service.MediaManagement","IDataSource"); +} +catch(e){ +__device_handle_exception(e,"media service not available : "+e); +} +var _127={}; +modifyObjectBaseProp(_127); +_127.Type="FileInfo"; +_127.Filter={}; +modifyObjectBaseProp(_127.Filter); +_127.Filter.FileType="Image"; +_127.Sort={}; +modifyObjectBaseProp(_127.Sort); +_127.Sort.Key="FileDate"; +_127.Sort.Order="Descending"; +try{ +var rval=mso.IDataSource.GetList(_127,_117); +} +catch(error){ +__device_handle_exception(error,"media service GetList failed: "+error); +} +}; +__sp_camera_start_date=new Date(); +__s60_start_and_wait(CAMERA_APP_ID,"",_116); +var _129=0; +return _129; +}; +function __sp_supportedSizes(){ +try{ +var _12a=device.getServiceObject("Service.SysInfo","ISysInfo"); +} +catch(e){ +__device_handle_exception(e,"SysInfo Service not available : "+e); +} +var _12b={}; +modifyObjectBaseProp(_12b); +_12b.Entity="Camera"; +_12b.Key="CameraProperties"; +try{ +var rval=_12a.ISysInfo.GetInfo(_12b); +if(_12b){ +delete _12b.Entity; +delete _12b.Key; +} +} +catch(error){ +__device_handle_exception(error,"Camera : Failed to fetch supported size Info: "+error); +} +var _12d=rval.ReturnValue; +var _12e=[]; +var _12f=[]; +_12e=_12d.ResolutionList; +for(var i=0;i<_12e.length;i++){ +var _131=""; +_131=_131.concat(_12e[i].height,"X",_12e[i].width); +_12f.push(_131); +} +return _12f; +}; +function __sp_supportedMediaTypes(){ +try{ +var _132=device.getServiceObject("Service.SysInfo","ISysInfo"); +} +catch(e){ +__device_handle_exception(e,"SysInfo Service not available : "+e); +} +var _133={}; +modifyObjectBaseProp(_133); +_133.Entity="Camera"; +_133.Key="CameraProperties"; +try{ +var rval=_132.ISysInfo.GetInfo(_133); +if(_133){ +delete _133.Entity; +delete _133.Key; +} +} +catch(error){ +__device_handle_exception(error,"Camera :Failed to fetch supported media type Info: "+error); +} +var _135=rval.ReturnValue; +var _136=[]; +_136=_135.MimeTypeList; +return _136; +}; +function __sp_camera_instance(){ +this.descriptor=new __sp_camera_descriptor(); +this.supportedMediaTypes=__sp_supportedMediaTypes(); +this.supportedSizes=__sp_supportedSizes(); +this.startCamera=__sp_startCamera; +this.stopViewfinder=__s60_api_not_supported; +this.takePicture=__s60_api_not_supported; +}; +var invoker_notification; +var error=new DeviceException(0,"dummy"); +function __sp_commlog_descriptor(){ +this.interfaceName="commlog"; +if(window.__Service_Interface_Ver){ +this.version=__Service_Interface_Ver; +}else{ +this.version=1; +} +}; +var __sp_commlog_type_constants={"call":0,"sms":3}; +var __sp_commlog_constants={"received":0,"missed":5,"outgoing":1}; +var __sp_commlog_constants_output={"Received":0,"Missed":5,"Outgoing":1}; +var __notifArr=new Array(); +var __notifCount=0; +__Notification.prototype=new Object(); +__Notification.prototype.constructor=__Notification; +function __Notification(_137,_138){ +this.connectionId=_137; +this.callback=_138; +}; +var __nofLogs; +function __get_const_string(def,val){ +var i; +for(i in def){ +if(def[i]==val){ +return i; +} +} +return null; +}; +function __get_const_val(def,str){ +if(def[str]!=undefined){ +return def[str]; +} +return null; +}; +function __device_commlog_item(_13e){ +if(!_13e){ +return null; +} +var evt={}; +evt.type=__get_const_string(__sp_commlog_type_constants,_13e.EventType); +if(evt.type==null||evt.type==undefined){ +return null; +} +evt.phoneNumber=_13e.PhoneNumber; +if(evt.phoneNumber==null||evt.phoneNumber==undefined||evt.phoneNumber.length==0){ +evt.phoneNumber="private number"; +} +evt.time=_13e.EventTime; +evt.flag=(_13e.Direction==undefined)?null:__get_const_string(__sp_commlog_constants_output,_13e.Direction); +evt.summary=_13e.Description; +evt.logId=Number(_13e.id); +evt.contactName=_13e.RemoteParty; +if(!evt.contactName){ +evt.contactName=evt.phoneNumber; +} +return evt; +}; +function __sp_commlog_iterator_get_next(){ +if(typeof __nofLogs=="number"){ +if(__nofLogs<=0){ +return null; +} +__nofLogs=__nofLogs-1; +} +if((typeof this.buffer=="object")&&(this.buffer!=null)){ +var b1=this.buffer; +this.buffer=null; +var _141=new __device_commlog_item(b1); +return _141; +}else{ +var _142; +if(this.iter!=undefined&&this.iter!=null){ +_142=this.iter.getNext(); +} +if(typeof _142=="undefined"){ +return null; +} +var rval=new __device_commlog_item(_142); +_142.close(); +return rval; +} +}; +function __sp_commlog_iterator_has_next(){ +if(this.iter!=undefined&&this.iter!=null){ +this.buffer=this.iter.getNext(); +} +if((typeof this.buffer=="object")&&(this.buffer!=null)){ +return true; +}else{ +return false; +} +}; +function __sp_commlog_iterator_close(){ +}; +function __sp_commlog_iterator(_144){ +this.iter=_144; +this.buffer=null; +this.next=__sp_commlog_iterator_get_next; +this.hasNext=__sp_commlog_iterator_has_next; +this.close=__sp_commlog_iterator_close; +this.nofLogs=__nofLogs; +}; +function __sp_commlog_getList(_145,_146,_147){ +if(_145==null||_145==undefined){ +throw new DeviceException(error.MISSING_ARG_ERR,"CommLog:getList:callback is Required"); +}else{ +if(typeof _145!="function"){ +throw new DeviceException(error.INVALID_ARG_ERR,"CommLog:getList:Invalid Callback"); +} +} +if(_147){ +if(typeof (_147)!="function"){ +throw new DeviceException(error.INVALID_ARG_ERR,"CommLog: getList: ErrorCallback is invalid"); +} +} +if(_146!=null&&_146!=undefined){ +if(typeof _146!="object"||__device_typeof(_146)=="Array"){ +throw new DeviceException(error.INVALID_ARG_ERR,"CommLog: getList: Match is not an object"); +} +if(_146.type!=null&&_146.type!=undefined){ +if(typeof _146.type!="string"){ +throw new DeviceException(error.INVALID_ARG_ERR,"CommLog: getList: Type is not a string"); +} +} +if(_146.flag!=null&&_146.flag!=undefined){ +if(typeof _146.flag!="string"){ +throw new DeviceException(error.INVALID_ARG_ERR,"CommLog: getList: Flag is not a string"); +} +if(_146.type){ +if(_146.type.toLowerCase()=="sms"&&_146.flag.toLowerCase()=="missed"){ +if(_147){ +setTimeout(function(){ +_147(new DeviceException(error.DATA_OUT_OF_RANGE_ERR,"commlogs: getList: Missed is not supported for sms")); +},1000); +return; +}else{ +throw new DeviceError("commlogs: getList: Missed is not supported for sms",error.DATA_OUT_OF_RANGE_ERR); +} +} +} +} +if(_146.nofLogs!=null&&_146.nofLogs!=undefined){ +if(typeof _146.nofLogs!="number"){ +throw new DeviceException(error.INVALID_ARG_ERR,"CommLog: getList: nofLogs is invalid"); +} +} +} +try{ +var _148={}; +modifyObjectBaseProp(_148); +_148.Type="Log"; +_148.Filter={}; +modifyObjectBaseProp(_148.Filter); +if(_146){ +if(_146.type){ +var _149; +_149=__get_const_val(__sp_commlog_type_constants,_146.type.toLowerCase()); +if(_149!=undefined){ +_148.Filter.EventType=_149; +}else{ +if(_147){ +setTimeout(function(){ +_147(new DeviceException(error.DATA_OUT_OF_RANGE_ERR,"CommLog: getList: Type is out of range")); +},1000); +return; +}else{ +throw new DeviceException(error.DATA_OUT_OF_RANGE_ERR,"CommLog: getList: Type is out of range"); +} +} +} +if(_146.nofLogs!=null&&_146.nofLogs!=undefined){ +if((_146.nofLogs<0)||(_146.nofLogs!=(_146.nofLogs|0))){ +if(_147){ +setTimeout(function(){ +_147(new DeviceException(error.DATA_OUT_OF_RANGE_ERR,"CommLog: getList: nofLogs is out of range")); +},1000); +return; +}else{ +throw new DeviceException(error.DATA_OUT_OF_RANGE_ERR,"CommLog: getList: nofLogs is out of range"); +} +} +__nofLogs=_146.nofLogs; +} +if(_146.flag){ +var _14a; +_14a=__get_const_val(__sp_commlog_constants,_146.flag.toLowerCase()); +if(_14a!=undefined){ +_148.Filter.Direction=_14a; +}else{ +if(_147){ +setTimeout(function(){ +_147(new DeviceException(error.DATA_OUT_OF_RANGE_ERR,"CommLog: getList: Flag is out of range")); +},1000); +}else{ +throw new DeviceException(error.DATA_OUT_OF_RANGE_ERR,"CommLog: getList: Flag is out of range"); +} +} +} +if(_146.phoneNumber!=null&&_146.phoneNumber!=undefined){ +if(_146.phoneNumber!=""){ +_148.Filter.PhoneNumber=_146.phoneNumber; +} +} +if(_146.contactName!=null&&_146.contactName!=undefined){ +if(_146.contactName!=""){ +_148.Filter.RemoteParty=_146.contactName; +} +} +if(_146.startTime!=null&&_146.startTime!=undefined){ +_148.Filter.StartTime=_146.startTime; +} +if(_146.endTime!=null&&_146.endTime!=undefined){ +_148.Filter.EndTime=_146.endTime; +} +} +var _14b=function(arg1,arg2,arg3){ +var _14f=_145; +var _150=_147; +var iter=null; +var _152=null; +if(arg3.ErrorCode!=0){ +if(arg3.ErrorMessage){ +_152=splitErrorMessage(arg3.ErrorMessage); +}else{ +_152="operation failed"; +} +if(_150){ +setTimeout(function(){ +_150(new DeviceException(MapErrorCode[arg3.ErrorCode],"Commlog: getList: "+_152)); +},1000); +return; +} +}else{ +if(arg3.ReturnValue){ +iter=new __sp_commlog_iterator(arg3.ReturnValue); +} +} +if(arg2!=event_cancelled){ +_14f(iter); +} +}; +var _153=this.so.IDataSource.GetList(_148,_14b); +if(_148.Filter){ +delete _148.Filter.Direction; +delete _148.Filter.EventType; +delete _148.Filter.PhoneNumber; +} +if(_148){ +delete _148.Filter; +delete _148.Type; +} +if(_153.ErrorCode!=0){ +var _154="operation failed"; +if(_153.ErrorMessage){ +_154=splitErrorMessage(_153.ErrorMessage); +} +switch(MapErrorCode[_153.ErrorCode]){ +case error.INVALID_ARG_ERR: +case error.MISSING_ARG_ERR: +case error.NOT_SUPPORTED_ERR: +throw new DeviceException(MapErrorCode[_153.ErrorCode],"CommLog:getList:"+_154); +break; +default: +if(_147){ +_147(new DeviceException(MapErrorCode[_153.ErrorCode],"CommLog:getList:"+_154)); +return; +}else{ +throw new DeviceException(MapErrorCode[_153.ErrorCode],"CommLog:getList:"+_154); +} +} +} +return _153.TransactionID; +} +catch(e){ +__device_handle_exception(e,"__sp_commlog_Input_validation: "+e); +} +}; +function __sp_commlog_setNotification(_155,_156){ +if(!_155){ +throw new DeviceException(error.MISSING_ARG_ERR,"CommLog:setNotification:callback is missing"); +} +if(typeof _155!="function"){ +throw new DeviceException(error.INVALID_ARG_ERR,"CommLog:setNotification:callback is invalid"); +} +if(_156){ +if(typeof (_156)!="function"){ +throw new DeviceException(error.INVALID_ARG_ERR,"CommLog: setNotification: ErrorCallback is invalid"); +} +} +invoker_notification=function(arg1,arg2,arg3){ +var _15a=_155; +var _15b=_156; +var _15c=null; +if(arg3.ErrorCode!=0){ +if(arg3.ErrorMessage){ +_15d=splitErrorMessage(arg3.ErrorMessage); +}else{ +_15d="operation failed"; +} +if(_15b){ +_15b(new DeviceException(MapErrorCode[arg3.ErrorCode],"CommLog: getList: "+_15d)); +return; +} +}else{ +if(arg3.ReturnValue){ +_15c=new __device_commlog_item(arg3.ReturnValue); +} +} +if(arg2!=event_cancelled){ +for(i in __notifArr){ +if(arg1==__notifArr[i].connectionId){ +var _15e=__notifArr[i]; +break; +} +} +if(_15e){ +_15e.callback(_15c); +} +} +}; +for(i in __notifArr){ +var _15f=__notifArr[i]; +__notifArr.splice(i,1); +__notifCount=__notifArr.length; +this.so.IDataSource.Cancel({TransactionID:_15f.connectionId}); +break; +} +var _160={}; +modifyObjectBaseProp(_160); +_160.Type="Log"; +_160.Filter={DelayTime:0}; +var _161=this.so.IDataSource.RequestNotification(_160,invoker_notification); +__notifArr[__notifCount++]=new __Notification(_161.TransactionID,_155); +if(_160){ +delete _160.Type; +} +if(_161.ErrorCode!=0){ +var _15d="operation failed"; +if(_161.ErrorMessage){ +_15d=splitErrorMessage(_161.ErrorMessage); +} +switch(MapErrorCode[_161.ErrorCode]){ +case error.INVALID_ARG_ERR: +case error.MISSING_ARG_ERR: +case error.NOT_SUPPORTED_ERR: +throw new DeviceException(MapErrorCode[_161.ErrorCode],"CommLog:setNotification:"+_15d); +break; +default: +if(_156){ +setTimeout(function(){ +_156(new DeviceException(MapErrorCode[_161.ErrorCode],"CommLog:setNotification:"+_15d)); +},1000); +}else{ +throw new DeviceException(MapErrorCode[_161.ErrorCode],"CommLog:setNotification:"+_15d); +} +} +} +}; +function __sp_commlog_cancelNotification(){ +for(i in __notifArr){ +if(__notifArr[i].connectionId){ +var _162=__notifArr[i]; +__notifArr.splice(i,1); +__notifCount=__notifArr.length; +break; +} +} +if(_162){ +var _163=this.so.IDataSource.Cancel({TransactionID:_162.connectionId}); +if(_163.ErrorCode!=0){ +var _164="operation failed"; +if(_163.ErrorMessage){ +_164=splitErrorMessage(_163.ErrorMessage); +} +} +} +}; +function __sp_commlog_cancel(_165){ +if(!_165){ +throw new DeviceException(error.MISSING_ARG_ERR,"CommLog:cancel:transactionId is missing"); +} +if(typeof _165!="number"){ +throw new DeviceException(error.INVALID_ARG_ERR,"CommLog:cancel:transactionId is invalid"); +} +var _166=this.so.IDataSource.Cancel({TransactionID:_165}); +if(_166.ErrorCode!=0){ +var _167="operation failed"; +if(_166.ErrorMessage){ +_167=splitErrorMessage(_166.ErrorMessage); +} +throw new DeviceException(MapErrorCode[_166.ErrorCode],"CommLog:cancel:"+_167); +} +}; +function __sp_commlog_deleteLogEntry(_168){ +if(_168==null||_168==undefined){ +throw new DeviceException(error.MISSING_ARG_ERR,"CommLog:deleteLogEntry:logId is missing"); +} +if(typeof _168!="number"){ +throw new DeviceException(error.INVALID_ARG_ERR,"CommLog:deleteLogEntry:logId is invalid"); +} +var _169={}; +modifyObjectBaseProp(_169); +_169.Type="Log"; +_169.Data={id:_168.toString()}; +modifyObjectBaseProp(_169.Data); +var _16a=this.so.IDataSource.Delete(_169); +if(_16a.ErrorCode!=0){ +var _16b="operation failed"; +if(_16a.ErrorMessage){ +_16b=splitErrorMessage(_16a.ErrorMessage); +} +throw new DeviceException(MapErrorCode[_16a.ErrorCode],"CommLog:deleteLogEntry:"+_16b); +} +}; +function __sp_commlog_instance(){ +this.descriptor=new __sp_commlog_descriptor(); +this.getList=__sp_commlog_getList; +this.setNotification=__sp_commlog_setNotification; +this.cancelNotification=__sp_commlog_cancelNotification; +this.cancel=__sp_commlog_cancel; +this.deleteLogEntry=__sp_commlog_deleteLogEntry; +try{ +this.so=device.getServiceObject("Service.Logging","IDataSource"); +} +catch(e){ +this.so=null; +__device_handle_exception(e,"commlog service not available"); +} +}; +nokia.device.contacts.SORT_ASCENDING=0; +nokia.device.contacts.SORT_DESCENDING=1; +var SORT_ASCENDING=0; +var SORT_DESCENDING=1; +function __sp_contacts_descriptor(){ +this.interfaceName="contacts"; +if(window.__Service_Interface_Ver){ +this.version=__Service_Interface_Ver; +}else{ +this.version=1; +} +}; +function __s60_enumerate_contact_object(_16c,_16d,func,_16f){ +try{ +var key; +for(key in _16c){ +var _171; +if(_16d){ +_171=_16d+"."+key; +}else{ +_171=key; +} +var _172=_16c[key]; +if(_172 instanceof Array){ +func(_171,_172,_16f); +}else{ +if(_172 instanceof Date){ +func(_171,_172,_16f); +}else{ +if(typeof _172=="object"){ +__s60_enumerate_contact_object(_172,_171,func,_16f); +}else{ +func(_171,_172,_16f); +} +} +} +} +} +catch(e){ +throw e; +} +}; +function __sp_contact_extract(name,_174,_175){ +switch(name){ +case "name.last": +_175.LastName={}; +modifyObjectBaseProp(_175.LastName); +_175.LastName.Label="Last name"; +_175.LastName.Value=_174; +break; +case "name.first": +_175.FirstName={}; +modifyObjectBaseProp(_175.FirstName); +_175.FirstName.Label="First name"; +_175.FirstName.Value=_174; +break; +case "name.middle": +_175.MiddleName={}; +modifyObjectBaseProp(_175.MiddleName); +_175.MiddleName.Label="Middle name"; +_175.MiddleName.Value=_174; +break; +case "name.prefix": +_175.Prefix={}; +modifyObjectBaseProp(_175.Prefix); +_175.Prefix.Label="Prefix"; +_175.Prefix.Value=_174; +break; +case "name.suffix": +_175.Suffix={}; +modifyObjectBaseProp(_175.Suffix); +_175.Suffix.Label="Suffix"; +_175.Suffix.Value=_174; +break; +case "tel.land": +_175.LandPhoneGen={}; +modifyObjectBaseProp(_175.LandPhoneGen); +_175.LandPhoneGen.Label="Landline"; +_175.LandPhoneGen.Value=_174; +break; +case "tel.mobile": +_175.MobilePhoneGen={}; +modifyObjectBaseProp(_175.MobilePhoneGen); +_175.MobilePhoneGen.Label="Mobile"; +_175.MobilePhoneGen.Value=_174; +break; +case "tel.video": +_175.VideoNumberGen={}; +modifyObjectBaseProp(_175.VideoNumberGen); +_175.VideoNumberGen.Label="Video"; +_175.VideoNumberGen.Value=_174; +break; +case "tel.fax": +_175.FaxNumberGen={}; +modifyObjectBaseProp(_175.FaxNumberGen); +_175.FaxNumberGen.Label="Fax"; +_175.FaxNumberGen.Value=_174; +break; +case "tel.voip": +_175.VOIPGen={}; +modifyObjectBaseProp(_175.VOIPGen); +_175.VOIPGen.Label="Voip"; +_175.VOIPGen.Value=_174; +break; +case "tel.home.land": +_175.LandPhoneHome={}; +modifyObjectBaseProp(_175.LandPhoneHome); +_175.LandPhoneHome.Label="Home Landline"; +_175.LandPhoneHome.Value=_174; +break; +case "tel.home.mobile": +_175.MobilePhoneHome={}; +modifyObjectBaseProp(_175.MobilePhoneHome); +_175.MobilePhoneHome.Label="Home Mobile"; +_175.MobilePhoneHome.Value=_174; +break; +case "tel.home.video": +_175.VideoNumberHome={}; +modifyObjectBaseProp(_175.VideoNumberHome); +_175.VideoNumberHome.Label="Home Video"; +_175.VideoNumberHome.Value=_174; +break; +case "tel.home.fax": +_175.FaxNumberHome={}; +modifyObjectBaseProp(_175.FaxNumberHome); +_175.FaxNumberHome.Label="Home Fax"; +_175.FaxNumberHome.Value=_174; +break; +case "tel.home.voip": +_175.VOIPHome={}; +modifyObjectBaseProp(_175.VOIPHome); +_175.VOIPHome.Label="Home Voip"; +_175.VOIPHome.Value=_174; +break; +case "tel.work.land": +_175.LandPhoneWork={}; +modifyObjectBaseProp(_175.LandPhoneWork); +_175.LandPhoneWork.Label="Work Landline"; +_175.LandPhoneWork.Value=_174; +break; +case "tel.work.mobile": +_175.MobilePhoneWork={}; +modifyObjectBaseProp(_175.MobilePhoneWork); +_175.MobilePhoneWork.Label="Work Mobile"; +_175.MobilePhoneWork.Value=_174; +break; +case "tel.work.video": +_175.VideoNumberWork={}; +modifyObjectBaseProp(_175.VideoNumberWork); +_175.VideoNumberWork.Label="Work Video"; +_175.VideoNumberWork.Value=_174; +break; +case "tel.work.fax": +_175.FaxNumberWork={}; +modifyObjectBaseProp(_175.FaxNumberWork); +_175.FaxNumberWork.Label="Work Fax"; +_175.FaxNumberWork.Value=_174; +break; +case "tel.work.voip": +_175.VOIPWork={}; +modifyObjectBaseProp(_175.VOIPWork); +_175.VOIPWork.Label="Work Voip"; +_175.VOIPWork.Value=_174; +break; +case "address.street": +_175.AddrStreetGen={}; +modifyObjectBaseProp(_175.AddrStreetGen); +_175.AddrStreetGen.Label="Street Address"; +_175.AddrStreetGen.Value=_174; +break; +case "address.local": +_175.AddrLocalGen={}; +modifyObjectBaseProp(_175.AddrLocalGen); +_175.AddrLocalGen.Label="City"; +_175.AddrLocalGen.Value=_174; +break; +case "address.region": +_175.AddrRegionGen={}; +modifyObjectBaseProp(_175.AddrRegionGen); +_175.AddrRegionGen.Label="State/Province"; +_175.AddrRegionGen.Value=_174; +break; +case "address.code": +_175.AddrPostCodeGen={}; +modifyObjectBaseProp(_175.AddrPostCodeGen); +_175.AddrPostCodeGen.Label="Postal code"; +_175.AddrPostCodeGen.Value=_174; +break; +case "address.country": +_175.AddrCountryGen={}; +modifyObjectBaseProp(_175.AddrCountryGen); +_175.AddrCountryGen.Label="Country"; +_175.AddrCountryGen.Value=_174; +break; +case "address.email": +_175.EmailGen={}; +modifyObjectBaseProp(_175.EmailGen); +_175.EmailGen.Label="EMail"; +_175.EmailGen.Value=_174; +break; +case "address.uri": +_175.URLGen={}; +modifyObjectBaseProp(_175.URLGen); +_175.URLGen.Label="Website"; +_175.URLGen.Value=_174; +break; +case "address.home.street": +_175.AddrStreetHome={}; +modifyObjectBaseProp(_175.AddrStreetHome); +_175.AddrStreetHome.Label="Home Address"; +_175.AddrStreetHome.Value=_174; +break; +case "address.home.local": +_175.AddrLocalHome={}; +modifyObjectBaseProp(_175.AddrLocalHome); +_175.AddrLocalHome.Label="City"; +_175.AddrLocalHome.Value=_174; +break; +case "address.home.region": +_175.AddrRegionHome={}; +modifyObjectBaseProp(_175.AddrRegionHome); +_175.AddrRegionHome.Label="State/Province"; +_175.AddrRegionHome.Value=_174; +break; +case "address.home.code": +_175.AddrPostCodeHome={}; +modifyObjectBaseProp(_175.AddrPostCodeHome); +_175.AddrPostCodeHome.Label="Postal code"; +_175.AddrPostCodeHome.Value=_174; +break; +case "address.home.country": +_175.AddrCountryHome={}; +modifyObjectBaseProp(_175.AddrCountryHome); +_175.AddrCountryHome.Label="Country"; +_175.AddrCountryHome.Value=_174; +break; +case "address.home.email": +_175.EmailHome={}; +modifyObjectBaseProp(_175.EmailHome); +_175.EmailHome.Label="Home EMail"; +_175.EmailHome.Value=_174; +break; +case "address.home.uri": +_175.URLHome={}; +modifyObjectBaseProp(_175.URLHome); +_175.URLHome.Label="Home Website"; +_175.URLHome.Value=_174; +break; +case "address.work.street": +_175.AddrStreetWork={}; +modifyObjectBaseProp(_175.AddrStreetWork); +_175.AddrStreetWork.Label="Work Address"; +_175.AddrStreetWork.Value=_174; +break; +case "address.work.local": +_175.AddrLocalWork={}; +modifyObjectBaseProp(_175.AddrLocalWork); +_175.AddrLocalWork.Label="City"; +_175.AddrLocalWork.Value=_174; +break; +case "address.work.region": +_175.AddrRegionWork={}; +modifyObjectBaseProp(_175.AddrRegionWork); +_175.AddrRegionWork.Label="State/Province"; +_175.AddrRegionWork.Value=_174; +break; +case "address.work.code": +_175.AddrPostCodeWork={}; +modifyObjectBaseProp(_175.AddrPostCodeWork); +_175.AddrPostCodeWork.Label="Postal code"; +_175.AddrPostCodeWork.Value=_174; +break; +case "address.work.country": +_175.AddrCountryWork={}; +modifyObjectBaseProp(_175.AddrCountryWork); +_175.AddrCountryWork.Label="Country"; +_175.AddrCountryWork.Value=_174; +break; +case "address.work.email": +_175.EmailWork={}; +modifyObjectBaseProp(_175.EmailWork); +_175.EmailWork.Label="Work EMail"; +_175.EmailWork.Value=_174; +break; +case "address.work.uri": +_175.URLWork={}; +modifyObjectBaseProp(_175.URLWork); +_175.URLWork.Label="Work Website"; +_175.URLWork.Value=_174; +break; +case "company.name": +_175.CompanyName={}; +modifyObjectBaseProp(_175.CompanyName); +_175.CompanyName.Label="Company"; +_175.CompanyName.Value=_174; +break; +case "company.title": +_175.JobTitle={}; +modifyObjectBaseProp(_175.JobTitle); +_175.JobTitle.Label="Title"; +_175.JobTitle.Value=_174; +break; +case "id": +_175.id=_174; +break; +case "notes": +_175.Note={}; +modifyObjectBaseProp(_175.Note); +_175.Note.Label="Note"; +_175.Note.Value=_174; +break; +case "anniversary": +_175.Anniversary={}; +modifyObjectBaseProp(_175.Anniversary); +_175.Anniversary.Label="Anniversary"; +_175.Anniversary.Value=_174; +break; +case "birthday": +_175.Date={}; +modifyObjectBaseProp(_175.Date); +_175.Date.Label="BirthDay"; +_175.Date.Value=_174; +break; +case "nickName": +_175.SecondName={}; +modifyObjectBaseProp(_175.SecondName); +_175.SecondName.Label="NickName"; +_175.SecondName.Value=_174; +break; +case "photo": +_175.CallerObjImg={}; +modifyObjectBaseProp(_175.CallerObjImg); +_175.CallerObjImg.Label="CallerObjImg"; +_175.CallerObjImg.Value=_174; +break; +case "xspid": +_175.IMPP={}; +modifyObjectBaseProp(_175.IMPP); +_175.IMPP.Label="IMPP"; +_175.IMPP.Value=_174; +break; +} +}; +function __s60_enumerate_build_contact_object(_176,_177,func,_179){ +var key; +for(key in _176){ +var _17b; +if(_177){ +_17b=_177+"."+key; +}else{ +_17b=key; +} +var _17c=_176[key]; +if(_17b=="IMPP"){ +func(_17b,_17c,_179); +} +if(typeof _17c=="object"){ +__s60_enumerate_build_contact_object(_17c,_17b,func,_179); +}else{ +func(_17b,_17c,_179); +} +} +}; +function __sp_device_contact_extract(name,_17e,_17f){ +if(name=="id"){ +_17f.id=_17e; +return; +} +if(!name.match(".Value")){ +return; +} +try{ +if(name.match("IMPP.Value.0")){ +_17f.xspid=[]; +} +if(name.match("Name")){ +if(name.match("CompanyName")){ +if(!_17f.company){ +_17f.company={}; +} +}else{ +if(!_17f.name){ +_17f.name={}; +} +} +}else{ +if(name.match("Phone")||name.match("Number")||name.match("VOIP")||name.match("Voip")){ +if(!_17f.tel){ +_17f.tel={}; +} +if(name.match("Home")){ +if(!_17f.tel.home){ +_17f.tel.home={}; +} +}else{ +if(name.match("Work")){ +if(!_17f.tel.work){ +_17f.tel.work={}; +} +} +} +}else{ +if(name.match("Addr")||name.match("Email")||name.match("URL")){ +if(!_17f.address){ +_17f.address={}; +} +if(name.match("Home")){ +if(!_17f.address.home){ +_17f.address.home={}; +} +}else{ +if(name.match("Work")){ +if(!_17f.address.work){ +_17f.address.work={}; +} +} +} +}else{ +if(name.match("JobTitle")){ +if(!_17f.company){ +_17f.company={}; +} +} +} +} +} +} +catch(e){ +__device_handle_exception(e,"__sp_device_contact_extract: "+e); +} +if(name.match("IMPP.Value")){ +var _180=name.split("."); +var _181=_180[2]; +if(_181!=undefined){ +_17f.xspid[_180[2]]=_17e; +return; +} +} +switch(name){ +case "LastName.Value": +_17f.name.last=_17e; +break; +case "FirstName.Value": +_17f.name.first=_17e; +break; +case "MiddleName.Value": +_17f.name.middle=_17e; +break; +case "Prefix.Value": +_17f.name.prefix=_17e; +break; +case "Suffix.Value": +_17f.name.suffix=_17e; +break; +case "LandPhoneGen.Value": +_17f.tel.land=_17e; +break; +case "MobilePhoneGen.Value": +_17f.tel.mobile=_17e; +break; +case "VideoNumberGen.Value": +_17f.tel.video=_17e; +break; +case "FaxNumberGen.Value": +_17f.tel.fax=_17e; +break; +case "VOIPGen.Value": +_17f.tel.voip=_17e; +break; +case "LandPhoneHome.Value": +_17f.tel.home.land=_17e; +break; +case "MobilePhoneHome.Value": +_17f.tel.home.mobile=_17e; +break; +case "VideoNumberHome.Value": +_17f.tel.home.video=_17e; +break; +case "FaxNumberHome.Value": +_17f.tel.home.fax=_17e; +break; +case "VoipHome.Value": +_17f.tel.home.voip=_17e; +break; +case "LandPhoneWork.Value": +_17f.tel.work.land=_17e; +break; +case "MobilePhoneWork.Value": +_17f.tel.work.mobile=_17e; +break; +case "VideoNumberWork.Value": +_17f.tel.work.video=_17e; +break; +case "FaxNumberWork.Value": +_17f.tel.work.fax=_17e; +break; +case "VoipWork.Value": +_17f.tel.work.voip=_17e; +break; +case "AddrStreetGen.Value": +_17f.address.street=_17e; +break; +case "AddrLocalGen.Value": +_17f.address.local=_17e; +break; +case "AddrRegionGen.Value": +_17f.address.region=_17e; +break; +case "AddrPostCodeGen.Value": +_17f.address.code=_17e; +break; +case "AddrCountryGen.Value": +_17f.address.country=_17e; +break; +case "EmailGen.Value": +_17f.address.email=_17e; +break; +case "URLGen.Value": +_17f.address.uri=_17e; +break; +case "AddrStreetHome.Value": +_17f.address.home.street=_17e; +break; +case "AddrLocalHome.Value": +_17f.address.home.local=_17e; +break; +case "AddrRegionHome.Value": +_17f.address.home.region=_17e; +break; +case "AddrPostCodeHome.Value": +_17f.address.home.code=_17e; +break; +case "AddrCountryHome.Value": +_17f.address.home.country=_17e; +break; +case "EmailHome.Value": +_17f.address.home.email=_17e; +break; +case "URLHome.Value": +_17f.address.home.uri=_17e; +break; +case "AddrStreetWork.Value": +_17f.address.work.street=_17e; +break; +case "AddrLocalWork.Value": +_17f.address.work.local=_17e; +break; +case "AddrRegionWork.Value": +_17f.address.work.region=_17e; +break; +case "AddrPostCodeWork.Value": +_17f.address.work.code=_17e; +break; +case "AddrCountryWork.Value": +_17f.address.work.country=_17e; +break; +case "EmailWork.Value": +_17f.address.work.email=_17e; +break; +case "URLWork.Value": +_17f.address.work.uri=_17e; +break; +case "CompanyName.Value": +_17f.company.name=_17e; +break; +case "JobTitle.Value": +_17f.company.title=_17e; +break; +case "Note.Value": +_17f.notes=_17e; +break; +case "Anniversary.Value": +_17f.anniversary=_17e; +break; +case "Date.Value": +_17f.birthday=_17e; +break; +case "SecondName.Value": +_17f.nickName=_17e; +break; +case "CallerObjImg.Value": +_17f.photo=_17e; +break; +default: +} +}; +function __sp_device_contact_build(_182,_183){ +__s60_enumerate_build_contact_object(_182,null,__sp_device_contact_extract,_183); +}; +function __sp_contact_iterator_get_next(){ +var _184=this.iter.getNext(); +if(typeof _184=="undefined"){ +return null; +} +var rval={}; +__sp_device_contact_build(_184,rval); +_184.close(); +return rval; +}; +function __sp_contact_iterator(_186){ +this.iter=_186; +this.next=__sp_contact_iterator_get_next; +}; +function __s60_enumerate_group_object(_187,func,_189){ +var key; +for(key in _187){ +var _18b=key; +var _18c=_187[key]; +func(_18b,_18c,_189); +} +}; +function __sp_device_groupinfo_extract(name,_18e,_18f){ +if(_18f.group==undefined){ +_18f.group={}; +} +if(name=="id"){ +_18f.group.groupId=_18e; +}else{ +if(name=="GroupLabel"){ +_18f.group.groupName=_18e; +}else{ +if(name=="Contents"){ +_18f.contents=_18e; +} +} +} +return; +}; +function __sp_device_groupinfo_build(_190,_191){ +__s60_enumerate_group_object(_190,__sp_device_groupinfo_extract,_191); +}; +function __sp_device_group_extract(name,_193,_194){ +if(name=="id"){ +_194.groupId=_193; +return; +} +if(name=="GroupLabel"){ +_194.groupName=_193; +return; +} +}; +function __sp_device_group_build(_195,_196){ +__s60_enumerate_object(_195,null,__sp_device_group_extract,_196); +}; +function __sp_group_iterator_get_next(){ +var _197=this.iter.getNext(); +if(typeof _197=="undefined"){ +return null; +} +var rval={}; +__sp_device_group_build(_197,rval); +_197.close(); +return rval; +}; +function __sp_group_iterator(_199){ +this.iter=_199; +this.next=__sp_group_iterator_get_next; +}; +var CONTACTS_APP_ID=270486734; +function __sp_contacts_startEditor(_19a,_19b,_19c){ +if(!_19a){ +throw new DeviceException(MISSING_ARG_ERR,"Contacts: StartEditor:Missing Success Callback"); +} +if((typeof _19a)!="function"){ +throw new DeviceException(INVALID_ARG_ERR,"Contacts: StartEditor:Invalid Success Callback"); +} +if((_19b)==null){ +_19b={}; +} +if((typeof _19b)=="undefined"){ +_19b={}; +} +if((_19b)==undefined){ +_19b={}; +} +if((typeof _19b)!="object"){ +throw new DeviceException(INVALID_ARG_ERR,"Contacts: StartEditor:Invalid Contact Data"); +} +if(_19c){ +if((typeof _19c)!="function"){ +throw new DeviceException(INVALID_ARG_ERR,"Contacts :StartEditor:Invalid Error Callback"); +} +} +var _19d=function(arg1,arg2,arg3){ +var iter=null; +_19a(iter); +}; +__s60_start_and_wait(CONTACTS_APP_ID,"",_19d); +return 0; +}; +function __sp_contacts_getContacts(_1a2,_1a3,_1a4,_1a5){ +var _1a6={}; +modifyObjectBaseProp(_1a6); +_1a6.Type="Contact"; +if(_1a3){ +_1a6.Filter={}; +modifyObjectBaseProp(_1a6.Filter); +_1a6.Filter.SearchVal=_1a3; +} +if(_1a4){ +_1a6.Sort={}; +modifyObjectBaseProp(_1a6.Sort); +if(typeof _1a4=="number"){ +if(_1a4==SORT_ASCENDING||_1a4==SORT_ASCENDING){ +_1a6.Sort.Order="Ascending"; +}else{ +if(_1a4==SORT_DESCENDING||_1a4==SORT_DESCENDING){ +_1a6.Sort.Order="Descending"; +}else{ +_1a6.Sort.Order=_1a4; +} +} +}else{ +throw new DeviceException(INVALID_ARG_ERR,"Contacts: getContacts: callback is invalid"); +} +} +try{ +if(!_1a2){ +throw new DeviceException(MISSING_ARG_ERR,"Contacts: getContacts: callback is missing"); +}else{ +if(typeof _1a2!="function"){ +throw new DeviceException(INVALID_ARG_ERR,"Contacts: getContacts: callback is invalid"); +} +} +if(_1a5){ +if(typeof (_1a5)!="function"){ +throw new DeviceException(INVALID_ARG_ERR,"Contacts: getContacts: ErrorCallback is invalid"); +} +} +var _1a7=function(arg1,arg2,arg3){ +var iter=null; +var _1ac=_1a5; +if(arg3.ReturnValue){ +iter=new __sp_contact_iterator(arg3.ReturnValue); +}else{ +if(arg3.ErrorCode!=0){ +var _1ad; +if(arg3.ErrorMessage){ +_1ad=splitErrorMessage(arg3.ErrorMessage); +}else{ +_1ad="Operation Failed"; +} +_1ac(new DeviceException(MapErrorCode[arg3.ErrorCode],"Contacts: getContacts: "+_1ad)); +return; +} +} +_1a2(iter); +}; +var rval=this.so.IDataSource.GetList(_1a6,_1a7); +if(_1a6.Sort){ +delete _1a6.Sort.Order; +} +if(_1a6.Filter){ +delete _1a6.Filter.SearchVal; +} +if(_1a6){ +delete _1a6.Type; +delete _1a6.Filter; +delete _1a6.Sort; +} +if(rval.ErrorCode!=0){ +var _1af=mappingVerification(rval.ErrorCode); +if(_1af){ +switch(MapErrorCode[rval.ErrorCode]){ +case MISSING_ARG_ERR: +case INVALID_ARG_ERR: +case NOT_SUPPORTED_ERR: +if(rval.ErrorMessage){ +var _1b0=splitErrorMessage(rval.ErrorMessage); +throw new DeviceException(MapErrorCode[rval.ErrorCode],"Contacts: getContacts: "); +}else{ +throw new DeviceException(MapErrorCode[rval.ErrorCode],"Contacts: getContacts:Operation Failed"); +} +break; +default: +_1a2(iter); +} +}else{ +_1a2(iter); +} +} +return rval.TransactionID; +} +catch(e){ +__device_handle_exception(e,"__sp_contacts_getContacts: "+e); +} +}; +function __sp_contacts_add(_1b1){ +var _1b2={}; +modifyObjectBaseProp(_1b2); +__s60_enumerate_contact_object(_1b1,null,__sp_contact_extract,_1b2); +var _1b3={}; +modifyObjectBaseProp(_1b3); +_1b3.Type="Contact"; +_1b3.Data=_1b2; +try{ +if(_1b2.id){ +throw new DeviceException(NOT_SUPPORTED_ERR,"Contacts: addContact: Id Not Supported"); +} +var _1b4=this.so.IDataSource.Add(_1b3); +if(_1b2){ +delete _1b2.id; +} +if(_1b3){ +delete _1b3.Type; +delete _1b3.Data; +} +var _1b5=_1b4["ReturnValue"]; +if(_1b4.ErrorCode!=0){ +var _1b6=mappingVerification(_1b4.ErrorCode); +if(_1b4.ErrorMessage){ +var _1b7=splitErrorMessage(_1b4.ErrorMessage); +if(_1b6){ +throw new DeviceException(MapErrorCode[_1b4.ErrorCode],"Contacts: addContact: "+_1b7); +}else{ +throw new DeviceException(_1b4.ErrorCode,"Contacts: addContact: "+_1b7); +} +}else{ +if(_1b6){ +throw new DeviceException(MapErrorCode[_1b4.ErrorCode],"Contacts: addContact: Operation Failed"); +}else{ +throw new DeviceException(_1b4.ErrorCode,"Contacts: addContact: Operation Failed"); +} +} +} +return _1b5; +} +catch(e){ +__device_handle_exception(e,"__sp_contacts_addContact: "+e); +} +}; +function __sp_contacts_update(_1b8){ +try{ +if(!(_1b8&&_1b8.id)){ +throw new DeviceException(INVALID_ARG_ERR,"Contacts: updateContact: contact is missing"); +} +var _1b9={}; +modifyObjectBaseProp(_1b9); +__s60_enumerate_contact_object(_1b8,null,__sp_contact_extract,_1b9); +if(typeof _1b9.id!="string"){ +throw new DeviceException(INVALID_ARG_ERR,"Contacts: updateContact: Invalid id type"); +} +if(_1b9.id==undefined){ +throw new DeviceException(INVALID_ARG_ERR,"Contacts: updateContact: Invalid id type"); +} +var _1ba={}; +modifyObjectBaseProp(_1ba); +_1ba.Type="Contact"; +_1ba.Data=_1b9; +var _1bb=this.so.IDataSource.Add(_1ba); +if(_1b9){ +delete _1b9.id; +} +if(_1ba){ +delete _1ba.Type; +delete _1ba.Data; +} +if(_1bb.ErrorCode!=0){ +var _1bc=mappingVerification(_1bb.ErrorCode); +if(_1bb.ErrorMessage){ +var _1bd=splitErrorMessage(_1bb.ErrorMessage); +if(_1bc){ +throw new DeviceException(MapErrorCode[_1bb.ErrorCode],"Contacts: updateContact: "+_1bd); +}else{ +throw new DeviceException(_1bb.ErrorCode,"Contacts: updateContact: "+_1bd); +} +}else{ +if(_1bc){ +throw new DeviceException(MapErrorCode[_1bb.ErrorCode],"Contacts: updateContact: Operation Failed"); +}else{ +throw new DeviceException(_1bb.ErrorCode,"Contacts: updateContact: Operation Failed"); +} +} +} +} +catch(e){ +__device_handle_exception(e,"__sp_contacts_updateContact: "+e); +} +}; +function __sp_contacts_delete(id){ +__device_debug("sp_contacts_delete id: "+id); +var _1bf={}; +modifyObjectBaseProp(_1bf); +if(id==undefined){ +throw new DeviceException(MISSING_ARG_ERR,"Contacts: deleteContacts: idlist is missing"); +} +if(typeof id=="object"){ +_1bf.IdList=id; +}else{ +_1bf.IdList=[]; +_1bf.IdList[0]=id; +} +var _1c0={}; +modifyObjectBaseProp(_1c0); +_1c0.Type="Contact"; +_1c0.Data=_1bf; +try{ +var _1c1=this.so.IDataSource.Delete(_1c0); +if(_1bf){ +delete _1bf.IdList; +} +if(_1c0){ +delete _1c0.Type; +delete _1c0.Data; +} +if(_1c1.ErrorCode!=0){ +var _1c2=mappingVerification(_1c1.ErrorCode); +if(_1c1.ErrorMessage){ +var _1c3=splitErrorMessage(_1c1.ErrorMessage); +if(_1c2){ +throw new DeviceException(MapErrorCode[_1c1.ErrorCode],"Contacts: deleteContacts: "+_1c3); +}else{ +throw new DeviceException(_1c1.ErrorCode,"Contacts: deleteContacts: "+_1c3); +} +}else{ +if(_1c2){ +throw new DeviceException(MapErrorCode[_1c1.ErrorCode],"Contacts: deleteContacts: Operation Failed"); +}else{ +throw new DeviceException(_1c1.ErrorCode,"Contacts: deleteContacts: Operation Failed"); +} +} +} +} +catch(e){ +__device_handle_exception(e,"__sp_contacts_deleteContacts: "+e); +} +}; +function __sp_contacts_get(id){ +var _1c5={}; +modifyObjectBaseProp(_1c5); +_1c5.Type="Contact"; +if(id==null){ +throw new DeviceException(MISSING_ARG_ERR,"Contacts: getContactInfo: callback is missing"); +} +_1c5.Filter={}; +modifyObjectBaseProp(_1c5.Filter); +_1c5.Filter.id=id; +try{ +var rval=this.so.IDataSource.GetList(_1c5); +if(_1c5.Filter){ +delete _1c5.Filter.id; +} +if(_1c5){ +delete _1c5.Type; +delete _1c5.Filter; +} +if(rval){ +if(rval.ErrorCode!=0){ +var _1c7=mappingVerification(rval.ErrorCode); +if(rval.ErrorMessage){ +var _1c8=splitErrorMessage(rval.ErrorMessage); +if(_1c7){ +throw new DeviceException(MapErrorCode[rval.ErrorCode],"Contacts: getContactInfo: "+_1c8); +}else{ +throw new DeviceException(rval.ErrorCode,"Contacts: getContactInfo: "+_1c8); +} +}else{ +if(_1c7){ +throw new DeviceException(MapErrorCode[rval.ErrorCode],"Contacts: getContactInfo: Operation Failed"); +}else{ +throw new DeviceException(rval.ErrorCode,"Contacts: getContactInfo: Operation Failed"); +} +} +} +var _1c9={}; +modifyObjectBaseProp(_1c9); +var _1ca=rval.ReturnValue.getNext(); +__sp_device_contact_build(_1ca,_1c9); +return _1c9; +} +} +catch(e){ +__device_handle_exception(e,"__sp_contacts_getContactInfo:"+e); +} +}; +function __sp_contacts_addGroup(_1cb){ +var _1cc={}; +modifyObjectBaseProp(_1cc); +_1cc.GroupLabel=_1cb; +if(typeof (_1cc.GroupLabel)==null){ +throw new DeviceException(MISSING_ARG_ERR,"Contacts: addGroups: callback is missing"); +} +if((typeof _1cc.GroupLabel)=="undefined"){ +throw new DeviceException(MISSING_ARG_ERR,"addGroup:Group Data Needed"); +} +if((_1cc.GroupLabel)==undefined){ +throw new DeviceException(MISSING_ARG_ERR,"addGroup:Group Data Needed"); +} +var _1cd={}; +modifyObjectBaseProp(_1cd); +_1cd.Type="Group"; +_1cd.Data=_1cc; +try{ +var _1ce=this.so.IDataSource.Add(_1cd); +if(_1cc){ +delete _1cc.GroupLabel; +} +if(_1cd){ +delete _1cd.Type; +delete _1cd.Data; +} +var _1cf=_1ce["ReturnValue"]; +if(_1ce.ErrorCode!=0){ +var _1d0=mappingVerification(_1ce.ErrorCode); +if(_1ce.ErrorMessage){ +var _1d1=splitErrorMessage(_1ce.ErrorMessage); +if(_1d0){ +throw new DeviceException(MapErrorCode[_1ce.ErrorCode],"Contacts: addGroup: "+_1d1); +}else{ +throw new DeviceException(_1d1,_1ce.ErrorCode,"Contacts: addGroup: "); +} +}else{ +if(_1d0){ +throw new DeviceException(MapErrorCode[_1ce.ErrorCode],"Contacts: addGroup: Operation Failed"); +}else{ +throw new DeviceException(_1ce.ErrorCode,"Contacts: addGroup: Operation Failed"); +} +} +} +return _1cf; +} +catch(e){ +__device_handle_exception(e,"__sp_contacts_addGroup: "+e); +} +}; +function __sp_contacts_getGroups(_1d2,_1d3){ +var _1d4={}; +modifyObjectBaseProp(_1d4); +_1d4.Type="Group"; +try{ +if(!_1d2){ +throw new DeviceException(MISSING_ARG_ERR,"Contacts: getGroups: callback is missing"); +}else{ +if(typeof _1d2!="function"){ +throw new DeviceException(INVALID_ARG_ERR,"Contacts: getGroups: callback is invalid"); +} +} +if(_1d3){ +if(typeof (_1d3)!="function"){ +throw new DeviceException(INVALID_ARG_ERR,"Contacts: getGroups: ErrorCallback is invalid"); +} +} +var _1d5=function(arg1,arg2,arg3){ +var iter=null; +var _1da=_1d3; +iter=arg3.ReturnValue; +if(arg3.ReturnValue){ +iter=new __sp_group_iterator(arg3.ReturnValue); +}else{ +if(arg3.ErrorCode!=0){ +var _1db; +if(arg3.ErrorMessage){ +_1db=splitErrorMessage(arg3.ErrorMessage); +}else{ +_1db="Operation Failed"; +} +_1da(new DeviceException(_1db,MapErrorCode[arg3.ErrorCode],"Contacts: getGroups:")); +return; +} +} +_1d2(iter); +}; +var rval=this.so.IDataSource.GetList(_1d4,_1d5); +if(_1d4){ +delete _1d4.Type; +} +if(rval.ErrorCode!=0){ +var _1dd=mappingVerification(result.ErrorCode); +if(_1dd){ +switch(MapErrorCode[rval.ErrorCode]){ +case MISSING_ARG_ERR: +case INVALID_ARG_ERR: +case NOT_SUPPORTED_ERR: +if(rval.ErrorMessage){ +var _1de=splitErrorMessage(rval.ErrorMessage); +throw new DeviceException(MapErrorCode[rval.ErrorCode],"Contacts: getGroups: "+_1de); +}else{ +throw new DeviceException(MapErrorCode[rval.ErrorCode],"Contacts: getGroups: Operation Failed"); +} +break; +default: +_1d2(iter); +} +}else{ +_1d2(iter); +} +} +return rval.TransactionID; +} +catch(e){ +__device_handle_exception(e,"__sp_contacts_getGroups: "+e); +} +}; +function __sp_contacts_deleteGroups(id){ +var _1e0={}; +modifyObjectBaseProp(_1e0); +var _1e1=[]; +if(typeof id=="object"){ +var i=0; +for(var val in id){ +_1e1[i]=id[val]; +i++; +} +}else{ +_1e1[0]=id; +} +_1e0.IdList=[]; +_1e0.IdList=_1e1; +var _1e4={}; +modifyObjectBaseProp(_1e4); +_1e4.Type="Group"; +_1e4.Data=_1e0; +try{ +var _1e5=this.so.IDataSource.Delete(_1e4); +if(_1e5.ErrorCode!=0){ +var _1e6=mappingVerification(_1e5.ErrorCode); +if(_1e5.ErrorMessage){ +var _1e7=splitErrorMessage(_1e5.ErrorMessage); +if(_1e6){ +throw new DeviceException(MapErrorCode[_1e5.ErrorCode],"Contacts: deleteGroups: "+_1e7); +}else{ +throw new DeviceException(_1e5.ErrorCode,"Contacts: deleteGroups: "+_1e7); +} +}else{ +if(_1e6){ +throw new DeviceException(MapErrorCode[_1e5.ErrorCode],"Contacts: deleteGroups: Operation Failed"); +}else{ +throw new DeviceException(_1e5.ErrorCode,"Contacts: deleteGroups: Operation Failed"); +} +} +} +} +catch(e){ +__device_handle_exception(e,"__sp_contacts_deleteGroups: "+e); +} +}; +function __sp_contacts_addContactsToGroup(_1e8,id1){ +try{ +var _1ea={}; +modifyObjectBaseProp(_1ea); +var _1eb=false; +_1ea.Type="Group"; +var map={}; +modifyObjectBaseProp(map); +var _1ed=[]; +if(typeof id1=="object"){ +var i=0; +for(var val in id1){ +_1ed[i]=id1[val]; +i++; +} +}else{ +_1ed[0]=id1; +} +map.IdList=_1ed; +_1eb=true; +delete _1ed.index; +if(_1e8!=undefined){ +map.id=_1e8; +_1eb=true; +} +if(_1eb){ +_1ea.Data=map; +} +_1ea.OperationType="Associate"; +var _1f0=this.so.IDataSource.Organise(_1ea); +if(map){ +delete map.id; +delete map.IdList; +} +if(_1ea){ +delete _1ea.Data; +delete _1ea.OperationType; +delete _1ea.Type; +} +if(_1f0.ErrorCode!=0){ +var _1f1=mappingVerification(_1f0.ErrorCode); +if(_1f0.ErrorMessage){ +var _1f2=splitErrorMessage(_1f0.ErrorMessage); +if(_1f1){ +throw new DeviceException(MapErrorCode[_1f0.ErrorCode],"Contacts: addContactsToGroup: "+_1f2); +}else{ +throw new DeviceException(_1f0.ErrorCode,"Contacts: addContactsToGroup: "+_1f2); +} +}else{ +if(_1f1){ +throw new DeviceException(MapErrorCode[_1f0.ErrorCode],"Contacts: addContactsToGroup: Operation Failed"); +}else{ +throw new DeviceException(_1f0.ErrorCode,"Contacts: addContactsToGroup: Operation Failed"); +} +} +} +} +catch(e){ +__device_handle_exception(e,"__sp_contacts_addContactsToGroup: "+e); +} +}; +function __sp_contacts_getContactIds(_1f3,_1f4,_1f5,_1f6){ +var _1f7={}; +var _1f8=_1f6; +modifyObjectBaseProp(_1f7); +_1f7.Type="Contact"; +if(_1f4){ +_1f7.Filter={}; +modifyObjectBaseProp(_1f7.Filter); +_1f7.Filter.SearchVal=_1f4; +} +if(_1f5){ +_1f7.Sort={}; +modifyObjectBaseProp(_1f7.Sort); +if(typeof _1f5=="number"){ +if(_1f5==SORT_ASCENDING){ +_1f7.Sort.Order="Ascending"; +}else{ +if(_1f5==SORT_DESCENDING){ +_1f7.Sort.Order="Descending"; +}else{ +_1f7.Sort.Order=_1f5; +} +} +}else{ +throw new DeviceException(INVALID_ARG_ERR,"Contacts: getContactIds: callback is missing"); +} +} +try{ +if(!_1f3){ +throw new DeviceException(MISSING_ARG_ERR,"Contacts: getContactIds: callback is missing"); +}else{ +if(typeof _1f3!="function"){ +throw new DeviceException(INVALID_ARG_ERR,"Contacts: getContactIds: callback is invalid"); +} +} +if(_1f6){ +if(typeof (_1f6)!="function"){ +throw new DeviceException(INVALID_ARG_ERR,"Contacts: getContactIds: ErrorCallback is invalid"); +} +} +var _1f9=function(arg1,arg2,arg3){ +var item=null; +var _1fe=null; +var _1ff=_1f6; +var id=null; +if(arg3["ReturnValue"]!=undefined){ +item=arg3["ReturnValue"]; +id=item["IdList"]; +_1fe=[]; +_1fe=id; +delete _1fe.index; +}else{ +if(arg3.ErrorCode!=0){ +var _201; +if(arg3.ErrorMessage){ +_201=splitErrorMessage(arg3.ErrorMessage); +}else{ +_201="Operation Failed"; +} +_1ff(new DeviceException(MapErrorCode[arg3.ErrorCode],"Contacts: getContactIds:"+_201)); +return; +} +} +_1f3(_1fe); +}; +var rval=this.so.IDataSource.GetIds(_1f7,_1f9); +if(rval.ErrorCode!=0){ +var _203=mappingVerification(rval.ErrorCode); +if(_203){ +switch(MapErrorCode[rval.ErrorCode]){ +case MISSING_ARG_ERR: +case INVALID_ARG_ERR: +case NOT_SUPPORTED_ERR: +if(rval.ErrorMessage){ +var _204=splitErrorMessage(rval.ErrorMessage); +throw new DeviceException(MapErrorCode[rval.ErrorCode],"Contacts: getContactIds: "+_204); +}else{ +throw new DeviceException(MapErrorCode[rval.ErrorCode],"Contacts: getContactIds: Operation Failed"); +} +break; +default: +_1f3(idList); +} +}else{ +_1f3(idList); +} +} +return rval.TransactionID; +} +catch(e){ +__device_handle_exception(e,"__sp_contacts_getContactIds: "+e); +} +}; +function __sp_contacts_getGroupIds(_205,_206){ +var _207={}; +modifyObjectBaseProp(_207); +_207.Type="Group"; +try{ +if(!_205){ +throw new DeviceException(MISSING_ARG_ERR,"Contacts: getGroupIds: callback is missing"); +}else{ +if(typeof _205!="function"){ +throw new DeviceException(INVALID_ARG_ERR,"Contacts: getGroupIds: callback is invalid"); +} +} +if(_206){ +if(typeof (_206)!="function"){ +throw new DeviceException(INVALID_ARG_ERR,"Contacts: getGroupIds: ErrorCallback is invalid"); +} +} +var _208=function(arg1,arg2,arg3){ +var _20c=_206; +var item=null; +var _20e=[]; +if(arg3.ReturnValue){ +item=arg3["ReturnValue"]; +arg3.ReturnValue.close(); +var id=item["IdList"]; +_20e=id; +}else{ +if(arg3.ErrorCode!=0){ +var _210; +if(rval.ErrorMessage){ +_210=splitErrorMessage(rval.ErrorMessage); +}else{ +_210="Operation Failed"; +} +_20c(new DeviceException(MapErrorCode[arg3.ErrorCode],"Contacts: getGroupIds:"+_210)); +return; +} +} +_205(_20e); +delete _20e.index; +}; +var rval=this.so.IDataSource.GetIds(_207,_208); +if(_207){ +delete _207.Type; +} +if(rval.ErrorCode!=0){ +var _212=mappingVerification(rval.ErrorCode); +if(_212){ +switch(rval.ErrorCode){ +case MISSING_ARG_ERR: +case INVALID_ARG_ERR: +case NOT_SUPPORTED_ERR: +if(rval.ErrorMessage){ +var _213=splitErrorMessage(rval.ErrorMessage); +throw new DeviceException(MapErrorCode[rval.ErrorCode],"Contacts: getGroupIds: "+_213); +}else{ +throw new DeviceException(MapErrorCode[rval.ErrorCode],"Contacts: getGroupIds: Operation Failed"); +} +break; +default: +_205(idList); +} +}else{ +_205(idList); +} +} +return rval.TransactionID; +} +catch(e){ +__device_handle_exception(e,"__sp_contacts_getGroupIds: "+e); +} +}; +function __sp_contacts_removeContactsFromGroup(_214,id){ +try{ +var _216={}; +modifyObjectBaseProp(_216); +var _217=false; +_216.Type="Group"; +var map={}; +if(id!=undefined){ +var _219=[]; +if(typeof id=="object"){ +var i=0; +for(var val in id){ +_219[i]=id[val]; +i++; +} +}else{ +_219[0]=id; +} +map.IdList=_219; +_217=true; +} +if(_214!=undefined){ +map.id=_214; +_217=true; +} +if(_217){ +_216.Data=map; +} +_216.OperationType="Disassociate"; +var _21c=this.so.IDataSource.Organise(_216); +if(map){ +delete map.IdList; +} +if(_216){ +delete _216.Data; +delete _216.OperationType; +delete _216.Type; +} +if(_21c.ErrorCode!=0){ +var _21d=mappingVerification(_21c.ErrorCode); +if(_21c.ErrorMessage){ +var _21e=splitErrorMessage(_21c.ErrorMessage); +if(_21d){ +throw new DeviceException(MapErrorCode[_21c.ErrorCode],"Contacts: removeContactsFromGroup: "+_21e); +}else{ +throw new DeviceException(_21c.ErrorCode,"Contacts: removeContactsFromGroup: "+_21e); +} +}else{ +if(_21d){ +throw new DeviceException(MapErrorCode[_21c.ErrorCode],"Contacts: removeContactsFromGroup: Operation Failed"); +}else{ +throw new DeviceException(_21c.ErrorCode,"Contacts: removeContactsFromGroup: Operation Failed"); +} +} +} +} +catch(e){ +__device_handle_exception(e,"__sp_contacts_removeContactsFromGroup: "+e); +} +}; +function __sp_contacts_cancel(_21f){ +try{ +var _220={}; +if((_21f)==null){ +throw new DeviceException(MISSING_ARG_ERR,"Contacts: cancel: "+_221); +} +if((_21f)==undefined){ +throw new DeviceException(MISSING_ARG_ERR,"Contacts: cancel: "+_221); +} +if((typeof _21f)=="undefined"){ +throw new DeviceException(MISSING_ARG_ERR,"Contacts: cancel: "+_221); +} +if(((typeof _21f)!="number")||(_21f<=0)){ +throw new DeviceException(INVALID_ARG_ERR,"Contacts: cancel: "+_221); +} +modifyObjectBaseProp(_220); +_220.TransactionID=_21f; +var _222=this.so.IDataSource.Cancel(_220); +if(_220){ +delete _220.TransactionID; +} +var _223=_222["ErrorCode"]; +if(_223!=0){ +var _224=mappingVerification(_222.ErrorCode); +if(_222["ErrorMessage"]){ +var _221=splitErrorMessage(_222.ErrorMessage); +if(_224){ +throw new DeviceException(MapErrorCode[_223],"Contacts: cancel: "+_221); +}else{ +throw new DeviceException(_223,"Contacts: cancel: "+_221); +} +}else{ +if(_224){ +throw new DeviceException(MapErrorCode[_223],"Contacts: cancel: Operation Failed"); +}else{ +throw new DeviceException(_223,"Contacts: cancel: Operation Failed"); +} +} +} +} +catch(e){ +__device_handle_exception(e,"__sp_contacts_cancel: "+e); +} +}; +function __sp_contacts_updateGroup(_225){ +if(!(_225)){ +throw new DeviceException(MISSING_ARG_ERR,"updateGroup:Invalid Group Data"); +} +if((typeof _225)!="object"){ +throw new DeviceException(INVALID_ARG_ERR,"updateGroup:Invalid Group Data"); +} +try{ +var _226={}; +modifyObjectBaseProp(_226); +_226.Type="Group"; +var _227={}; +modifyObjectBaseProp(_227); +if(_225!=undefined){ +if(_225.groupId!=undefined){ +_227["id"]=_225.groupId; +}else{ +throw new DeviceException(MISSING_ARG_ERR,"Contacts: updateGroup: Id input is mandatory"); +} +if(_225.groupName!=undefined){ +_227["GroupLabel"]=_225.groupName; +} +} +_226.Data=_227; +var _228=this.so.IDataSource.Add(_226); +if(_227){ +delete _227.prototype; +} +if(_226){ +delete _226.Data; +delete _226.Type; +} +if(_228.ErrorCode!=0){ +var _229=mappingVerification(_228.ErrorCode); +if(_228.ErrorMessage){ +var _22a=splitErrorMessage(_228.ErrorMessage); +if(_229){ +throw new DeviceException(MapErrorCode[_228.ErrorCode],"Contacts: updateGroup: "+_22a); +}else{ +throw new DeviceException(_228.ErrorCode,"Contacts: updateGroup: "+_22a); +} +}else{ +if(_229){ +throw new DeviceException(MapErrorCode[_228.ErrorCode],"Contacts: updateGroup: Operation Failed"); +}else{ +throw new DeviceException(_228.ErrorCode,"Contacts: updateGroup: Operation Failed"); +} +} +} +} +catch(e){ +__device_handle_exception(e,"__sp_contacts_updateGroup: "+e); +} +}; +function __sp_contacts_getGroupInfo(_22b){ +try{ +var _22c={}; +modifyObjectBaseProp(_22c); +_22c.Type="Group"; +_22c.Filter={}; +modifyObjectBaseProp(_22c.Filter); +if(_22b==undefined){ +throw new DeviceException(MISSING_ARG_ERR,"Contacts: getGroupInfo: Id input is mandatory"); +} +if((typeof _22b)!="string"){ +throw new DeviceException(INVALID_ARG_ERR,"Contacts: getGroupInfo: Id input is mandatory"); +} +_22c.Filter.id=_22b; +var rval=this.so.IDataSource.GetList(_22c); +if(_22c.Filter){ +delete _22c.Filter.id; +} +if(_22c){ +delete _22c.Filter; +delete _22c.Type; +} +if(rval){ +if(rval.ErrorCode!=0){ +var _22e=mappingVerification(rval.ErrorCode); +if(rval.ErrorMessage){ +var _22f=splitErrorMessage(rval.ErrorMessage); +if(_22e){ +throw new DeviceException(MapErrorCode[rval.ErrorCode],"Contacts: getGroupInfo: "+_22f); +}else{ +throw new DeviceException(rval.ErrorCode,"Contacts: getGroupInfo: "+_22f); +} +}else{ +if(_22e){ +throw new DeviceException(MapErrorCode[rval.ErrorCode],"Contacts: getGroupInfo: Operation Failed"); +}else{ +throw new DeviceException(rval.ErrorCode,"Contacts: getGroupInfo: Operation Failed"); +} +} +}else{ +var _230={}; +modifyObjectBaseProp(_230); +var _231=rval.ReturnValue.getNext(); +__sp_device_groupinfo_build(_231,_230); +return _230; +} +} +} +catch(e){ +__device_handle_exception(e,"__sp_contacts_getGroupInfo:"+e); +} +}; +function mappingVerification(_232){ +if(_232===1016||_232===1012||_232===1010||_232===1009||_232===1005||_232===1000||_232===1011||_232===1007||_232===1003||_232===1002){ +return true; +}else{ +return false; +} +}; +function __sp_contacts_instance(){ +this.descriptor=new __sp_contacts_descriptor(); +this.startEditor=__sp_contacts_startEditor; +this.getContacts=__sp_contacts_getContacts; +this.addContact=__sp_contacts_add; +this.updateContact=__sp_contacts_update; +this.deleteContacts=__sp_contacts_delete; +this.getContactInfo=__sp_contacts_get; +this.addGroup=__sp_contacts_addGroup; +this.getGroups=__sp_contacts_getGroups; +this.deleteGroups=__sp_contacts_deleteGroups; +this.addContactsToGroup=__sp_contacts_addContactsToGroup; +this.getContactIds=__sp_contacts_getContactIds; +this.getGroupIds=__sp_contacts_getGroupIds; +this.removeContactsFromGroup=__sp_contacts_removeContactsFromGroup; +this.cancel=__sp_contacts_cancel; +this.updateGroup=__sp_contacts_updateGroup; +this.getGroupInfo=__sp_contacts_getGroupInfo; +try{ +this.so=device.getServiceObject("Service.Contact","IDataSource"); +} +catch(e){ +__device_handle_exception(e,"Contacts service not available "+e); +} +}; +function PositionError(){ +this.UNKNOWN_ERROR=0; +this.PERMISSION_DENIED=1; +this.POSITION_UNAVAILABLE=2; +this.TIMEOUT=3; +this.code; +this.message; +}; +function Coordinates(){ +this.latitude=null; +this.longitude=null; +this.altitude=null; +this.accuracy=null; +this.altitudeAccuracy=null; +this.heading=null; +this.speed=null; +}; +function Position(){ +this.coords=null; +this.timestamp=null; +}; +function PositionOptions(){ +this.enableHighAccuracy; +this.timeout; +this.maximumAge; +}; +var __sp_location_trace_transactionId=-1; +function __sp_location_handle_error(_233,_234,_235){ +if((_233!=undefined)&&(typeof _233=="function")&&(_233!=null)){ +var _236=new PositionError(); +if((-21)==_234){ +_236.code=_236.PERMISSION_DENIED; +_236.message="permission denied"; +}else{ +if((-33)==_234){ +_236.code=_236.TIMEOUT; +_236.message="request timed out"; +}else{ +_236.code=_236.UNKNOWN_ERROR; +_236.message="UnKnown Error"; +} +} +_233(_236); +}else{ +var _236=new PositionError(); +_236.code=_236.UNKNOWN_ERROR; +_236.message="UnKnown Error"; +throw _236; +} +}; +function __sp_location_descriptor(){ +this.interfaceName="geolocation"; +if(window.__Service_Interface_Ver){ +this.version=__Service_Interface_Ver; +}else{ +this.version=1; +} +}; +var obj; +function __sp_getLocation(_237,_238,_239){ +var _23a=this; +var _23b=function(arg1,arg2,arg3){ +var _23f=_237; +var _240=_238; +if(arg3.ErrorCode){ +__sp_location_handle_error(_240,arg3.ErrorCode,arg3.ErrorMessage); +return; +}else{ +var _241=new Coordinates(); +_241.longitude=(arg3.ReturnValue.Longitude==undefined)?null:arg3.ReturnValue.Longitude; +_241.latitude=(arg3.ReturnValue.Latitude==undefined)?null:arg3.ReturnValue.Latitude; +_241.altitude=(arg3.ReturnValue.Altitude==undefined)?null:arg3.ReturnValue.Altitude; +_241.accuracy=(arg3.ReturnValue.HorizontalAccuracy==undefined)?null:arg3.ReturnValue.HorizontalAccuracy; +_241.altitudeAccuracy=(arg3.ReturnValue.VerticalAccuracy==undefined)?null:arg3.ReturnValue.VerticalAccuracy; +_241.heading=(arg3.ReturnValue.Heading==undefined)?null:arg3.ReturnValue.Heading; +_241.speed=(arg3.ReturnValue.HorizontalSpeed==undefined)?null:arg3.ReturnValue.HorizontalSpeed; +var _242=new Position(); +_242.coords={}; +modifyObjectBaseProp(_242.coords); +_242.coords=_241; +_242.timestamp=new Date(); +_23f(_242); +delete _242.timestamp; +delete _242; +delete _241; +} +}; +if((_237==undefined)||(_237==null)||(typeof (_237)!="function")){ +var _243="Wrong callback type"; +__sp_location_handle_error(_238,0,_243); +} +if((_238!=undefined)){ +if((_238!=null)&&(_238!="")&&(typeof (_238)!="function")){ +var _244=new PositionError(); +_244.code=-1; +throw _244; +} +} +var _245; +var _246={}; +modifyObjectBaseProp(_246); +_246.LocationInformationClass="GenericLocationInfo"; +var _247={}; +modifyObjectBaseProp(_247); +_247.UpdateInterval=0; +if(_239!=undefined&&_239!=null){ +if((typeof (_239)!="object")){ +var _248="Wrong posOptions type"; +__sp_location_handle_error(_238,0,_248); +return; +} +} +if(_239!=undefined){ +if(_239.maximumAge!=undefined){ +if(_239.maximumAge){ +if((_239.maximumAge==Infinity)){ +if((_239.enableHighAccuracy==undefined)||(typeof (_239.enableHighAccuracy)=="boolean")){ +var arg3=this.so.ILocation.GetLastPosition(); +if(arg3.ErrorCode<0){ +var _248="Invalid input type"; +__sp_location_handle_error(_238,0,_248); +return; +} +var _24a=new Coordinates(); +_24a.longitude=(arg3.ReturnValue.Longitude==undefined)?null:arg3.ReturnValue.Longitude; +_24a.latitude=(arg3.ReturnValue.Latitude==undefined)?null:arg3.ReturnValue.Latitude; +_24a.altitude=(arg3.ReturnValue.Altitude==undefined)?null:arg3.ReturnValue.Altitude; +_24a.accuracy=(arg3.ReturnValue.HorizontalAccuracy==undefined)?null:arg3.ReturnValue.HorizontalAccuracy; +_24a.altitudeAccuracy=(arg3.ReturnValue.VerticalAccuracy==undefined)?null:arg3.ReturnValue.VerticalAccuracy; +_24a.heading=(arg3.ReturnValue.Heading==undefined)?null:arg3.ReturnValue.Heading; +_24a.speed=(arg3.ReturnValue.HorizontalSpeed==undefined)?null:arg3.ReturnValue.HorizontalSpeed; +var _24b=new Position(); +_24b.coords={}; +modifyObjectBaseProp(_24b.coords); +_24b.coords=_24a; +_24b.timestamp=new Date(); +_237(_24b); +delete _24b.timestamp; +delete _24b; +delete _24a; +return; +} +} +if(!(isNaN(parseInt(_239.maximumAge)))){ +if((_239.maximumAge==0)){ +var _248="Invalid input type"; +__sp_location_handle_error(_238,0,_248); +return; +} +_247.UpdateMaxAge=_239.maximumAge; +}else{ +var _248="Invalid input type"; +__sp_location_handle_error(_238,0,_248); +return; +} +}else{ +if((_239.maximumAge==null)||(_239.maximumAge=="")){ +} +} +} +if((_239.enableHighAccuracy!==undefined)){ +if(_239.enableHighAccuracy==true){ +_246.EnableHighAccuracy=_239.enableHighAccuracy; +}else{ +if(_239.enableHighAccuracy==false){ +_246.EnableHighAccuracy=_239.enableHighAccuracy; +}else{ +if((_239.enableHighAccuracy==null)||(_239.enableHighAccuracy=="")){ +}else{ +if((typeof (_239.enableHighAccuracy)!="boolean")){ +var _24c="Wrong value for enableHighAccuracy param"; +__sp_location_handle_error(_238,0,_24c); +return; +} +} +} +} +} +if(_239.timeout!==undefined){ +if((_239.timeout!==null)||((_239.timeout!==""))){ +if((_239.timeout==Infinity)){ +var _248="Invalid input type"; +__sp_location_handle_error(_238,0,_248); +return; +}else{ +if(!(isNaN(parseInt(_239.timeout)))){ +if((_239.timeout<=2147483647)){ +if((_239.timeout==0)){ +var _248="Invalid input type"; +__sp_location_handle_error(_238,0,_248); +return; +} +_247.UpdateTimeOut=_239.timeout; +}else{ +var _248="Invalid input type"; +__sp_location_handle_error(_238,0,_248); +return; +} +} +} +}else{ +if((_239.timeout===null)||((_239.timeout===""))){ +}else{ +var _248="Invalid input type"; +__sp_location_handle_error(_238,0,_248); +return; +} +} +} +} +_247.PartialUpdates=false; +_246.Updateoptions=_247; +try{ +var rval=this.so.ILocation.GetLocation(_246,_23b); +delete _247; +delete _246; +if(rval.ErrorCode!=0){ +__sp_location_handle_error(_238,rval.ErrorCode,rval.ErrorMessage); +return; +} +} +catch(e){ +__device_handle_exception(e,"__sp_getLocation: "+e); +} +}; +var __sp_location_trace_ucb=null; +var __sp_location_fail_cb=null; +function __sp_traceLocation(_24e,_24f,_250){ +if((_24e==undefined)||(_24e==null)||(typeof (_24e)!="function")){ +var _251="Wrong callback type"; +__sp_location_handle_error(_24f,0,_251); +return; +} +if((typeof _24e!="function")){ +var _251="Wrong callback type"; +__sp_location_handle_error(_24f,0,_251); +return; +} +if((_24f!=undefined)){ +if((_24f!=null)&&(_24f!="")&&(typeof (_24f)!="function")){ +var _252=new PositionError(); +_252.code=-1; +throw _252; +} +} +var _253=this; +var _254=function(arg1,arg2,arg3){ +var _258=_24e; +var _259=_24f; +if(arg3.ErrorCode){ +__sp_location_handle_error(_259,arg3.ErrorCode,arg3.ErrorMessage); +}else{ +var _25a=new Coordinates(); +_25a.longitude=(arg3.ReturnValue.Longitude==undefined)?null:arg3.ReturnValue.Longitude; +_25a.latitude=(arg3.ReturnValue.Latitude==undefined)?null:arg3.ReturnValue.Latitude; +_25a.altitude=(arg3.ReturnValue.Altitude==undefined)?null:arg3.ReturnValue.Altitude; +_25a.accuracy=(arg3.ReturnValue.HorizontalAccuracy==undefined)?null:arg3.ReturnValue.HorizontalAccuracy; +_25a.altitudeAccuracy=(arg3.ReturnValue.VerticalAccuracy==undefined)?null:arg3.ReturnValue.VerticalAccuracy; +_25a.heading=(arg3.ReturnValue.Heading==undefined)?null:arg3.ReturnValue.Heading; +_25a.speed=(arg3.ReturnValue.HorizontalSpeed==undefined)?null:arg3.ReturnValue.HorizontalSpeed; +var _25b=new Position(); +_25b.coords={}; +modifyObjectBaseProp(_25b.coords); +_25b.coords=_25a; +_25b.timestamp=new Date(); +_258(_25b); +delete _25b.timestamp; +delete _25b; +delete _25a; +return; +} +}; +var _25c={}; +modifyObjectBaseProp(_25c); +_25c.UpdateInterval=0; +var _25d={}; +modifyObjectBaseProp(_25d); +_25d.LocationInformationClass="GenericLocationInfo"; +if(_250!=undefined&&_250!=null){ +if((typeof (_250)!="object")){ +var _251="Wrong posOptions type"; +__sp_location_handle_error(_24f,0,_251); +return; +} +} +if(_250!=undefined){ +if((_250.enableHighAccuracy!==undefined)){ +if(_250.enableHighAccuracy==true){ +_25d.EnableHighAccuracy=_250.enableHighAccuracy; +}else{ +if(_250.enableHighAccuracy==false){ +_25d.EnableHighAccuracy=_250.enableHighAccuracy; +}else{ +if((_250.enableHighAccuracy==null)||(_250.enableHighAccuracy=="")){ +}else{ +if((typeof (_250.enableHighAccuracy)!="boolean")){ +var _25e="Wrong value for enableHighAccuracy param"; +__sp_location_handle_error(_24f,0,_25e); +return; +} +} +} +} +} +if(_250.timeout!==undefined){ +if((_250.timeout!==null)||((_250.timeout!==""))){ +if((_250.timeout==Infinity)){ +var _251="Invalid input type"; +__sp_location_handle_error(_24f,0,_251); +return; +}else{ +if(!(isNaN(parseInt(_250.timeout)))){ +if((_250.timeout==0)){ +var _251="Invalid input type"; +__sp_location_handle_error(_24f,0,_251); +return; +} +_25c.UpdateTimeOut=_250.timeout; +} +} +}else{ +if((_250.timeout===null)||((_250.timeout===""))){ +}else{ +var _251="Invalid input type"; +__sp_location_handle_error(_24f,0,_251); +return; +} +} +} +if(typeof _250.maximumAge!="undefined"){ +if(_250.maximumAge==_infinity){ +_25c.UpdateTimeOut=0; +_25c.UpdateMaxAge=2147483647; +}else{ +if(!(isNaN(parseInt(_250.maximumAge)))){ +_25c.UpdateMaxAge=_250.maximumAge; +}else{ +if((_250.maximumAge===null)||((_250.maximumAge===""))){ +}else{ +var _251="Invalid input type"; +__sp_location_handle_error(_24f,0,_251); +return; +} +} +} +} +} +_25c.PartialUpdates=false; +_25d.Updateoptions=_25c; +try{ +var rval=this.so.ILocation.Trace(_25d,_254); +delete _25c; +delete _25d; +if(rval.ErrorCode!=0){ +__sp_location_handle_error(_24f,rval.ErrorCode,rval.ErrorMessage); +return; +} +return rval.TransactionID; +} +catch(e){ +__device_handle_exception(e,"__sp_traceLocation: "+e); +} +}; +function __sp_clearTrace(_260){ +if(typeof _260!="number"){ +var _261="Invalid input type"; +__sp_location_handle_error(fail_cb,0,_261); +} +var _262={TransactionID:_260}; +try{ +var _263=this.so.ILocation.Cancel(_262); +} +catch(e){ +__device_handle_exception(e,"__sp_clearTrace: "+e); +} +}; +function __sp_location_instance(){ +this.descriptor=new __sp_location_descriptor(); +this.getLocation=__sp_getLocation; +this.traceLocation=__sp_traceLocation; +this.clearTrace=__sp_clearTrace; +try{ +this.so=device.getServiceObject("Service.Location","ILocation"); +} +catch(e){ +this.so=null; +__device_handle_exception(e,"Location service not available"); +} +}; +var FILESCHMLEN=7; +function __sp_media_descriptor(){ +this.interfaceName="media"; +if(window.__Service_Interface_Ver){ +this.version=__Service_Interface_Ver; +}else{ +this.version=1; +} +}; +function __sp_device_media_item_build(_264){ +if(!_264){ +return null; +} +var _265={}; +modifyObjectBaseProp(_265); +if(_264.FileNameAndPath){ +var _266=_264.FileNameAndPath.replace(/\\/g,"/"); +var _267="file://"; +_265.uri=_267+_266; +} +if(_264.MediaType){ +var _268=_264.MediaType; +switch(_268){ +case 1: +case 2: +_265.type="audio"; +break; +case 3: +_265.type="image"; +break; +case 4: +_265.type="video"; +break; +case 5: +_265.type="stream"; +break; +default: +break; +} +} +if(_264.FileName){ +if(_264.MediaType==3){ +_265.title=_264.FileName; +} +} +if(_264.FileDate){ +_265.date=new Date(Date.parse(_264.FileDate)); +} +if(_264.FileSize){ +_265.size=_264.FileSize; +} +if(_264.SongName){ +_265.title=_264.SongName; +} +if(_264.Artist){ +_265.artist=_264.Artist; +} +if(_264.Album){ +_265.album=_264.Album; +} +if(_264.Genre){ +_265.genre=_264.Genre; +} +if(_264.TrackNumber){ +_265.track=_264.TrackNumber; +} +if(_264.Composer){ +_265.composer=_264.Composer; +} +return _265; +}; +function __sp_media_iterator_get_next(){ +var item=this.iter.getNext(); +if(typeof item=="undefined"){ +return null; +} +var _26a=__sp_device_media_item_build(item); +item.close(); +return _26a; +}; +function __sp_media_iterator(_26b){ +this.iter=_26b; +this.next=__sp_media_iterator_get_next; +}; +function __sp_media_get_field_name(name,type){ +if(typeof name!="string"){ +throw new DeviceException(INVALID_ARG_ERR,"Media:getList:field is of invalid type"); +} +switch(name.toLowerCase()){ +case "title": +if(type=="Image"||type=="Video"){ +return "FileName"; +}else{ +return "SongName"; +} +case "artist": +return "Artist"; +case "album": +return "Album"; +case "genre": +return "Genre"; +case "track": +return "TrackNumber"; +case "composer": +return "Composer"; +default: +return null; +} +}; +function __sp_media_get_sortfield_name(name,type){ +if(typeof name!="string"){ +throw new DeviceException(INVALID_ARG_ERR,"Media:getList:sortBy is of invalid type"); +} +var _270=name.toLowerCase(); +if(_270=="date"){ +return "FileDate"; +}else{ +return __sp_media_get_field_name(name,type); +} +}; +function __sp_media_get_date_objct(date){ +var _272=""; +_272=date.getFullYear().toString(); +if(date.getMonth()<10){ +_272=_272+("0")+(date.getMonth().toString()); +}else{ +_272=_272+(date.getMonth().toString()); +} +var day=date.getDate()-1; +if(day<10){ +_272=_272+("0")+(day.toString()); +}else{ +_272=_272+(day.toString()); +} +_272=_272+(":"); +if(date.getHours()<10){ +_272=_272+("0")+(date.getHours().toString()); +}else{ +_272=_272+(date.getHours().toString()); +} +if(date.getMinutes()<10){ +_272=_272+("0")+(date.getMinutes().toString()); +}else{ +_272=_272+(date.getMinutes().toString()); +} +if(date.getSeconds()<10){ +_272=_272+("0")+(date.getSeconds().toString()); +}else{ +_272=_272+(date.getSeconds().toString()); +} +return _272; +}; +function __sp_media_getList(_274,_275,_276,_277){ +if(!_274){ +throw new DeviceException(MISSING_ARG_ERR,"Media:getList:Callback is missing"); +}else{ +if(typeof _274!="function"){ +throw new DeviceException(INVALID_ARG_ERR,"Media:getList:Callback is of invalid type"); +} +} +if(_277){ +if(typeof _277!="function"){ +throw new DeviceException(INVALID_ARG_ERR,"Media: getList: error callback is invalid"); +} +} +var _278=function(arg1,arg2,arg3){ +if(arg3.ErrorCode!=0){ +_277(new DeviceException(arg3.ErrorCode,"Media: getList: Operation Failed")); +return; +} +if(arg2!=event_cancelled){ +var iter=null; +if(arg3.ReturnValue){ +iter=new __sp_media_iterator(arg3.ReturnValue); +} +_274(iter); +} +}; +var _27d={}; +modifyObjectBaseProp(_27d); +_27d.Type="FileInfo"; +_27d.Filter={}; +modifyObjectBaseProp(_27d.Filter); +_27d.Sort={}; +modifyObjectBaseProp(_27d.Sort); +if(_275){ +if(_275.type){ +if(typeof _275.type!="string"){ +throw new DeviceException(INVALID_ARG_ERR,"Media:getList:type is of invalid type"); +} +switch(_275.type.toLowerCase()){ +case "audio": +_27d.Filter.FileType="audio"; +break; +case "image": +_27d.Filter.FileType="Image"; +break; +case "video": +_27d.Filter.FileType="Video"; +break; +case "stream": +_27d.Filter.FileType="StreamingURL"; +break; +default: +throw new DeviceException(INVALID_ARG_ERR,"Media:getList: type is invalid"); +} +if(_275.field!=null){ +_27d.Filter.Key=__sp_media_get_field_name(_275.field.name,_27d.Filter.FileType); +if(_27d.Filter.Key==null){ +throw new DeviceException(INVALID_ARG_ERR,"Media:getList:key is invalid"); +} +if(_275.field.value){ +_27d.Filter.StartRange=_275.field.value; +if(_27d.Filter.Key=="TrackNumber"){ +_27d.Filter.EndRange=_275.field.value; +} +} +}else{ +if(_275.dateRange){ +if(typeof _275.dateRange!="object"){ +throw new DeviceException(INVALID_ARG_ERR,"Media:getList:dateRange is of invalid type"); +} +_27d.Filter.Key="FileDate"; +if((typeof _275.dateRange.start!="undefined")&&(typeof _275.dateRange.end!="undefined")){ +_27d.Filter.StartRange=__sp_media_get_date_objct(_275.dateRange.start); +_27d.Filter.EndRange=__sp_media_get_date_objct(_275.dateRange.end); +}else{ +throw new DeviceException(MISSING_ARG_ERR,"Media:getList:start or end of dateRange is missing"); +} +} +} +if(_275.sortBy){ +_27d.Sort.Key=__sp_media_get_sortfield_name(_275.sortBy,_27d.Filter.FileType); +if(_27d.Sort.Key==null){ +throw new DeviceException(INVALID_ARG_ERR,"Media:getList:sortBy is invalid"); +} +}else{ +_27d.Sort.Key="FileDate"; +} +if(_276){ +if(_276==SORT_ASCENDING){ +_27d.Sort.Order="Ascending"; +}else{ +if(_276==SORT_DESCENDING){ +_27d.Sort.Order="Descending"; +} +} +}else{ +_27d.Sort.Order="Ascending"; +} +}else{ +throw new DeviceException(MISSING_ARG_ERR,"Media:type is missing"); +} +}else{ +_27d.Filter.FileType="all"; +_27d.Sort.Key="FileDate"; +_27d.Sort.Order="Ascending"; +} +try{ +var rval=this.so.IDataSource.GetList(_27d,_278); +if(_27d.Sort){ +delete _27d.Sort; +} +if(_27d.Filter.StartRange){ +delete _27d.Filter.StartRange; +} +if(_27d.Filter.EndRange){ +delete _27d.Filter.EndRange; +} +if(_27d.Filter){ +delete _27d.Filter; +} +if(rval.ErrorCode!=0){ +switch(MapErrorCode[rval.ErrorCode]){ +case MISSING_ARG_ERR: +case INVALID_ARG_ERR: +case err_missing_argument: +case err_bad_argument: +case err_InvalidService_Argument: +case err_ServiceNotSupported: +if(rval.ErrorMessage){ +var _27f=splitErrorMessage(rval.ErrorMessage); +throw new DeviceException(MapErrorCode[rval.ErrorCode],"Media:getList:"+_27f); +}else{ +throw new DeviceException(MapErrorCode[rval.ErrorCode],"Media:getList:Operation failed"); +} +break; +default: +_274(iter); +} +} +return rval.TransactionID; +} +catch(e){ +__device_handle_exception(e,"__sp_media_getList: "+e); +} +}; +function __sp_media_getThumbnail(_280,_281,_282){ +if(!_280){ +throw new DeviceException(MISSING_ARG_ERR,"Media:getThumbnail:Callback is missing"); +}else{ +if(typeof _280!="function"){ +throw new DeviceException(INVALID_ARG_ERR,"Media:getList:Callback is invalid"); +} +} +if(_282){ +var _283=_282; +if(typeof _282!="function"){ +throw new DeviceException(INVALID_ARG_ERR,"Media: getThumbnail: error callback is invalid"); +} +} +var _284=function(arg1,arg2,arg3){ +if(arg3.ErrorCode!=0){ +_282(new DeviceException(arg3.ErrorCode,"Media: getThumbnail: Operation Failed")); +return; +} +if(arg2!=event_cancelled){ +var _288=null; +if(arg3.ReturnValue){ +_288=arg3.ReturnValue.replace(/\\/g,"/"); +var _289="file://"; +_288=_289+_288; +} +_280(_288); +} +}; +var _28a={}; +modifyObjectBaseProp(_28a); +if(_281){ +if(typeof _281!="object"){ +throw new DeviceException(INVALID_ARG_ERR,"Media:getThumbnail:thumbnailInfo is of invalid type object"); +} +if(_281.uri){ +if(typeof _281.uri!="string"){ +throw new DeviceException(INVALID_ARG_ERR,"Media:getThumbnail:uri is not of type string"); +} +if(_281.uri.search("file://")==0){ +url=_281.uri.slice(FILESCHMLEN); +_28a.Url=url.replace(/\//g,"\\"); +}else{ +throw new DeviceException(INVALID_ARG_ERR,"Media:getThumbnail:uri is not in file protocol"); +} +}else{ +throw new DeviceException(MISSING_ARG_ERR,"Media:getThumbnail:uri is missing"); +} +}else{ +throw new DeviceException(MISSING_ARG_ERR,"Media:thumbnailInfo is missing"); +} +if(_281.size){ +if(typeof _281.size!="object"){ +throw new DeviceException(INVALID_ARG_ERR,"Media:getThumbnail:size is not of type Object"); +} +if((typeof _281.size.width=="undefined")&&(typeof _281.size.height=="undefined")){ +throw new DeviceException(MISSING_ARG_ERR,"Media:thumbnailInfo should have atleast width or height"); +}else{ +var _28b={}; +modifyObjectBaseProp(_28b); +if(typeof _281.size.width!="undefined"){ +_28b.width=_281.size.width; +} +if(typeof _281.size.height!="undefined"){ +_28b.height=_281.size.height; +} +_28a.ThumbnailSize=_28b; +delete _28b; +} +} +try{ +var rval=this.so.IDataSource.GetThumbnail(_28a,_284); +delete _28a; +if(rval.ErrorCode!=0){ +switch(MapErrorCode[rval.ErrorCode]){ +case MISSING_ARG_ERR: +_282(new DeviceException(MISSING_ARG_ERR,"Media: getThumbnail: Operation Failed")); +break; +case NOT_SUPPORTED_ERR: +_282(new DeviceException(MapErrorCode[rval.ErrorCode],"Media:getThumbnail:"+_28d)); +break; +case INVALID_ARG_ERR: +case NOT_SUPPORTED_ERR: +if(rval.ErrorMessage){ +var _28d=splitErrorMessage(rval.ErrorMessage); +throw new DeviceException(MapErrorCode[rval.ErrorCode],"Media:getThumbnail:"+_28d); +}else{ +throw new DeviceException(MapErrorCode[rval.ErrorCode],"Media:getThumbnail:Operation failed"); +} +break; +default: +throw new DeviceException(MapErrorCode[rval.ErrorCode],"Media:getThumbnail:Operation failed"); +} +} +return rval.TransactionID; +} +catch(e){ +__device_handle_exception(e,"__sp_media_getThumbnail: "+e); +} +}; +function __sp_media_addStreamUri(uri){ +throw new DeviceException(MapErrorCode[rval.ErrorCode],"Media:addStreamUri:Not Supported"); +}; +function __sp_media_deleteStreamUri(uri){ +throw new DeviceException(MapErrorCode[rval.ErrorCode],"Media:deleteStreamUri:Not Supported"); +}; +function __sp_media_refreshMediaDb(uri){ +}; +function __sp_media_cancel(_291){ +try{ +var rval=this.so.IDataSource.Cancel(_291); +if(rval.ErrorCode!=0){ +switch(rval.ErrorCode){ +case err_missing_argument: +case err_bad_argument: +case err_InvalidService_Argument: +case err_ServiceNotSupported: +if(rval.ErrorMessage){ +var _293=splitErrorMessage(rval.ErrorMessage); +throw new DeviceException(MapErrorCode[rval.ErrorCode],"Media:cancel:"+_293); +}else{ +throw new DeviceException(MapErrorCode[rval.ErrorCode],"Media:cancel:Operation failed"); +} +break; +default: +} +} +} +catch(e){ +__device_handle_exception(e,"__sp_media_refreshMediaDb: "+e); +} +}; +function __sp_media_instance(){ +this.descriptor=new __sp_media_descriptor(); +this.getList=__sp_media_getList; +this.getThumbnail=__sp_media_getThumbnail; +this.addStreamUri=__sp_media_addStreamUri; +this.deleteStreamUri=__sp_media_deleteStreamUri; +this.refreshMediaDb=__sp_media_refreshMediaDb; +this.cancel=__sp_media_cancel; +try{ +this.so=device.getServiceObject("Service.MediaManagement","IDataSource"); +} +catch(e){ +this.so=null; +__device_handle_exception(e,"media service not available"); +} +}; +var FILE_SCHEME="file://"; +var INVALID_URI_ERR=108; +function __sp_messaging_descriptor(){ +this.interfaceName="messaging"; +if(window.__Service_Interface_Ver){ +this.version=__Service_Interface_Ver; +}else{ +this.version=1; +} +}; +function __sp_messaging_instance(){ +this.descriptor=new __sp_messaging_descriptor(); +this.startEditor=__sp_messaging_startEditor; +this.getList=__sp_messaging_getList; +this.send=__sp_messaging_send; +this.setNotifier=__sp_messaging_setNotifier; +this.cancelNotifier=__sp_messaging_cancelNotifier; +this.getMessage=__sp_messaging_getMessage; +this.deleteMessage=__sp_messaging_delete; +this.setStatus=__sp_messaging_setStatus; +this.cancel=__sp_messaging_cancel; +this.sendCommon=__sp_messaging_send_common; +this.SORT_ASCENDING=0; +this.SORT_DESCENDING=1; +this.SORT_BY_DATE=0; +this.SORT_BY_SENDER=1; +this.STATUS_READ=0; +this.STATUS_UNREAD=1; +try{ +this.so=device.getServiceObject("Service.Messaging","IMessaging"); +} +catch(e){ +this.so=null; +__device_handle_exception(e,"Messaging service not available"); +} +}; +function __sp_attachment_build(_294){ +if(!_294){ +return null; +} +var _295={}; +modifyObjectBaseProp(_295); +if(_294.uri){ +if(typeof _294.uri!="string"){ +throw new DeviceException(INVALID_ARG_ERR,"uri is invalid"); +} +if(_294.uri.slice(0,7)==FILE_SCHEME){ +if(_294.uri.charAt(7)=="/"){ +if(_294.uri.charAt(9)!=":"){ +throw new DeviceException(URI_NOT_FOUND_ERR,"specified uri not found"); +} +_295.FileName=_294.uri.slice(8).replace(/\057/g,"\\"); +if(_295.FileName.length>256){ +throw new DeviceException(DATA_OUT_OF_RANGE_ERR,"uri is out of range"); +} +}else{ +if(_294.uri.charAt(8)!=":"){ +throw new DeviceException(URI_NOT_FOUND_ERR,"specified uri not found"); +} +_295.FileName=_294.uri.slice(7).replace(/\057/g,"\\"); +if(_295.FileName.length>256){ +throw new DeviceException(DATA_OUT_OF_RANGE_ERR,"uri is out of range"); +} +} +}else{ +throw new DeviceException(INVALID_URI_ERR,"uri is invalid"); +} +} +return _295; +}; +function __sp_message_build(_296,id){ +if(!_296){ +return null; +} +var _298={}; +modifyObjectBaseProp(_298); +var _299=0; +_298.MessageParam={}; +modifyObjectBaseProp(_298.MessageParam); +_298.MessageParam.LaunchEditor=false; +_298.MessageType=(_296.type==undefined||_296.type==null)?"SMS":_296.type; +if(_296.to){ +if(typeof (_296.to)=="string"){ +_298.To=_296.to; +}else{ +if(__device_typeof(_296.to)=="Array"&&_296.to.length>0){ +if(_296.to[0]){ +_298.To=_296.to[0]; +} +if(_296.to.length>1){ +if(_296.to.slice(1)){ +_298.MessageParam.To=_296.to.slice(1); +} +} +}else{ +_298.To=_296.to; +} +} +} +if(_296.cc){ +_298.MessageParam.Cc=_296.cc; +} +if(id){ +if((typeof (id)=="string")&&!(isNaN(id))){ +id=Number(id); +} +_298.MessageParam.TemplateId=id; +} +if(_298.MessageType=="SMS"){ +if(_296.body){ +_298.BodyText=_296.body; +} +} +if(_298.MessageType=="MMS"){ +if(_296.body){ +_298.BodyText=_296.body; +} +if(_296.subject){ +if(typeof _296.subject=="string"&&_296.subject.length>256){ +throw new DeviceException(DATA_OUT_OF_RANGE_ERR,"subject length is greater than 256 characters"); +} +_298.Subject=_296.subject; +} +if(_296.attachments){ +_298.MessageParam.AttachmentList=[]; +for(var a in _296.attachments){ +if(typeof _296.attachments[a]=="object"&&__device_typeof(_296.attachments[a])!="Array"){ +_298.MessageParam.AttachmentList.push(__sp_attachment_build(_296.attachments[a])); +_299=1; +} +} +if(_299==0){ +throw new DeviceException(INVALID_ARG_ERR,"uri is invalid"); +} +} +} +return _298; +}; +function __sp_device_attachment_build(_29b){ +if(!_29b){ +return null; +} +var _29c={}; +_29c.uri=FILE_SCHEME+_29b.FileName; +return _29c; +}; +function __sp_device_message_build(_29d){ +if(!_29d){ +return null; +} +var _29e={}; +_29e.body=null; +_29e.subject=null; +_29e.attachments=null; +_29e.to=null; +_29e.cc=null; +_29e.type=_29d.MessageType; +if(_29d.BodyText){ +_29e.body=_29d.BodyText; +} +if(_29d.to){ +_29e.to=_29d.To; +} +if(_29d.Subject){ +_29e.subject=_29d.Subject; +} +_29e.attachment=false; +if(_29e.type=="MMS"){ +if(_29d.Cc){ +_29e.cc=_29d.Cc; +} +if(_29d.AttachmentList){ +_29e.attachment=true; +_29e.attachments=[]; +for(var a in _29d.AttachmentList){ +if(_29d.AttachmentList.hasOwnProperty("a")){ +_29e.attachments.push(__sp_device_attachment_build(_29d.AttachmentList[a])); +} +} +} +} +return _29e; +}; +function __sp_device_message_info_build_notifier(_2a0){ +if(!_2a0){ +return null; +} +var _2a1={}; +_2a1.message={}; +_2a1.message.type=_2a0.MessageType; +_2a1.sender=_2a0.Sender; +_2a1.message.subject=_2a0.Subject; +_2a1.time=_2a0.Time; +_2a1.attachments=(_2a0.Attachments==undefined||_2a0.Attachments==null)?(!(_2a0.AttachmentList==undefined||_2a0.AttachmentList==null)):_2a0.Attachments; +_2a1.unread=_2a0.Unread; +_2a1.id=(_2a0.MessageId).toString(); +return _2a1; +}; +function __sp_device_message_info_build(_2a2){ +if(!_2a2){ +return null; +} +var _2a3={}; +_2a3.message=__sp_device_message_build(_2a2); +_2a3.sender=_2a2.Sender; +_2a3.time=_2a2.Time; +_2a3.unread=_2a2.Unread; +_2a3.id=(_2a2.MessageId).toString(); +return _2a3; +}; +function __sp_message_iterator_get_next(){ +var _2a4=this.iter.getNext(); +if(typeof _2a4=="undefined"){ +return null; +} +var _2a5=__sp_device_message_info_build(_2a4); +_2a4.close(); +return _2a5; +}; +function __sp_message_iterator(_2a6){ +this.iter=_2a6; +this.next=__sp_message_iterator_get_next; +}; +function __sp_messaging_getList(_2a7,_2a8,_2a9,_2aa,_2ab){ +a("in getlist"); +if(!_2a7){ +throw new DeviceException(MISSING_ARG_ERR,"Messaging:getList:callback is missing"); +}else{ +if(typeof _2a7!="function"){ +throw new DeviceException(INVALID_ARG_ERR,"Messaging:getList:callback is not a function"); +} +} +if(_2a8!=null&&_2a8!=undefined&&typeof _2a8!="object"){ +throw new DeviceException(INVALID_ARG_ERR,"Messaging:getList:match is invalid"); +} +if(_2a9!=null&&_2a9!=undefined&&typeof _2a9!="number"){ +throw new DeviceException(INVALID_ARG_ERR,"Messaging:getList:sortkey is invalid"); +} +if(_2aa!=null&&_2aa!=undefined&&typeof _2aa!="number"){ +throw new DeviceException(INVALID_ARG_ERR,"Messaging:getList:sortorder is invalid"); +} +if(_2a9!=null&&_2a9!=undefined&&typeof _2a9=="number"){ +if((_2a9!=0)&&(_2a9!=1)){ +throw new DeviceException(INVALID_ARG_ERR,"Messaging:getList:sortkey is invalid"); +} +} +if(_2aa!=null&&_2aa!=undefined&&typeof _2aa=="number"){ +if((_2aa!=0)&&(_2aa!=1)){ +throw new DeviceException(INVALID_ARG_ERR,"Messaging:getList:sortorder is invalid"); +} +} +if(_2ab){ +if(typeof (_2ab)!="function"){ +throw new DeviceException(INVALID_ARG_ERR,"Messaging: startEditor: ErrorCallback is invalid"); +} +} +var _2ac=function(arg1,arg2,arg3){ +var _2b0=_2a7; +var _2b1=_2ab; +var iter=null; +if(arg3.ErrorCode!=0){ +if(arg3.ErrorMessage){ +_2b3=splitErrorMessage(arg3.ErrorMessage); +}else{ +_2b3="Operation Failed"; +} +if(_2b1){ +_2b1(new DeviceException(MapErrorCode[arg3.ErrorCode],"Messaging: getList: "+_2b3)); +return; +} +}else{ +if(arg3.ReturnValue){ +iter=new __sp_message_iterator(arg3.ReturnValue); +} +} +if(arg2!=event_cancelled){ +_2b0(iter); +} +}; +var _2b4={}; +modifyObjectBaseProp(_2b4); +_2b4.Type="Inbox"; +_2b4.Filter={}; +modifyObjectBaseProp(_2b4.Filter); +if(_2a8){ +if(_2a8.type!=null&&_2a8.type!=undefined){ +_2b4.Filter.MessageTypeList=_2a8.type; +} +if(_2a8.senders!=null&&_2a8.senders!=undefined){ +_2b4.Filter.SenderList=_2a8.senders; +} +if(_2a8.subject!=null&&_2a8.subject!=undefined){ +if(_2a8.subject.length>256){ +if(_2ab){ +_2ab(new DeviceException(DATA_OUT_OF_RANGE_ERR,"Messaging:getList:subject is out of range")); +return; +}else{ +throw new DeviceException(DATA_OUT_OF_RANGE_ERR,"Messaging:getList:subject is out of range"); +} +}else{ +_2b4.Filter.Subject=_2a8.subject; +} +} +if(_2a8.start!=null&&_2a8.start!=undefined){ +_2b4.Filter.StartDate=_2a8.start; +} +if(_2a8.end!=null&&_2a8.end!=undefined){ +_2b4.Filter.EndDate=_2a8.end; +} +} +if(_2a9||_2aa){ +_2b4.SortOrder={}; +modifyObjectBaseProp(_2b4.SortOrder); +if(_2a9){ +if((_2a9==this.SORT_BY_DATE)){ +_2b4.SortOrder.Key="Date"; +}else{ +if((_2a9==this.SORT_BY_SENDER)){ +_2b4.SortOrder.Key="Sender"; +} +} +}else{ +_2b4.SortOrder.Key="Date"; +} +if(_2aa){ +if((_2aa==this.SORT_ASCENDING)){ +_2b4.SortOrder.Order="Ascending"; +}else{ +if((_2aa==this.SORT_DESCENDING)){ +_2b4.SortOrder.Order="Descending"; +} +} +}else{ +_2b4.SortOrder.Order="Ascending"; +} +} +try{ +var _2b5=this.so.IMessaging.GetList(_2b4,_2ac); +if(_2b4){ +delete _2b4.Filter; +delete _2b4.SortOrder; +delete _2b4.Type; +} +if(_2b5.ErrorCode!=0){ +var _2b3="operation failed"; +if(_2b5.ErrorMessage){ +_2b3=splitErrorMessage(_2b5.ErrorMessage); +} +switch(MapErrorCode[_2b5.ErrorCode]){ +case INVALID_ARG_ERR: +case MISSING_ARG_ERR: +case NOT_SUPPORTED_ERR: +throw new DeviceException(MapErrorCode[_2b5.ErrorCode],"Messaging:getList:"+_2b3); +break; +default: +if(_2ab){ +setTimeout(function(){ +_2ab(new DeviceException(MapErrorCode[_2b5.ErrorCode],"Messaging:getList:"+_2b3)); +},500); +}else{ +throw new DeviceException(MapErrorCode[_2b5.ErrorCode],"Messaging:getList:"+_2b3); +} +} +} +return _2b5.TransactionID; +} +catch(e){ +__device_handle_exception(e,"__sp_messaging_getList: "+e); +} +}; +function __sp_messaging_send_common(_2b6,_2b7,_2b8,id,eCB){ +var _2bb=function(arg1,arg2,arg3){ +if(_2b8){ +var _2bf="operation failed"; +if(arg3.ErrorCode!=0){ +if(arg3.ErrorMessage){ +_2bf=splitErrorMessage(arg3.ErrorMessage); +} +if(eCB){ +setTimeout(function(){ +eCB(new DeviceException(MapErrorCode[arg3.ErrorCode],"Messaging: send: "+_2bf)); +},500); +return; +} +} +if(arg2!=event_cancelled){ +_2b8(); +} +} +}; +var _2c0=__sp_message_build(_2b6,id); +_2c0.MessageParam.LaunchEditor=_2b7; +var _2c1; +if(_2b7==false){ +_2c1=this.so.IMessaging.Send(_2c0,_2bb); +if(_2c1.ErrorCode!=0){ +var _2c2="operation failed"; +if(_2c1.ErrorMessage){ +_2c2=splitErrorMessage(_2c1.ErrorMessage); +} +switch(MapErrorCode[_2c1.ErrorCode]){ +case INVALID_ARG_ERR: +case MISSING_ARG_ERR: +case NOT_SUPPORTED_ERR: +throw new DeviceException(MapErrorCode[_2c1.ErrorCode],_2c2); +break; +default: +if(eCB){ +setTimeout(function(){ +eCB(new DeviceException(MapErrorCode[_2c1.ErrorCode],_2c2)); +},500); +return; +}else{ +throw new DeviceException(MapErrorCode[_2c1.ErrorCode],_2c2); +} +} +} +var _2c3=_2c1.TransactionID; +return _2c3; +}else{ +_2c1=this.so.IMessaging.Send(_2c0); +if(_2c1.ErrorCode!=0){ +if(_2c1.ErrorMessage){ +var _2c4=splitErrorMessage(_2c1.ErrorMessage); +throw new DeviceException(MapErrorCode[_2c1.ErrorCode],"Messaging:startEditor"+_2c4); +}else{ +throw new DeviceException(MapErrorCode[_2c1.ErrorCode],"Messaging:startEditor:operation failed"); +} +} +} +if(_2c0){ +delete _2c0.MessageParam; +} +}; +function __sp_messaging_startEditor(_2c5){ +if(!_2c5){ +throw new DeviceException(MISSING_ARG_ERR,"Messaging:startEditor:message is missing"); +}else{ +if(typeof _2c5!="object"){ +throw new DeviceException(INVALID_ARG_ERR,"Messaging:startEditor:message is invalid"); +} +} +if((_2c5.subject)){ +if((_2c5.subject).length>256){ +throw new DeviceException(DATA_OUT_OF_RANGE_ERR,"Messaging:startEditor:subject is too lengthy"); +} +} +if(_2c5.to==undefined||_2c5.to==null){ +throw new DeviceException(MISSING_ARG_ERR,"Messaging:startEditor:to field is missing"); +} +if(_2c5.attachments!=undefined&&_2c5.attachments!=null&&typeof _2c5.attachments!="object"){ +throw new DeviceException(INVALID_ARG_ERR,"Messaging:startEditor:attachment is invalid"); +} +if(_2c5){ +if(_2c5.body){ +if(typeof (_2c5.body)!="string"){ +throw new DeviceException(INVALID_ARG_ERR,"Messaging:startEditor:body is invalid"); +} +} +} +try{ +this.sendCommon(_2c5,true,null); +} +catch(e){ +var _2c6=null; +if(e.message){ +_2c6=new DeviceException(e.code,"Messaging:startEditor:"+e.message); +}else{ +_2c6=new DeviceException(e.code,"Messaging:startEditor:operation failed"); +} +__device_handle_exception(_2c6,"__sp_messaging_startEditor: "+_2c6); +} +}; +function __sp_messaging_send(_2c7,_2c8,id,_2ca){ +if(!_2c8){ +throw new DeviceException(MISSING_ARG_ERR,"Messaging:send:message is missing"); +}else{ +if(typeof _2c8!="object"){ +throw new DeviceException(INVALID_ARG_ERR,"Messaging:send:message is invalid"); +} +} +if(!_2c7){ +throw new DeviceException(MISSING_ARG_ERR,"Messaging:send:callback is missing"); +}else{ +if(typeof _2c7!="function"){ +throw new DeviceException(INVALID_ARG_ERR,"Messaging:send:callback is invalid"); +} +} +if(_2c8.to==undefined||_2c8.to==null){ +throw new DeviceException(MISSING_ARG_ERR,"Messaging:send:to field is missing"); +} +if(_2c8.attachments!=undefined&&_2c8.attachments!=null&&typeof _2c8.attachments!="object"){ +throw new DeviceException(INVALID_ARG_ERR,"Messaging:send:attachment is invalid"); +} +if(!id){ +id=""; +} +if((typeof id)=="function"){ +var _2cb=id; +id=""; +_2ca=_2cb; +} +if((typeof _2ca)=="undefined"||_2ca==null){ +_2ca=null; +}else{ +if((typeof _2ca)!="function"){ +throw new DeviceException(INVALID_ARG_ERR,"Messaging:send:errorCallback is not a function"); +} +} +var _2cc=function(arg1,arg2,arg3){ +var _2d0=_2c7; +var _2d1=_2ca; +var iter=null; +if(arg3.ErrorCode!=0){ +var _2d3; +if(arg3.ErrorMessage){ +_2d3=splitErrorMessage(arg3.ErrorMessage); +}else{ +_2d3="Operation Failed"; +} +_2d1(new DeviceException(MapErrorCode[arg3.ErrorCode],"Messaging:startEditor: "+_2d3)); +return; +}else{ +if(arg3.ReturnValue){ +iter=new __sp_message_iterator(arg3.ReturnValue); +_2d0(iter); +} +} +if(arg2!=event_cancelled){ +_2d0(iter); +} +}; +try{ +var _2d4=this.sendCommon(_2c8,false,_2c7,id,_2ca); +return _2d4; +} +catch(e){ +var _2d5=null; +switch(e.code){ +case INVALID_ARG_ERR: +case MISSING_ARG_ERR: +case NOT_SUPPORTED_ERR: +throw new DeviceException(e.code,"Messaging:send:"+e.message); +break; +default: +if(_2ca){ +setTimeout(function(){ +_2ca(new DeviceException(e.code,"Messaging:send:"+e.message)); +},1000); +}else{ +throw new DeviceException(e.code,"Messaging:send:"+e.message); +} +} +} +}; +function __sp_messaging_setNotifier(_2d6,_2d7){ +if(!_2d6){ +throw new DeviceException(MISSING_ARG_ERR,"Messaging:setNotifier:callback is missing"); +}else{ +if(typeof _2d6!="function"){ +throw new DeviceException(INVALID_ARG_ERR,"Messaging:setNotifier:callback is invalid"); +} +} +if(_2d7){ +if(typeof (_2d7)!="function"){ +throw new DeviceException(INVALID_ARG_ERR,"Messaging:setNotifier: ErrorCallback is invalid"); +} +} +var _2d8=function(arg1,arg2,arg3){ +var _2dc=_2d6; +var _2dd=_2d7; +var _2de=null; +var _2df=null; +if(arg3.ErrorCode!=0){ +if(arg3.ErrorMessage){ +_2df=splitErrorMessage(arg3.ErrorMessage); +}else{ +_2df="operation failed"; +} +if(_2dd){ +_2dd(new DeviceException(MapErrorCode[arg3.ErrorCode],"Messaging:setNotifier: "+_2df)); +return; +} +}else{ +if(arg3.ReturnValue){ +_2de=new __sp_device_message_info_build_notifier(arg3.ReturnValue); +arg3.ReturnValue.close(); +} +} +if(arg2!=event_cancelled){ +_2dc(_2de.id); +} +}; +var _2e0={}; +modifyObjectBaseProp(_2e0); +_2e0.Type="NewMessage"; +try{ +var _2e1=this.so.IMessaging.RegisterNotification(_2e0,_2d8); +if(_2e0){ +delete _2e0.Type; +} +if(_2e1.ErrorCode!=0){ +var _2e2="operation failed"; +if(_2e1.ErrorMessage){ +_2e2=splitErrorMessage(_2e1.ErrorMessage); +} +switch(MapErrorCode[_2e1.ErrorCode]){ +case INVALID_ARG_ERR: +case MISSING_ARG_ERR: +case NOT_SUPPORTED_ERR: +throw new DeviceException(MapErrorCode[_2e1.ErrorCode],"Messaging:setNotifier:"+_2e2); +break; +default: +if(_2d7){ +setTimeout(function(){ +_2d7(new DeviceException(MapErrorCode[_2e1.ErrorCode],"Messaging:setNotifier:"+_2e2)); +},1000); +}else{ +throw new DeviceException(MapErrorCode[_2e1.ErrorCode],"Messaging:setNotifier:"+_2e2); +} +} +} +var _2e3=_2e1.TransactionID; +return _2e3; +} +catch(e){ +__device_handle_exception(e,"__sp_messaging_setNotifier: "+e.toString()); +} +}; +function __sp_messaging_cancelNotifier(){ +var _2e4={}; +modifyObjectBaseProp(_2e4); +_2e4.Type="NewMessage"; +try{ +var _2e5=this.so.IMessaging.CancelNotification(_2e4); +if(_2e4){ +delete _2e4.Type; +} +if(_2e5.ErrorCode!=0){ +if(_2e5.ErrorMessage){ +var _2e6=splitErrorMessage(_2e5.ErrorMessage); +throw new DeviceException(MapErrorCode[_2e5.ErrorCode],"Messaging:cancelNotifier"+_2e6); +}else{ +throw new DeviceException(MapErrorCode[_2e5.ErrorCode],"Messaging:cancelNotifier:operation failed"); +} +} +} +catch(e){ +__device_handle_exception(e,"__sp_messaging_cancelNotifier: "+e); +} +}; +function __sp_messaging_getMessage(id){ +if(!id){ +throw new DeviceException(MISSING_ARG_ERR,"Messaging:getMessage:id is missing"); +}else{ +if((typeof id)!="string"){ +throw new DeviceException(INVALID_ARG_ERR,"Messaging:getMessage:MessageId should be a string"); +} +} +if((typeof id=="string")&&!(isNaN(id))){ +id=Number(id); +if(id==0){ +throw new DeviceException(DATA_NOT_FOUND_ERR,"Messaging:getMessage:id not found"); +} +if(id<0){ +throw new DeviceException(DATA_OUT_OF_RANGE_ERR,"Messaging:getMessage:id is out of range"); +} +} +var _2e8={}; +modifyObjectBaseProp(_2e8); +_2e8.Type="Inbox"; +_2e8.Filter={}; +modifyObjectBaseProp(_2e8.Filter); +_2e8.Filter.MessageId=id; +try{ +var _2e9=this.so.IMessaging.GetList(_2e8); +if(_2e8){ +delete _2e8.Filter; +delete _2e8.Type; +} +if(_2e9.ErrorCode!=0){ +if(_2e9.ErrorMessage){ +var _2ea=splitErrorMessage(_2e9.ErrorMessage); +throw new DeviceException(MapErrorCode[_2e9.ErrorCode],"Messaging:getMessage"+_2ea); +}else{ +throw new DeviceException(MapErrorCode[_2e9.ErrorCode],"Messaging:getMessage:operation failed"); +} +} +if(_2e9.ReturnValue){ +var iter=new __sp_message_iterator(_2e9.ReturnValue); +var _2ec=iter.next(); +if(_2ec){ +return _2ec; +}else{ +throw new DeviceException(DATA_NOT_FOUND_ERR,"Messaging:getMessage:id not found"); +} +} +} +catch(e){ +__device_handle_exception(e,"__sp_messaging_getMessage: "+e); +} +}; +function __sp_messaging_delete(id){ +a("messageId"+typeof id); +if(!id){ +throw new DeviceException(MISSING_ARG_ERR,"Messaging:delete:id is missing"); +}else{ +if((typeof id)!="string"){ +throw new DeviceException(INVALID_ARG_ERR,"Messaging:deleteMessage:MessageId should be a string"); +} +} +if((typeof id=="string")&&!(isNaN(id))){ +id=Number(id); +if(id==0){ +throw new DeviceException(DATA_NOT_FOUND_ERR,"Messaging:delete:id not found"); +} +if(id<0){ +throw new DeviceException(DATA_OUT_OF_RANGE_ERR,"Messaging:delete:id is out of range"); +} +} +var _2ee={}; +modifyObjectBaseProp(_2ee); +_2ee.MessageId=id; +try{ +var _2ef=this.so.IMessaging.Delete(_2ee); +a("MapErrorCode[ result.ErrorCode ]"+MapErrorCode[_2ef.ErrorCode]); +if(_2ee){ +delete _2ee.MessageId; +} +if(_2ef.ErrorCode!=0){ +if(_2ef.ErrorMessage){ +var _2f0=splitErrorMessage(_2ef.ErrorMessage); +throw new DeviceException(MapErrorCode[_2ef.ErrorCode],"Messaging:delete"+_2f0); +}else{ +throw new DeviceException(MapErrorCode[_2ef.ErrorCode],"Messaging:delete:operation failed"); +} +} +} +catch(e){ +__device_handle_exception(e,"__sp_messaging_delete: "+e); +} +}; +function __sp_messaging_setStatus(id,_2f2){ +if(id==null||id==undefined||(id.length)<=0){ +throw new DeviceException(MISSING_ARG_ERR,"Messaging:setStatus:id is missing"); +} +if((typeof id)!="string"){ +throw new DeviceException(INVALID_ARG_ERR,"Messaging:setStatus:id should be string"); +} +if(_2f2==null||_2f2==undefined){ +throw new DeviceException(MISSING_ARG_ERR,"Messaging:setStatus:status is missing"); +} +if(typeof _2f2!="number"){ +throw new DeviceException(INVALID_ARG_ERR,"Messaging:setStatus:status is invalid"); +} +if(typeof _2f2=="number"&&_2f2!=0&&_2f2!=1){ +throw new DeviceException(INVALID_ARG_ERR,"Messaging:setStatus:status is invalid"); +} +if((typeof id=="string")&&!(isNaN(id))){ +id=Number(id); +if(id==0){ +throw new DeviceException(DATA_NOT_FOUND_ERR,"Messaging:setStatus:id not found"); +} +if(id<0){ +throw new DeviceException(DATA_OUT_OF_RANGE_ERR,"Messaging:setStatus:id is out of range"); +} +} +var _2f3={}; +modifyObjectBaseProp(_2f3); +_2f3.MessageId=id; +if((_2f2==this.STATUS_UNREAD)){ +_2f3.Status="Unread"; +}else{ +if((_2f2==this.STATUS_READ)){ +a("in read"); +_2f3.Status="Read"; +} +} +try{ +var _2f4=this.so.IMessaging.ChangeStatus(_2f3); +if(_2f3){ +delete _2f3.MessageId; +delete _2f3.Status; +} +if(_2f4.ErrorCode!=0){ +if(_2f4.ErrorMessage){ +var _2f5=splitErrorMessage(_2f4.ErrorMessage); +throw new DeviceException(MapErrorCode[_2f4.ErrorCode],"Messaging:setStatus"+_2f5); +}else{ +throw new DeviceException(MapErrorCode[_2f4.ErrorCode],"Messaging:setStatus:operation failed"); +} +} +} +catch(e){ +__device_handle_exception(e,"__sp_messaging_setStatus: "+e); +} +}; +function __sp_messaging_cancel(_2f6){ +if(_2f6==null||_2f6==undefined){ +throw new DeviceException(MISSING_ARG_ERR,"Messaging:setStatus:id is missing"); +} +if(typeof _2f6!="number"){ +throw new DeviceException(INVALID_ARG_ERR,"Messaging:cancel:id is invalid"); +} +var _2f7={}; +modifyObjectBaseProp(_2f7); +_2f7.TransactionID=_2f6; +try{ +var _2f8=this.so.IMessaging.Cancel(_2f7); +if(_2f7){ +delete _2f7.TransactionID; +} +if(_2f8.ErrorCode!=0){ +var err; +if(_2f8.ErrorCode==1000){ +err=DATA_NOT_FOUND_ERR; +}else{ +err=MapErrorCode[_2f8.ErrorCode]; +} +if(_2f8.ErrorMessage){ +var _2fa=splitErrorMessage(_2f8.ErrorMessage); +throw new DeviceException(err,"Messaging:cancel"+_2fa); +}else{ +throw new DeviceException(err,"Messaging:cancel:operation failed"); +} +} +} +catch(e){ +__device_handle_exception(e,"__sp_messaging_setStatus: "+e); +} +}; +function __sp_sensors_descriptor(){ +this.interfaceName="sensors"; +if(window.__Service_Interface_Ver){ +this.version=__Service_Interface_Ver; +}else{ +this.version=1; +} +}; +function __sp_sensors_instance(){ +this.descriptor=new __sp_sensors_descriptor(); +this.getChannels=__sp_sensors_getChannels; +this.startChannel=__sp_sensors_setNotifier; +this.stopChannel=__sp_sensors_cancelNotifier; +this.getScaleFactor=__sp_sensors_getScaleFactor; +try{ +this.so=device.getServiceObject("Service.Sensor","ISensor"); +} +catch(e){ +this.so=null; +__device_handle_exception(e,"sensors service not available"); +} +}; +var __rotation_channel={ucb:null,tids:null}; +var __XYZ_channel={ucb:null,tids:null}; +var __orientation_channel={ucb:null,tids:null}; +function __rotation_cb(arg1,arg2,arg3){ +if(arg2!=event_cancelled){ +var _2fe=null; +if(arg3.ReturnValue){ +var time=arg3.ReturnValue.TimeStamp; +var xrot=arg3.ReturnValue.XRotation; +var yrot=arg3.ReturnValue.YRotation; +var zrot=arg3.ReturnValue.ZRotation; +arg3.ReturnValue.close(); +_2fe={}; +modifyObjectBaseProp(_2fe); +_2fe.timeStamp=time; +_2fe.rotationAboutXAxis=xrot; +_2fe.rotationAboutYAxis=yrot; +_2fe.rotationAboutZAxis=zrot; +} +__rotation_channel.ucb(_2fe); +} +}; +function __XYZ_cb(arg1,arg2,arg3){ +if(arg2!=event_cancelled){ +var _306=null; +if(arg3.ReturnValue){ +var time=arg3.ReturnValue.TimeStamp; +var _308=arg3.ReturnValue.XAxisData; +var _309=arg3.ReturnValue.YAxisData; +var _30a=arg3.ReturnValue.ZAxisData; +arg3.ReturnValue.close(); +_306={}; +modifyObjectBaseProp(_306); +_306.timeStamp=time; +_306.axisX=_308; +_306.axisY=_309; +_306.axisZ=_30a; +} +__XYZ_channel.ucb(_306); +} +}; +function __orientation_cb(arg1,arg2,arg3){ +if(arg2!=event_cancelled){ +var _30e=null; +if(arg3.ReturnValue){ +var time=arg3.ReturnValue.TimeStamp; +var _310=arg3.ReturnValue.DeviceOrientation; +arg3.ReturnValue.close(); +_30e={}; +modifyObjectBaseProp(_30e); +_30e.timeStamp=time; +_30e.deviceOrientation=_310; +} +__orientation_channel.ucb(_30e); +} +}; +function __sp_sensors_getChannels(){ +return ["Rotation","AccelerometerAxis","Orientation"]; +}; +function __sp_sensors_setNotifier(_311,_312,_313){ +var _314=new DeviceException(0,"dummy"); +if(!_311){ +throw new DeviceAPIError(_314.MISSING_ARG_ERR,"Callback is missing"); +} +if((typeof _311)!="function"){ +throw new DeviceAPIError(_314.INVALID_ARG_ERR,"Callback is of invalid type"); +} +if(_313&&((typeof _313)!="function")){ +throw new DeviceAPIError(_314.INVALID_ARG_ERR,"InValid error Callback"); +} +if(!_312){ +throw new DeviceAPIError(_314.MISSING_ARG_ERR,"Channel is missing"); +} +if((typeof _312)!="string"){ +throw new DeviceAPIError(_314.INVALID_ARG_ERR,"Channel is of invalid type"); +} +var rval; +var cb; +var _317={}; +modifyObjectBaseProp(_317); +switch(_312){ +case "Rotation": +_317.SearchCriterion="Rotation"; +cb=__rotation_cb; +__rotation_channel.ucb=_311; +break; +case "AccelerometerAxis": +_317.SearchCriterion="AccelerometerAxis"; +cb=__XYZ_cb; +__XYZ_channel.ucb=_311; +break; +case "Orientation": +_317.SearchCriterion="Orientation"; +cb=__orientation_cb; +__orientation_channel.ucb=_311; +break; +default: +throw new DeviceAPIError(_314.NOT_SUPPORTED_ERR,"Unsupported input channel"); +} +try{ +rval=this.so.ISensor.FindSensorChannel(_317); +if(_317){ +delete _317.SearchCriterion; +} +if(rval.ErrorCode!=0){ +throw new DeviceAPIError(_314.NOT_SUPPORTED_ERR,"StartChannel:Operation Failed"); +} +var cmap=[]; +var _319=[]; +var _31a=rval["ReturnValue"]; +var _31b=_31a.length; +cmap=_31a[0]; +var _31c={}; +modifyObjectBaseProp(_31c); +_31c.ListeningType="ChannelData"; +_31c.ChannelInfoMap=cmap; +var _31d=this.so.ISensor.RegisterForNotification(_31c,cb); +if(_31c){ +delete _31c.ChannelInfoMap; +delete _31c.ListeningType; +} +if(cmap){ +delete cmap.index; +} +_319[0]=_31d["TransactionID"]; +if(_31d.ErrorCode!=0){ +if(_31d.ErrorCode==1005){ +_313(new DeviceAPIError(_314.SERVICE_IN_USE_ERR,"Not Allowed Operation")); +return; +}else{ +throw new DeviceAPIError(_314.NOT_SUPPORTED_ERR,"StartChannel:Operation Failed"); +} +} +} +catch(e2){ +__device_handle_exception(e2,"__sp_sensors_setNotifier: RegisterForNotification: "+e2); +} +switch(_312){ +case "Rotation": +__rotation_channel.tid=_319; +break; +case "AccelerometerAxis": +__XYZ_channel.tid=_319; +break; +case "Orientation": +__orientation_channel.tid=_319; +break; +} +return _319; +}; +function __sp_sensors_cancelNotifier(_31e){ +var _31f=new DeviceException(0,"dummy"); +if(!_31e){ +throw new DeviceAPIError(_31f.MISSING_ARG_ERR,"Channel is missing"); +} +if((typeof _31e)!="string"){ +throw new DeviceAPIError(_31f.INVALID_ARG_ERR,"Channel is of invalid type"); +} +var id; +switch(_31e){ +case "Rotation": +id=__rotation_channel.tid; +__rotation_channel.tid=null; +break; +case "AccelerometerAxis": +id=__XYZ_channel.tid; +__XYZ_channel.tid=null; +break; +case "Orientation": +id=__orientation_channel.tid; +__orientation_channel.tid=null; +break; +default: +throw new DeviceAPIError(_31f.NOT_SUPPORTED_ERR,"Unsupported input channel"); +} +if(!id){ +throw new DeviceAPIError(_31f.DATA_NOT_FOUND_ERR,"Stop Channel:Operation Failed"); +} +var _321={}; +modifyObjectBaseProp(_321); +for(var i in id){ +_321.TransactionID=id[i]; +try{ +var _323=this.so.ISensor.Cancel(_321); +if(_321){ +delete _321.TransactionID; +} +if(_323.ErrorCode!=0){ +throw new DeviceAPIError(_31f.DATA_NOT_FOUND_ERR,"Stop Channel:Operation Failed"); +} +} +catch(e1){ +__device_handle_exception(e1,"__sp_sensors_cancelNotifier: "+e1); +} +} +}; +function __sp_sensors_getScaleFactor(_324){ +var _325=new DeviceException(0,"dummy"); +if(!_324){ +throw new DeviceAPIError(_325.MISSING_ARG_ERR,"Channel is missing"); +} +if((typeof _324)!="string"){ +throw new DeviceAPIError(_325.INVALID_ARG_ERR,"Channel is of invalid type"); +} +if(_324!="AccelerometerAxis"){ +throw new DeviceAPIError(_325.NOT_SUPPORTED_ERR,"Unsupported input channel"); +} +try{ +var _326={}; +_326.SearchCriterion="AccelerometerAxis"; +var rval=this.so.ISensor.FindSensorChannel(_326); +if(_326){ +delete _326.SearchCriterion; +} +if(rval.ErrorCode!=0){ +throw new DeviceAPIError(_325.NOT_SUPPORTED_ERR,"getScaleFactor:Operation Failed"); +} +var cmap=[]; +var _329=rval["ReturnValue"]; +cmap=_329[0]; +var _32a={}; +modifyObjectBaseProp(_32a); +_32a.ListeningType="ChannelData"; +_32a.ChannelInfoMap=cmap; +var _32b=this.so.ISensor.GetScaleFactor(_32a); +if(_32a){ +delete _32a.ChannelInfoMap; +delete _32a.ListeningType; +} +if(cmap){ +delete cmap.index; +} +if(_32b.ErrorCode!=0){ +throw new DeviceAPIError(_325.NOT_SUPPORTED_ERR,"getScaleFactor:Operation Failed"); +} +} +catch(e1){ +__device_handle_exception(e1,"__sp_sensors_getScaleFactor: "+e1); +} +return _32b["ReturnValue"]; +}; +var DATA_NOT_FOUND_ERR=101; +var DATA_OUT_OF_RANGE_ERR=105; +var NOT_ALLOWED_ERR=106; +var error=new DeviceException(); +function __sp_sysinfo_descriptor(){ +this.interfaceName="sysinfo"; +if(window.__Service_Interface_Ver){ +this.version=__Service_Interface_Ver; +}else{ +this.version=1; +} +}; +function __sp_sysinfo_instance(){ +this.descriptor=new __sp_sysinfo_descriptor(); +this.getChannelList=__sp_channel_descriptors_get; +this.getChannel=__sp_sysinfo_get; +this.startChannel=__sp_sysinfo_setNotifier; +this.stopChannel=__sp_sysinfo_cancelNotifier; +this.cancel=__sp_sysinfo_cancel; +try{ +this.so=device.getServiceObject("Service.SysInfo","ISysInfo"); +} +catch(e){ +this.so=null; +__device_handle_exception(e,"Sysinfo service not available"); +} +}; +function __sp_channel_descriptors_get(){ +var _32c=[{name:"Charging",data:[{name:"chargingStatus",range:"true or false",description:"Charging(true) ,Not charging(false)",}],style:["Sync","Oneshot","Notification"]},{name:"BluetoothOn",data:[{name:"btOn",range:"true or false",description:"BluetoothOn(true) ,BluetoothOff(false)",}],style:["Sync","Oneshot","Notification"]},{name:"PhoneLanguage",data:[{name:"phoneLanguage",range:"",description:"",}],style:["Sync","Oneshot"]},{name:"ProductType",data:[{name:"productType",range:"",description:"",}],style:["Sync","Oneshot"]},{name:"FirmwareVersion",data:[{name:"firmwareVersion",range:"",description:"",}],style:["Sync","Oneshot"]},{name:"BatteryLevel",data:[{name:"batteryLevel ",range:"0-100",description:"Percent battery charge"}],style:["Async","Oneshot","Notification"]},{name:"SignalStrength",data:[{name:"signalStrength",range:"0-100",description:"Signal Strength in Percentage"}],style:["Async","Oneshot","Notification"]},{name:"Network",data:[{name:"networkName ",description:"Network name"},{name:"networkStatus",range:"Available,Current,Forbidden",description:""},{name:"networkMode",range:"ModeGsm,ModeCdma,ModeWcdma",description:""},{name:"mobileCountryCode",range:"",description:""},{name:"mobileNetworkCode",range:"",description:""},{name:"locationStatus",range:"True, False",description:""},{name:"areaCode",range:"",description:""},{name:"cellID",range:"",description:""}],style:["Async","Oneshot","Notification"]},{name:"IMEI",data:[{name:"imei",range:"",description:""}],style:["Sync","Oneshot"]},{name:"OutOfMemory",data:[{name:"oomDrive",range:"",description:""}],style:["NA","NA","Notification"]},{name:"DeviceOrientation",data:[{name:"deviceOrientation",range:"Landscape,Portrait",description:""}],style:["Sync","Oneshot"]},{name:"RoamingFlag",data:[{name:"roamingFlag",range:"",description:""}],style:["Sync","Oneshot"]},{name:"DeviceInputMethod",data:[{name:"deviceInputMethod",range:"Touch,NonTouch,Hybrid",description:""}],style:["Sync","Oneshot"]},{name:"HomeNetwork",data:[{name:"networkName ",description:"Network name"},{name:"networkStatus",range:"Available,Current,Forbidden",description:""},{name:"networkMode",range:"ModeGsm,ModeCdma,ModeWcdma",description:""},{name:"mobileCountryCode",range:"",description:""},{name:"mobileNetworkCode",range:"",description:""},{name:"locationStatus",range:"True, False",description:""},{name:"areaCode",range:"",description:""},{name:"cellID",range:"",description:""}],style:["Async","Oneshot","Notification"]}]; +return _32c; +}; +var max=110; +var min=40; +var diff=max-min; +function __sp_device_sysinfo_toDecibel(_32d){ +var _32e=_32d/100; +var _32f=max-(_32e*diff); +_32f=Math.round(_32f); +return _32f; +}; +function __sp_device_sysinfo_toPercentage(_330){ +if(_330==0){ +return _330; +}else{ +var _331=max-_330; +var _332=_331/diff; +_332*=100; +_332=Math.round(_332); +return _332; +} +}; +function __sp_device_sysinfo_toBool(_333){ +if(_333==0){ +return false; +}else{ +return true; +} +}; +function mappingVerification(_334){ +if(_334==1016||_334==1012||_334==1010||_334==1009||_334==1005||_334==1000||_334==1011||_334==1007||_334==1003||_334==1002){ +return true; +}else{ +return false; +} +}; +function __sp_device_sysinfo_extract(_335){ +var _336=_335.Key; +var _337={}; +modifyObjectBaseProp(_337); +try{ +switch(_336){ +case "ChargingStatus": +_337.chargingStatus=__sp_device_sysinfo_toBool(_335.Status); +break; +case "BatteryStrength": +_337.batteryLevel=_335.Status; +break; +case "SignalStrength": +_337.signalStrength=__sp_device_sysinfo_toPercentage(_335.Status); +break; +case "CurrentNetwork": +var _338; +var mode; +switch(_335.NetworkStatus){ +case 0: +_338="Available"; +break; +case 1: +_338="Current"; +break; +case 2: +_338="Forbidden"; +break; +default: +_338="Unknown"; +break; +} +switch(_335.NetworkMode){ +case 1: +mode="ModeGsm"; +break; +case 3: +case 4: +mode="ModeCdma"; +break; +case 5: +mode="ModeWcdma"; +break; +default: +mode="Unknown"; +break; +} +_337.networkName=_335.NetworkName; +_337.networkStatus=_338; +_337.networkMode=mode; +_337.mobileCountryCode=_335.CountryCode; +_337.mobileNetworkCode=_335.NetworkCode; +_337.locationStatus=_335.LocationStatus; +_337.areaCode=_335.AreaCode; +_337.cellID=_335.CellId; +break; +case "DisplayLanguage": +_337.phoneLanguage=_335.StringData; +break; +case "BlueTooth": +_337.btOn=__sp_device_sysinfo_toBool(_335.Status); +break; +case "ProductType": +_337.productType=_335.StringData; +break; +case "FirmwareVersion": +_337.firmwareVersion=_335.StringData; +break; +case "DeviceInputMethod": +_337.deviceInputMethod=_335.StringData; +break; +default: +_337=_335; +break; +} +return _337; +} +catch(e){ +__device_handle_exception(e,"__sp_device_sysinfo_extract: "+e); +} +}; +function __sp_sysinfo_get(_33a,_33b,_33c){ +var so; +var rval; +var _33f=function(arg1,arg2,arg3){ +var _343=_33b; +var _344=_33c; +var op=null; +if(arg3.ErrorCode!=0){ +var _346=splitErrorMessage(arg3.ErrorMessage); +_344(new DeviceException(MapErrorCode[arg3.ErrorCode],"SysInfo:getChannel: "+_346)); +}else{ +if(arg3.ReturnValue){ +op=__sp_device_sysinfo_extract(arg3.ReturnValue); +arg3.ReturnValue.close(); +_343(op); +} +} +}; +var _347=false; +var _348="Status"; +var _349; +var _34a={}; +modifyObjectBaseProp(_34a); +try{ +switch(_33a){ +case "Charging": +_34a.Entity="Battery"; +_34a.Key="ChargingStatus"; +break; +case "BatteryLevel": +_34a.Entity="Battery"; +_34a.Key="BatteryStrength"; +_347=true; +break; +case "SignalStrength": +_34a.Entity="Network"; +_34a.Key="SignalStrength"; +_347=true; +break; +case "Network": +_34a.Entity="Network"; +_34a.Key="CurrentNetwork"; +_347=true; +break; +case "PhoneLanguage": +_34a.Entity="General"; +_34a.Key="DisplayLanguage"; +break; +case "BluetoothOn": +_34a.Entity="Connectivity"; +_34a.Key="BlueTooth"; +break; +case "ProductType": +_34a.Entity="Device"; +_34a.Key="ProductType"; +break; +case "FirmwareVersion": +_34a.Entity="Device"; +_34a.Key="FirmwareVersion"; +break; +case "DeviceInputMethod": +_34a.Entity="Device"; +_34a.Key="DeviceInputMethod"; +break; +default: +if(_33a==null){ +throw new DeviceException(MISSING_ARG_ERR,"SysInfo:getChannel:channel is missing"); +}else{ +if(typeof _33a!="string"){ +throw new DeviceException(error.INVALID_ARG_ERR,"SysInfo:getChannel:channel is of invalid type"); +}else{ +throw new DeviceException(INVALID_ARG_ERR,"SysInfo:getChannel:channel is invalid"); +} +} +} +if(_347){ +if(_33b==null){ +throw new DeviceException(MISSING_ARG_ERR,"SysInfo:getChannel:callback is missing"); +} +if(typeof _33b!="function"){ +throw new DeviceException(INVALID_ARG_ERR,"SysInfo:getChannel:callback is invalid"); +} +if(_33c){ +if(typeof (_33c)!="function"){ +throw new DeviceException(INVALID_ARG_ERR,"SysInfo:getChannel: ErrorCallback is invalid"); +} +} +rval=this.so.ISysInfo.GetInfo(_34a,_33f); +if(rval.ErrorCode!=0){ +var _34b=mappingVerification(rval.ErrorCode); +if(_34b){ +switch(MapErrorCode[rval.ErrorCode]){ +case MISSING_ARG_ERR: +case INVALID_ARG_ERR: +if(rval.ErrorMessage){ +var _34c=splitErrorMessage(rval.ErrorMessage); +throw new DeviceException(MapErrorCode[rval.ErrorCode],"SysInfo: getChannel: "+_34c); +}else{ +throw new DeviceException(MapErrorCode[rval.ErrorCode],"SysInfo:getChannel:Operation Failed"); +} +break; +default: +_33b(0); +} +}else{ +_33b(0); +} +} +return rval.TransactionID; +}else{ +rval=this.so.ISysInfo.GetInfo(_34a); +if(rval.ErrorCode!=0){ +if(rval.ErrorMessage){ +var _34d=splitErrorMessage(rval.ErrorMessage); +throw new DeviceException(MapErrorCode[rval.ErrorCode],"SysInfo: getChannel: "+_34d); +}else{ +throw new DeviceException(MapErrorCode[rval.ErrorCode],"SysInfo:getChannel:Operation Failed"); +} +} +_349=__sp_device_sysinfo_extract(rval.ReturnValue); +return _349; +} +delete _34a; +} +catch(e){ +__device_handle_exception(e,"__sp_sysinfo_get: getChannel: "+e); +} +}; +var __cell_id_channel={scb:null,ecb:null,cancel_id:null}; +function __cell_id_channel_cb(arg1,arg2,arg3){ +var op=null; +if(arg3.ErrorCode){ +__cell_id_channel.ecb(arg3.ErrorCode); +}else{ +if(arg3.ReturnValue){ +op=arg3.ReturnValue; +arg3.ReturnValue.close(); +__cell_id_channel.scb(op); +} +} +}; +var __charging_status_channel={scb:null,ecb:null,cancel_id:null}; +function __charging_status_channel_cb(arg1,arg2,arg3){ +var op=null; +if(arg3.ErrorCode){ +__charging_status_channel.ecb(arg3.ErrorCode); +}else{ +if(arg3.ReturnValue){ +op=__sp_device_sysinfo_extract(arg3.ReturnValue); +arg3.ReturnValue.close(); +__charging_status_channel.scb(op); +} +} +}; +var __net_coverage_channel={scb:null,ecb:null,cancel_id:null}; +function __net_coverage_channel_cb(arg1,arg2,arg3){ +var op=null; +if(arg3.ErrorCode){ +__net_coverage_channel.ecb(arg3.ErrorCode); +}else{ +if(arg3.ReturnValue){ +op=__sp_device_sysinfo_extract(arg3.ReturnValue); +arg3.ReturnValue.close(); +__net_coverage_channel.scb(op); +} +} +}; +var __battery_level_channel={scb:null,ecb:null,cancel_id:null}; +function __battery_level_channel_cb(arg1,arg2,arg3){ +var op=null; +if(arg3.ErrorCode){ +__battery_level_channel.ecb(arg3.ErrorCode); +}else{ +if(arg3.ReturnValue){ +op=__sp_device_sysinfo_extract(arg3.ReturnValue); +arg3.ReturnValue.close(); +__battery_level_channel.scb(op); +} +} +}; +var __bluetooth_on_channel={scb:null,ecb:null,cancel_id:null}; +function __bluetooth_on_channel_cb(arg1,arg2,arg3){ +var op=null; +if(arg3.ErrorCode){ +__bluetooth_on_channel.ecb(arg3.ErrorCode); +}else{ +if(arg3.ReturnValue){ +op=__sp_device_sysinfo_extract(arg3.ReturnValue); +arg3.ReturnValue.close(); +__bluetooth_on_channel.scb(op); +} +} +}; +var __signal_channel={scb:null,ecb:null,cancel_id:null}; +function __signal_channel_cb(arg1,arg2,arg3){ +var op=null; +if(arg3.ErrorCode){ +__signal_channel.ecb(arg3.ErrorCode); +}else{ +if(arg3.ReturnValue){ +op=__sp_device_sysinfo_extract(arg3.ReturnValue); +arg3.ReturnValue.close(); +__signal_channel.scb(op); +} +} +}; +function __sp_sysinfo_setNotifier(_366,_367,_368,_369){ +var rval; +var _36b=null; +var cb=null; +var _36d={}; +if(_366==null){ +throw new DeviceException(MISSING_ARG_ERR,"SysInfo:startChannel:callback is missing"); +} +if(typeof _366!="function"){ +throw new DeviceException(INVALID_ARG_ERR,"SysInfo:startChannel:callback is invalid"); +} +modifyObjectBaseProp(_36d); +try{ +switch(_367){ +case "Charging": +_36d.Entity="Battery"; +_36d.Key="ChargingStatus"; +_36b=__charging_status_channel; +cb=__charging_status_channel_cb; +break; +case "Network": +_36d.Entity="Network"; +_36d.Key="CurrentNetwork"; +_36b=__net_coverage_channel; +cb=__net_coverage_channel_cb; +break; +case "BatteryLevel": +_36d.Entity="Battery"; +_36d.Key="BatteryStrength"; +_36d.SystemData={}; +modifyObjectBaseProp(_36d.SystemData); +if(_368==null){ +_368=50; +} +if(!(_368>=0&&_368<=100)){ +throw new DeviceException(DATA_OUT_OF_RANGE_ERR,"SysInfo:startChannel:trigger is out of range"); +} +if(typeof _368!="number"){ +throw new DeviceException(INVALID_ARG_ERR,"SysInfo:startChannel:trigger is of invalid type"); +} +_36d.SystemData.Status=_368; +_36b=__battery_level_channel; +cb=__battery_level_channel_cb; +break; +case "SignalStrength": +_36d.Entity="Network"; +_36d.Key="SignalStrength"; +_36d.SystemData={}; +modifyObjectBaseProp(_36d.SystemData); +if(_368!=null){ +if(!(_368>=0&&_368<=100)){ +throw new DeviceException(DATA_OUT_OF_RANGE_ERR,"SysInfo:startChannel:trigger is out of range"); +} +if(typeof _368!="number"){ +throw new DeviceException(INVALID_ARG_ERR,"SysInfo:startChannel:trigger is of invalid type"); +} +_36d.SystemData.Status=__sp_device_sysinfo_toDecibel(_368); +} +_36b=__signal_channel; +cb=__signal_channel_cb; +break; +case "BluetoothOn": +_36d.Entity="Connectivity"; +_36d.Key="BlueTooth"; +_36b=__bluetooth_on_channel; +cb=__bluetooth_on_channel_cb; +break; +default: +var _36e; +if(_367==null){ +throw new DeviceException(MISSING_ARG_ERR,"SysInfo:startChannel:channel is missing"); +}else{ +if(typeof _367!="string"){ +throw new DeviceException(INVALID_ARG_ERR,"SysInfo:startChannel:channel is of invalid type"); +}else{ +throw new DeviceException(INVALID_ARG_ERR,"SysInfo:startChannel:channel is invalid"); +} +} +if(_36d.SystemData){ +delete _36d.SystemData; +} +} +_36b.scb=_366; +_36b.ecb=_369; +if(_36b.ecb){ +if(typeof (_36b.ecb)!="function"){ +throw new DeviceException(INVALID_ARG_ERR,"SysInfo:startChannel: ErrorCallback is invalid"); +} +} +if(_36b.cancel_id){ +var _36f={}; +modifyObjectBaseProp(_36f); +_36f.TransactionID=_36b.cancel_id; +this.so.ISysInfo.Cancel(_36f); +_36b.cancel_id=null; +delete _36f; +} +rval=this.so.ISysInfo.GetNotification(_36d,cb); +delete _36d; +if(rval.ErrorCode!=0){ +switch(MapErrorCode[rval.ErrorCode]){ +case MISSING_ARG_ERR: +case INVALID_ARG_ERR: +if(rval.ErrorMessage){ +var _370=splitErrorMessage(rval.ErrorMessage); +throw new DeviceException(MapErrorCode[rval.ErrorCode],"SysInfo: startChannel: "+_370); +}else{ +throw new DeviceException(MapErrorCode[rval.ErrorCode],"SysInfo:startChannel:Operation Failed"); +} +break; +default: +_366(0); +} +} +_36b.cancel_id=rval.TransactionID; +return _36b.cancel_id; +} +catch(e){ +__device_handle_exception(e,"__sp_sysinfo_startChannel: "+e); +} +}; +function __sp_sysinfo_cancelNotifier(_371){ +try{ +switch(_371){ +case "CellId": +channel=__cell_id_channel; +break; +case "Charging": +channel=__charging_status_channel; +break; +case "Network": +channel=__net_coverage_channel; +break; +case "BatteryLevel": +channel=__battery_level_channel; +break; +case "SignalStrength": +channel=__signal_channel; +break; +case "BluetoothOn": +channel=__bluetooth_on_channel; +break; +default: +var _372; +if(_371==null){ +throw new DeviceException(MISSING_ARG_ERR,"SysInfo:stopChannel:channel is missing"); +}else{ +if(typeof _371!="string"){ +throw new DeviceException(INVALID_ARG_ERR,"SysInfo:stopChannel:channel is of invalid type"); +}else{ +throw new DeviceException(INVALID_ARG_ERR,"SysInfo:stopChannel:channel is invalid"); +} +} +} +if(channel.cancel_id){ +var _373={}; +modifyObjectBaseProp(_373); +_373.TransactionID=channel.cancel_id; +var _374=this.so.ISysInfo.Cancel(_373); +delete _373; +if(_374.ErrorCode!=0){ +if(_374.ErrorMessage){ +var _375=splitErrorMessage(_374.ErrorMessage); +throw new DeviceException(MapErrorCode[_374.ErrorCode],"SysInfo: stopChannel: "+_375); +}else{ +throw new DeviceException(MapErrorCode[_374.ErrorCode],"SysInfo:stopChannel:Operation Failed"); +} +} +channel.cancel_id=null; +}else{ +throw new DeviceException(DATA_NOT_FOUND_ERR,"SysInfo:stopChannel:channel not started"); +} +} +catch(e){ +__device_handle_exception(e,"__sp_sysinfo_stopChannel: "+e); +} +}; +function __sp_sysinfo_cancel(_376){ +try{ +var _377=0; +if(_376==null){ +throw new DeviceException(MISSING_ARG_ERR,"SysInfo:cancel:Id is missing"); +} +if(typeof _376!="number"){ +throw new DeviceException(INVALID_ARG_ERR,"SysInfo:cancel:Id is of invalid type"); +} +if(_376==__charging_status_channel.cancel_id||_376==__net_coverage_channel.cancel_id||_376==__battery_level_channel.cancel_id||_376==__bluetooth_on_channel.cancel_id||_376==__signal_channel.cancel_id){ +_377=1; +} +if(_377!=1){ +var _378={TransactionID:_376}; +var _379=this.so.ISysInfo.Cancel(_378); +if(_379.ErrorCode!=0){ +if(_379.ErrorMessage){ +var _37a=splitErrorMessage(_379.ErrorMessage); +throw new DeviceException(INVALID_ARG_ERR,"SysInfo:cancel: "+_37a); +}else{ +throw new DeviceException(MapErrorCode[_379.ErrorCode],"SysInfo:cancel:Operation Failed"); +} +} +}else{ +_377=0; +throw new DeviceException(NOT_ALLOWED_ERR,"SysInfo:cancel:Cannot Cancel a channel started using startChannel "); +} +} +catch(e){ +__device_handle_exception(e,"__sp_sysinfo_cancel: "+e); +} +}; +var err_missing_argument=1003; +var err_bad_argument=1002; +var err_ServiceNotSupported=1004; +var err_InvalidService_Argument=1000; +function convertFromPS2JS(_37b){ +var _37c=new DeviceAPIError(0,"dummy"); +var _37d; +switch(_37b){ +case 1016: +_37d=_37c.TIMEOUT_ERR; +break; +case 1012: +_37d=_37c.DATA_NOT_FOUND_ERR; +break; +case 1010: +_37d=_37c.DATA_ALREADY_EXISTS_ERR; +break; +case 1009: +_37d=_37c.SERVICE_BUSY_ERR; +break; +case 1005: +_37d=_37c.SERVICE_IN_USE_ERR; +break; +default: +_37d=1001; +} +return _37d; +}; +function __sp_landmarks_descriptor(){ +this.interfaceName="landmarks"; +if(window.__Service_Interface_Ver){ +this.version=__Service_Interface_Ver; +}else{ +this.version=1; +} +}; +function __sp_landmarks_instance(){ +this.descriptor=new __sp_landmarks_descriptor(); +this.startEditor=__sp_landmarks_startEditor; +this.getCategories=__sp_landmarks_category_getList; +this.addCategory=__sp_landmarks_category_add; +this.updateCategory=__sp_landmarks_category_update; +this.deleteCategory=__sp_landmarks_category_delete; +this.getLandmarks=__sp_landmarks_getList; +this.addLandmark=__sp_landmarks_add; +this.updateLandmark=__sp_landmarks_update; +this.deleteLandmark=__sp_landmarks_delete; +this.importLandmarks=__sp_landmarks_import; +this.exportLandmarks=__sp_landmarks_export; +this.organizeLandmarks=__sp_landmarks_organize; +this.cancel=__sp_landmarks_cancel; +try{ +this.so=device.getServiceObject("Service.Landmarks","IDataSource"); +} +catch(e){ +__device_handle_exception(e,"Landmarks service not available"); +} +}; +var __SP_CATEGORY_MIN_LOCAL_ID=16; +var __sp_category_list=[{id:1,globalId:3000,name:"Accommodation"},{id:2,globalId:6000,name:"Businesses"},{id:3,globalId:9000,name:"Telecommunications"},{id:4,globalId:12000,name:"Education"},{id:5,globalId:15000,name:"Entertainment"},{id:6,globalId:18000,name:"Food and drink"},{id:7,globalId:21000,name:"Geographical locations"},{id:8,globalId:24000,name:"Outdoor activities"},{id:9,globalId:27000,name:"People"},{id:10,globalId:30000,name:"Public services"},{id:11,globalId:33000,name:"Places of worship"},{id:12,globalId:36000,name:"Shopping"},{id:13,globalId:39000,name:"Sightseeing"},{id:14,globalId:42000,name:"Sports"},{id:15,globalId:45000,name:"Transport"}]; +function __sp_landmarks_category_iterator(_37e){ +this.iter=_37e; +this.next=__sp_landmarks_category_iterator_get_next; +this.hasNext=__sp_landmarks_category_iterator_has_next; +this.hasElement=false; +this.catItem=null; +this.close=__sp_landmarks_category_close; +}; +function __sp_landmarks_category_close(){ +this.iter.close(); +}; +function __sp_landmarks_category_iterator_has_next(){ +if(this.hasElement){ +if(this.catItem!==null){ +return true; +}else{ +return false; +} +}else{ +this.catItem=this.iter.getNext(); +this.hasElement=true; +if(typeof this.catItem=="undefined"){ +this.catItem=null; +return false; +}else{ +return true; +} +} +}; +function __sp_landmarks_category_iterator_get_next(){ +if(this.hasElement){ +var _37f=new Object(); +_37f=this.catItem; +this.catItem=this.iter.getNext(); +if(typeof (this.catItem)=="undefined"){ +this.catItem=null; +} +return new __sp_device_category_obj(_37f); +}else{ +this.catItem=this.iter.getNext(); +if(typeof this.catItem=="undefined"){ +this.hasElement=true; +this.catItem=null; +return null; +}else{ +this.hasElement=true; +var _380=new Object(); +_380=this.lmItem; +this.catItem=this.iter.getNext(); +if(typeof (this.catItem)=="undefined"){ +this.catItem=null; +} +return new __sp_device_category_obj(_380); +} +} +}; +function __sp_landmarks_iterator(_381){ +this.iter=_381; +this.next=__sp_landmarks_iterator_get_next; +this.hasNext=__sp_landmarks_iterator_has_next; +this.hasElement=false; +this.lmItem=null; +this.close=__sp_landmarks_landmarkitem_close; +}; +function __sp_landmarks_landmarkitem_close(){ +this.iter.close(); +}; +function __sp_device_landmark_location_obj(_382){ +this.longitude=(_382.Longitude==undefined)?null:_382.Longitude; +this.latitude=(_382.Latitude==undefined)?null:_382.Latitude; +if(_382.Altitude){ +this.altitude=_382.Altitude; +} +if(_382.HAccuracy){ +this.hAccuracy=_382.HAccuracy; +} +if(_382.VAccuracy){ +this.vAccuracy=_382.VAccuracy; +} +}; +function __sp_landmark_position_obj(_383){ +if(_383.longitude!==undefined){ +this.Longitude=_383.longitude; +} +if(_383.latitude!==undefined){ +this.Longitude=_383.latitude; +} +}; +function __sp_landmark_position_obj_fromJS_2LIW(_384){ +this.Longitude=_384.longitude; +this.Latitude=_384.latitude; +if(_384.altitude){ +this.Altitude=_384.altitude; +} +if(_384.hAccuracy){ +this.HAccuracy=_384.hAccuracy; +} +if(_384.vAccuracy){ +this.VAccuracy=_384.vAccuracy; +} +}; +function __sp_landmark_bounded_area_obj(area){ +this.NorthLatitude=area.coordinate1.latitude; +this.SouthLatitude=area.coordinate2.latitude; +this.EastLongitude=area.coordinate1.longitude; +this.WestLongitude=area.coordinate2.longitude; +}; +function __sp_device_landmark_address_obj(_386){ +if(_386.Street){ +this.street=_386.Street; +} +if(_386.City){ +this.city=_386.City; +} +if(_386.state){ +this.state=_386.state; +} +if(_386.AreaCode){ +this.postalCode=_386.AreaCode; +} +if(_386.Country){ +this.country=_386.Country; +} +if(_386.BuildingName){ +this.building=_386.BuildingName; +} +if(_386.Telephone){ +this.phone=_386.Telephone; +} +}; +function __sp_landmark_address_obj(_387){ +if(_387.street){ +this.Street=_387.street; +} +if(_387.locale){ +this.City=_387.locale; +} +if(_387.region){ +this.District=_387.region; +} +if(_387.code){ +this.AreaCode=_387.code; +} +if(_387.country){ +this.Country=_387.country; +} +}; +function __sp_get_category_ids_for_names(_388){ +var _389=new Array(); +var _38a=0; +for(var i in _388){ +for(var ii in __sp_category_list){ +if(__sp_category_list[ii].name.toLowerCase()==_388[i].toLowerCase()){ +_389.push(__sp_category_list[ii].id.toString()); +_38a=1; +} +} +if(_38a==0){ +return null; +} +_38a=0; +} +return _389; +}; +function __sp_device_landmark_obj(_38d){ +this.landmarkId=_38d.id; +if(_38d.LandmarkName){ +this.name=_38d.LandmarkName; +} +if(_38d.LandmarkDesc){ +this.description=_38d.LandmarkDesc; +} +if(_38d.CoverageRadius){ +this.coverageRadius=_38d.CoverageRadius; +} +if(_38d.LandmarkPosition){ +this.position=new __sp_device_landmark_location_obj(_38d.LandmarkPosition); +} +if(_38d.CategoryInfo){ +this.categoryIds=_38d.CategoryInfo; +} +if(_38d.LandmarkFields){ +this.address=new __sp_device_landmark_address_obj(_38d.LandmarkFields); +} +}; +function __sp_landmark_obj(_38e,str){ +if(_38e.name){ +this.LandmarkName=_38e.name; +} +if(_38e.landmarkId){ +this.id=_38e.landmarkId; +} +if(_38e.description){ +this.LandmarkDesc=_38e.description; +} +if(_38e.position){ +this.LandmarkPosition=new __sp_landmark_position_obj_fromJS_2LIW(_38e.position); +} +if(_38e.coverageRadius){ +this.CoverageRadius=_38e.coverageRadius; +} +if(_38e.categories){ +this.CategoryInfo=__sp_get_category_ids_for_names(_38e.categories); +if(!this.CategoryInfo){ +throw new DeviceError("Landmarks: "+str+"Category is invalid",err_bad_argument); +} +} +if(_38e.address){ +this.LandmarkFields=new __sp_landmark_address_obj(_38e.address); +} +if(_38e.building){ +if(!this.LandmarkFields){ +this.LandmarkFields=new Object(); +modifyObjectBaseProp(this.LandmarkFields); +} +this.LandmarkFields.BuildingName=_38e.building; +} +if(_38e.phone){ +if(!this.LandmarkFields){ +this.LandmarkFields=new Object(); +modifyObjectBaseProp(this.LandmarkFields); +} +this.LandmarkFields.Telephone=_38e.phone; +} +}; +function __sp_landmarks_iterator_has_next(){ +if(this.hasElement){ +if(this.lmItem!==null){ +return true; +}else{ +return false; +} +}else{ +this.lmItem=this.iter.getNext(); +this.hasElement=true; +if(typeof this.lmItem=="undefined"){ +this.lmItem=null; +return false; +}else{ +return true; +} +} +}; +function __sp_landmarks_iterator_get_next(){ +if(this.hasElement){ +var _390=new Object(); +_390=this.lmItem; +this.lmItem=this.iter.getNext(); +if(typeof (this.lmItem)=="undefined"){ +this.lmItem=null; +} +return new __sp_device_landmark_obj(_390); +}else{ +this.lmItem=this.iter.getNext(); +if(typeof this.lmItem=="undefined"){ +this.hasElement=true; +this.lmItem=null; +return null; +}else{ +this.hasElement=true; +var _391=new Object(); +_391=this.lmItem; +this.lmItem=this.iter.getNext(); +if(typeof (this.lmItem)=="undefined"){ +this.lmItem=null; +} +return new __sp_device_landmark_obj(_391); +} +} +}; +function __sp_category_obj(_392){ +if(_392.name){ +this.CategoryName=_392.name; +} +if(_392.categoryId){ +this.id=_392.categoryId; +} +}; +function __sp_device_category_obj(_393){ +this.categoryId=_393.id; +this.name=_393.CategoryName; +}; +var LANDMARKS_APP_ID=270501282; +function __sp_landmarks_startEditor(_394,_395,_396){ +error=new DeviceAPIError(0,"dummy"); +if((_394===undefined)||(_394===null)||(_394==="")){ +throw new DeviceAPIError(error.MISSING_ARG_ERR,"StartEditor:Missing Success Callback"); +} +if((typeof _394)!="function"){ +throw new DeviceAPIError(error.INVALID_ARG_ERR,"StartEditor:Success Callback must be of type function"); +} +if(_395!==undefined){ +if((_395!==null)&&(_395!=="")){ +throw new DeviceAPIError(error.NOT_SUPPORTED_ERR,"startEditor:landmark item is not supported"); +} +} +if((_396!==undefined)&&(_396!==null)&&(_396!=="")){ +if((typeof _396)!="function"){ +throw new DeviceAPIError(error.INVALID_ARG_ERR,"StartEditor:error callback must be of type function"); +} +} +var _397=270501282; +var _398; +function __s60_on_app_exit(){ +window.xwidget.onshow=null; +if(_398){ +_398(); +} +}; +var _399=function(arg1,arg2,arg3){ +_394(arg1,arg2,arg3); +}; +__s60_start_and_wait(_397,"",_399); +}; +function __sp_landmarks_category_getList(_39d,name,_39f){ +try{ +var _3a0=new DeviceAPIError(0,"dummy"); +if((_39d===undefined)||(_39d==="")||(_39d===null)){ +throw new DeviceAPIError(_3a0.MISSING_ARG_ERR,"callback is missing"); +} +if(typeof (_39d)!="function"){ +throw new DeviceAPIError(_3a0.INVALID_ARG_ERR,"invalid callback argument"); +} +var _3a1=false; +if((_39f!==undefined)&&(_39f!==null)&&(_39f!=="")){ +if(typeof (_39f)!="function"){ +throw new DeviceAPIError(_3a0.INVALID_ARG_ERR,"invalid error callback argument"); +}else{ +_3a1=true; +} +} +var _3a2=new Object(); +modifyObjectBaseProp(_3a2); +_3a2.Type="Category"; +if((name!==undefined)&&(name!==null)&&(name!=="")){ +if(typeof (name)!="string"){ +throw new DeviceAPIError(_3a0.INVALID_ARG_ERR,"name must be a string"); +} +} +if(name){ +_3a2.Filter=new Object(); +modifyObjectBaseProp(_3a2.Filter); +_3a2.Filter.CategoryName=name; +_3a2.Filter.PreviousMatchesOnly=false; +} +this.invoker=function(arg1,arg2,arg3){ +var iter=null; +if(arg3.ErrorCode||(arg2==4)){ +var _3a7=convertFromPS2JS(arg3.ErrorCode); +var _3a8=new DeviceAPIError(_3a7,arg3.ErrorMessage); +if(_3a1){ +_39f(_3a8); +} +}else{ +if(arg3.ReturnValue){ +iter=new __sp_landmarks_category_iterator(arg3.ReturnValue); +_39d(iter); +} +} +}; +var rval=this.so.IDataSource.GetList(_3a2,this.invoker); +if(rval.ErrorCode!=0){ +switch(rval.ErrorCode){ +case 1003: +throw new DeviceAPIError(_3a0.MISSING_ARG_ERR,rval.ErrorMessage); +break; +case 1002: +throw new DeviceAPIError(_3a0.INVALID_ARG_ERR,rval.ErrorMessage); +break; +case 1004: +throw new DeviceAPIError(_3a0.NOT_SUPPORTED_ERR,rval.ErrorMessage); +break; +case 1000: +throw new DeviceAPIError(_3a0.INVALID_ARG_ERR,rval.ErrorMessage); +break; +default: +throw new DeviceAPIError(-101,"unknown error message"); +} +} +return rval.TransactionID; +} +catch(e){ +throw e; +} +}; +function __sp_landmarks_category_add(_3aa,_3ab,_3ac){ +try{ +var _3ad=new DeviceAPIError(0,"dummy"); +var _3ae=true; +if(_3aa===undefined){ +throw new DeviceAPIError(_3ad.MISSING_ARG_ERR,"AddSucessCallback is missing"); +}else{ +if(((_3aa===null)||(_3aa===""))&&(typeof (_3aa)!="number")){ +throw new DeviceAPIError(_3ad.MISSING_ARG_ERR,"AddSucessCallback is missing"); +}else{ +if(typeof (_3aa)!="function"){ +throw new DeviceAPIError(_3ad.INVALID_ARG_ERR,"invalid AddSucessCallback argument"); +} +} +} +if(_3ab===undefined||_3ab===null){ +throw new DeviceAPIError(_3ad.MISSING_ARG_ERR,"CategoryItem is missing"); +}else{ +if(typeof (_3ab)!=="object"){ +throw new DeviceAPIError(_3ad.INVALID_ARG_ERR,"invalid CategoryItem argument"); +} +} +if((_3ac!=undefined)){ +if((!_3ac)&&(typeof (_3ac)!="number")){ +_3ae=false; +}else{ +if((typeof (_3ac)!="function")){ +throw new DeviceAPIError(_3ad.INVALID_ARG_ERR,"invalid ErrorCallback callback"); +} +} +}else{ +_3ae=false; +} +this.invoker=function(arg1,arg2,arg3){ +var id=null; +if(arg2==4||arg3.ErrorCode){ +var _3b3=convertFromPS2JS(arg3.ErrorCode); +var _3b4=new DeviceAPIError(_3b3,arg3.ErrorMessage); +if(_3ae){ +_3ac(_3b4); +} +}else{ +if(arg3.ReturnValue){ +id=arg3.ReturnValue; +} +_3aa(id); +} +}; +var _3b5=new Object(); +modifyObjectBaseProp(_3b5); +_3b5.Type="Category"; +_3b5.Data=new __sp_category_obj(_3ab); +var rval=this.so.IDataSource.Add(_3b5,this.invoker); +if(rval.ErrorCode!=0){ +switch(rval.ErrorCode){ +case err_missing_argument: +throw new DeviceAPIError(_3ad.MISSING_ARG_ERR,rval.ErrorMessage); +break; +case err_bad_argument: +throw new DeviceAPIError(_3ad.INVALID_ARG_ERR,rval.ErrorMessage); +break; +case err_ServiceNotSupported: +throw new DeviceAPIError(_3ad.NOT_SUPPORTED_ERR,rval.ErrorMessage); +break; +case err_InvalidService_Argument: +throw new DeviceAPIError(_3ad.INVALID_ARG_ERR,rval.ErrorMessage); +break; +default: +throw new DeviceAPIError(-101,"unknown error message"); +} +} +return rval.TransactionID; +} +catch(e){ +throw e; +} +}; +function __sp_landmarks_add(_3b7,_3b8,_3b9){ +try{ +var _3ba=new DeviceAPIError(0,"dummy"); +var _3bb=true; +if(_3b7===undefined){ +throw new DeviceAPIError(_3ba.MISSING_ARG_ERR,"AddSucessCallback is missing"); +}else{ +if(((_3b7===null)||(_3b7===""))&&(typeof (_3b7)!="number")){ +throw new DeviceAPIError(_3ba.MISSING_ARG_ERR,"AddSucessCallback is missing"); +}else{ +if(typeof (_3b7)!="function"){ +throw new DeviceAPIError(_3ba.INVALID_ARG_ERR,"invalid AddSucessCallback argument"); +} +} +} +if(_3b8===undefined||_3b8===null){ +throw new DeviceAPIError(_3ba.MISSING_ARG_ERR,"LandmarkItem is missing"); +}else{ +if(typeof (_3b8)!=="object"){ +throw new DeviceAPIError(_3ba.INVALID_ARG_ERR,"invalid LandmarkItem argument"); +} +} +if((_3b9!=undefined)){ +if((!_3b9)&&(typeof (_3b9)!="number")){ +_3bb=false; +}else{ +if((typeof (_3b9)!="function")){ +throw new DeviceAPIError(_3ba.INVALID_ARG_ERR,"invalid ErrorCallback callback"); +} +} +}else{ +_3bb=false; +} +this.invoker=function(arg1,arg2,arg3){ +var id=null; +if(arg2==4||arg3.ErrorCode){ +var _3c0=convertFromPS2JS(arg3.ErrorCode); +var _3c1=new DeviceAPIError(_3c0,arg3.ErrorMessage); +if(_3bb){ +_3b9(_3c1); +} +}else{ +if(arg3.ReturnValue){ +id=arg3.ReturnValue; +} +_3b7(id); +} +}; +var str="addLandmark: "; +var _3c3=new Object(); +modifyObjectBaseProp(_3c3); +_3c3.Type="Landmark"; +_3c3.Data=new __sp_landmark_obj(_3b8,str); +var rval=this.so.IDataSource.Add(_3c3,this.invoker); +if(rval.ErrorCode!=0){ +switch(rval.ErrorCode){ +case err_missing_argument: +throw new DeviceAPIError(_3ba.MISSING_ARG_ERR,rval.ErrorMessage); +break; +case err_bad_argument: +throw new DeviceAPIError(_3ba.INVALID_ARG_ERR,rval.ErrorMessage); +break; +case err_ServiceNotSupported: +throw new DeviceAPIError(_3ba.NOT_SUPPORTED_ERR,rval.ErrorMessage); +break; +case err_InvalidService_Argument: +throw new DeviceAPIError(_3ba.INVALID_ARG_ERR,rval.ErrorMessage); +break; +default: +throw new DeviceAPIError(-101,"unknown error message"); +} +} +return rval.TransactionID; +} +catch(e){ +throw e; +} +}; +function __sp_landmarks_delete(_3c5,_3c6,_3c7){ +try{ +var _3c8=new DeviceAPIError(0,"dummy"); +var _3c9=true; +if(_3c5===undefined){ +throw new DeviceAPIError(_3c8.MISSING_ARG_ERR,"SucessCallback is missing"); +}else{ +if(((_3c5===null)||(_3c5===""))&&(typeof (_3c5)!="number")){ +throw new DeviceAPIError(_3c8.MISSING_ARG_ERR,"SucessCallback is missing"); +}else{ +if(typeof (_3c5)!="function"){ +throw new DeviceAPIError(_3c8.INVALID_ARG_ERR,"invalid SucessCallback argument"); +} +} +} +if(_3c6===undefined||_3c6===null){ +throw new DeviceAPIError(_3c8.MISSING_ARG_ERR,"landmarkId is missing"); +}else{ +if(typeof (_3c6)!=="string"){ +throw new DeviceAPIError(_3c8.INVALID_ARG_ERR,"invalid landmarkId argument"); +} +} +if((_3c7!=undefined)){ +if((!_3c7)&&(typeof (_3c7)!="number")){ +_3c9=false; +}else{ +if((typeof (_3c7)!="function")){ +throw new DeviceAPIError(_3c8.INVALID_ARG_ERR,"invalid ErrorCallback callback"); +} +} +}else{ +_3c9=false; +} +this.invoker=function(arg1,arg2,arg3){ +if(arg2==4||arg3.ErrorCode){ +var _3cd=convertFromPS2JS(arg3.ErrorCode); +var _3ce=new DeviceAPIError(_3cd,arg3.ErrorMessage); +if(_3c9){ +_3c7(_3ce); +} +}else{ +_3c5(); +} +}; +var _3cf=new Object(); +modifyObjectBaseProp(_3cf); +_3cf.Type="Landmark"; +_3cf.Data=new Object(); +modifyObjectBaseProp(_3cf.Data); +_3cf.Data.id=_3c6; +var rval=this.so.IDataSource.Delete(_3cf,this.invoker); +if(rval.ErrorCode!=0){ +switch(rval.ErrorCode){ +case err_missing_argument: +throw new DeviceAPIError(_3c8.MISSING_ARG_ERR,rval.ErrorMessage); +break; +case err_bad_argument: +throw new DeviceAPIError(_3c8.INVALID_ARG_ERR,rval.ErrorMessage); +break; +case err_ServiceNotSupported: +throw new DeviceAPIError(_3c8.NOT_SUPPORTED_ERR,rval.ErrorMessage); +break; +case err_InvalidService_Argument: +throw new DeviceAPIError(_3c8.INVALID_ARG_ERR,rval.ErrorMessage); +break; +default: +throw new DeviceAPIError(-101,"unknown error message"); +} +} +return rval.TransactionID; +} +catch(e){ +throw e; +} +}; +function __sp_landmarks_update(_3d1,_3d2,_3d3){ +try{ +var _3d4=new DeviceAPIError(0,"dummy"); +var _3d5=true; +if(_3d1===undefined){ +throw new DeviceAPIError(_3d4.MISSING_ARG_ERR,"SuccessCallback is missing"); +}else{ +if(((_3d1===null)||(_3d1===""))&&(typeof (_3d1)!="number")){ +throw new DeviceAPIError(_3d4.MISSING_ARG_ERR,"SuccessCallback is missing"); +}else{ +if(typeof (_3d1)!="function"){ +throw new DeviceAPIError(_3d4.INVALID_ARG_ERR,"invalid SuccessCallback argument"); +} +} +} +if(_3d2===undefined||_3d2===null){ +throw new DeviceAPIError(_3d4.MISSING_ARG_ERR,"LandmarkItem is missing"); +}else{ +if(typeof (_3d2)!=="object"){ +throw new DeviceAPIError(_3d4.INVALID_ARG_ERR,"invalid LandmarkItem argument"); +} +} +if((_3d3!=undefined)){ +if((!_3d3)&&(typeof (_3d3)!="number")){ +_3d5=false; +}else{ +if((typeof (_3d3)!="function")){ +throw new DeviceAPIError(_3d4.INVALID_ARG_ERR,"invalid ErrorCallback callback"); +} +} +}else{ +_3d5=false; +} +this.invoker=function(arg1,arg2,arg3){ +if(arg2==4||arg3.ErrorCode){ +var _3d9=convertFromPS2JS(arg3.ErrorCode); +var _3da=new DeviceAPIError(_3d9,arg3.ErrorMessage); +if(_3d5){ +_3d3(_3da); +} +}else{ +_3d1(); +} +}; +var str="updateLandmark: "; +var _3dc=new Object(); +modifyObjectBaseProp(_3dc); +_3dc.Type="Landmark"; +_3dc.Data=new __sp_landmark_obj(_3d2,str); +var rval=this.so.IDataSource.Add(_3dc,this.invoker); +if(rval.ErrorCode!=0){ +switch(rval.ErrorCode){ +case err_missing_argument: +throw new DeviceAPIError(_3d4.MISSING_ARG_ERR,rval.ErrorMessage); +break; +case err_bad_argument: +throw new DeviceAPIError(_3d4.INVALID_ARG_ERR,rval.ErrorMessage); +break; +case err_ServiceNotSupported: +throw new DeviceAPIError(_3d4.NOT_SUPPORTED_ERR,rval.ErrorMessage); +break; +case err_InvalidService_Argument: +throw new DeviceAPIError(_3d4.INVALID_ARG_ERR,rval.ErrorMessage); +break; +default: +throw new DeviceAPIError(-101,"unknown error message"); +} +} +return rval.TransactionID; +} +catch(e){ +throw e; +} +}; +function __sp_landmarks_category_update(_3de,_3df,_3e0){ +try{ +var _3e1=new DeviceAPIError(0,"dummy"); +var _3e2=true; +if(_3de===undefined){ +throw new DeviceAPIError(_3e1.MISSING_ARG_ERR,"SucessCallback is missing"); +}else{ +if(((_3de===null)||(_3de===""))&&(typeof (_3de)!="number")){ +throw new DeviceAPIError(_3e1.MISSING_ARG_ERR,"SucessCallback is missing"); +}else{ +if(typeof (_3de)!="function"){ +throw new DeviceAPIError(_3e1.INVALID_ARG_ERR,"invalid SucessCallback argument"); +} +} +} +if(_3df===undefined||_3df===null){ +throw new DeviceAPIError(_3e1.MISSING_ARG_ERR,"CategoryItem is missing"); +}else{ +if(typeof (_3df)!=="object"){ +throw new DeviceAPIError(_3e1.INVALID_ARG_ERR,"invalid CategoryItem argument"); +} +} +if((_3e0!=undefined)){ +if((!_3e0)&&(typeof (_3e0)!="number")){ +_3e2=false; +}else{ +if((typeof (_3e0)!="function")){ +throw new DeviceAPIError(_3e1.INVALID_ARG_ERR,"invalid ErrorCallback callback"); +} +} +}else{ +_3e2=false; +} +this.invoker=function(arg1,arg2,arg3){ +if(arg2==4||arg3.ErrorCode){ +var _3e6=convertFromPS2JS(arg3.ErrorCode); +var _3e7=new DeviceAPIError(_3e6,arg3.ErrorMessage); +if(_3e2){ +_3e0(_3e7); +} +}else{ +_3de(); +} +}; +var _3e8=new Object(); +modifyObjectBaseProp(_3e8); +_3e8.Type="Category"; +_3e8.Data=new __sp_category_obj(_3df); +var rval=this.so.IDataSource.Add(_3e8,this.invoker); +if(rval.ErrorCode!=0){ +switch(rval.ErrorCode){ +case err_missing_argument: +throw new DeviceAPIError(_3e1.MISSING_ARG_ERR,rval.ErrorMessage); +break; +case err_bad_argument: +throw new DeviceAPIError(_3e1.INVALID_ARG_ERR,rval.ErrorMessage); +break; +case err_ServiceNotSupported: +throw new DeviceAPIError(_3e1.NOT_SUPPORTED_ERR,rval.ErrorMessage); +break; +case err_InvalidService_Argument: +throw new DeviceAPIError(_3e1.INVALID_ARG_ERR,rval.ErrorMessage); +break; +default: +throw new DeviceAPIError(-101,"unknown error message"); +} +} +return rval.TransactionID; +} +catch(e){ +throw e; +} +}; +function __sp_landmarks_category_delete(_3ea,_3eb,_3ec){ +try{ +var _3ed=new DeviceAPIError(0,"dummy"); +var _3ee=true; +if(_3ea===undefined){ +throw new DeviceAPIError(_3ed.MISSING_ARG_ERR,"SucessCallback is missing"); +}else{ +if(((_3ea===null)||(_3ea===""))&&(typeof (_3ea)!="number")){ +throw new DeviceAPIError(_3ed.MISSING_ARG_ERR,"SucessCallback is missing"); +}else{ +if(typeof (_3ea)!="function"){ +throw new DeviceAPIError(_3ed.INVALID_ARG_ERR,"invalid SucessCallback argument"); +} +} +} +if(_3eb===undefined||_3eb===null){ +throw new DeviceAPIError(_3ed.MISSING_ARG_ERR,"categoryId is missing"); +}else{ +if(typeof (_3eb)!=="string"){ +throw new DeviceAPIError(_3ed.INVALID_ARG_ERR,"invalid categoryId argument"); +} +} +if((_3ec!=undefined)){ +if((!_3ec)&&(typeof (_3ec)!="number")){ +_3ee=false; +}else{ +if((typeof (_3ec)!="function")){ +throw new DeviceAPIError(_3ed.INVALID_ARG_ERR,"invalid ErrorCallback callback"); +} +} +}else{ +_3ee=false; +} +this.invoker=function(arg1,arg2,arg3){ +if(arg2==4||arg3.ErrorCode){ +var _3f2=convertFromPS2JS(arg3.ErrorCode); +var _3f3=new DeviceAPIError(_3f2,arg3.ErrorMessage); +if(_3ee){ +_3ec(_3f3); +} +}else{ +_3ea(); +} +}; +var _3f4=new Object(); +modifyObjectBaseProp(_3f4); +_3f4.Type="Category"; +_3f4.Data=new Object(); +modifyObjectBaseProp(_3f4.Data); +_3f4.Data.id=_3eb; +var rval=this.so.IDataSource.Delete(_3f4,this.invoker); +if(rval.ErrorCode!=0){ +switch(rval.ErrorCode){ +case err_missing_argument: +throw new DeviceAPIError(_3ed.MISSING_ARG_ERR,rval.ErrorMessage); +break; +case err_bad_argument: +throw new DeviceAPIError(_3ed.INVALID_ARG_ERR,rval.ErrorMessage); +break; +case err_ServiceNotSupported: +throw new DeviceAPIError(_3ed.NOT_SUPPORTED_ERR,rval.ErrorMessage); +break; +case err_InvalidService_Argument: +throw new DeviceAPIError(_3ed.INVALID_ARG_ERR,rval.ErrorMessage); +break; +default: +throw new DeviceAPIError(-101,"unknown error message"); +} +} +return rval.TransactionID; +} +catch(e){ +throw e; +} +}; +function __sp_landmarks_getList(_3f6,_3f7,_3f8){ +try{ +var _3f9=new DeviceAPIError(0,"dummy"); +var _3fa=true; +var _3fb=false; +var _3fc=false; +if(_3f6===undefined){ +throw new DeviceAPIError(_3f9.MISSING_ARG_ERR,"SucessCallback is missing"); +}else{ +if(((_3f6===null)||(_3f6===""))&&(typeof (_3f6)!="number")){ +throw new DeviceAPIError(_3f9.MISSING_ARG_ERR,"SucessCallback is missing"); +}else{ +if(typeof (_3f6)!="function"){ +throw new DeviceAPIError(_3f9.INVALID_ARG_ERR,"invalid SucessCallback argument"); +} +} +} +if(_3f7!==undefined){ +if((typeof (_3f7)!="object")){ +if((_3f7===null||_3f7==="")&&(typeof (_3f7)!="number")){ +_3fb=true; +_3fc=true; +}else{ +if(typeof (_3f7)=="string"){ +_3fb=true; +_3fc=false; +}else{ +throw new DeviceAPIError(_3f9.INVALID_ARG_ERR,"invalid match criteria"); +} +} +} +if(typeof (_3f7)!="object"){ +if(!_3fb){ +throw new DeviceAPIError(_3f9.INVALID_ARG_ERR,"invalid match criteria"); +} +} +} +if((_3f8!=undefined)){ +if((!_3f8)&&(typeof (_3f8)!="number")){ +_3fa=false; +}else{ +if((typeof (_3f8)!="function")){ +throw new DeviceAPIError(_3f9.INVALID_ARG_ERR,"invalid error callback"); +} +} +}else{ +_3fa=false; +} +var _3fd=new Object(); +modifyObjectBaseProp(_3fd); +_3fd.Type="Landmark"; +if(_3f7){ +_3fd.Filter=new Object(); +modifyObjectBaseProp(_3fd.Filter); +if(typeof _3f7=="object"){ +if(_3f7.name!==undefined){ +_3fd.Filter.LandmarkName=_3f7.name; +} +if(_3f7.description!==undefined){ +_3fd.Filter.LandmarkDesc=_3f7.description; +} +if(_3f7.categoryId!==undefined){ +_3fd.Filter.categoryId=_3f7.categoryId; +} +if(_3f7.position!==undefined){ +if((_3f7.position!==null)&&(_3f7.position!=="")&&(typeof (_3f7.position)!="object")){ +throw new DeviceAPIError(_3f9.INVALID_ARG_ERR,"position must be an object"); +} +if(_3f7.position===null){ +} +if(_3f7.position===""){ +throw new DeviceAPIError(_3f9.INVALID_ARG_ERR,"position must be an object"); +} +if(_3f7.position){ +_3fd.Filter.LandmarkPosition=new __sp_landmark_position_obj(_3f7.position); +} +} +if(_3f7.coverageRadiusUsed!==undefined){ +_3fd.Filter.CoverageRadiusOption=_3f7.coverageRadiusUsed; +} +if(_3f7.searchRadius!==undefined){ +_3fd.Filter.MaximumDistance=_3f7.searchRadius; +} +if(_3f7.area!==undefined){ +if((_3f7.area!==null)&&(_3f7.area!=="")&&(typeof (_3f7.area)!="object")){ +throw new DeviceAPIError(_3f9.INVALID_ARG_ERR,"area must be an object"); +} +if(_3f7.area===null){ +_3fd.Filter.BoundedArea=null; +} +if(_3f7.area===""){ +throw new DeviceAPIError(_3f9.INVALID_ARG_ERR,"area must be an object"); +} +if(_3f7.area){ +_3fd.Filter.LandmarkPosition=new __sp_landmark_bounded_area_obj(_3f7.area); +} +} +}else{ +if(__device_typeof(_3f7).toLowerCase()=="string"){ +_3fd.Filter.LandmarkName=_3f7; +} +} +} +this.invoker=function(arg1,arg2,arg3){ +var iter=null; +if(arg3.ErrorCode||(arg2==4)){ +var _402=convertFromPS2JS(arg3.ErrorCode); +var _403=new DeviceAPIError(_402,arg3.ErrorMessage); +if(_3fa){ +_3f8(_403); +} +}else{ +if(arg3.ReturnValue){ +iter=new __sp_landmarks_iterator(arg3.ReturnValue); +} +_3f6(iter); +} +}; +var rval=this.so.IDataSource.GetList(_3fd,this.invoker); +if(rval.ErrorCode!=0){ +switch(rval.ErrorCode){ +case 1003: +throw new DeviceAPIError(_3f9.MISSING_ARG_ERR,rval.ErrorMessage); +break; +case 1002: +throw new DeviceAPIError(_3f9.INVALID_ARG_ERR,rval.ErrorMessage); +break; +case 1004: +throw new DeviceAPIError(_3f9.NOT_SUPPORTED_ERR,rval.ErrorMessage); +break; +case 1000: +throw new DeviceAPIError(_3f9.INVALID_ARG_ERR,rval.ErrorMessage); +break; +default: +throw new DeviceAPIError(-101,"unknown error message"); +} +} +return rval.TransactionID; +} +catch(e){ +throw e; +} +}; +function __sp_landmarks_import(_405,_406,_407,_408){ +try{ +var _409=new DeviceAPIError(0,"dummy"); +var _40a=true; +if(_405===undefined){ +throw new DeviceAPIError(_409.MISSING_ARG_ERR,"LandmarksItrCallback is missing"); +}else{ +if(((_405===null)||(_405===""))&&(typeof (_405)!="number")){ +throw new DeviceAPIError(_409.MISSING_ARG_ERR,"LandmarksItrCallback is missing"); +}else{ +if(typeof (_405)!="function"){ +throw new DeviceAPIError(_409.INVALID_ARG_ERR,"invalid LandmarksItrCallback argument"); +} +} +} +if(_406===undefined||_406===null){ +throw new DeviceAPIError(_409.MISSING_ARG_ERR,"sourceFileUri is missing"); +}else{ +if(typeof (_406)!=="string"){ +throw new DeviceAPIError(_409.INVALID_ARG_ERR,"invalid sourceFileUri argument"); +} +} +if(_407===undefined||_407===null){ +throw new DeviceAPIError(_409.MISSING_ARG_ERR,"mimetype is missing"); +}else{ +if(typeof (_407)!=="string"){ +throw new DeviceAPIError(_409.INVALID_ARG_ERR,"invalid mimetype argument"); +} +} +if((_408!=undefined)){ +if((!_408)&&(typeof (_408)!="number")){ +_40a=false; +}else{ +if((typeof (_408)!="function")){ +throw new DeviceAPIError(_409.INVALID_ARG_ERR,"invalid ErrorCallback callback"); +} +} +}else{ +_40a=false; +} +this.invoker=function(arg1,arg2,arg3){ +var iter=null; +if(arg2==4||arg3.ErrorCode){ +var _40f=convertFromPS2JS(arg3.ErrorCode); +var _410=new DeviceAPIError(_40f,arg3.ErrorMessage); +if(_40a){ +_408(_410); +} +}else{ +if(arg3.ReturnValue){ +iter=new __sp_landmarks_iterator(arg3.ReturnValue); +} +_405(iter); +} +}; +var _411=new Object(); +modifyObjectBaseProp(_411); +_411.Type="Landmark"; +_411.Data=new Object(); +modifyObjectBaseProp(_411.Data); +if(_406.slice(0,7)=="file://"){ +_406=_406.slice(7); +}else{ +if(_406.slice(0,8)=="file:///"){ +_406=_406.slice(8); +}else{ +throw new DeviceAPIError(_409.INVALID_ARG_ERR,"sourceFileUri is not in URI format"); +} +} +while(_406.search("/")!=-1){ +_406=_406.replace("/","\\"); +} +_411.Data.SourceFile=_406; +_411.Data.MimeType=_407; +var rval=this.so.IDataSource.Import(_411,this.invoker); +if(rval.ErrorCode!=0){ +switch(rval.ErrorCode){ +case err_missing_argument: +throw new DeviceAPIError(_409.MISSING_ARG_ERR,rval.ErrorMessage); +break; +case err_bad_argument: +throw new DeviceAPIError(_409.INVALID_ARG_ERR,rval.ErrorMessage); +break; +case err_ServiceNotSupported: +throw new DeviceAPIError(_409.NOT_SUPPORTED_ERR,rval.ErrorMessage); +break; +case err_InvalidService_Argument: +throw new DeviceAPIError(_409.INVALID_ARG_ERR,rval.ErrorMessage); +break; +default: +throw new DeviceAPIError(-101,"unknown error message"); +} +} +return rval.TransactionID; +} +catch(e){ +throw e; +} +}; +function __sp_landmarks_export(_413,_414,_415,_416,_417){ +try{ +var _418=new DeviceAPIError(0,"dummy"); +var _419=true; +if(_413===undefined){ +throw new DeviceAPIError(_418.MISSING_ARG_ERR,"SuccessCallback is missing"); +}else{ +if(((_413===null)||(_413===""))&&(typeof (_413)!="number")){ +throw new DeviceAPIError(_418.MISSING_ARG_ERR,"SuccessCallback is missing"); +}else{ +if(typeof (_413)!="function"){ +throw new DeviceAPIError(_418.INVALID_ARG_ERR,"invalid SuccessCallback argument"); +} +} +} +if(_414===undefined||_414===null){ +throw new DeviceAPIError(_418.MISSING_ARG_ERR,"landmarkIdList is missing"); +}else{ +if(typeof (_414)!=="object"){ +throw new DeviceAPIError(_418.INVALID_ARG_ERR,"invalid landmarkIdList argument"); +} +} +if(_415===undefined||_415===null){ +throw new DeviceAPIError(_418.MISSING_ARG_ERR,"destFileUri is missing"); +}else{ +if(typeof (_415)!=="string"){ +throw new DeviceAPIError(_418.INVALID_ARG_ERR,"invalid destFileUri argument"); +} +} +if(_416===undefined||_416===null){ +throw new DeviceAPIError(_418.MISSING_ARG_ERR,"mimetype is missing"); +}else{ +if(typeof (_416)!=="string"){ +throw new DeviceAPIError(_418.INVALID_ARG_ERR,"invalid mimetype argument"); +} +} +if((_417!=undefined)){ +if((!_417)&&(typeof (_417)!="number")){ +_419=false; +}else{ +if((typeof (_417)!="function")){ +throw new DeviceAPIError(_418.INVALID_ARG_ERR,"invalid ErrorCallback callback"); +} +} +}else{ +_419=false; +} +this.invoker=function(arg1,arg2,arg3){ +if(arg2==4||arg3.ErrorCode){ +var _41d=convertFromPS2JS(arg3.ErrorCode); +var _41e=new DeviceAPIError(_41d,arg3.ErrorMessage); +if(_419){ +_417(_41e); +} +}else{ +_413(); +} +}; +var _41f=new Object(); +modifyObjectBaseProp(_41f); +_41f.Type="Landmark"; +_41f.Data=new Object(); +modifyObjectBaseProp(_41f.Data); +if(_415.slice(0,7)=="file://"){ +_415=_415.slice(7); +}else{ +if(_415.slice(0,8)=="file:///"){ +_415=_415.slice(8); +}else{ +throw new DeviceAPIError(_418.INVALID_ARG_ERR,"destFileUri is not in URI format"); +} +} +while(_415.search("/")!=-1){ +_415=_415.replace("/","\\"); +} +_41f.Data.DestinationFile=_415; +_41f.Data.IdList=_414; +_41f.Data.MimeType=_416; +var rval=this.so.IDataSource.Export(_41f,this.invoker); +if(rval.ErrorCode!=0){ +switch(rval.ErrorCode){ +case err_missing_argument: +throw new DeviceAPIError(_418.MISSING_ARG_ERR,rval.ErrorMessage); +break; +case err_bad_argument: +throw new DeviceAPIError(_418.INVALID_ARG_ERR,rval.ErrorMessage); +break; +case err_ServiceNotSupported: +throw new DeviceAPIError(_418.NOT_SUPPORTED_ERR,rval.ErrorMessage); +break; +case err_InvalidService_Argument: +throw new DeviceAPIError(_418.INVALID_ARG_ERR,rval.ErrorMessage); +break; +default: +throw new DeviceAPIError(-101,"unknown error message"); +} +} +return rval.TransactionID; +} +catch(e){ +throw e; +} +}; +function __sp_landmarks_organize(_421,_422,_423,_424,_425){ +try{ +var _426=new DeviceAPIError(0,"dummy"); +var _427=true; +if(_421===undefined){ +throw new DeviceAPIError(_426.MISSING_ARG_ERR,"SuccessCallback is missing"); +}else{ +if(((_421===null)||(_421===""))&&(typeof (_421)!="number")){ +throw new DeviceAPIError(_426.MISSING_ARG_ERR,"SuccessCallback is missing"); +}else{ +if(typeof (_421)!="function"){ +throw new DeviceAPIError(_426.INVALID_ARG_ERR,"invalid SuccessCallback argument"); +} +} +} +if(_422===undefined||_422===null){ +throw new DeviceAPIError(_426.MISSING_ARG_ERR,"landmarkIdList is missing"); +}else{ +if(typeof (_422)!=="object"){ +throw new DeviceAPIError(_426.INVALID_ARG_ERR,"invalid LandmarkItem argument"); +} +} +if(_423===undefined||_423===null){ +throw new DeviceAPIError(_426.MISSING_ARG_ERR,"categoryId is missing"); +}else{ +if(typeof (_423)!=="string"){ +throw new DeviceAPIError(_426.INVALID_ARG_ERR,"invalid categoryId argument"); +} +} +if(_424===undefined||_424===null){ +_424=true; +}else{ +if(typeof (_424)!=="boolean"){ +throw new DeviceAPIError(_426.INVALID_ARG_ERR,"invalid associate argument"); +} +} +if((_425!=undefined)){ +if((!_425)&&(typeof (_425)!="number")){ +_427=false; +}else{ +if((typeof (_425)!="function")){ +throw new DeviceAPIError(_426.INVALID_ARG_ERR,"invalid ErrorCallback callback"); +} +} +}else{ +_427=false; +} +this.invoker=function(arg1,arg2,arg3){ +if(arg2==4||arg3.ErrorCode){ +var _42b=convertFromPS2JS(arg3.ErrorCode); +var _42c=new DeviceAPIError(_42b,arg3.ErrorMessage); +if(_427){ +_425(_42c); +} +}else{ +_421(); +} +}; +var _42d=new Object(); +modifyObjectBaseProp(_42d); +_42d.Type="Landmark"; +_42d.Data=new Object(); +modifyObjectBaseProp(_42d.Data); +_42d.Data.id=_423; +_42d.Data.IdList=_422; +if(_424){ +_42d.OperationType="Associate"; +}else{ +_42d.OperationType="Disassociate"; +} +var rval=this.so.IDataSource.Organise(_42d,this.invoker); +if(rval.ErrorCode!=0){ +switch(rval.ErrorCode){ +case err_missing_argument: +throw new DeviceAPIError(_426.MISSING_ARG_ERR,rval.ErrorMessage); +break; +case err_bad_argument: +throw new DeviceAPIError(_426.INVALID_ARG_ERR,rval.ErrorMessage); +break; +case err_ServiceNotSupported: +throw new DeviceAPIError(_426.NOT_SUPPORTED_ERR,rval.ErrorMessage); +break; +case err_InvalidService_Argument: +throw new DeviceAPIError(_426.INVALID_ARG_ERR,rval.ErrorMessage); +break; +default: +throw new DeviceAPIError(-101,"unknown error message"); +} +} +return rval.TransactionID; +} +catch(e){ +throw e; +} +}; +function __sp_landmarks_cancel(_42f){ +try{ +if(_42f===undefined||_42f===null){ +throw new DeviceAPIError(error.MISSING_ARG_ERR,"transactionId is missing"); +}else{ +if(typeof (_42f)!=="number"){ +throw new DeviceAPIError(error.INVALID_ARG_ERR,"invalid transactionId argument"); +} +} +var _430=new Object(); +modifyObjectBaseProp(_430); +_430.TransactionID=_42f; +var rval=this.so.IDataSource.Cancel(_430); +if(rval.ErrorCode!=0){ +switch(rval.ErrorCode){ +case err_missing_argument: +throw new DeviceAPIError(error.MISSING_ARG_ERR,rval.ErrorMessage); +break; +case err_bad_argument: +throw new DeviceAPIError(error.INVALID_ARG_ERR,rval.ErrorMessage); +break; +case err_ServiceNotSupported: +throw new DeviceAPIError(error.NOT_SUPPORTED_ERR,rval.ErrorMessage); +break; +case err_InvalidService_Argument: +throw new DeviceAPIError(error.INVALID_ARG_ERR,rval.ErrorMessage); +break; +default: +throw new DeviceAPIError(-101,"unknown error message"); +} +} +} +catch(e){ +throw e; +} +}; + diff -r 50974a8b132e -r 5d0ec8b709be serviceproviders/rom/serviceapi.iby --- a/serviceproviders/rom/serviceapi.iby Tue Nov 24 08:56:33 2009 +0200 +++ b/serviceproviders/rom/serviceapi.iby Thu Dec 17 09:09:50 2009 +0200 @@ -70,7 +70,10 @@ ECOM_PLUGIN(serviceregistryprovider.dll, serviceregistryprovider.rsc) -data=ZSYSTEM\INSTALL\serviceapi_stub.sis System\Install\serviceapi_stub.sis +data=ZSYSTEM\INSTALL\serviceapi_stub.sis System\Install\serviceapi_stub.sis + +data=ZSYSTEM\INSTALL\platformservices_stub.sis System\Install\platformservices_stub.sis +data=ZSYSTEM\WidgetLibs\platformservices.js System\WidgetLibs\platformservices.js #endif // SERVICEAPI_IBY diff -r 50974a8b132e -r 5d0ec8b709be serviceproviders/sapi_applicationmanager/appmanagerservice/group/appmanagerservice.mmp --- a/serviceproviders/sapi_applicationmanager/appmanagerservice/group/appmanagerservice.mmp Tue Nov 24 08:56:33 2009 +0200 +++ b/serviceproviders/sapi_applicationmanager/appmanagerservice/group/appmanagerservice.mmp Thu Dec 17 09:09:50 2009 +0200 @@ -33,7 +33,7 @@ DEFFILE appmanagerservice.def -VERSION 1.1 +VERSION 1.2 diff -r 50974a8b132e -r 5d0ec8b709be serviceproviders/sapi_applicationmanager/data/2000CFBA.rss --- a/serviceproviders/sapi_applicationmanager/data/2000CFBA.rss Tue Nov 24 08:56:33 2009 +0200 +++ b/serviceproviders/sapi_applicationmanager/data/2000CFBA.rss Thu Dec 17 09:09:50 2009 +0200 @@ -39,7 +39,7 @@ version_no = 1; display_name = "Application Manager Service Provider"; default_data = "Service.AppManager"; - opaque_data = "IAppManager" "::" "RUD1.1appmanagerprovidername.rsc"; + opaque_data = "IAppManager" "::" "RUD2.0appmanagerprovidername.rsc"; } }; } diff -r 50974a8b132e -r 5d0ec8b709be serviceproviders/sapi_applicationmanager/group/appmanagerprovider.mmp --- a/serviceproviders/sapi_applicationmanager/group/appmanagerprovider.mmp Tue Nov 24 08:56:33 2009 +0200 +++ b/serviceproviders/sapi_applicationmanager/group/appmanagerprovider.mmp Thu Dec 17 09:09:50 2009 +0200 @@ -27,7 +27,7 @@ EPOCSTACKSIZE 0x5000 DEFFILE appmanagerinterface.def -VERSION 1.1 +VERSION 1.2 CAPABILITY CAP_ECOM_PLUGIN diff -r 50974a8b132e -r 5d0ec8b709be serviceproviders/sapi_applicationmanager/tsrc/dev/tappmanagerprovidertest/group/tappmanagerprovidertest.pkg --- a/serviceproviders/sapi_applicationmanager/tsrc/dev/tappmanagerprovidertest/group/tappmanagerprovidertest.pkg Tue Nov 24 08:56:33 2009 +0200 +++ b/serviceproviders/sapi_applicationmanager/tsrc/dev/tappmanagerprovidertest/group/tappmanagerprovidertest.pkg Thu Dec 17 09:09:50 2009 +0200 @@ -32,11 +32,11 @@ ;SAPI Binaries to Install -;"..\..\..\..\..\..\..\epoc32\release\armv5\urel\appmanagerservice.dll"-"C:\sys\bin\appmanagerservice.dll" -;"..\..\..\..\..\..\..\epoc32\release\armv5\urel\appmanagerprovider.dll"-"C:\sys\bin\appmanagerprovider.dll" -"..\..\..\..\..\..\..\epoc32\release\armv5\urel\tappmanagerprovidertest.dll"-"C:\sys\bin\tappmanagerprovidertest.dll" -;"..\..\..\..\..\..\..\epoc32\release\armv5\urel\liwServiceHandler.dll" -"!:\sys\bin\liwServiceHandler.dll" -;"..\..\..\..\..\..\..\epoc32\release\armv5\urel\liwResolver.dll" -"!:\sys\bin\liwResolver.dll" +;"..\..\..\..\..\..\..\..\..\epoc32\release\armv5\urel\appmanagerservice.dll"-"C:\sys\bin\appmanagerservice.dll" +;"..\..\..\..\..\..\..\..\..\epoc32\release\armv5\urel\appmanagerprovider.dll"-"C:\sys\bin\appmanagerprovider.dll" +"..\..\..\..\..\..\..\..\..\epoc32\release\armv5\urel\tappmanagerprovidertest.dll"-"C:\sys\bin\tappmanagerprovidertest.dll" +;"..\..\..\..\..\..\..\..\..\epoc32\release\armv5\urel\liwServiceHandler.dll" -"!:\sys\bin\liwServiceHandler.dll" +;"..\..\..\..\..\..\..\..\..\epoc32\release\armv5\urel\liwResolver.dll" -"!:\sys\bin\liwResolver.dll" ;ini file "..\init\Testframework.ini"-"c:\Testframework\Testframework.ini" @@ -45,15 +45,15 @@ "..\conf\tappmanagerprovidertest.cfg"-"c:\Testframework\tappmanagerprovidertest.cfg" ; SAPI resource files -;"..\..\..\..\..\..\..\epoc32\data\Z\Resource\Plugins\appmanagerprovider.rsc"-"C:\resource\plugins\appmanagerprovider.rsc" +;"..\..\..\..\..\..\..\..\..\epoc32\data\Z\Resource\Plugins\appmanagerprovider.rsc"-"C:\resource\plugins\appmanagerprovider.rsc" -;"..\..\..\..\..\..\..\epoc32\data\z\resource\liwServiceHandler.RSC" -"!:\resource\liwServiceHandler.RSC" -;"..\..\..\..\..\..\..\epoc32\data\z\resource\plugins\liwResolver.RSC" -"!:\resource\plugins\liwResolver.RSC" +;"..\..\..\..\..\..\..\..\..\epoc32\data\z\resource\liwServiceHandler.RSC" -"!:\resource\liwServiceHandler.RSC" +;"..\..\..\..\..\..\..\..\..\epoc32\data\z\resource\plugins\liwResolver.RSC" -"!:\resource\plugins\liwResolver.RSC" -;"..\..\..\..\..\..\..\epoc32\release\armv5\urel\RTSecMgrServer.exe" -"!:\sys\bin\RTSecMgrServer.exe" -;"..\..\..\..\..\..\..\epoc32\release\armv5\urel\RTSecMgrUtil.dll" -"!:\sys\bin\RTSecMgrUtil.dll" -;"..\..\..\..\..\..\..\epoc32\release\armv5\urel\RTSecMgrClient.dll" -"!:\sys\bin\RTSecMgrClient.dll" -;"..\..\..\..\..\..\..\epoc32\data\Z\resource\apps\RTSecManager.rsc" - "!:\resource\RTSecManager.rsc" +;"..\..\..\..\..\..\..\..\..\epoc32\release\armv5\urel\RTSecMgrServer.exe" -"!:\sys\bin\RTSecMgrServer.exe" +;"..\..\..\..\..\..\..\..\..\epoc32\release\armv5\urel\RTSecMgrUtil.dll" -"!:\sys\bin\RTSecMgrUtil.dll" +;"..\..\..\..\..\..\..\..\..\epoc32\release\armv5\urel\RTSecMgrClient.dll" -"!:\sys\bin\RTSecMgrClient.dll" +;"..\..\..\..\..\..\..\..\..\epoc32\data\Z\resource\apps\RTSecManager.rsc" - "!:\resource\RTSecManager.rsc" "..\data\c\hello.txt" - "C:\Data\Hello.txt" "..\data\c\images\AppTest1.jpg" - "C:\Data\Images\AppTest1.jpg" diff -r 50974a8b132e -r 5d0ec8b709be serviceproviders/sapi_applicationmanager/tsrc/dev/tappmanagertest/group/tappmanagertest.pkg --- a/serviceproviders/sapi_applicationmanager/tsrc/dev/tappmanagertest/group/tappmanagertest.pkg Tue Nov 24 08:56:33 2009 +0200 +++ b/serviceproviders/sapi_applicationmanager/tsrc/dev/tappmanagertest/group/tappmanagertest.pkg Thu Dec 17 09:09:50 2009 +0200 @@ -31,8 +31,8 @@ ;SAPI Binaries to Install -;"..\..\..\..\..\..\..\epoc32\release\armv5\urel\appmanagerservice.dll"-"C:\sys\bin\appmanagerservice.dll" -"..\..\..\..\..\..\..\epoc32\release\armv5\urel\tappmanagertest.dll"-"C:\sys\bin\tappmanagertest.dll" +;"..\..\..\..\..\..\..\..\..\epoc32\release\armv5\urel\appmanagerservice.dll"-"C:\sys\bin\appmanagerservice.dll" +"..\..\..\..\..\..\..\..\..\epoc32\release\armv5\urel\tappmanagertest.dll"-"C:\sys\bin\tappmanagertest.dll" ;ini file diff -r 50974a8b132e -r 5d0ec8b709be serviceproviders/sapi_applicationmanager/tsrc/dev/tappmanprovidernegativetest/group/tappmanprovidernegativetest.pkg --- a/serviceproviders/sapi_applicationmanager/tsrc/dev/tappmanprovidernegativetest/group/tappmanprovidernegativetest.pkg Tue Nov 24 08:56:33 2009 +0200 +++ b/serviceproviders/sapi_applicationmanager/tsrc/dev/tappmanprovidernegativetest/group/tappmanprovidernegativetest.pkg Thu Dec 17 09:09:50 2009 +0200 @@ -31,11 +31,11 @@ ;SAPI Binaries to Install -;"..\..\..\..\..\..\..\epoc32\release\armv5\urel\appmanagerservice.dll"-"C:\sys\bin\appmanagerservice.dll" -;"..\..\..\..\..\..\..\epoc32\release\armv5\urel\appmanagerprovider.dll"-"C:\sys\bin\appmanagerprovider.dll" -"..\..\..\..\..\..\..\epoc32\release\armv5\urel\tappmanprovidernegativetest.dll"-"C:\sys\bin\tappmanprovidernegativetest.dll" -;"..\..\..\..\..\..\..\epoc32\release\armv5\urel\liwServiceHandler.dll" -"!:\sys\bin\liwServiceHandler.dll" -;"..\..\..\..\..\..\..\epoc32\release\armv5\urel\liwResolver.dll" -"!:\sys\bin\liwResolver.dll" +;"..\..\..\..\..\..\..\..\..\epoc32\release\armv5\urel\appmanagerservice.dll"-"C:\sys\bin\appmanagerservice.dll" +;"..\..\..\..\..\..\..\..\..\epoc32\release\armv5\urel\appmanagerprovider.dll"-"C:\sys\bin\appmanagerprovider.dll" +"..\..\..\..\..\..\..\..\..\epoc32\release\armv5\urel\tappmanprovidernegativetest.dll"-"C:\sys\bin\tappmanprovidernegativetest.dll" +;"..\..\..\..\..\..\..\..\..\epoc32\release\armv5\urel\liwServiceHandler.dll" -"!:\sys\bin\liwServiceHandler.dll" +;"..\..\..\..\..\..\..\..\..\epoc32\release\armv5\urel\liwResolver.dll" -"!:\sys\bin\liwResolver.dll" ;ini file "..\init\Testframework.ini"-"c:\Testframework\Testframework.ini" @@ -44,14 +44,14 @@ "..\conf\tappmanprovidernegativetest.cfg"-"c:\Testframework\tappmanprovidernegativetest.cfg" ; SAPI resource files -;"..\..\..\..\..\..\..\epoc32\data\Z\Resource\Plugins\appmanagerprovider.rsc"-"C:\resource\plugins\appmanagerprovider.rsc" +;"..\..\..\..\..\..\..\..\..\epoc32\data\Z\Resource\Plugins\appmanagerprovider.rsc"-"C:\resource\plugins\appmanagerprovider.rsc" -;"..\..\..\..\..\..\..\epoc32\data\z\resource\liwServiceHandler.RSC" -"!:\resource\liwServiceHandler.RSC" -;"..\..\..\..\..\..\..\epoc32\data\z\resource\plugins\liwResolver.RSC" -"!:\resource\plugins\liwResolver.RSC" +;"..\..\..\..\..\..\..\..\..\epoc32\data\z\resource\liwServiceHandler.RSC" -"!:\resource\liwServiceHandler.RSC" +;"..\..\..\..\..\..\..\..\..\epoc32\data\z\resource\plugins\liwResolver.RSC" -"!:\resource\plugins\liwResolver.RSC" -;"..\..\..\..\..\..\..\epoc32\release\armv5\urel\RTSecMgrServer.exe" -"!:\sys\bin\RTSecMgrServer.exe" -;"..\..\..\..\..\..\..\epoc32\release\armv5\urel\RTSecMgrUtil.dll" -"!:\sys\bin\RTSecMgrUtil.dll" -;"..\..\..\..\..\..\..\epoc32\release\armv5\urel\RTSecMgrClient.dll" -"!:\sys\bin\RTSecMgrClient.dll" -;"..\..\..\..\..\..\..\epoc32\data\Z\resource\apps\RTSecManager.rsc" - "!:\resource\RTSecManager.rsc" +;"..\..\..\..\..\..\..\..\..\epoc32\release\armv5\urel\RTSecMgrServer.exe" -"!:\sys\bin\RTSecMgrServer.exe" +;"..\..\..\..\..\..\..\..\..\epoc32\release\armv5\urel\RTSecMgrUtil.dll" -"!:\sys\bin\RTSecMgrUtil.dll" +;"..\..\..\..\..\..\..\..\..\epoc32\release\armv5\urel\RTSecMgrClient.dll" -"!:\sys\bin\RTSecMgrClient.dll" +;"..\..\..\..\..\..\..\..\..\epoc32\data\Z\resource\apps\RTSecManager.rsc" - "!:\resource\RTSecManager.rsc" "..\data\c\Hello.txt" - "C:\Data\Hello.txt" diff -r 50974a8b132e -r 5d0ec8b709be serviceproviders/sapi_applicationmanager/tsrc/dev/testappmngui/group/testappmngui.pkg --- a/serviceproviders/sapi_applicationmanager/tsrc/dev/testappmngui/group/testappmngui.pkg Tue Nov 24 08:56:33 2009 +0200 +++ b/serviceproviders/sapi_applicationmanager/tsrc/dev/testappmngui/group/testappmngui.pkg Thu Dec 17 09:09:50 2009 +0200 @@ -47,7 +47,7 @@ "..\data\C\msg.sisx" - "!:\msg.sisx" ; Main EXE -;"\epoc32\release\ARMV5\urel\tappmanagertest.dll" - "!:\sys\bin\tappmanagertest.dll" +;"..\..\..\..\..\..\..\..\..\epoc32\release\ARMV5\urel\tappmanagertest.dll" - "!:\sys\bin\tappmanagertest.dll" ;"..\conf\tappmanagertest.cfg" - "!:\Testframework\tappmanagertest.cfg" ;"..\init\TestFramework.ini" - "!:\Testframework\TestFrame.ini" diff -r 50974a8b132e -r 5d0ec8b709be serviceproviders/sapi_applicationmanager/tsrc/testing/tappmgrprovider/group/tappmgrprovider.pkg --- a/serviceproviders/sapi_applicationmanager/tsrc/testing/tappmgrprovider/group/tappmgrprovider.pkg Tue Nov 24 08:56:33 2009 +0200 +++ b/serviceproviders/sapi_applicationmanager/tsrc/testing/tappmgrprovider/group/tappmgrprovider.pkg Thu Dec 17 09:09:50 2009 +0200 @@ -31,11 +31,11 @@ ;SAPI Binaries to Install -;"..\..\..\..\..\..\..\epoc32\release\armv5\urel\appmanagerservice.dll"-"C:\sys\bin\appmanagerservice.dll" -;"..\..\..\..\..\..\..\epoc32\release\armv5\urel\appmanagerprovider.dll"-"C:\sys\bin\appmanagerprovider.dll" -"..\..\..\..\..\..\..\epoc32\release\armv5\urel\tappmgrprovider.dll"-"C:\sys\bin\tappmgrprovider.dll" -;"..\..\..\..\..\..\..\epoc32\release\armv5\urel\liwServiceHandler.dll" -"!:\sys\bin\liwServiceHandler.dll" -;"..\..\..\..\..\..\..\epoc32\release\armv5\urel\liwResolver.dll" -"!:\sys\bin\liwResolver.dll" +;"..\..\..\..\..\..\..\..\..\epoc32\release\armv5\urel\appmanagerservice.dll"-"C:\sys\bin\appmanagerservice.dll" +;"..\..\..\..\..\..\..\..\..\epoc32\release\armv5\urel\appmanagerprovider.dll"-"C:\sys\bin\appmanagerprovider.dll" +"..\..\..\..\..\..\..\..\..\epoc32\release\armv5\urel\tappmgrprovider.dll"-"C:\sys\bin\tappmgrprovider.dll" +;"..\..\..\..\..\..\..\..\..\epoc32\release\armv5\urel\liwServiceHandler.dll" -"!:\sys\bin\liwServiceHandler.dll" +;"..\..\..\..\..\..\..\..\..\epoc32\release\armv5\urel\liwResolver.dll" -"!:\sys\bin\liwResolver.dll" ;ini file "..\init\Testframework.ini"-"c:\Testframework\Testframework.ini" @@ -44,15 +44,15 @@ "..\conf\tappmgrprovider.cfg"-"c:\Testframework\tappmgrprovider.cfg" ; SAPI resource files -;"..\..\..\..\..\..\..\epoc32\data\Z\Resource\Plugins\appmanagerprovider.rsc"-"C:\resource\plugins\appmanagerprovider.rsc" +;"..\..\..\..\..\..\..\..\..\epoc32\data\Z\Resource\Plugins\appmanagerprovider.rsc"-"C:\resource\plugins\appmanagerprovider.rsc" -;"..\..\..\..\..\..\..\epoc32\data\z\resource\liwServiceHandler.RSC" -"!:\resource\liwServiceHandler.RSC" -;"..\..\..\..\..\..\..\epoc32\data\z\resource\plugins\liwResolver.RSC" -"!:\resource\plugins\liwResolver.RSC" +;"..\..\..\..\..\..\..\..\..\epoc32\data\z\resource\liwServiceHandler.RSC" -"!:\resource\liwServiceHandler.RSC" +;"..\..\..\..\..\..\..\..\..\epoc32\data\z\resource\plugins\liwResolver.RSC" -"!:\resource\plugins\liwResolver.RSC" -;"..\..\..\..\..\..\..\epoc32\release\armv5\urel\RTSecMgrServer.exe" -"!:\sys\bin\RTSecMgrServer.exe" -;"..\..\..\..\..\..\..\epoc32\release\armv5\urel\RTSecMgrUtil.dll" -"!:\sys\bin\RTSecMgrUtil.dll" -;"..\..\..\..\..\..\..\epoc32\release\armv5\urel\RTSecMgrClient.dll" -"!:\sys\bin\RTSecMgrClient.dll" -;"..\..\..\..\..\..\..\epoc32\data\Z\resource\apps\RTSecManager.rsc" - "!:\resource\RTSecManager.rsc" +;"..\..\..\..\..\..\..\..\..\epoc32\release\armv5\urel\RTSecMgrServer.exe" -"!:\sys\bin\RTSecMgrServer.exe" +;"..\..\..\..\..\..\..\..\..\epoc32\release\armv5\urel\RTSecMgrUtil.dll" -"!:\sys\bin\RTSecMgrUtil.dll" +;"..\..\..\..\..\..\..\..\..\epoc32\release\armv5\urel\RTSecMgrClient.dll" -"!:\sys\bin\RTSecMgrClient.dll" +;"..\..\..\..\..\..\..\..\..\epoc32\data\Z\resource\apps\RTSecManager.rsc" - "!:\resource\RTSecManager.rsc" "..\data\c\Hello.txt" - "C:\Data\Hello.txt" "..\data\c\spruceblocks.jar" - "C:\Data\spruceblocks.jar" diff -r 50974a8b132e -r 5d0ec8b709be serviceproviders/sapi_applicationmanager/tsrc/testing/tappmgrtest/group/tappmgrtest.pkg --- a/serviceproviders/sapi_applicationmanager/tsrc/testing/tappmgrtest/group/tappmgrtest.pkg Tue Nov 24 08:56:33 2009 +0200 +++ b/serviceproviders/sapi_applicationmanager/tsrc/testing/tappmgrtest/group/tappmgrtest.pkg Thu Dec 17 09:09:50 2009 +0200 @@ -31,8 +31,8 @@ ;SAPI Binaries to Install -;"..\..\..\..\..\..\..\epoc32\release\armv5\urel\appmanagerservice.dll"-"C:\sys\bin\appmanagerservice.dll" -"..\..\..\..\..\..\..\epoc32\release\armv5\urel\tappmgrtest.dll"-"C:\sys\bin\tappmgrtest.dll" +;"..\..\..\..\..\..\..\..\..\epoc32\release\armv5\urel\appmanagerservice.dll"-"C:\sys\bin\appmanagerservice.dll" +"..\..\..\..\..\..\..\..\..\epoc32\release\armv5\urel\tappmgrtest.dll"-"C:\sys\bin\tappmgrtest.dll" ;ini file diff -r 50974a8b132e -r 5d0ec8b709be serviceproviders/sapi_calendar/calendarservice/group/calendarservice.mmp --- a/serviceproviders/sapi_calendar/calendarservice/group/calendarservice.mmp Tue Nov 24 08:56:33 2009 +0200 +++ b/serviceproviders/sapi_calendar/calendarservice/group/calendarservice.mmp Thu Dec 17 09:09:50 2009 +0200 @@ -28,7 +28,7 @@ LANG SC -VERSION 1.1 +VERSION 1.2 USERINCLUDE ../inc diff -r 50974a8b132e -r 5d0ec8b709be serviceproviders/sapi_calendar/data/2000CFB4.rss --- a/serviceproviders/sapi_calendar/data/2000CFB4.rss Tue Nov 24 08:56:33 2009 +0200 +++ b/serviceproviders/sapi_calendar/data/2000CFB4.rss Thu Dec 17 09:09:50 2009 +0200 @@ -38,7 +38,7 @@ version_no = 1; display_name = "Calendar Service Provider"; default_data = "Service.Calendar"; - opaque_data = "IDataSource" "::" "RUDWUD1.1calendarprovidername.rsc"; + opaque_data = "IDataSource" "::" "RUDWUD2.0calendarprovidername.rsc"; } }; } diff -r 50974a8b132e -r 5d0ec8b709be serviceproviders/sapi_calendar/group/calendarprovider.mmp --- a/serviceproviders/sapi_calendar/group/calendarprovider.mmp Tue Nov 24 08:56:33 2009 +0200 +++ b/serviceproviders/sapi_calendar/group/calendarprovider.mmp Thu Dec 17 09:09:50 2009 +0200 @@ -30,7 +30,7 @@ LANG SC -VERSION 1.1 +VERSION 1.2 USERINCLUDE ../../inc USERINCLUDE ../inc diff -r 50974a8b132e -r 5d0ec8b709be serviceproviders/sapi_calendar/inc/calendarinterface.h --- a/serviceproviders/sapi_calendar/inc/calendarinterface.h Tue Nov 24 08:56:33 2009 +0200 +++ b/serviceproviders/sapi_calendar/inc/calendarinterface.h Thu Dec 17 09:09:50 2009 +0200 @@ -272,7 +272,14 @@ * @return void */ void RemoveCalEntryListFromArray( CIterableCalEntryList* aCalEntryList ); - + /** + * Checks the duration of the calendar entry according to the + * repeatrule frequency + * @param repeatrule frequency is passed to check the duration + * + * @return true or false + */ + bool isValidEntryDuration(int type); private: @@ -636,7 +643,18 @@ * @internal */ RPointerArray iArrayCalEntryList; - + + /** + * variable for storing the begin time. + * @internal + */ + TTime iStTime; + + /** + * variable for storing the end time. + * @internal + */ + TTime iEnTime; }; diff -r 50974a8b132e -r 5d0ec8b709be serviceproviders/sapi_calendar/src/calendarinterface.cpp --- a/serviceproviders/sapi_calendar/src/calendarinterface.cpp Tue Nov 24 08:56:33 2009 +0200 +++ b/serviceproviders/sapi_calendar/src/calendarinterface.cpp Thu Dec 17 09:09:50 2009 +0200 @@ -1303,7 +1303,7 @@ if ( entryType == -1 ) { AppendErrorMessageL( KCmdAdd, KLocalId, KInvalid ); - User::Leave( KErrArgument ); + User::Leave( KErrNotFound ); } // Leave if tring to set different entry type @@ -1313,7 +1313,7 @@ if ( tmpType != entryType ) { AppendErrorMessageL( KCmdAdd, _L8("Entry Type "), KInvalid ); - User::Leave( KErrArgument ); + User::Leave( KErrBadName ); } } } @@ -1357,7 +1357,7 @@ { ValidateParamTypeL( inParam, LIW::EVariantTypeTTime, KCmdAdd, KStartTime, KInvalid ); - + iStTime = inParam.AsTTime(); entryAttributes->SetStartTimeL( inParam.AsTTime() ); } @@ -1368,7 +1368,7 @@ { ValidateParamTypeL( inParam, LIW::EVariantTypeTTime, KCmdAdd, KEndTime, KInvalid ); - + iEnTime = inParam.AsTTime(); entryAttributes->SetEndTimeL( inParam.AsTTime() ); } @@ -1610,6 +1610,11 @@ { ValidateParamTypeL( rptParam, LIW::EVariantTypeTInt32, KCmdAdd, KRepeatType, KInvalid ); + if(!isValidEntryDuration(rptParam.AsTInt32())) + { + AppendErrorMessageL( KCmdAdd, KRepeatType, KInvalid ); + User::Leave( KErrBadName ); + } rrule = CRepeatInfo::NewL( rptParam.AsTInt32() ); CleanupStack::PushL( rrule ); @@ -3069,3 +3074,56 @@ } return retValue; } + + +bool CCalendarInterface::isValidEntryDuration(int type) + { + TTime temp; + TDateTime temp1; + switch(type) + { + case TCalRRule::EDaily : + { + TTimeIntervalDays days = 1; + temp = iStTime + days; + + } + break; + + case TCalRRule::EWeekly : + { + TTimeIntervalDays days = 7; + temp = iStTime + days; + + } + break; + + case TCalRRule::EMonthly : + { + TTimeIntervalMonths month = 1; + temp = iStTime + month; + + } + break; + + case TCalRRule::EYearly : + { + TTimeIntervalYears yr = 1; + temp = iStTime + yr; + + } + break; + + } + + if(temp < iEnTime) + { + return false; + } + + else + { + return true; + } + + } diff -r 50974a8b132e -r 5d0ec8b709be serviceproviders/sapi_calendar/tsrc/dev/tcalendarprovidertest/tcalendaradditer3/group/tcalendaradditer3.pkg --- a/serviceproviders/sapi_calendar/tsrc/dev/tcalendarprovidertest/tcalendaradditer3/group/tcalendaradditer3.pkg Tue Nov 24 08:56:33 2009 +0200 +++ b/serviceproviders/sapi_calendar/tsrc/dev/tcalendarprovidertest/tcalendaradditer3/group/tcalendaradditer3.pkg Thu Dec 17 09:09:50 2009 +0200 @@ -32,8 +32,8 @@ ;SAPI Binaries to Install ;Calendarservice binaries -;"..\..\..\..\..\..\..\..\..\epoc32\release\armv5\urel\Calendarservice.dll"-"C:\sys\bin\Calendarservice.dll" -"..\..\..\..\..\..\..\..\..\epoc32\release\armv5\urel\tcalendaradditer3.dll"-"C:\sys\bin\tcalendaradditer3.dll" +;"..\..\..\..\..\..\..\..\..\..\epoc32\release\armv5\urel\Calendarservice.dll"-"C:\sys\bin\Calendarservice.dll" +"..\..\..\..\..\..\..\..\..\..\epoc32\release\armv5\urel\tcalendaradditer3.dll"-"C:\sys\bin\tcalendaradditer3.dll" ;ini file diff -r 50974a8b132e -r 5d0ec8b709be serviceproviders/sapi_calendar/tsrc/dev/tcalendarprovidertest/tcalendarchangenotifyiter3/group/tcalendarchangenotifyiter3.pkg --- a/serviceproviders/sapi_calendar/tsrc/dev/tcalendarprovidertest/tcalendarchangenotifyiter3/group/tcalendarchangenotifyiter3.pkg Tue Nov 24 08:56:33 2009 +0200 +++ b/serviceproviders/sapi_calendar/tsrc/dev/tcalendarprovidertest/tcalendarchangenotifyiter3/group/tcalendarchangenotifyiter3.pkg Thu Dec 17 09:09:50 2009 +0200 @@ -32,8 +32,8 @@ ;SAPI Binaries to Install ;calendarservice binaries -;"..\..\..\..\..\..\..\..\..\epoc32\release\armv5\urel\Calendarservice.dll"-"C:\sys\bin\Calendarservice.dll" -"..\..\..\..\..\..\..\..\..\epoc32\release\armv5\urel\tcalendarchangenotifyiter3.dll"-"C:\sys\bin\tcalendarchangenotifyiter3.dll" +;"..\..\..\..\..\..\..\..\..\..\epoc32\release\armv5\urel\Calendarservice.dll"-"C:\sys\bin\Calendarservice.dll" +"..\..\..\..\..\..\..\..\..\..\epoc32\release\armv5\urel\tcalendarchangenotifyiter3.dll"-"C:\sys\bin\tcalendarchangenotifyiter3.dll" ;ini file diff -r 50974a8b132e -r 5d0ec8b709be serviceproviders/sapi_calendar/tsrc/dev/tcalendarprovidertest/tcalendardeleteiter3/group/tcalendardeleteiter3.pkg --- a/serviceproviders/sapi_calendar/tsrc/dev/tcalendarprovidertest/tcalendardeleteiter3/group/tcalendardeleteiter3.pkg Tue Nov 24 08:56:33 2009 +0200 +++ b/serviceproviders/sapi_calendar/tsrc/dev/tcalendarprovidertest/tcalendardeleteiter3/group/tcalendardeleteiter3.pkg Thu Dec 17 09:09:50 2009 +0200 @@ -32,8 +32,8 @@ ;SAPI Binaries to Install ;Calendarservice binaries -;"..\..\..\..\..\..\..\..\..\epoc32\release\armv5\urel\Calendarservice.dll"-"C:\sys\bin\Calendarservice.dll" -"..\..\..\..\..\..\..\..\..\epoc32\release\armv5\urel\tcalendardeleteiter3.dll"-"C:\sys\bin\tcalendardeleteiter3.dll" +;"..\..\..\..\..\..\..\..\..\..\epoc32\release\armv5\urel\Calendarservice.dll"-"C:\sys\bin\Calendarservice.dll" +"..\..\..\..\..\..\..\..\..\..\epoc32\release\armv5\urel\tcalendardeleteiter3.dll"-"C:\sys\bin\tcalendardeleteiter3.dll" ;ini file diff -r 50974a8b132e -r 5d0ec8b709be serviceproviders/sapi_calendar/tsrc/dev/tcalendarprovidertest/tcalendarexportiter3/group/tcalendarexportiter3.pkg --- a/serviceproviders/sapi_calendar/tsrc/dev/tcalendarprovidertest/tcalendarexportiter3/group/tcalendarexportiter3.pkg Tue Nov 24 08:56:33 2009 +0200 +++ b/serviceproviders/sapi_calendar/tsrc/dev/tcalendarprovidertest/tcalendarexportiter3/group/tcalendarexportiter3.pkg Thu Dec 17 09:09:50 2009 +0200 @@ -32,8 +32,8 @@ ;SAPI Binaries to Install ;Calendarservice binaries -;"..\..\..\..\..\..\..\..\..\epoc32\release\armv5\urel\Calendarservice.dll"-"C:\sys\bin\Calendarservice.dll" -"..\..\..\..\..\..\..\..\..\epoc32\release\armv5\urel\tcalendarexportiter3.dll"-"C:\sys\bin\tcalendarexportiter3.dll" +;"..\..\..\..\..\..\..\..\..\..\epoc32\release\armv5\urel\Calendarservice.dll"-"C:\sys\bin\Calendarservice.dll" +"..\..\..\..\..\..\..\..\..\..\epoc32\release\armv5\urel\tcalendarexportiter3.dll"-"C:\sys\bin\tcalendarexportiter3.dll" ;ini file diff -r 50974a8b132e -r 5d0ec8b709be serviceproviders/sapi_calendar/tsrc/dev/tcalendarprovidertest/tcalendargenerictest/group/tcalendargenerictest.pkg --- a/serviceproviders/sapi_calendar/tsrc/dev/tcalendarprovidertest/tcalendargenerictest/group/tcalendargenerictest.pkg Tue Nov 24 08:56:33 2009 +0200 +++ b/serviceproviders/sapi_calendar/tsrc/dev/tcalendarprovidertest/tcalendargenerictest/group/tcalendargenerictest.pkg Thu Dec 17 09:09:50 2009 +0200 @@ -32,8 +32,8 @@ ;SAPI Binaries to Install ;Calendarservice binaries -;"..\..\..\..\..\..\..\..\..\epoc32\release\armv5\urel\Calendarservice.dll"-"C:\sys\bin\Calendarservice.dll" -"..\..\..\..\..\..\..\..\..\epoc32\release\armv5\urel\tcalendargenerictest.dll"-"C:\sys\bin\tcalendargenerictest.dll" +;"..\..\..\..\..\..\..\..\..\..\epoc32\release\armv5\urel\Calendarservice.dll"-"C:\sys\bin\Calendarservice.dll" +"..\..\..\..\..\..\..\..\..\..\epoc32\release\armv5\urel\tcalendargenerictest.dll"-"C:\sys\bin\tcalendargenerictest.dll" ;ini file diff -r 50974a8b132e -r 5d0ec8b709be serviceproviders/sapi_calendar/tsrc/dev/tcalendarprovidertest/tcalendargetlistiter3/group/tcalendargetlistiter3.pkg --- a/serviceproviders/sapi_calendar/tsrc/dev/tcalendarprovidertest/tcalendargetlistiter3/group/tcalendargetlistiter3.pkg Tue Nov 24 08:56:33 2009 +0200 +++ b/serviceproviders/sapi_calendar/tsrc/dev/tcalendarprovidertest/tcalendargetlistiter3/group/tcalendargetlistiter3.pkg Thu Dec 17 09:09:50 2009 +0200 @@ -32,8 +32,8 @@ ;SAPI Binaries to Install ;Calendarservice binaries -;"..\..\..\..\..\..\..\..\..\epoc32\release\armv5\urel\Calendarservice.dll"-"C:\sys\bin\Calendarservice.dll" -"..\..\..\..\..\..\..\..\..\epoc32\release\armv5\urel\tcalendargetlistiter3.dll"-"C:\sys\bin\tcalendargetlistiter3.dll" +;"..\..\..\..\..\..\..\..\..\..\epoc32\release\armv5\urel\Calendarservice.dll"-"C:\sys\bin\Calendarservice.dll" +"..\..\..\..\..\..\..\..\..\..\epoc32\release\armv5\urel\tcalendargetlistiter3.dll"-"C:\sys\bin\tcalendargetlistiter3.dll" ;ini file diff -r 50974a8b132e -r 5d0ec8b709be serviceproviders/sapi_calendar/tsrc/dev/tcalendarprovidertest/tcalendarimportiter3/group/tcalendarimportiter3.pkg --- a/serviceproviders/sapi_calendar/tsrc/dev/tcalendarprovidertest/tcalendarimportiter3/group/tcalendarimportiter3.pkg Tue Nov 24 08:56:33 2009 +0200 +++ b/serviceproviders/sapi_calendar/tsrc/dev/tcalendarprovidertest/tcalendarimportiter3/group/tcalendarimportiter3.pkg Thu Dec 17 09:09:50 2009 +0200 @@ -32,8 +32,8 @@ ;SAPI Binaries to Install ;Calendarservice binaries -;"..\..\..\..\..\..\..\..\..\epoc32\release\armv5\urel\Calendarservice.dll"-"C:\sys\bin\Calendarservice.dll" -"..\..\..\..\..\..\..\..\..\epoc32\release\armv5\urel\tcalendarimportiter3.dll"-"C:\sys\bin\tcalendarimportiter3.dll" +;"..\..\..\..\..\..\..\..\..\..\epoc32\release\armv5\urel\Calendarservice.dll"-"C:\sys\bin\Calendarservice.dll" +"..\..\..\..\..\..\..\..\..\..\epoc32\release\armv5\urel\tcalendarimportiter3.dll"-"C:\sys\bin\tcalendarimportiter3.dll" ;ini file diff -r 50974a8b132e -r 5d0ec8b709be serviceproviders/sapi_calendar/tsrc/dev/tcalendarprovidertest/tcalendarupdateiter3/group/tcalendarupdateiter3.pkg --- a/serviceproviders/sapi_calendar/tsrc/dev/tcalendarprovidertest/tcalendarupdateiter3/group/tcalendarupdateiter3.pkg Tue Nov 24 08:56:33 2009 +0200 +++ b/serviceproviders/sapi_calendar/tsrc/dev/tcalendarprovidertest/tcalendarupdateiter3/group/tcalendarupdateiter3.pkg Thu Dec 17 09:09:50 2009 +0200 @@ -32,8 +32,8 @@ ;SAPI Binaries to Install ;Calendarservice binaries -;"..\..\..\..\..\..\..\..\..\epoc32\release\armv5\urel\Calendarservice.dll"-"C:\sys\bin\Calendarservice.dll" -"..\..\..\..\..\..\..\..\..\epoc32\release\armv5\urel\tcalendarupdateiter3.dll"-"C:\sys\bin\tcalendarupdateiter3.dll" +;"..\..\..\..\..\..\..\..\..\..\epoc32\release\armv5\urel\Calendarservice.dll"-"C:\sys\bin\Calendarservice.dll" +"..\..\..\..\..\..\..\..\..\..\epoc32\release\armv5\urel\tcalendarupdateiter3.dll"-"C:\sys\bin\tcalendarupdateiter3.dll" ;ini file diff -r 50974a8b132e -r 5d0ec8b709be serviceproviders/sapi_calendar/tsrc/dev/tcalendartest/tcalendaradditer1/group/tcalendaradditer1.pkg --- a/serviceproviders/sapi_calendar/tsrc/dev/tcalendartest/tcalendaradditer1/group/tcalendaradditer1.pkg Tue Nov 24 08:56:33 2009 +0200 +++ b/serviceproviders/sapi_calendar/tsrc/dev/tcalendartest/tcalendaradditer1/group/tcalendaradditer1.pkg Thu Dec 17 09:09:50 2009 +0200 @@ -32,8 +32,8 @@ ;SAPI Binaries to Install ;Calendarservice binaries -;"..\..\..\..\..\..\..\..\..\epoc32\release\armv5\urel\Calendarservice.dll"-"C:\sys\bin\Calendarservice.dll" -"..\..\..\..\..\..\..\..\..\epoc32\release\armv5\urel\tcalendaradditer1.dll"-"C:\sys\bin\tcalendaradditer1.dll" +;"..\..\..\..\..\..\..\..\..\..\epoc32\release\armv5\urel\Calendarservice.dll"-"C:\sys\bin\Calendarservice.dll" +"..\..\..\..\..\..\..\..\..\..\epoc32\release\armv5\urel\tcalendaradditer1.dll"-"C:\sys\bin\tcalendaradditer1.dll" ;ini file diff -r 50974a8b132e -r 5d0ec8b709be serviceproviders/sapi_calendar/tsrc/dev/tcalendartest/tcalendarchangenotifyiter1/group/tcalendarchangenotifyiter1.pkg --- a/serviceproviders/sapi_calendar/tsrc/dev/tcalendartest/tcalendarchangenotifyiter1/group/tcalendarchangenotifyiter1.pkg Tue Nov 24 08:56:33 2009 +0200 +++ b/serviceproviders/sapi_calendar/tsrc/dev/tcalendartest/tcalendarchangenotifyiter1/group/tcalendarchangenotifyiter1.pkg Thu Dec 17 09:09:50 2009 +0200 @@ -32,8 +32,8 @@ ;SAPI Binaries to Install ;Calendarservice binaries -;"..\..\..\..\..\..\..\..\..\epoc32\release\armv5\urel\Calendarservice.dll"-"C:\sys\bin\Calendarservice.dll" -"..\..\..\..\..\..\..\..\..\epoc32\release\armv5\urel\tcalendarchangenotifyiter1.dll"-"C:\sys\bin\tcalendarchangenotifyiter1.dll" +;"..\..\..\..\..\..\..\..\..\..\epoc32\release\armv5\urel\Calendarservice.dll"-"C:\sys\bin\Calendarservice.dll" +"..\..\..\..\..\..\..\..\..\..\epoc32\release\armv5\urel\tcalendarchangenotifyiter1.dll"-"C:\sys\bin\tcalendarchangenotifyiter1.dll" ;ini file diff -r 50974a8b132e -r 5d0ec8b709be serviceproviders/sapi_calendar/tsrc/dev/tcalendartest/tcalendardeleteiter1/group/tcalendardeleteiter1.pkg --- a/serviceproviders/sapi_calendar/tsrc/dev/tcalendartest/tcalendardeleteiter1/group/tcalendardeleteiter1.pkg Tue Nov 24 08:56:33 2009 +0200 +++ b/serviceproviders/sapi_calendar/tsrc/dev/tcalendartest/tcalendardeleteiter1/group/tcalendardeleteiter1.pkg Thu Dec 17 09:09:50 2009 +0200 @@ -32,8 +32,8 @@ ;SAPI Binaries to Install ;Calendarservice binaries -;"..\..\..\..\..\..\..\..\..\epoc32\release\armv5\urel\Calendarservice.dll"-"C:\sys\bin\Calendarservice.dll" -"..\..\..\..\..\..\..\..\..\epoc32\release\armv5\urel\tcalendardeleteiter1.dll"-"C:\sys\bin\tcalendardeleteiter1.dll" +;"..\..\..\..\..\..\..\..\..\..\epoc32\release\armv5\urel\Calendarservice.dll"-"C:\sys\bin\Calendarservice.dll" +"..\..\..\..\..\..\..\..\..\..\epoc32\release\armv5\urel\tcalendardeleteiter1.dll"-"C:\sys\bin\tcalendardeleteiter1.dll" ;ini file diff -r 50974a8b132e -r 5d0ec8b709be serviceproviders/sapi_calendar/tsrc/dev/tcalendartest/tcalendarexportiter1/group/tcalendarexportiter1.pkg --- a/serviceproviders/sapi_calendar/tsrc/dev/tcalendartest/tcalendarexportiter1/group/tcalendarexportiter1.pkg Tue Nov 24 08:56:33 2009 +0200 +++ b/serviceproviders/sapi_calendar/tsrc/dev/tcalendartest/tcalendarexportiter1/group/tcalendarexportiter1.pkg Thu Dec 17 09:09:50 2009 +0200 @@ -32,8 +32,8 @@ ;SAPI Binaries to Install ;Calendarservice binaries -;"..\..\..\..\..\..\..\..\..\epoc32\release\armv5\urel\Calendarservice.dll"-"C:\sys\bin\Calendarservice.dll" -"..\..\..\..\..\..\..\..\..\epoc32\release\armv5\urel\tcalendarexportiter1.dll"-"C:\sys\bin\tcalendarexportiter1.dll" +;"..\..\..\..\..\..\..\..\..\..\epoc32\release\armv5\urel\Calendarservice.dll"-"C:\sys\bin\Calendarservice.dll" +"..\..\..\..\..\..\..\..\..\..\epoc32\release\armv5\urel\tcalendarexportiter1.dll"-"C:\sys\bin\tcalendarexportiter1.dll" ;ini file diff -r 50974a8b132e -r 5d0ec8b709be serviceproviders/sapi_calendar/tsrc/dev/tcalendartest/tcalendargetlistiter1/group/tcalendargetlistiter1.pkg --- a/serviceproviders/sapi_calendar/tsrc/dev/tcalendartest/tcalendargetlistiter1/group/tcalendargetlistiter1.pkg Tue Nov 24 08:56:33 2009 +0200 +++ b/serviceproviders/sapi_calendar/tsrc/dev/tcalendartest/tcalendargetlistiter1/group/tcalendargetlistiter1.pkg Thu Dec 17 09:09:50 2009 +0200 @@ -32,8 +32,8 @@ ;SAPI Binaries to Install ;Calendarservice binaries -;"..\..\..\..\..\..\..\..\..\epoc32\release\armv5\urel\Calendarservice.dll"-"C:\sys\bin\Calendarservice.dll" -"..\..\..\..\..\..\..\..\..\epoc32\release\armv5\urel\tcalendargetlistiter1.dll"-"C:\sys\bin\tcalendargetlistiter1.dll" +;"..\..\..\..\..\..\..\..\..\..\epoc32\release\armv5\urel\Calendarservice.dll"-"C:\sys\bin\Calendarservice.dll" +"..\..\..\..\..\..\..\..\..\..\epoc32\release\armv5\urel\tcalendargetlistiter1.dll"-"C:\sys\bin\tcalendargetlistiter1.dll" ;ini file diff -r 50974a8b132e -r 5d0ec8b709be serviceproviders/sapi_calendar/tsrc/dev/tcalendartest/tcalendarimportiter1/group/tcalendarimportiter1.pkg --- a/serviceproviders/sapi_calendar/tsrc/dev/tcalendartest/tcalendarimportiter1/group/tcalendarimportiter1.pkg Tue Nov 24 08:56:33 2009 +0200 +++ b/serviceproviders/sapi_calendar/tsrc/dev/tcalendartest/tcalendarimportiter1/group/tcalendarimportiter1.pkg Thu Dec 17 09:09:50 2009 +0200 @@ -32,8 +32,8 @@ ;SAPI Binaries to Install ;Calendarservice binaries -;"..\..\..\..\..\..\..\..\..\epoc32\release\armv5\urel\Calendarservice.dll"-"C:\sys\bin\Calendarservice.dll" -"..\..\..\..\..\..\..\..\..\epoc32\release\armv5\urel\tcalendarimportiter1.dll"-"C:\sys\bin\tcalendarimportiter1.dll" +;"..\..\..\..\..\..\..\..\..\..\epoc32\release\armv5\urel\Calendarservice.dll"-"C:\sys\bin\Calendarservice.dll" +"..\..\..\..\..\..\..\..\..\..\epoc32\release\armv5\urel\tcalendarimportiter1.dll"-"C:\sys\bin\tcalendarimportiter1.dll" ;ini file diff -r 50974a8b132e -r 5d0ec8b709be serviceproviders/sapi_calendar/tsrc/dev/tcalendartest/tcalendarupdateiter1/group/tcalendarupdateiter1.pkg --- a/serviceproviders/sapi_calendar/tsrc/dev/tcalendartest/tcalendarupdateiter1/group/tcalendarupdateiter1.pkg Tue Nov 24 08:56:33 2009 +0200 +++ b/serviceproviders/sapi_calendar/tsrc/dev/tcalendartest/tcalendarupdateiter1/group/tcalendarupdateiter1.pkg Thu Dec 17 09:09:50 2009 +0200 @@ -32,8 +32,8 @@ ;SAPI Binaries to Install ;Calendarservice binaries -;"..\..\..\..\..\..\..\..\..\epoc32\release\armv5\urel\Calendarservice.dll"-"C:\sys\bin\Calendarservice.dll" -"..\..\..\..\..\..\..\..\..\epoc32\release\armv5\urel\tcalendarupdateiter1.dll"-"C:\sys\bin\tcalendarupdateiter1.dll" +;"..\..\..\..\..\..\..\..\..\..\epoc32\release\armv5\urel\Calendarservice.dll"-"C:\sys\bin\Calendarservice.dll" +"..\..\..\..\..\..\..\..\..\..\epoc32\release\armv5\urel\tcalendarupdateiter1.dll"-"C:\sys\bin\tcalendarupdateiter1.dll" ;ini file diff -r 50974a8b132e -r 5d0ec8b709be serviceproviders/sapi_calendar/tsrc/testing/tcal_providertest/group/tcal_providertest.pkg --- a/serviceproviders/sapi_calendar/tsrc/testing/tcal_providertest/group/tcal_providertest.pkg Tue Nov 24 08:56:33 2009 +0200 +++ b/serviceproviders/sapi_calendar/tsrc/testing/tcal_providertest/group/tcal_providertest.pkg Thu Dec 17 09:09:50 2009 +0200 @@ -32,8 +32,8 @@ ;SAPI Binaries to Install ;Calendarservice binaries -;"..\..\..\..\..\..\..\..\epoc32\release\armv5\urel\Calendarservice.dll"-"C:\sys\bin\Calendarservice.dll" -"..\..\..\..\..\..\..\..\epoc32\release\armv5\urel\tcal_providertest.dll"-"C:\sys\bin\tcal_providertest.dll" +;"..\..\..\..\..\..\..\..\..\epoc32\release\armv5\urel\Calendarservice.dll"-"C:\sys\bin\Calendarservice.dll" +"..\..\..\..\..\..\..\..\..\epoc32\release\armv5\urel\tcal_providertest.dll"-"C:\sys\bin\tcal_providertest.dll" ;ini file diff -r 50974a8b132e -r 5d0ec8b709be serviceproviders/sapi_calendar/tsrc/testing/tcalendarservice/tcal_add/group/tcal_add.pkg --- a/serviceproviders/sapi_calendar/tsrc/testing/tcalendarservice/tcal_add/group/tcal_add.pkg Tue Nov 24 08:56:33 2009 +0200 +++ b/serviceproviders/sapi_calendar/tsrc/testing/tcalendarservice/tcal_add/group/tcal_add.pkg Thu Dec 17 09:09:50 2009 +0200 @@ -32,8 +32,8 @@ ;SAPI Binaries to Install ;Calendarservice binaries -;"..\..\..\..\..\..\..\..\..\epoc32\release\armv5\urel\Calendarservice.dll"-"C:\sys\bin\Calendarservice.dll" -"..\..\..\..\..\..\..\..\..\epoc32\release\armv5\urel\tcal_add.dll"-"C:\sys\bin\tcal_add.dll" +;"..\..\..\..\..\..\..\..\..\..\epoc32\release\armv5\urel\Calendarservice.dll"-"C:\sys\bin\Calendarservice.dll" +"..\..\..\..\..\..\..\..\..\..\epoc32\release\armv5\urel\tcal_add.dll"-"C:\sys\bin\tcal_add.dll" ;ini file diff -r 50974a8b132e -r 5d0ec8b709be serviceproviders/sapi_calendar/tsrc/testing/tcalendarservice/tcal_changenotify/group/tcal_changenotify.pkg --- a/serviceproviders/sapi_calendar/tsrc/testing/tcalendarservice/tcal_changenotify/group/tcal_changenotify.pkg Tue Nov 24 08:56:33 2009 +0200 +++ b/serviceproviders/sapi_calendar/tsrc/testing/tcalendarservice/tcal_changenotify/group/tcal_changenotify.pkg Thu Dec 17 09:09:50 2009 +0200 @@ -32,8 +32,8 @@ ;SAPI Binaries to Install ;Calendarservice binaries -;"..\..\..\..\..\..\..\..\..\epoc32\release\armv5\urel\Calendarservice.dll"-"C:\sys\bin\Calendarservice.dll" -"..\..\..\..\..\..\..\..\..\epoc32\release\armv5\urel\tcal_changenotify.dll"-"C:\sys\bin\tcal_changenotify.dll" +;"..\..\..\..\..\..\..\..\..\..\epoc32\release\armv5\urel\Calendarservice.dll"-"C:\sys\bin\Calendarservice.dll" +"..\..\..\..\..\..\..\..\..\..\epoc32\release\armv5\urel\tcal_changenotify.dll"-"C:\sys\bin\tcal_changenotify.dll" ;ini file diff -r 50974a8b132e -r 5d0ec8b709be serviceproviders/sapi_calendar/tsrc/testing/tcalendarservice/tcal_delete/group/tcal_delete.pkg --- a/serviceproviders/sapi_calendar/tsrc/testing/tcalendarservice/tcal_delete/group/tcal_delete.pkg Tue Nov 24 08:56:33 2009 +0200 +++ b/serviceproviders/sapi_calendar/tsrc/testing/tcalendarservice/tcal_delete/group/tcal_delete.pkg Thu Dec 17 09:09:50 2009 +0200 @@ -32,8 +32,8 @@ ;SAPI Binaries to Install ;Calendarservice binaries -;"..\..\..\..\..\..\..\..\..\epoc32\release\armv5\urel\Calendarservice.dll"-"C:\sys\bin\Calendarservice.dll" -"..\..\..\..\..\..\..\..\..\epoc32\release\armv5\urel\tcal_delete.dll"-"C:\sys\bin\tcal_delete.dll" +;"..\..\..\..\..\..\..\..\..\..\epoc32\release\armv5\urel\Calendarservice.dll"-"C:\sys\bin\Calendarservice.dll" +"..\..\..\..\..\..\..\..\..\..\epoc32\release\armv5\urel\tcal_delete.dll"-"C:\sys\bin\tcal_delete.dll" ;ini file diff -r 50974a8b132e -r 5d0ec8b709be serviceproviders/sapi_calendar/tsrc/testing/tcalendarservice/tcal_export/group/tcal_export.pkg --- a/serviceproviders/sapi_calendar/tsrc/testing/tcalendarservice/tcal_export/group/tcal_export.pkg Tue Nov 24 08:56:33 2009 +0200 +++ b/serviceproviders/sapi_calendar/tsrc/testing/tcalendarservice/tcal_export/group/tcal_export.pkg Thu Dec 17 09:09:50 2009 +0200 @@ -32,8 +32,8 @@ ;SAPI Binaries to Install ;Calendarservice binaries -;"..\..\..\..\..\..\..\..\..\epoc32\release\armv5\urel\Calendarservice.dll"-"C:\sys\bin\Calendarservice.dll" -"..\..\..\..\..\..\..\..\..\epoc32\release\armv5\urel\tcal_export.dll"-"C:\sys\bin\tcal_export.dll" +;"..\..\..\..\..\..\..\..\..\..\epoc32\release\armv5\urel\Calendarservice.dll"-"C:\sys\bin\Calendarservice.dll" +"..\..\..\..\..\..\..\..\..\..\epoc32\release\armv5\urel\tcal_export.dll"-"C:\sys\bin\tcal_export.dll" ;ini file diff -r 50974a8b132e -r 5d0ec8b709be serviceproviders/sapi_calendar/tsrc/testing/tcalendarservice/tcal_getlist/group/tcal_getlist.pkg --- a/serviceproviders/sapi_calendar/tsrc/testing/tcalendarservice/tcal_getlist/group/tcal_getlist.pkg Tue Nov 24 08:56:33 2009 +0200 +++ b/serviceproviders/sapi_calendar/tsrc/testing/tcalendarservice/tcal_getlist/group/tcal_getlist.pkg Thu Dec 17 09:09:50 2009 +0200 @@ -32,8 +32,8 @@ ;SAPI Binaries to Install ;Calendarservice binaries -;"..\..\..\..\..\..\..\..\..\epoc32\release\armv5\urel\Calendarservice.dll"-"C:\sys\bin\Calendarservice.dll" -"..\..\..\..\..\..\..\..\..\epoc32\release\armv5\urel\tcal_getlist.dll"-"C:\sys\bin\tcal_getlist.dll" +;"..\..\..\..\..\..\..\..\..\..\epoc32\release\armv5\urel\Calendarservice.dll"-"C:\sys\bin\Calendarservice.dll" +"..\..\..\..\..\..\..\..\..\..\epoc32\release\armv5\urel\tcal_getlist.dll"-"C:\sys\bin\tcal_getlist.dll" ;ini file diff -r 50974a8b132e -r 5d0ec8b709be serviceproviders/sapi_calendar/tsrc/testing/tcalendarservice/tcal_import/group/tcal_import.pkg --- a/serviceproviders/sapi_calendar/tsrc/testing/tcalendarservice/tcal_import/group/tcal_import.pkg Tue Nov 24 08:56:33 2009 +0200 +++ b/serviceproviders/sapi_calendar/tsrc/testing/tcalendarservice/tcal_import/group/tcal_import.pkg Thu Dec 17 09:09:50 2009 +0200 @@ -32,8 +32,8 @@ ;SAPI Binaries to Install ;Calendarservice binaries -;"..\..\..\..\..\..\..\..\..\epoc32\release\armv5\urel\Calendarservice.dll"-"C:\sys\bin\Calendarservice.dll" -"..\..\..\..\..\..\..\..\..\epoc32\release\armv5\urel\tcal_import.dll"-"C:\sys\bin\tcal_import.dll" +;"..\..\..\..\..\..\..\..\..\..\epoc32\release\armv5\urel\Calendarservice.dll"-"C:\sys\bin\Calendarservice.dll" +"..\..\..\..\..\..\..\..\..\..\epoc32\release\armv5\urel\tcal_import.dll"-"C:\sys\bin\tcal_import.dll" ;ini file diff -r 50974a8b132e -r 5d0ec8b709be serviceproviders/sapi_calendar/tsrc/testing/tcalendarservice/tcal_update/group/tcal_update.pkg --- a/serviceproviders/sapi_calendar/tsrc/testing/tcalendarservice/tcal_update/group/tcal_update.pkg Tue Nov 24 08:56:33 2009 +0200 +++ b/serviceproviders/sapi_calendar/tsrc/testing/tcalendarservice/tcal_update/group/tcal_update.pkg Thu Dec 17 09:09:50 2009 +0200 @@ -32,8 +32,8 @@ ;SAPI Binaries to Install ;Calendarservice binaries -;"..\..\..\..\..\..\..\..\..\epoc32\release\armv5\urel\Calendarservice.dll"-"C:\sys\bin\Calendarservice.dll" -"..\..\..\..\..\..\..\..\..\epoc32\release\armv5\urel\tcal_update.dll"-"C:\sys\bin\tcal_update.dll" +;"..\..\..\..\..\..\..\..\..\..\epoc32\release\armv5\urel\Calendarservice.dll"-"C:\sys\bin\Calendarservice.dll" +"..\..\..\..\..\..\..\..\..\..\epoc32\release\armv5\urel\tcal_update.dll"-"C:\sys\bin\tcal_update.dll" ;ini file diff -r 50974a8b132e -r 5d0ec8b709be serviceproviders/sapi_calendar/tsrc/testing/tcalprovider_combined/group/tcalprovider_combined.pkg --- a/serviceproviders/sapi_calendar/tsrc/testing/tcalprovider_combined/group/tcalprovider_combined.pkg Tue Nov 24 08:56:33 2009 +0200 +++ b/serviceproviders/sapi_calendar/tsrc/testing/tcalprovider_combined/group/tcalprovider_combined.pkg Thu Dec 17 09:09:50 2009 +0200 @@ -32,8 +32,8 @@ ;SAPI Binaries to Install ;Calendarservice binaries -;"..\..\..\..\..\..\..\..\epoc32\release\armv5\urel\Calendarservice.dll"-"C:\sys\bin\Calendarservice.dll" -"..\..\..\..\..\..\..\..\epoc32\release\armv5\urel\tcalprovider_combined.dll"-"C:\sys\bin\tcalprovider_combined.dll" +;"..\..\..\..\..\..\..\..\..\epoc32\release\armv5\urel\Calendarservice.dll"-"C:\sys\bin\Calendarservice.dll" +"..\..\..\..\..\..\..\..\..\epoc32\release\armv5\urel\tcalprovider_combined.dll"-"C:\sys\bin\tcalprovider_combined.dll" ;ini file diff -r 50974a8b132e -r 5d0ec8b709be serviceproviders/sapi_contacts_vpbk/contactservice/group/contactservice.mmp --- a/serviceproviders/sapi_contacts_vpbk/contactservice/group/contactservice.mmp Tue Nov 24 08:56:33 2009 +0200 +++ b/serviceproviders/sapi_contacts_vpbk/contactservice/group/contactservice.mmp Thu Dec 17 09:09:50 2009 +0200 @@ -25,7 +25,7 @@ EPOCALLOWDLLDATA -VERSION 1.1 +VERSION 1.2 CAPABILITY CAP_GENERAL_DLL VENDORID 0 diff -r 50974a8b132e -r 5d0ec8b709be serviceproviders/sapi_contacts_vpbk/data/0x102833A7.rss --- a/serviceproviders/sapi_contacts_vpbk/data/0x102833A7.rss Tue Nov 24 08:56:33 2009 +0200 +++ b/serviceproviders/sapi_contacts_vpbk/data/0x102833A7.rss Thu Dec 17 09:09:50 2009 +0200 @@ -38,7 +38,7 @@ version_no = 1; display_name = "Test Contact Provider"; default_data = "Service.Contact"; - opaque_data = "IDataSource" "::" "RUDWUD1.1contactprovidername.rsc"; + opaque_data = "IDataSource" "::" "RUDWUD2.0contactprovidername.rsc"; } }; diff -r 50974a8b132e -r 5d0ec8b709be serviceproviders/sapi_contacts_vpbk/group/contactprovider.mmp --- a/serviceproviders/sapi_contacts_vpbk/group/contactprovider.mmp Tue Nov 24 08:56:33 2009 +0200 +++ b/serviceproviders/sapi_contacts_vpbk/group/contactprovider.mmp Thu Dec 17 09:09:50 2009 +0200 @@ -24,7 +24,7 @@ UID 0x10009D8D 0x102833A7 -VERSION 1.1 +VERSION 1.2 //Source files directory SOURCEPATH ../src diff -r 50974a8b132e -r 5d0ec8b709be serviceproviders/sapi_contacts_vpbk/tsrc/dev/tcontactprovidertest/group/tcontactprovidertest.pkg --- a/serviceproviders/sapi_contacts_vpbk/tsrc/dev/tcontactprovidertest/group/tcontactprovidertest.pkg Tue Nov 24 08:56:33 2009 +0200 +++ b/serviceproviders/sapi_contacts_vpbk/tsrc/dev/tcontactprovidertest/group/tcontactprovidertest.pkg Thu Dec 17 09:09:50 2009 +0200 @@ -32,8 +32,8 @@ ;SAPI Binaries to Install ;Contactservice binaries -;"..\..\..\..\..\..\..\epoc32\release\armv5\urel\contactservice.dll"-"C:\sys\bin\contactservice.dll" -"..\..\..\..\..\..\..\epoc32\release\armv5\urel\tcontactprovidertest.dll"-"C:\sys\bin\tcontactprovidertest.dll" +;"..\..\..\..\..\..\..\..\..\epoc32\release\armv5\urel\contactservice.dll"-"C:\sys\bin\contactservice.dll" +"..\..\..\..\..\..\..\..\..\epoc32\release\armv5\urel\tcontactprovidertest.dll"-"C:\sys\bin\tcontactprovidertest.dll" ;ini file diff -r 50974a8b132e -r 5d0ec8b709be serviceproviders/sapi_contacts_vpbk/tsrc/dev/tcontactprovidertest_sync/group/tcontactprovidertest_sync.pkg --- a/serviceproviders/sapi_contacts_vpbk/tsrc/dev/tcontactprovidertest_sync/group/tcontactprovidertest_sync.pkg Tue Nov 24 08:56:33 2009 +0200 +++ b/serviceproviders/sapi_contacts_vpbk/tsrc/dev/tcontactprovidertest_sync/group/tcontactprovidertest_sync.pkg Thu Dec 17 09:09:50 2009 +0200 @@ -32,8 +32,8 @@ ;SAPI Binaries to Install ;Contactservice binaries -;"..\..\..\..\..\..\..\epoc32\release\armv5\urel\contactservice.dll"-"C:\sys\bin\contactservice.dll" -"..\..\..\..\..\..\..\epoc32\release\armv5\urel\tcontactprovidertest_sync.dll"-"C:\sys\bin\tcontactprovidertest_sync.dll" +;"..\..\..\..\..\..\..\..\..\epoc32\release\armv5\urel\contactservice.dll"-"C:\sys\bin\contactservice.dll" +"..\..\..\..\..\..\..\..\..\epoc32\release\armv5\urel\tcontactprovidertest_sync.dll"-"C:\sys\bin\tcontactprovidertest_sync.dll" ;ini file diff -r 50974a8b132e -r 5d0ec8b709be serviceproviders/sapi_contacts_vpbk/tsrc/dev/tcontacts_async/group/tcontacts_async.pkg --- a/serviceproviders/sapi_contacts_vpbk/tsrc/dev/tcontacts_async/group/tcontacts_async.pkg Tue Nov 24 08:56:33 2009 +0200 +++ b/serviceproviders/sapi_contacts_vpbk/tsrc/dev/tcontacts_async/group/tcontacts_async.pkg Thu Dec 17 09:09:50 2009 +0200 @@ -32,8 +32,8 @@ ;SAPI Binaries to Install ;Contactservice binaries -;"..\..\..\..\..\..\..\epoc32\release\armv5\urel\contactservice.dll"-"C:\sys\bin\contactservice.dll" -"..\..\..\..\..\..\..\epoc32\release\armv5\urel\tcontacts_async.dll"-"C:\sys\bin\tcontacts_async.dll" +;"..\..\..\..\..\..\..\..\..\epoc32\release\armv5\urel\contactservice.dll"-"C:\sys\bin\contactservice.dll" +"..\..\..\..\..\..\..\..\..\epoc32\release\armv5\urel\tcontacts_async.dll"-"C:\sys\bin\tcontacts_async.dll" ;ini file diff -r 50974a8b132e -r 5d0ec8b709be serviceproviders/sapi_contacts_vpbk/tsrc/dev/tcontacts_sim/group/tcontacts_sim.pkg --- a/serviceproviders/sapi_contacts_vpbk/tsrc/dev/tcontacts_sim/group/tcontacts_sim.pkg Tue Nov 24 08:56:33 2009 +0200 +++ b/serviceproviders/sapi_contacts_vpbk/tsrc/dev/tcontacts_sim/group/tcontacts_sim.pkg Thu Dec 17 09:09:50 2009 +0200 @@ -32,8 +32,8 @@ ;SAPI Binaries to Install ;Contactservice binaries -;"..\..\..\..\..\..\..\epoc32\release\armv5\urel\contactservice.dll"-"C:\sys\bin\contactservice.dll" -"..\..\..\..\..\..\..\epoc32\release\armv5\urel\tcontacts_sim.dll"-"C:\sys\bin\tcontacts_sim.dll" +;"..\..\..\..\..\..\..\..\..\epoc32\release\armv5\urel\contactservice.dll"-"C:\sys\bin\contactservice.dll" +"..\..\..\..\..\..\..\..\..\epoc32\release\armv5\urel\tcontacts_sim.dll"-"C:\sys\bin\tcontacts_sim.dll" ;ini file diff -r 50974a8b132e -r 5d0ec8b709be serviceproviders/sapi_contacts_vpbk/tsrc/dev/tcontacts_sync/group/tcontacts_sync.pkg --- a/serviceproviders/sapi_contacts_vpbk/tsrc/dev/tcontacts_sync/group/tcontacts_sync.pkg Tue Nov 24 08:56:33 2009 +0200 +++ b/serviceproviders/sapi_contacts_vpbk/tsrc/dev/tcontacts_sync/group/tcontacts_sync.pkg Thu Dec 17 09:09:50 2009 +0200 @@ -32,8 +32,8 @@ ;SAPI Binaries to Install ;Contactservice binaries -;"..\..\..\..\..\..\..\epoc32\release\armv5\urel\contactservice.dll"-"C:\sys\bin\contactservice.dll" -"..\..\..\..\..\..\..\epoc32\release\armv5\urel\tcontacts_sync.dll"-"C:\sys\bin\tcontacts_sync.dll" +;"..\..\..\..\..\..\..\..\..\epoc32\release\armv5\urel\contactservice.dll"-"C:\sys\bin\contactservice.dll" +"..\..\..\..\..\..\..\..\..\epoc32\release\armv5\urel\tcontacts_sync.dll"-"C:\sys\bin\tcontacts_sync.dll" ;ini file diff -r 50974a8b132e -r 5d0ec8b709be serviceproviders/sapi_contacts_vpbk/tsrc/dev/tcontactsgetidsprovidertest/group/tcontactsgetidsprovidertest.pkg --- a/serviceproviders/sapi_contacts_vpbk/tsrc/dev/tcontactsgetidsprovidertest/group/tcontactsgetidsprovidertest.pkg Tue Nov 24 08:56:33 2009 +0200 +++ b/serviceproviders/sapi_contacts_vpbk/tsrc/dev/tcontactsgetidsprovidertest/group/tcontactsgetidsprovidertest.pkg Thu Dec 17 09:09:50 2009 +0200 @@ -32,8 +32,8 @@ ;SAPI Binaries to Install ;Contactservice binaries -;"..\..\..\..\..\..\..\epoc32\release\armv5\urel\contactservice.dll"-"C:\sys\bin\contactservice.dll" -"..\..\..\..\..\..\..\epoc32\release\armv5\urel\tcontactsgetidsprovidertest.dll"-"C:\sys\bin\tcontactsgetidsprovidertest.dll" +;"..\..\..\..\..\..\..\..\..\epoc32\release\armv5\urel\contactservice.dll"-"C:\sys\bin\contactservice.dll" +"..\..\..\..\..\..\..\..\..\epoc32\release\armv5\urel\tcontactsgetidsprovidertest.dll"-"C:\sys\bin\tcontactsgetidsprovidertest.dll" diff -r 50974a8b132e -r 5d0ec8b709be serviceproviders/sapi_contacts_vpbk/tsrc/dev/tcontactsprovidetest_sim/group/tcontactsprovider_sim.pkg --- a/serviceproviders/sapi_contacts_vpbk/tsrc/dev/tcontactsprovidetest_sim/group/tcontactsprovider_sim.pkg Tue Nov 24 08:56:33 2009 +0200 +++ b/serviceproviders/sapi_contacts_vpbk/tsrc/dev/tcontactsprovidetest_sim/group/tcontactsprovider_sim.pkg Thu Dec 17 09:09:50 2009 +0200 @@ -32,8 +32,8 @@ ;SAPI Binaries to Install ;Contactservice binaries -;"..\..\..\..\..\..\..\epoc32\release\armv5\urel\contactservice.dll" - "C:\sys\bin\contactservice.dll" -"..\..\..\..\..\..\..\epoc32\release\armv5\urel\tcontactsprovider_sim.dll" - "C:\sys\bin\tcontactsprovider_sim.dll" +;"..\..\..\..\..\..\..\..\..\epoc32\release\armv5\urel\contactservice.dll" - "C:\sys\bin\contactservice.dll" +"..\..\..\..\..\..\..\..\..\epoc32\release\armv5\urel\tcontactsprovider_sim.dll" - "C:\sys\bin\tcontactsprovider_sim.dll" ;ini file diff -r 50974a8b132e -r 5d0ec8b709be serviceproviders/sapi_contacts_vpbk/tsrc/dev/tprovidertest_vpbk/group/tprovidertest_vpbk.pkg --- a/serviceproviders/sapi_contacts_vpbk/tsrc/dev/tprovidertest_vpbk/group/tprovidertest_vpbk.pkg Tue Nov 24 08:56:33 2009 +0200 +++ b/serviceproviders/sapi_contacts_vpbk/tsrc/dev/tprovidertest_vpbk/group/tprovidertest_vpbk.pkg Thu Dec 17 09:09:50 2009 +0200 @@ -32,8 +32,8 @@ ;SAPI Binaries to Install ;Contactservice binaries -;"..\..\..\..\..\..\..\epoc32\release\armv5\urel\contactservice.dll"-"C:\sys\bin\contactservice.dll" -"..\..\..\..\..\..\..\epoc32\release\armv5\urel\tprovidertest_vpbk.dll"-"C:\sys\bin\tprovidertest_vpbk.dll" +;"..\..\..\..\..\..\..\..\..\epoc32\release\armv5\urel\contactservice.dll"-"C:\sys\bin\contactservice.dll" +"..\..\..\..\..\..\..\..\..\epoc32\release\armv5\urel\tprovidertest_vpbk.dll"-"C:\sys\bin\tprovidertest_vpbk.dll" ;ini file diff -r 50974a8b132e -r 5d0ec8b709be serviceproviders/sapi_contacts_vpbk/tsrc/testing/tcontact_add/group/tcontact_add.pkg --- a/serviceproviders/sapi_contacts_vpbk/tsrc/testing/tcontact_add/group/tcontact_add.pkg Tue Nov 24 08:56:33 2009 +0200 +++ b/serviceproviders/sapi_contacts_vpbk/tsrc/testing/tcontact_add/group/tcontact_add.pkg Thu Dec 17 09:09:50 2009 +0200 @@ -32,8 +32,8 @@ ;SAPI Binaries to Install ;Contactservice binaries -;"..\..\..\..\..\..\..\epoc32\release\armv5\urel\contactservice.dll"-"C:\sys\bin\contactservice.dll" -"..\..\..\..\..\..\..\epoc32\release\armv5\urel\tContact_add.dll"-"C:\sys\bin\tContact_add.dll" +;"..\..\..\..\..\..\..\..\..\epoc32\release\armv5\urel\contactservice.dll"-"C:\sys\bin\contactservice.dll" +"..\..\..\..\..\..\..\..\..\epoc32\release\armv5\urel\tContact_add.dll"-"C:\sys\bin\tContact_add.dll" ;ini file diff -r 50974a8b132e -r 5d0ec8b709be serviceproviders/sapi_contacts_vpbk/tsrc/testing/tcontact_delete/group/tcontact_delete.pkg --- a/serviceproviders/sapi_contacts_vpbk/tsrc/testing/tcontact_delete/group/tcontact_delete.pkg Tue Nov 24 08:56:33 2009 +0200 +++ b/serviceproviders/sapi_contacts_vpbk/tsrc/testing/tcontact_delete/group/tcontact_delete.pkg Thu Dec 17 09:09:50 2009 +0200 @@ -32,8 +32,8 @@ ;SAPI Binaries to Install ;Contactservice binaries -;"..\..\..\..\..\..\..\epoc32\release\armv5\urel\contactservice.dll"-"C:\sys\bin\contactservice.dll" -"..\..\..\..\..\..\..\epoc32\release\armv5\urel\tContact_delete.dll"-"C:\sys\bin\tContact_delete.dll" +;"..\..\..\..\..\..\..\..\..\epoc32\release\armv5\urel\contactservice.dll"-"C:\sys\bin\contactservice.dll" +"..\..\..\..\..\..\..\..\..\epoc32\release\armv5\urel\tContact_delete.dll"-"C:\sys\bin\tContact_delete.dll" ;ini file diff -r 50974a8b132e -r 5d0ec8b709be serviceproviders/sapi_contacts_vpbk/tsrc/testing/tcontact_edit/group/tcontact_edit.pkg --- a/serviceproviders/sapi_contacts_vpbk/tsrc/testing/tcontact_edit/group/tcontact_edit.pkg Tue Nov 24 08:56:33 2009 +0200 +++ b/serviceproviders/sapi_contacts_vpbk/tsrc/testing/tcontact_edit/group/tcontact_edit.pkg Thu Dec 17 09:09:50 2009 +0200 @@ -32,8 +32,8 @@ ;SAPI Binaries to Install ;Contactservice binaries -;"..\..\..\..\..\..\..\epoc32\release\armv5\urel\contactservice.dll"-"C:\sys\bin\contactservice.dll" -"..\..\..\..\..\..\..\epoc32\release\armv5\urel\tContact_edit.dll"-"C:\sys\bin\tContact_edit.dll" +;"..\..\..\..\..\..\..\..\..\epoc32\release\armv5\urel\contactservice.dll"-"C:\sys\bin\contactservice.dll" +"..\..\..\..\..\..\..\..\..\epoc32\release\armv5\urel\tContact_edit.dll"-"C:\sys\bin\tContact_edit.dll" ;ini file diff -r 50974a8b132e -r 5d0ec8b709be serviceproviders/sapi_contacts_vpbk/tsrc/testing/tcontact_export/group/tcontact_export.pkg --- a/serviceproviders/sapi_contacts_vpbk/tsrc/testing/tcontact_export/group/tcontact_export.pkg Tue Nov 24 08:56:33 2009 +0200 +++ b/serviceproviders/sapi_contacts_vpbk/tsrc/testing/tcontact_export/group/tcontact_export.pkg Thu Dec 17 09:09:50 2009 +0200 @@ -32,8 +32,8 @@ ;SAPI Binaries to Install ;Contactservice binaries -;"..\..\..\..\..\..\..\epoc32\release\armv5\urel\contactservice.dll"-"C:\sys\bin\contactservice.dll" -"..\..\..\..\..\..\..\epoc32\release\armv5\urel\tContact_export.dll"-"C:\sys\bin\tContact_export.dll" +;"..\..\..\..\..\..\..\..\..\epoc32\release\armv5\urel\contactservice.dll"-"C:\sys\bin\contactservice.dll" +"..\..\..\..\..\..\..\..\..\epoc32\release\armv5\urel\tContact_export.dll"-"C:\sys\bin\tContact_export.dll" ;ini file diff -r 50974a8b132e -r 5d0ec8b709be serviceproviders/sapi_contacts_vpbk/tsrc/testing/tcontact_getIds/group/tcontact_getIds.pkg --- a/serviceproviders/sapi_contacts_vpbk/tsrc/testing/tcontact_getIds/group/tcontact_getIds.pkg Tue Nov 24 08:56:33 2009 +0200 +++ b/serviceproviders/sapi_contacts_vpbk/tsrc/testing/tcontact_getIds/group/tcontact_getIds.pkg Thu Dec 17 09:09:50 2009 +0200 @@ -32,8 +32,8 @@ ;SAPI Binaries to Install ;Contactservice binaries -;"..\..\..\..\..\..\..\epoc32\release\armv5\urel\contactservice.dll"-"C:\sys\bin\contactservice.dll" -"..\..\..\..\..\..\..\epoc32\release\armv5\urel\tcontact_getIds.dll"-"C:\sys\bin\tcontact_getIds.dll" +;"..\..\..\..\..\..\..\..\..\epoc32\release\armv5\urel\contactservice.dll"-"C:\sys\bin\contactservice.dll" +"..\..\..\..\..\..\..\..\..\epoc32\release\armv5\urel\tcontact_getIds.dll"-"C:\sys\bin\tcontact_getIds.dll" ;ini file diff -r 50974a8b132e -r 5d0ec8b709be serviceproviders/sapi_contacts_vpbk/tsrc/testing/tcontact_getlist/group/tcontact_getlist.pkg --- a/serviceproviders/sapi_contacts_vpbk/tsrc/testing/tcontact_getlist/group/tcontact_getlist.pkg Tue Nov 24 08:56:33 2009 +0200 +++ b/serviceproviders/sapi_contacts_vpbk/tsrc/testing/tcontact_getlist/group/tcontact_getlist.pkg Thu Dec 17 09:09:50 2009 +0200 @@ -32,8 +32,8 @@ ;SAPI Binaries to Install ;Contactservice binaries -;"..\..\..\..\..\..\..\epoc32\release\armv5\urel\contactservice.dll"-"C:\sys\bin\contactservice.dll" -"..\..\..\..\..\..\..\epoc32\release\armv5\urel\tContact_getlist.dll"-"C:\sys\bin\tContact_getlist.dll" +;"..\..\..\..\..\..\..\..\..\epoc32\release\armv5\urel\contactservice.dll"-"C:\sys\bin\contactservice.dll" +"..\..\..\..\..\..\..\..\..\epoc32\release\armv5\urel\tContact_getlist.dll"-"C:\sys\bin\tContact_getlist.dll" ;ini file diff -r 50974a8b132e -r 5d0ec8b709be serviceproviders/sapi_contacts_vpbk/tsrc/testing/tcontact_import/group/tcontact_import.pkg --- a/serviceproviders/sapi_contacts_vpbk/tsrc/testing/tcontact_import/group/tcontact_import.pkg Tue Nov 24 08:56:33 2009 +0200 +++ b/serviceproviders/sapi_contacts_vpbk/tsrc/testing/tcontact_import/group/tcontact_import.pkg Thu Dec 17 09:09:50 2009 +0200 @@ -32,8 +32,8 @@ ;SAPI Binaries to Install ;Contactservice binaries -;"..\..\..\..\..\..\..\epoc32\release\armv5\urel\contactservice.dll"-"C:\sys\bin\contactservice.dll" -"..\..\..\..\..\..\..\epoc32\release\armv5\urel\tContact_import.dll"-"C:\sys\bin\tContact_import.dll" +;"..\..\..\..\..\..\..\..\..\epoc32\release\armv5\urel\contactservice.dll"-"C:\sys\bin\contactservice.dll" +"..\..\..\..\..\..\..\..\..\epoc32\release\armv5\urel\tContact_import.dll"-"C:\sys\bin\tContact_import.dll" ;vcf files "..\data\c\cagent.vcf"-"c:\data\cagent.vcf" diff -r 50974a8b132e -r 5d0ec8b709be serviceproviders/sapi_contacts_vpbk/tsrc/testing/tcontact_organise/group/tcontact_organise.pkg --- a/serviceproviders/sapi_contacts_vpbk/tsrc/testing/tcontact_organise/group/tcontact_organise.pkg Tue Nov 24 08:56:33 2009 +0200 +++ b/serviceproviders/sapi_contacts_vpbk/tsrc/testing/tcontact_organise/group/tcontact_organise.pkg Thu Dec 17 09:09:50 2009 +0200 @@ -32,8 +32,8 @@ ;SAPI Binaries to Install ;Contactservice binaries -;"..\..\..\..\..\..\..\epoc32\release\armv5\urel\contactservice.dll"-"C:\sys\bin\contactservice.dll" -"..\..\..\..\..\..\..\epoc32\release\armv5\urel\tContact_organise.dll"-"C:\sys\bin\tContact_organise.dll" +;"..\..\..\..\..\..\..\..\..\epoc32\release\armv5\urel\contactservice.dll"-"C:\sys\bin\contactservice.dll" +"..\..\..\..\..\..\..\..\..\epoc32\release\armv5\urel\tContact_organise.dll"-"C:\sys\bin\tContact_organise.dll" ;ini file diff -r 50974a8b132e -r 5d0ec8b709be serviceproviders/sapi_landmarks/data/landmarkprovider.rls --- a/serviceproviders/sapi_landmarks/data/landmarkprovider.rls Tue Nov 24 08:56:33 2009 +0200 +++ b/serviceproviders/sapi_landmarks/data/landmarkprovider.rls Thu Dec 17 09:09:50 2009 +0200 @@ -29,5 +29,5 @@ rls_string STRING_landmarkprovider_capability_meta_data_seperator_string "::" -rls_string STRING_landmarkprovider_capability_meta_data_string " RUD WUD 1.1landmarkprovidername.rsc " +rls_string STRING_landmarkprovider_capability_meta_data_string " RUD WUD 2.0landmarkprovidername.rsc " // End of File diff -r 50974a8b132e -r 5d0ec8b709be serviceproviders/sapi_landmarks/group/landmarkprovider.mmp --- a/serviceproviders/sapi_landmarks/group/landmarkprovider.mmp Tue Nov 24 08:56:33 2009 +0200 +++ b/serviceproviders/sapi_landmarks/group/landmarkprovider.mmp Thu Dec 17 09:09:50 2009 +0200 @@ -25,7 +25,7 @@ VENDORID VID_DEFAULT CAPABILITY CAP_ECOM_PLUGIN -VERSION 1.1 +VERSION 1.2 USERINCLUDE ../inc USERINCLUDE ../landmarksservice/inc diff -r 50974a8b132e -r 5d0ec8b709be serviceproviders/sapi_landmarks/inc/clandmarkcategoryiterable.h --- a/serviceproviders/sapi_landmarks/inc/clandmarkcategoryiterable.h Tue Nov 24 08:56:33 2009 +0200 +++ b/serviceproviders/sapi_landmarks/inc/clandmarkcategoryiterable.h Thu Dec 17 09:09:50 2009 +0200 @@ -27,7 +27,7 @@ class CPosLandmarkDatabase; class CPosLmCategoryManager; class CPosLmItemIterator; - +class CLandmarkHandler; /** * CLandmarkCategoryIterable * This class inherits from CLiwIterable and implements the Reset() and @@ -55,6 +55,10 @@ * Destructor. */ ~CLandmarkCategoryIterable(); + + void SetHandler(CLandmarkHandler* aHandler); + + void Close(); protected: //from CLiwIterable @@ -84,6 +88,7 @@ private: //data + CLandmarkHandler* iHandler; /** * iIterator * The handle to the CPosLmItemIterator landmark iterator. diff -r 50974a8b132e -r 5d0ec8b709be serviceproviders/sapi_landmarks/inc/clandmarkiterable.h --- a/serviceproviders/sapi_landmarks/inc/clandmarkiterable.h Tue Nov 24 08:56:33 2009 +0200 +++ b/serviceproviders/sapi_landmarks/inc/clandmarkiterable.h Thu Dec 17 09:09:50 2009 +0200 @@ -26,6 +26,7 @@ class CPosLandmark; class CPosLandmarkDatabase; class CPosLmItemIterator; +class CLandmarkHandler; /** * CLandmarkIterable @@ -54,6 +55,9 @@ * Destructor. */ ~CLandmarkIterable(); + + void SetHandler(CLandmarkHandler* aHandler); + void Close(); protected: //from CLiwIterable @@ -83,6 +87,7 @@ private: //data + CLandmarkHandler* iHandler; /** * iIterator * The handle to the CPosLmItemIterator landmark iterator. diff -r 50974a8b132e -r 5d0ec8b709be serviceproviders/sapi_landmarks/inc/clandmarkobserver.h --- a/serviceproviders/sapi_landmarks/inc/clandmarkobserver.h Tue Nov 24 08:56:33 2009 +0200 +++ b/serviceproviders/sapi_landmarks/inc/clandmarkobserver.h Thu Dec 17 09:09:50 2009 +0200 @@ -46,23 +46,28 @@ */ static CLandmarkObserver* NewL( CLandmarkInterface* aLmIface ); - /** - * ~CLandmarkObserver - * Destructor. - */ - ~CLandmarkObserver() {} + /** + * ~CLandmarkObserver + * Destructor. + */ + ~CLandmarkObserver(); public:// from MLandmarkObserver - // HandleLandmarkItemsL. - // Notifies client of state change and calls MLiwNotifyCallback::HandleNotifyL(). - void HandleLandmarkItemsL( CPosLmItemIterator* aIterator, - TInt32 aTransactionId, TInt aError, const TDesC& aDatabaseUri ); + // HandleLandmarkItemsL. + // Notifies client of state change and calls MLiwNotifyCallback::HandleNotifyL(). + void HandleLandmarkItemsL(CPosLmItemIterator* aIterator, + TInt32 aTransactionId, TInt aError, CLandmarkHandler* aHandler); - // HandleCategoryItemsL. - // Notifies client of state change and calls MLiwNotifyCallback::HandleNotifyL(). - void HandleCategoryItemsL( CPosLmItemIterator* aIterator, - TInt32 aTransactionId, TInt aError, const TDesC& aDatabaseUri ); + // HandleCategoryItemsL. + // Notifies client of state change and calls MLiwNotifyCallback::HandleNotifyL(). + void HandleCategoryItemsL(CPosLmItemIterator* aIterator, + TInt32 aTransactionId, TInt aError, CLandmarkHandler* aHandler); + + void HandleAddItemsL(TPosLmItemId aId, TInt32 aTransactionId, TInt aError); + + void HandleItemsL(TInt32 aTransactionId, TInt aError); + private: // Constructors @@ -80,6 +85,11 @@ * Handle to CLandmarkInterface instance. */ CLandmarkInterface* iLmIface; + /** + * iId + * The id of the added/modified landmark/category. + */ + HBufC* iId; }; #endif // __CLANDMARKOBSERVER_H__ diff -r 50974a8b132e -r 5d0ec8b709be serviceproviders/sapi_landmarks/inc/landmarkinterface.h --- a/serviceproviders/sapi_landmarks/inc/landmarkinterface.h Tue Nov 24 08:56:33 2009 +0200 +++ b/serviceproviders/sapi_landmarks/inc/landmarkinterface.h Thu Dec 17 09:09:50 2009 +0200 @@ -389,7 +389,8 @@ * */ void AddLandmarksL( const CLiwGenericParamList& aInParamList, - CLiwGenericParamList& aOutParamList ); + CLiwGenericParamList& aOutParamList, TUint aCmdOptions, + MLiwNotifyCallback* aCallback ); /** * AddCategoryL @@ -401,7 +402,8 @@ * */ void AddCategoryL ( const CLiwGenericParamList& aInParamList, - CLiwGenericParamList& aOutParamList ); + CLiwGenericParamList& aOutParamList, TUint aCmdOptions, + MLiwNotifyCallback* aCallback ); /** * AddDatabaseL diff -r 50974a8b132e -r 5d0ec8b709be serviceproviders/sapi_landmarks/inc/landmarkliwparams.hrh --- a/serviceproviders/sapi_landmarks/inc/landmarkliwparams.hrh Tue Nov 24 08:56:33 2009 +0200 +++ b/serviceproviders/sapi_landmarks/inc/landmarkliwparams.hrh Thu Dec 17 09:09:50 2009 +0200 @@ -91,12 +91,14 @@ _LIT8(KLandmarkBuildingName,"BuildingName"); _LIT8(KLandmarkStreet,"Street"); _LIT8(KLandmarkTelephone,"Telephone"); +_LIT8(KLandmarkstate,"state"); // //Landmark category datamembers // _LIT8(KCategoryName,"CategoryName"); _LIT8(KGlobalCategory,"GlobalId"); +_LIT8(KCategoryIdChanged,"categoryId"); // //landmark database datamembers diff -r 50974a8b132e -r 5d0ec8b709be serviceproviders/sapi_landmarks/landmarksservice/bwins/landmarkservice.def --- a/serviceproviders/sapi_landmarks/landmarksservice/bwins/landmarkservice.def Tue Nov 24 08:56:33 2009 +0200 +++ b/serviceproviders/sapi_landmarks/landmarksservice/bwins/landmarkservice.def Thu Dec 17 09:09:50 2009 +0200 @@ -25,4 +25,13 @@ ?UpdateItemL@CLandmarkService@@QAEXABVCPosLandmark@@ABVTDesC16@@@Z @ 24 NONAME ; void CLandmarkService::UpdateItemL(class CPosLandmark const &, class TDesC16 const &) ?UpdateItemL@CLandmarkService@@QAEXABVCPosLandmarkCategory@@ABVTDesC16@@@Z @ 25 NONAME ; void CLandmarkService::UpdateItemL(class CPosLandmarkCategory const &, class TDesC16 const &) ?UpdateItemL@CLandmarkService@@QAEXVTPosLmDatabaseSettings@@ABVTDesC16@@@Z @ 26 NONAME ; void CLandmarkService::UpdateItemL(class TPosLmDatabaseSettings, class TDesC16 const &) + ?AddItemL@CLandmarkService@@QAEXJAAVCPosLandmark@@ABVTDesC16@@@Z @ 27 NONAME ; void CLandmarkService::AddItemL(long, class CPosLandmark &, class TDesC16 const &) + ?AddItemL@CLandmarkService@@QAEXJAAVCPosLandmarkCategory@@ABVTDesC16@@@Z @ 28 NONAME ; void CLandmarkService::AddItemL(long, class CPosLandmarkCategory &, class TDesC16 const &) + ?UpdateItemL@CLandmarkService@@QAEXJABVCPosLandmark@@ABVTDesC16@@@Z @ 29 NONAME ; void CLandmarkService::UpdateItemL(long, class CPosLandmark const &, class TDesC16 const &) + ?UpdateItemL@CLandmarkService@@QAEXJABVCPosLandmarkCategory@@ABVTDesC16@@@Z @ 30 NONAME ; void CLandmarkService::UpdateItemL(long, class CPosLandmarkCategory const &, class TDesC16 const &) + ?RemoveItemL@CLandmarkService@@QAEXJKW4TPosItem@1@ABVTDesC16@@@Z @ 31 NONAME ; void CLandmarkService::RemoveItemL(long, unsigned long, enum CLandmarkService::TPosItem, class TDesC16 const &) + ?LinkCategoryToLandmarksL@CLandmarkService@@QAEXJKAAV?$RArray@K@@ABVTDesC16@@@Z @ 32 NONAME ; void CLandmarkService::LinkCategoryToLandmarksL(long, unsigned long, class RArray &, class TDesC16 const &) + ?UnlinkCategoryToLandmarksL@CLandmarkService@@QAEXJKAAV?$RArray@K@@ABVTDesC16@@@Z @ 33 NONAME ; void CLandmarkService::UnlinkCategoryToLandmarksL(long, unsigned long, class RArray &, class TDesC16 const &) + ?ExportL@CLandmarkService@@QBEXJAAVCPosLandmarkEncoder@@ABV?$RArray@K@@ABVTDesC16@@2@Z @ 34 NONAME ; void CLandmarkService::ExportL(long, class CPosLandmarkEncoder &, class RArray const &, class TDesC16 const &, class TDesC16 const &) const + ?ImportL@CLandmarkService@@QAEXJAAVCPosLandmarkParser@@ABVTDesC16@@@Z @ 35 NONAME ; void CLandmarkService::ImportL(long, class CPosLandmarkParser &, class TDesC16 const &) diff -r 50974a8b132e -r 5d0ec8b709be serviceproviders/sapi_landmarks/landmarksservice/eabi/landmarkservice.def --- a/serviceproviders/sapi_landmarks/landmarksservice/eabi/landmarkservice.def Tue Nov 24 08:56:33 2009 +0200 +++ b/serviceproviders/sapi_landmarks/landmarksservice/eabi/landmarkservice.def Thu Dec 17 09:09:50 2009 +0200 @@ -25,4 +25,13 @@ _ZNK16CLandmarkService7ExportLER19CPosLandmarkEncoderRK6RArrayImERK7TDesC16 @ 24 NONAME _ZNK16CLandmarkService8GetListLERP12CDesC16ArrayRK7TDesC16 @ 25 NONAME _ZNK16CLandmarkService8GetListLERP18CPosLmItemIteratorR15CLandmarkFilterRK7TDesC16 @ 26 NONAME + _ZN16CLandmarkService11RemoveItemLElmNS_8TPosItemERK7TDesC16 @ 27 NONAME + _ZN16CLandmarkService11UpdateItemLElRK12CPosLandmarkRK7TDesC16 @ 28 NONAME + _ZN16CLandmarkService11UpdateItemLElRK20CPosLandmarkCategoryRK7TDesC16 @ 29 NONAME + _ZN16CLandmarkService24LinkCategoryToLandmarksLElmR6RArrayImERK7TDesC16 @ 30 NONAME + _ZN16CLandmarkService26UnlinkCategoryToLandmarksLElmR6RArrayImERK7TDesC16 @ 31 NONAME + _ZN16CLandmarkService8AddItemLElR12CPosLandmarkRK7TDesC16 @ 32 NONAME + _ZN16CLandmarkService8AddItemLElR20CPosLandmarkCategoryRK7TDesC16 @ 33 NONAME + _ZN16CLandmarkService7ImportLElR18CPosLandmarkParserRK7TDesC16 @ 34 NONAME + _ZNK16CLandmarkService7ExportLElR19CPosLandmarkEncoderRK6RArrayImERK7TDesC16S8_ @ 35 NONAME diff -r 50974a8b132e -r 5d0ec8b709be serviceproviders/sapi_landmarks/landmarksservice/group/landmarkservice.mmp --- a/serviceproviders/sapi_landmarks/landmarksservice/group/landmarkservice.mmp Tue Nov 24 08:56:33 2009 +0200 +++ b/serviceproviders/sapi_landmarks/landmarksservice/group/landmarkservice.mmp Thu Dec 17 09:09:50 2009 +0200 @@ -24,7 +24,7 @@ VENDORID VID_DEFAULT nostrictdef -VERSION 1.1 +VERSION 1.2 SOURCEPATH ../src SOURCE landmarkservice.cpp @@ -32,7 +32,7 @@ SOURCE clandmarkmanageobjects.cpp SOURCE clandmarkcmdgetcategories.cpp SOURCE clandmarkcmdgetlandmarks.cpp -SOURCE clandmarkfilter.cpp +SOURCE clandmarkfilter.cpp clandmarkdummyao.cpp clandmarkoperation.cpp USERINCLUDE ../inc @@ -41,6 +41,7 @@ LIBRARY eposlmdbmanlib.lib // for database management LIBRARY eposlmsearchlib.lib // for searching in single database LIBRARY flogger.lib // for logging function entries in debug mode +LIBRARY efsrv.lib paged diff -r 50974a8b132e -r 5d0ec8b709be serviceproviders/sapi_landmarks/landmarksservice/inc/clandmarkdummyao.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/serviceproviders/sapi_landmarks/landmarksservice/inc/clandmarkdummyao.h Thu Dec 17 09:09:50 2009 +0200 @@ -0,0 +1,99 @@ +/* +* Copyright (c) 2005-2006 Nokia Corporation and/or its subsidiary(-ies). +* All rights reserved. +* This component and the accompanying materials are made available +* under the terms of the License "Eclipse Public License v1.0" +* which accompanies this distribution, and is available +* at the URL "http://www.eclipse.org/legal/epl-v10.html". +* +* Initial Contributors: +* Nokia Corporation - initial contribution. +* +* Contributors: +* +* Description: CLandmarkCmdGetLandmarks class + * +*/ + +#ifndef CLANDMARKDUMMYAO_H_ +#define CLANDMARKDUMMYAO_H_ + +// INCLUDES +#include +#include +/** + * CLandmarkDummyAO + * This class inherits from CActive. This class is used to emulate + * asynchronous processing. + */ +// CLASS DECLARATION +NONSHARABLE_CLASS(CLandmarkDummyAO) : public CActive + { +public: + enum TCommand + { + EAdd, EUpdate, ERemove, + }; +public: + // New methods + + /** + * NewL. + * Two-phased constructor. + * Create a CLandmarkDummyAO object. + * @return a pointer to the created instance of CLandmarkDummyAO. + */ + CLandmarkDummyAO(MLandmarkObserver* aObserver, + CLandmarkManageObjects* aManageObjects); + + /** + * ~CLandmarkDummyAO + * Destructor. + */ + ~CLandmarkDummyAO(); + +public: + + void Start(TInt32 aTransactionId, + CLandmarkDummyAO::TCommand aCmd, TPosLmItemId aId, + TInt aError); + +private: + //from CActive + + // RunL. + // This functions gets called after completion of async request. + void RunL(); + + // DoCancel. + // This function will cancel ongoing async call. + void DoCancel(); + +private: + /** + * iTransactionId + * The tranaction id assigned to aync request. + */ + TInt32 iTransactionId; + + /** + * iObserver + * The handle to the MLandmarkObserver. + */ + MLandmarkObserver* iObserver; + + /** + * iManageObjects + * The handle to the garbage collector. + */ + CLandmarkManageObjects* iManageObjects; + + TCommand iCmd; + + TPosLmItemId iId; + + }; + +#endif /* CLANDMARKDUMMYAO_H_ */ + +// End of File diff -r 50974a8b132e -r 5d0ec8b709be serviceproviders/sapi_landmarks/landmarksservice/inc/clandmarkhandler.inl --- a/serviceproviders/sapi_landmarks/landmarksservice/inc/clandmarkhandler.inl Tue Nov 24 08:56:33 2009 +0200 +++ b/serviceproviders/sapi_landmarks/landmarksservice/inc/clandmarkhandler.inl Thu Dec 17 09:09:50 2009 +0200 @@ -54,3 +54,14 @@ { aDatabaseUri.Set (iDatabaseUri->Des ( ) ); } +inline TInt CLandmarkHandler::DecRef() + { + iRefCount--; + return iRefCount; + + } + +inline void CLandmarkHandler::IncRef() + { + iRefCount++; + } diff -r 50974a8b132e -r 5d0ec8b709be serviceproviders/sapi_landmarks/landmarksservice/inc/clandmarkmanagehandlers.h --- a/serviceproviders/sapi_landmarks/landmarksservice/inc/clandmarkmanagehandlers.h Tue Nov 24 08:56:33 2009 +0200 +++ b/serviceproviders/sapi_landmarks/landmarksservice/inc/clandmarkmanagehandlers.h Thu Dec 17 09:09:50 2009 +0200 @@ -127,6 +127,11 @@ */ static CLandmarkHandler* CreateL( const TDesC& aDatabaseUri ); + + TInt DecRef(); + + void IncRef(); + /** * ~CLandmarkHandler * Destructor. @@ -207,6 +212,7 @@ * The handle to the CPosLandmarkSearch of the database. */ CPosLandmarkSearch* iLandmarkSearchHandle; + TInt iRefCount; }; #include "clandmarkhandler.inl" diff -r 50974a8b132e -r 5d0ec8b709be serviceproviders/sapi_landmarks/landmarksservice/inc/clandmarkmanageobjects.h --- a/serviceproviders/sapi_landmarks/landmarksservice/inc/clandmarkmanageobjects.h Tue Nov 24 08:56:33 2009 +0200 +++ b/serviceproviders/sapi_landmarks/landmarksservice/inc/clandmarkmanageobjects.h Thu Dec 17 09:09:50 2009 +0200 @@ -24,7 +24,8 @@ //FORWARD DECLARATION class CLandmarkCmdBase; - +class CLandmarkDummyAO; +class CLandmarkOperation; /** * CLandmarkManageObjects * This class inherits from CActive. This acts as a garbage collector for inactive @@ -63,6 +64,8 @@ * @param aObject The pointer to the newly created active object. */ void AppendL( CLandmarkCmdBase* aObject ); + void AppendL( CLandmarkDummyAO* aObject ); + void AppendL( CLandmarkOperation* aObject ); /** * CancelObject @@ -96,6 +99,8 @@ * Array of active object pointers. */ RPointerArray iObjects; + RPointerArray iDummyObjects; + RPointerArray iOrgObjects; }; #endif // __CLANDMARKMANAGEOBJECTS_H__ diff -r 50974a8b132e -r 5d0ec8b709be serviceproviders/sapi_landmarks/landmarksservice/inc/clandmarkoperation.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/serviceproviders/sapi_landmarks/landmarksservice/inc/clandmarkoperation.h Thu Dec 17 09:09:50 2009 +0200 @@ -0,0 +1,178 @@ +/* +* Copyright (c) 2005-2006 Nokia Corporation and/or its subsidiary(-ies). +* All rights reserved. +* This component and the accompanying materials are made available +* under the terms of the License "Eclipse Public License v1.0" +* which accompanies this distribution, and is available +* at the URL "http://www.eclipse.org/legal/epl-v10.html". +* +* Initial Contributors: +* Nokia Corporation - initial contribution. +* +* Contributors: +* +* Description: CLandmarkCmdGetLandmarks class + * +*/ + +#ifndef CLANDMARKCMDLINKCATEGORIES_H_ +#define CLANDMARKCMDLINKCATEGORIES_H_ + +// INCLUDES +#include "clandmarkcmdbase.h" +#include + +class CPosLmCategoryManager; +class MLandmarkObserver; +class CLandmarkManageObjects; +class CLandmarkHandler; +class CPosLandmarkParser; +class CPosLandmarkEncoder; +class CPosLandmarkDatabase; +/** + * CLandmarkOperation + * This class processes the async request for retrieval of landmark categories from the landmark + * database. It implements the StartL ( CLandmarkHandler* aHandle, TInt32 aTransactionId, CLandmarkFilter* aFilter ) + * of CLandmarkCmdBase. After completion of the aynchronous request the MLandmarkObserver instance is notified + * and the garbage collector is set active. + */ +// CLASS DECLARATION +NONSHARABLE_CLASS(CLandmarkOperation) : public CActive + { +public: + enum TOperation + { + EOrganise, + EImport, + EExport, + }; +public: + // New methods + + /** + * NewL. + * Two-phased constructor. + * Create a CLandmarkOperation object. + * @param aObserver The pointer to the observer for this object. + * @param aManageObjects The pointer to the garbage collector. + * @return A pointer to the created instance of CLandmarkOperation. + */ + static CLandmarkOperation* NewL(MLandmarkObserver* aObserver, + CLandmarkManageObjects* aManageObjects); + + /** + * NewLC. + * Two-phased constructor. + * Create a CLandmarkOperation object. + * @param aObserver The pointer to the observer for this object. + * @param aManageObjects The pointer to the garbage collector. + * @return A pointer to the created instance of CLandmarkOperation. + */ + static CLandmarkOperation* NewLC(MLandmarkObserver* aObserver, + CLandmarkManageObjects* aManageObjects); + + /** + * ~CLandmarkOperation + * Destructor. + */ + ~CLandmarkOperation(); + +public: + // From CLandmarkCmdBase + + // This functions proceeds with the incremental search. + void LinkL(TInt32 aTransactionId, TPosLmItemId aCategoryId, RArray< + TPosLmItemId>& aLandmarkIdArray, + CPosLmCategoryManager* aCategoryManager); + + void UnLinkL(TInt32 aTransactionId, TPosLmItemId aCategoryId, RArray< + TPosLmItemId>& aLandmarkIdArray, + CPosLmCategoryManager* aCategoryManager); + + void ImportL(TInt32 aTransactionId, CLandmarkHandler* aHandle, + CPosLandmarkParser& aLandmarkParser); + + void ExportL(TInt32 aTransactionId, CPosLandmarkDatabase* aDatabase, + CPosLandmarkEncoder& aLandmarkEncoder, + const RArray& aLandmarkIdArray, + const TDesC& aDestinationFile); + + TInt32 TransactionId() + { + return iTransactionId; + } + +private: + + /** + * NextStep + * This functions proceeds with the incremental search. + */ + void NextStep(); + +private: + // From CActive + + // RunL. + // This functions gets called after completion of async request. + void RunL(); + + // DoCancel. + // This function will cancel ongoing async call. + void DoCancel(); + + TInt RunError(TInt aError); + +private: + // Constructors + + /** + * CLandmarkOperation. + * C++ default constructor. + * @param aObserver The pointer to the observer for this object. + * @param aManageObjects The pointer to the garbage collector. + */ + CLandmarkOperation(MLandmarkObserver* aObserver, + CLandmarkManageObjects* aManageObjects); + +private: + /** + * iTransactionId + * The tranaction id assigned to aync request. + */ + TInt32 iTransactionId; + + /** + * iObserver + * The handle to the MLandmarkObserver. + */ + MLandmarkObserver* iObserver; + + /** + * iOperation + * The handle to the CPosLmOperation. + */ + CPosLmOperation* iOperation; //owned + + /** + * iManageObjects + * The handle to the garbage collector. + */ + CLandmarkManageObjects* iManageObjects; + + /** + * iProgress + * To keep track of search progress. + */ + TReal32 iProgress; + CLandmarkHandler* iHandle; + CPosLandmarkEncoder* iEncoder; //owned + CPosLandmarkParser* iParser;//owned + HBufC* iDestinationFile; + CBufBase* iExportBuffer; //owned + + TOperation iOperationType; + + }; + +#endif /* CLANDMARKCMDLINKCATEGORIES_H_ */ diff -r 50974a8b132e -r 5d0ec8b709be serviceproviders/sapi_landmarks/landmarksservice/inc/landmarkservice.h --- a/serviceproviders/sapi_landmarks/landmarksservice/inc/landmarkservice.h Tue Nov 24 08:56:33 2009 +0200 +++ b/serviceproviders/sapi_landmarks/landmarksservice/inc/landmarkservice.h Thu Dec 17 09:09:50 2009 +0200 @@ -116,6 +116,9 @@ IMPORT_C void ImportL( CPosLmItemIterator*& aIterator, CPosLandmarkParser& aLandmarkParser, const TDesC& aDatabaseUri = KNullDesC ); + IMPORT_C void ImportL( TInt32 aTransactionId, + CPosLandmarkParser& aLandmarkParser, + const TDesC& aDatabaseUri = KNullDesC ); /** * ExportL. @@ -128,6 +131,12 @@ IMPORT_C void ExportL( CPosLandmarkEncoder& aLandmarkEncoder, const RArray& aLandmarkIdArray, const TDesC& aDatabaseUri = KNullDesC ) const; + + IMPORT_C void ExportL( TInt32 aTransactionId, + CPosLandmarkEncoder& aLandmarkEncoder, + const RArray& aLandmarkIdArray, + const TDesC& aDestinationFile, + const TDesC& aDatabaseUri = KNullDesC ) const; /** * GetListL. @@ -174,6 +183,8 @@ IMPORT_C TPosLmItemId AddItemL( CPosLandmark& aLandmark, const TDesC& aDatabaseUri = KNullDesC ); + IMPORT_C void AddItemL(TInt32 aTransactionId, CPosLandmark& aLandmark, + const TDesC& aDatabaseUri = KNullDesC); /** * AddItemL. * Adds a new Landmark category to the given database. @@ -184,6 +195,9 @@ IMPORT_C TPosLmItemId AddItemL( CPosLandmarkCategory& aCategory, const TDesC& aDatabaseUri = KNullDesC ); + IMPORT_C void AddItemL(TInt32 aTransactionId, + CPosLandmarkCategory& aCategory, const TDesC& aDatabaseUri = + KNullDesC); /** * AddItemL. * Adds a new database to terminal. @@ -201,6 +215,9 @@ IMPORT_C void UpdateItemL( const CPosLandmark& aLandmark, const TDesC& aDatabaseUri = KNullDesC ); + IMPORT_C void UpdateItemL(TInt32 aTransactionId, + const CPosLandmark& aLandmark, const TDesC& aDatabaseUri = + KNullDesC); /** * UpdateItemL. * Updates an existing Landmark category in the given database. @@ -211,6 +228,9 @@ IMPORT_C void UpdateItemL( const CPosLandmarkCategory& aCategory, const TDesC& aDatabaseUri = KNullDesC ); + IMPORT_C void UpdateItemL(TInt32 aTransactionId, + const CPosLandmarkCategory& aCategory, const TDesC& aDatabaseUri = + KNullDesC); /** * UpdateItemL. * Updates existing Database Information. @@ -253,6 +273,8 @@ IMPORT_C void RemoveItemL( TPosLmItemId aItemId, TPosItem aItemIsLandmark, const TDesC& aDatabaseUri = KNullDesC ); + IMPORT_C void RemoveItemL(TInt32 aTransactionId, TPosLmItemId aItemId, + TPosItem aItemIsLandmark, const TDesC& aDatabaseUri = KNullDesC); /** * RemoveItemL. * Removes the given database. @@ -278,6 +300,9 @@ IMPORT_C void LinkCategoryToLandmarksL( TPosLmItemId aCategoryId, RArray< TPosLmItemId >& aLandmarkIdArray, const TDesC& aDatabaseUri = KNullDesC ); + IMPORT_C void LinkCategoryToLandmarksL(TInt32 aTransactionId, + TPosLmItemId aCategoryId, RArray& aLandmarkIdArray, + const TDesC& aDatabaseUri = KNullDesC); /** * UnlinkCategoryToLandmarksL. @@ -290,6 +315,9 @@ IMPORT_C void UnlinkCategoryToLandmarksL( TPosLmItemId aCategoryId, RArray< TPosLmItemId >& aLandmarkIdArray, const TDesC& aDatabaseUri = KNullDesC ); + IMPORT_C void UnlinkCategoryToLandmarksL(TInt32 aTransactionId, + TPosLmItemId aCategoryId, RArray& aLandmarkIdArray, + const TDesC& aDatabaseUri = KNullDesC ); /** * RegisterObserver. diff -r 50974a8b132e -r 5d0ec8b709be serviceproviders/sapi_landmarks/landmarksservice/inc/mlandmarkobserver.h --- a/serviceproviders/sapi_landmarks/landmarksservice/inc/mlandmarkobserver.h Tue Nov 24 08:56:33 2009 +0200 +++ b/serviceproviders/sapi_landmarks/landmarksservice/inc/mlandmarkobserver.h Thu Dec 17 09:09:50 2009 +0200 @@ -19,9 +19,10 @@ #ifndef __MLANDMARKOBSERVER_H__ #define __MLANDMARKOBSERVER_H__ +#include // FORWARD DECLARATION class CPosLmItemIterator; - +class CLandmarkHandler; /** * MLandmarkObserver * This class is an observer interface. @@ -40,7 +41,7 @@ * @param aDatabaseUri The uri of the database on which the iterator can be used. */ virtual void HandleLandmarkItemsL( CPosLmItemIterator* aIterator, - TInt32 aTransactionId, TInt aError, const TDesC& aDatabaseUri ) = 0; + TInt32 aTransactionId, TInt aError, CLandmarkHandler* aHandler ) = 0; /** * HandleCategoryItemsL. @@ -52,7 +53,13 @@ * @param aDatabaseUri The uri of the database on which the iterator can be used. */ virtual void HandleCategoryItemsL( CPosLmItemIterator* aIterator, - TInt32 aTransactionId, TInt aError, const TDesC& aDatabaseUri ) = 0; + TInt32 aTransactionId, TInt aError, CLandmarkHandler* aHandler ) = 0; + + virtual void HandleAddItemsL( TPosLmItemId aId, + TInt32 aTransactionId, TInt aError ) = 0; + + virtual void HandleItemsL( TInt32 aTransactionId, TInt aError ) = 0; + } ; diff -r 50974a8b132e -r 5d0ec8b709be serviceproviders/sapi_landmarks/landmarksservice/src/clandmarkcmdgetcategories.cpp --- a/serviceproviders/sapi_landmarks/landmarksservice/src/clandmarkcmdgetcategories.cpp Tue Nov 24 08:56:33 2009 +0200 +++ b/serviceproviders/sapi_landmarks/landmarksservice/src/clandmarkcmdgetcategories.cpp Thu Dec 17 09:09:50 2009 +0200 @@ -120,13 +120,10 @@ { User::LeaveIfError (iStatus.Int ( ) ); CPosLmItemIterator* iterator= NULL; - CPosLandmarkDatabase* db = iHandle->LandmarkDatabaseHandle ( ); - TPtrC dbUri; - iHandle->GetDatabaseUri (dbUri ); CPosLandmarkSearch* search = iHandle->LandmarkSearchHandle ( ); iterator = search->MatchIteratorL ( ); CleanupStack::PushL (iterator ); - TRAP_IGNORE(iObserver->HandleCategoryItemsL(iterator,iTransactionId,KErrNone,dbUri)); + TRAP_IGNORE(iObserver->HandleCategoryItemsL(iterator,iTransactionId,KErrNone,iHandle)); CleanupStack::Pop (iterator ); //set active garbage collector if ( !iManageObjects->IsActive() ) @@ -157,7 +154,7 @@ // TInt CLandmarkCmdGetCategories::RunError( TInt aError ) { - TRAP_IGNORE(iObserver->HandleCategoryItemsL(NULL,iTransactionId,aError,KNullDesC)); + TRAP_IGNORE(iObserver->HandleCategoryItemsL(NULL,iTransactionId,aError,NULL)); if ( !iManageObjects->IsActive() ) { iManageObjects->Start ( ); diff -r 50974a8b132e -r 5d0ec8b709be serviceproviders/sapi_landmarks/landmarksservice/src/clandmarkcmdgetlandmarks.cpp --- a/serviceproviders/sapi_landmarks/landmarksservice/src/clandmarkcmdgetlandmarks.cpp Tue Nov 24 08:56:33 2009 +0200 +++ b/serviceproviders/sapi_landmarks/landmarksservice/src/clandmarkcmdgetlandmarks.cpp Thu Dec 17 09:09:50 2009 +0200 @@ -120,13 +120,10 @@ { User::LeaveIfError (iStatus.Int ( ) ); CPosLmItemIterator* iterator= NULL; - CPosLandmarkDatabase* db = iHandle->LandmarkDatabaseHandle ( ); - TPtrC dbUri; - iHandle->GetDatabaseUri (dbUri ); CPosLandmarkSearch* search = iHandle->LandmarkSearchHandle ( ); iterator = search->MatchIteratorL ( ); CleanupStack::PushL (iterator ); - TRAP_IGNORE(iObserver->HandleLandmarkItemsL(iterator,iTransactionId,KErrNone,dbUri)); + TRAP_IGNORE(iObserver->HandleLandmarkItemsL(iterator,iTransactionId,KErrNone,iHandle)); CleanupStack::Pop (iterator ); //set active garbage collector if ( !iManageObjects->IsActive() ) @@ -157,7 +154,7 @@ // TInt CLandmarkCmdGetLandmarks::RunError( TInt aError ) { - TRAP_IGNORE(iObserver->HandleLandmarkItemsL(NULL,iTransactionId,aError,KNullDesC)); + TRAP_IGNORE(iObserver->HandleLandmarkItemsL(NULL,iTransactionId,aError,NULL)); if ( !iManageObjects->IsActive() ) { iManageObjects->Start ( ); diff -r 50974a8b132e -r 5d0ec8b709be serviceproviders/sapi_landmarks/landmarksservice/src/clandmarkdummyao.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/serviceproviders/sapi_landmarks/landmarksservice/src/clandmarkdummyao.cpp Thu Dec 17 09:09:50 2009 +0200 @@ -0,0 +1,79 @@ +/* +* Copyright (c) 2005-2006 Nokia Corporation and/or its subsidiary(-ies). +* All rights reserved. +* This component and the accompanying materials are made available +* under the terms of the License "Eclipse Public License v1.0" +* which accompanies this distribution, and is available +* at the URL "http://www.eclipse.org/legal/epl-v10.html". +* +* Initial Contributors: +* Nokia Corporation - initial contribution. +* +* Contributors: +* +* Description: CLandmarkCmdGetLandmarks class + * +*/ + +#include +#include +#include "landmarkservice.h" +#include "mlandmarkobserver.h" +#include "clandmarkmanageobjects.h" +#include "clandmarkdummyao.h" + +// ============================ MEMBER FUNCTIONS =============================== + +// ----------------------------------------------------------------------------- +// CLandmarkDummyAO::CLandmarkDummyAO( CLandmarkManageObjects* aManageObjects ) +// C++ default constructor can NOT contain any code, that might leave. +// ----------------------------------------------------------------------------- +// +CLandmarkDummyAO::CLandmarkDummyAO(MLandmarkObserver* aObserver, + CLandmarkManageObjects* aManageObjects) : + CActive(EPriorityNormal), iObserver(aObserver), iManageObjects( + aManageObjects) + { + CActiveScheduler::Add(this); + } + +CLandmarkDummyAO::~CLandmarkDummyAO() + { + Cancel(); + } + +void CLandmarkDummyAO::DoCancel() + { + } + +void CLandmarkDummyAO::Start(TInt32 aTransactionId, + CLandmarkDummyAO::TCommand aCmd, TPosLmItemId aId, + TInt aError) + { + iTransactionId = aTransactionId; + iCmd = aCmd; + iId = aId; + SetActive(); + TRequestStatus* status = &iStatus; + User::RequestComplete(status, aError); + } + +void CLandmarkDummyAO::RunL() + { + switch(iCmd) + { + case EAdd: TRAP_IGNORE(iObserver->HandleAddItemsL(iId,iTransactionId,iStatus.Int())); + break; + case EUpdate: + case ERemove: TRAP_IGNORE(iObserver->HandleItemsL(iTransactionId,iStatus.Int())); + break; + default: + break; + } + + if (!iManageObjects->IsActive()) + { + iManageObjects->Start(); + } + } + diff -r 50974a8b132e -r 5d0ec8b709be serviceproviders/sapi_landmarks/landmarksservice/src/clandmarkmanagehandlers.cpp --- a/serviceproviders/sapi_landmarks/landmarksservice/src/clandmarkmanagehandlers.cpp Tue Nov 24 08:56:33 2009 +0200 +++ b/serviceproviders/sapi_landmarks/landmarksservice/src/clandmarkmanagehandlers.cpp Thu Dec 17 09:09:50 2009 +0200 @@ -52,7 +52,14 @@ // CLandmarkManageHandlers::~CLandmarkManageHandlers( ) { - iHandlers.ResetAndDestroy ( ); + TInt count = iHandlers.Count(); + for (TInt i = 0; i < count; i++) + { + if (!iHandlers[i]->DecRef()) + { + delete iHandlers[i]; + } + } iHandlers.Close(); } @@ -66,7 +73,10 @@ TInt index = iHandlers.Find (aHandler ); if ( index != KErrNotFound ) { - delete iHandlers[index]; + if (!iHandlers[index]->DecRef()) + { + delete iHandlers[index]; + } iHandlers[index] = NULL; iHandlers.Remove (index ); } @@ -210,6 +220,7 @@ //Create other handles with respect to the open database iLmCategoryManagerHandle = CPosLmCategoryManager::NewL (*iLandmarkDatabaseHandle ); iLandmarkSearchHandle = CPosLandmarkSearch::NewL (*iLandmarkDatabaseHandle ); + IncRef(); } // ----------------------------------------------------------------------------- diff -r 50974a8b132e -r 5d0ec8b709be serviceproviders/sapi_landmarks/landmarksservice/src/clandmarkmanageobjects.cpp --- a/serviceproviders/sapi_landmarks/landmarksservice/src/clandmarkmanageobjects.cpp Tue Nov 24 08:56:33 2009 +0200 +++ b/serviceproviders/sapi_landmarks/landmarksservice/src/clandmarkmanageobjects.cpp Thu Dec 17 09:09:50 2009 +0200 @@ -18,6 +18,8 @@ #include "clandmarkmanageobjects.h" #include "clandmarkcmdbase.h" +#include "clandmarkdummyao.h" +#include "clandmarkoperation.h" // ============================ MEMBER FUNCTIONS =============================== @@ -53,6 +55,10 @@ Cancel ( ); iObjects.ResetAndDestroy ( ); iObjects.Close(); + iDummyObjects.ResetAndDestroy(); + iDummyObjects.Close(); + iOrgObjects.ResetAndDestroy(); + iOrgObjects.Close(); } // ----------------------------------------------------------------------------- @@ -77,6 +83,15 @@ iObjects.AppendL (aObject ); } +void CLandmarkManageObjects::AppendL(CLandmarkDummyAO* aObject) + { + iDummyObjects.AppendL(aObject); + } + +void CLandmarkManageObjects::AppendL(CLandmarkOperation* aObject) + { + iOrgObjects.AppendL(aObject); + } // ----------------------------------------------------------------------------- // CLandmarkManageObjects::CancelObject() // Execute the next step. @@ -84,15 +99,29 @@ // void CLandmarkManageObjects::CancelObject( TInt32 aTransactionId ) { - TInt count = iObjects.Count ( ); - for (TInt i = 0; i< count; ++i ) + TBool isDone = EFalse; + TInt count = iObjects.Count(); + for (TInt i = 0; i < count; ++i) { if ( iObjects[i]->TransactionId ( )== aTransactionId ) { - iObjects[i]->Cancel ( ); + iObjects[i]->Cancel(); + isDone = ETrue; break; } } + if( !isDone ) + { + count = iOrgObjects.Count(); + for (TInt i = 0; i < count; ++i) + { + if (iOrgObjects[i]->TransactionId() == aTransactionId) + { + iOrgObjects[i]->Cancel(); + break; + } + } + } } // ----------------------------------------------------------------------------- // CLandmarkManageObjects::RunL() @@ -116,6 +145,36 @@ --i; } } + count = iDummyObjects.Count(); + for (TInt i = 0; i < count; ++i) + { + if (!iDummyObjects[i]->IsActive()) + { + delete iDummyObjects[i]; + //Removes a node from the RPointerArray. + iDummyObjects.Remove(i); + //Decrement node count. + --count; + //Decrement index count since the present node + //has been deleted. + --i; + } + } + count = iOrgObjects.Count(); + for (TInt i = 0; i < count; ++i) + { + if (!iOrgObjects[i]->IsActive()) + { + delete iOrgObjects[i]; + //Removes a node from the RPointerArray. + iOrgObjects.Remove(i); + //Decrement node count. + --count; + //Decrement index count since the present node + //has been deleted. + --i; + } + } } // ----------------------------------------------------------------------------- diff -r 50974a8b132e -r 5d0ec8b709be serviceproviders/sapi_landmarks/landmarksservice/src/clandmarkoperation.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/serviceproviders/sapi_landmarks/landmarksservice/src/clandmarkoperation.cpp Thu Dec 17 09:09:50 2009 +0200 @@ -0,0 +1,239 @@ +/* +* Copyright (c) 2005-2006 Nokia Corporation and/or its subsidiary(-ies). +* All rights reserved. +* This component and the accompanying materials are made available +* under the terms of the License "Eclipse Public License v1.0" +* which accompanies this distribution, and is available +* at the URL "http://www.eclipse.org/legal/epl-v10.html". +* +* Initial Contributors: +* Nokia Corporation - initial contribution. +* +* Contributors: +* +* Description: CLandmarkCmdGetLandmarks class + * +*/ +#include +#include +#include +#include +#include +#include +#include "clandmarkoperation.h" +#include "mlandmarkobserver.h" +#include "clandmarkmanagehandlers.h" +#include "clandmarkmanageobjects.h" + +// ============================ MEMBER FUNCTIONS =============================== + +// ----------------------------------------------------------------------------- +// CLandmarkOperation::NewL( MLandmarkObserver* aObserver, CLandmarkManageObjects* aManageObjects ) +// Two-phased constructor. +// ----------------------------------------------------------------------------- +// +CLandmarkOperation* CLandmarkOperation::NewL( + MLandmarkObserver* aObserver, CLandmarkManageObjects* aManageObjects) + { + CLandmarkOperation* self = + CLandmarkOperation::NewLC(aObserver, aManageObjects); + CleanupStack::Pop(self); + return self; + } + +// ----------------------------------------------------------------------------- +// CLandmarkOperation::NewLC( MLandmarkObserver* aObserver, CLandmarkManageObjects* aManageObjects ) +// Two-phased constructor. +// ----------------------------------------------------------------------------- +// +CLandmarkOperation* CLandmarkOperation::NewLC( + MLandmarkObserver* aObserver, CLandmarkManageObjects* aManageObjects) + { + CLandmarkOperation* self = + new (ELeave) CLandmarkOperation(aObserver, + aManageObjects); + CleanupStack::PushL(self); + return self; + } + +// ----------------------------------------------------------------------------- +// CLandmarkOperation::CLandmarkOperation( MLandmarkObserver* aObserver, CLandmarkManageObjects* aManageObjects ) +// C++ default constructor can NOT contain any code, that might leave. +// ----------------------------------------------------------------------------- +// +CLandmarkOperation::CLandmarkOperation( + MLandmarkObserver* aObserver, CLandmarkManageObjects* aManageObjects) : + CActive(EPriorityNormal), iObserver(aObserver), iManageObjects( + aManageObjects) + { + CActiveScheduler::Add(this); + } + +// ----------------------------------------------------------------------------- +// CLandmarkOperation::~CLandmarkOperation() +// Destructor. +// ----------------------------------------------------------------------------- +// +CLandmarkOperation::~CLandmarkOperation() + { + Cancel(); + delete iOperation; + delete iExportBuffer; + delete iEncoder; + delete iParser; + delete iDestinationFile; + } + +// ----------------------------------------------------------------------------- +// CLandmarkOperation::StartL( CLandmarkHandler* aHandle, TInt32 aTransactionId, CLandmarkFilter* aFilter ) +// Start asynchronous operation. +// ----------------------------------------------------------------------------- +// +void CLandmarkOperation::LinkL(TInt32 aTransactionId, + TPosLmItemId aCategoryId, RArray& aLandmarkIdArray, + CPosLmCategoryManager* aCategoryManager) + { + iOperationType = EOrganise; + iTransactionId = aTransactionId; + iOperation = aCategoryManager->AddCategoryToLandmarksL(aCategoryId, + aLandmarkIdArray); + NextStep(); + } + +void CLandmarkOperation::UnLinkL(TInt32 aTransactionId, + TPosLmItemId aCategoryId, RArray& aLandmarkIdArray, + CPosLmCategoryManager* aCategoryManager) + { + iOperationType = EOrganise; + iTransactionId = aTransactionId; + iOperation = aCategoryManager->RemoveCategoryFromLandmarksL( + aCategoryId, aLandmarkIdArray); + NextStep(); + } + +void CLandmarkOperation::ImportL(TInt32 aTransactionId, CLandmarkHandler* aHandle, + CPosLandmarkParser& aLandmarkParser) + { + iHandle = aHandle; + iOperationType = EImport; + iTransactionId = aTransactionId; + iParser = &aLandmarkParser; + CPosLandmarkDatabase* db = iHandle->LandmarkDatabaseHandle(); + iOperation = db->ImportLandmarksL(aLandmarkParser, + CPosLandmarkDatabase::EDefaultOptions); + NextStep(); + } + +void CLandmarkOperation::ExportL(TInt32 aTransactionId, CPosLandmarkDatabase* aDatabase, + CPosLandmarkEncoder& aLandmarkEncoder, + const RArray& aLandmarkIdArray, + const TDesC& aDestinationFile) + { + iOperationType = EExport; + iTransactionId = aTransactionId; + iEncoder = &aLandmarkEncoder; + iDestinationFile= aDestinationFile.AllocL(); + iExportBuffer = iEncoder->SetUseOutputBufferL(); + iOperation = aDatabase->ExportLandmarksL(aLandmarkEncoder,aLandmarkIdArray, + CPosLandmarkDatabase::EIncludeCategories); + NextStep(); + } + +// ----------------------------------------------------------------------------- +// CLandmarkOperation::NextStep() +// Execute the next step. +// ----------------------------------------------------------------------------- +// +void CLandmarkOperation::NextStep() + { + iOperation->NextStep(iStatus, iProgress); + SetActive(); + } + +// ----------------------------------------------------------------------------- +// CLandmarkOperation::RunL() +// Notify Observer on completion of the asynchronous call. +// ----------------------------------------------------------------------------- +// +void CLandmarkOperation::RunL() + { + if (iStatus == KPosLmOperationNotComplete) + { + NextStep(); + } + else + { + if( iOperationType == EImport) + { + CPosLmItemIterator* iterator= NULL; + CPosLandmarkDatabase* db = iHandle->LandmarkDatabaseHandle ( ); + iterator = db->ImportedLandmarksIteratorL(iOperation); + CleanupStack::PushL (iterator ); + TRAP_IGNORE(iObserver->HandleLandmarkItemsL(iterator,iTransactionId,KErrNone,iHandle)); + CleanupStack::Pop (iterator ); + } + else if( iOperationType == EExport) + { + ExecuteAndDeleteLD (iEncoder->FinalizeEncodingL ( ) ); + //Write to file + RFs fs; + User::LeaveIfError(fs.Connect()); + CleanupClosePushL(fs); + RFile file; + CleanupClosePushL(file); + User::LeaveIfError(file.Create(fs, *iDestinationFile, + EFileShareExclusive | EFileStreamText | EFileWrite)); + TInt size = iExportBuffer->Size(); + for( TInt i = 0; i < size; ++i ) + { + file.Write(i,iExportBuffer->Ptr(i)); + } + CleanupStack::PopAndDestroy(&file); + CleanupStack::PopAndDestroy(&fs); + TRAP_IGNORE(iObserver->HandleItemsL(iTransactionId,iStatus.Int ( ))); + } + else + { + TRAP_IGNORE(iObserver->HandleItemsL(iTransactionId,iStatus.Int ( ))); + } + //set active garbage collector + if (!iManageObjects->IsActive()) + { + iManageObjects->Start(); + } + } + } + +// ----------------------------------------------------------------------------- +// CLandmarkOperation::DoCancel() +// Cancel asynchronous call. +// ----------------------------------------------------------------------------- +// +void CLandmarkOperation::DoCancel() + { + if (iOperation) + { + delete iOperation; + iOperation = NULL; + } + } + +TInt CLandmarkOperation::RunError( TInt aError ) + { + if( iOperationType == EImport) + { + TRAP_IGNORE(iObserver->HandleLandmarkItemsL(NULL,iTransactionId,aError,NULL)); + } + else + { + TRAP_IGNORE(iObserver->HandleItemsL(iTransactionId,aError)); + } + if ( !iManageObjects->IsActive() ) + { + iManageObjects->Start ( ); + } + return KErrNone; + } +//end of file + + diff -r 50974a8b132e -r 5d0ec8b709be serviceproviders/sapi_landmarks/landmarksservice/src/landmarkservice.cpp --- a/serviceproviders/sapi_landmarks/landmarksservice/src/landmarkservice.cpp Tue Nov 24 08:56:33 2009 +0200 +++ b/serviceproviders/sapi_landmarks/landmarksservice/src/landmarkservice.cpp Thu Dec 17 09:09:50 2009 +0200 @@ -31,7 +31,8 @@ #include "clandmarkfilter.h" #include "clandmarkmanageobjects.h" #include "mlandmarkobserver.h" - +#include "clandmarkdummyao.h" +#include "clandmarkoperation.h" //CONSTANTS _LIT(KProtocolSeparator, "://"); _LIT(KLocalProtocol, "file"); @@ -78,6 +79,7 @@ iDatabaseManager = CPosLmDatabaseManager::NewL ( ); iManageHandler = CLandmarkManageHandlers::NewL ( ); + iManageObjects = CLandmarkManageObjects::NewL(); SetActiveL(KNullDesC); } @@ -140,6 +142,28 @@ #endif } +EXPORT_C void CLandmarkService::ImportL( TInt32 aTransactionId, CPosLandmarkParser& aLandmarkParser, + const TDesC& aDatabaseUri ) + { +#ifdef _DEBUG + iLog.Write(_L("CLandmarkService::ImportL: Async")); +#endif + + CLandmarkHandler* handler = iManageHandler->GetHandlerL(aDatabaseUri); + if ( !handler ) + { + handler = iManageHandler->CreateHandlerL(aDatabaseUri); + } + CLandmarkOperation* import = CLandmarkOperation::NewLC(iObserver, + iManageObjects); + import->ImportL(aTransactionId,handler,aLandmarkParser); + iManageObjects->AppendL(import); + CleanupStack::Pop(import); + +#ifdef _DEBUG + iLog.Write(_L("CLandmarkService::ImportL:Async:Exit")); +#endif + } // ----------------------------------------------------------------------------- // CLandmarkService::ExportL( CPosLandmarkEncoder* aLandmarkEncoder, // const RArray& aLandmarkIdArray, const TDesC& aDatabaseUri ) @@ -159,6 +183,25 @@ CPosLandmarkDatabase::EIncludeCategories)); } +EXPORT_C void CLandmarkService::ExportL( TInt32 aTransactionId, + CPosLandmarkEncoder& aLandmarkEncoder, + const RArray& aLandmarkIdArray, + const TDesC& aDestinationFile, + const TDesC& aDatabaseUri ) const + { + CLandmarkHandler* handler = iManageHandler->GetHandlerL(aDatabaseUri); + if (!handler) + { + handler = iManageHandler->CreateHandlerL(aDatabaseUri); + } + CPosLandmarkDatabase* db = handler->LandmarkDatabaseHandle(); + CLandmarkOperation* exportAO = CLandmarkOperation::NewLC(iObserver, + iManageObjects); + exportAO->ExportL(aTransactionId,db,aLandmarkEncoder,aLandmarkIdArray,aDestinationFile); + iManageObjects->AppendL(exportAO); + CleanupStack::Pop(exportAO); + } + // ----------------------------------------------------------------------------- // CLandmarkService::GetListL( CPosLmItemIterator*& aIterator, // const CLandmarkFilter* aFilter, const TDesC& aDatabaseUri ) const @@ -233,11 +276,6 @@ User::Leave(KErrGeneral); } - if ( !iManageObjects ) - { - iManageObjects = CLandmarkManageObjects::NewL(); - } - if ( aFilter.IsLandmark() ) { CLandmarkCmdBase* getLm = CLandmarkCmdGetLandmarks::NewLC(iObserver, @@ -288,6 +326,31 @@ return db->AddLandmarkL(aLandmark); } +EXPORT_C void CLandmarkService::AddItemL(TInt32 aTransactionId, + CPosLandmark& aLandmark, const TDesC& aDatabaseUri) + { +#ifdef _DEBUG + iLog.Write(_L("CLandmarkService::AddItemL: Landmark: Async")); +#endif + + //Leave if observer has not been set for the async call. + if (!iObserver) + { + User::Leave(KErrGeneral); + } + + TPosLmItemId id = 0; + TRAPD(err,id = AddItemL(aLandmark,aDatabaseUri)); + CLandmarkDummyAO* addLm = new (ELeave) CLandmarkDummyAO(iObserver, + iManageObjects); + CleanupStack::PushL(addLm); + addLm->Start(aTransactionId, CLandmarkDummyAO::EAdd, id, err); + iManageObjects->AppendL(addLm); + CleanupStack::Pop(addLm); +#ifdef _DEBUG + iLog.Write(_L("CLandmarkService::AddItemL: Landmark: Async: Exit")); +#endif + } // ----------------------------------------------------------------------------- // CLandmarkService::AddItemL( CPosLandmarkCategory& aCategory,const TDesC& aDatabaseUri ) // Adds a landmark category to the given database. @@ -313,6 +376,31 @@ return cat->AddCategoryL(aCategory); } +EXPORT_C void CLandmarkService::AddItemL(TInt32 aTransactionId, + CPosLandmarkCategory& aCategory, const TDesC& aDatabaseUri) + { +#ifdef _DEBUG + iLog.Write(_L("CLandmarkService::AddItemL: Category: Async")); +#endif + + //Leave if observer has not been set for the async call. + if (!iObserver) + { + User::Leave(KErrGeneral); + } + + TPosLmItemId id = 0; + TRAPD(err,id = AddItemL(aCategory,aDatabaseUri)); + CLandmarkDummyAO* addCat = new (ELeave) CLandmarkDummyAO(iObserver, + iManageObjects); + CleanupStack::PushL(addCat); + addCat->Start(aTransactionId, CLandmarkDummyAO::EAdd, id, err); + iManageObjects->AppendL(addCat); + CleanupStack::Pop(addCat); +#ifdef _DEBUG + iLog.Write(_L("CLandmarkService::AddItemL: Category: Async: Exit")); +#endif + } // ----------------------------------------------------------------------------- // CLandmarkService::AddItemL( CPosLandmarkCategory& aCategory,const TDesC& aDatabaseUri ) // Adds a landmark category to the given database. @@ -366,6 +454,32 @@ #endif } +EXPORT_C void CLandmarkService::UpdateItemL(TInt32 aTransactionId, + const CPosLandmark& aLandmark, const TDesC& aDatabaseUri) + { +#ifdef _DEBUG + iLog.Write(_L("CLandmarkService::UpdateItemL: Landmark: Async")); +#endif + + //Leave if observer has not been set for the async call. + if (!iObserver) + { + User::Leave(KErrGeneral); + } + + //start async now + TPosLmItemId id = 0; + TRAPD(err,UpdateItemL(aLandmark,aDatabaseUri)); + CLandmarkDummyAO* updateLm = new (ELeave) CLandmarkDummyAO(iObserver, + iManageObjects); + CleanupStack::PushL(updateLm); + updateLm->Start(aTransactionId, CLandmarkDummyAO::EUpdate, id, err); + iManageObjects->AppendL(updateLm); + CleanupStack::Pop(updateLm); +#ifdef _DEBUG + iLog.Write(_L("CLandmarkService::UpdateItemL: Landmark: Async: Exit")); +#endif + } // ----------------------------------------------------------------------------- // CLandmarkService::UpdateItemL( const CPosLandmarkCategory& aCategory, // const TDesC& aDatabaseUri ) @@ -392,6 +506,33 @@ #endif } +EXPORT_C void CLandmarkService::UpdateItemL(TInt32 aTransactionId, + const CPosLandmarkCategory& aCategory, const TDesC& aDatabaseUri) + { +#ifdef _DEBUG + iLog.Write(_L("CLandmarkService::UpdateItemL: Landmark: Async")); +#endif + + //Leave if observer has not been set for the async call. + if (!iObserver) + { + User::Leave(KErrGeneral); + } + + //start async now + TPosLmItemId id = 0; + TRAPD(err,UpdateItemL(aCategory,aDatabaseUri)); + CLandmarkDummyAO* updateCat = new (ELeave) CLandmarkDummyAO(iObserver, + iManageObjects); + CleanupStack::PushL(updateCat); + updateCat->Start(aTransactionId, CLandmarkDummyAO::EUpdate, id, err); + iManageObjects->AppendL(updateCat); + CleanupStack::Pop(updateCat); +#ifdef _DEBUG + iLog.Write(_L("CLandmarkService::UpdateItemL: Landmark: Async: Exit")); +#endif + } + // ----------------------------------------------------------------------------- // CLandmarkService::UpdateItemL( TPosLmDatabaseSettings aSettings, const TDesC& aDatabaseUri ) // Updates the database information in the given database. @@ -535,6 +676,32 @@ #endif } +EXPORT_C void CLandmarkService::RemoveItemL(TInt32 aTransactionId, + TPosLmItemId aItemId, TPosItem aItemIsLandmark, + const TDesC& aDatabaseUri) + { +#ifdef _DEBUG + iLog.Write(_L("CLandmarkService::RemoveItemL: Async")); +#endif + + //Leave if observer has not been set for the async call. + if (!iObserver) + { + User::Leave(KErrGeneral); + } + + TPosLmItemId id = 0; + TRAPD(err,RemoveItemL(aItemId,aItemIsLandmark,aDatabaseUri)); + CLandmarkDummyAO* rem = new (ELeave) CLandmarkDummyAO(iObserver, + iManageObjects); + CleanupStack::PushL(rem); + rem->Start(aTransactionId, CLandmarkDummyAO::ERemove, id, err); + iManageObjects->AppendL(rem); + CleanupStack::Pop(rem); +#ifdef _DEBUG + iLog.Write(_L("CLandmarkService::RemoveItemL: Async: Exit")); +#endif + } // ----------------------------------------------------------------------------- // CLandmarkService::RemoveItemL( const TDesC& aDatabaseUri ) // Removes the given database. @@ -612,6 +779,34 @@ #endif } +EXPORT_C void CLandmarkService::LinkCategoryToLandmarksL(TInt32 aTransactionId, + TPosLmItemId aCategoryId, RArray& aLandmarkIdArray, + const TDesC& aDatabaseUri) + { +#ifdef _DEBUG + iLog.Write(_L("CLandmarkService::LinkCategoryToLandmarksL :Async")); +#endif + //Leave if observer has not been set for the async call. + if (!iObserver) + { + User::Leave(KErrGeneral); + } + + CLandmarkHandler* handler = iManageHandler->GetHandlerL(aDatabaseUri); + if (!handler) + { + handler = iManageHandler->CreateHandlerL(aDatabaseUri); + } + CPosLmCategoryManager* cat = handler->CategoryManagerHandle(); + CLandmarkOperation* linkCat = CLandmarkOperation::NewLC(iObserver, + iManageObjects); + linkCat->LinkL(aTransactionId,aCategoryId,aLandmarkIdArray,cat); + iManageObjects->AppendL(linkCat); + CleanupStack::Pop(linkCat); +#ifdef _DEBUG + iLog.Write(_L("CLandmarkService::LinkCategoryToLandmarksL: Async: Exit")); +#endif + } // ----------------------------------------------------------------------------- // CLandmarkService::UnlinkCategoryToLandmarksL( TPosLmItemId aCategoryId, // RArray< TPosLmItemId >& aLandmarkIdArray, const TDesC& aDatabaseUri ) @@ -639,6 +834,35 @@ #endif } +EXPORT_C void CLandmarkService::UnlinkCategoryToLandmarksL(TInt32 aTransactionId, + TPosLmItemId aCategoryId, RArray& aLandmarkIdArray, + const TDesC& aDatabaseUri) + { +#ifdef _DEBUG + iLog.Write(_L("CLandmarkService::UnlinkCategoryToLandmarksL :Async")); +#endif + //Leave if observer has not been set for the async call. + if (!iObserver) + { + User::Leave(KErrGeneral); + } + + CLandmarkHandler* handler = iManageHandler->GetHandlerL(aDatabaseUri); + if (!handler) + { + handler = iManageHandler->CreateHandlerL(aDatabaseUri); + } + CPosLmCategoryManager* cat = handler->CategoryManagerHandle(); + CLandmarkOperation* linkCat = CLandmarkOperation::NewLC(iObserver, + iManageObjects); + linkCat->UnLinkL(aTransactionId,aCategoryId,aLandmarkIdArray,cat); + iManageObjects->AppendL(linkCat); + CleanupStack::Pop(linkCat); +#ifdef _DEBUG + iLog.Write(_L("CLandmarkService::UnlinkCategoryToLandmarksL: Async: Exit")); +#endif + } + // ----------------------------------------------------------------------------- // CLandmarkService::RegisterObserver( MLandmarkObserver* aObserver ) // Register an observer for aynsc method. diff -r 50974a8b132e -r 5d0ec8b709be serviceproviders/sapi_landmarks/src/clandmarkcategoryiterable.cpp --- a/serviceproviders/sapi_landmarks/src/clandmarkcategoryiterable.cpp Tue Nov 24 08:56:33 2009 +0200 +++ b/serviceproviders/sapi_landmarks/src/clandmarkcategoryiterable.cpp Thu Dec 17 09:09:50 2009 +0200 @@ -21,6 +21,7 @@ #include #include #include "clandmarkcategoryiterable.h" +#include "clandmarkmanagehandlers.h" #include "landmarkliwparams.hrh" // ============================ MEMBER FUNCTIONS =============================== @@ -77,9 +78,19 @@ delete iDatabase; delete iCategoryId; delete iGlobalCategoryId; + if (iHandler && !iHandler->DecRef()) + { + delete iHandler; + } ReleaseLandmarkResources(); } +void CLandmarkCategoryIterable::SetHandler(CLandmarkHandler* aHandler) + { + iHandler = aHandler; + iHandler->IncRef(); + } + // ----------------------------------------------------------------------------- // CLandmarkCategoryIterable::Reset() // Resets the iterator. NextL has to be called to retrieve the first item. @@ -145,5 +156,8 @@ CleanupStack::PopAndDestroy(categoryMap); return ETrue; } - +void CLandmarkCategoryIterable::Close() + { + DecRef(); + } //end of file diff -r 50974a8b132e -r 5d0ec8b709be serviceproviders/sapi_landmarks/src/clandmarkiterable.cpp --- a/serviceproviders/sapi_landmarks/src/clandmarkiterable.cpp Tue Nov 24 08:56:33 2009 +0200 +++ b/serviceproviders/sapi_landmarks/src/clandmarkiterable.cpp Thu Dec 17 09:09:50 2009 +0200 @@ -22,6 +22,7 @@ #include #include #include "clandmarkiterable.h" +#include "clandmarkmanagehandlers.h" #include "landmarkliwparams.hrh" // ============================ MEMBER FUNCTIONS =============================== @@ -79,9 +80,18 @@ delete iLandmarkId; iCategoryIds.ResetAndDestroy(); iCategoryIds.Close(); + if (iHandler && !iHandler->DecRef()) + { + delete iHandler; + } ReleaseLandmarkResources(); } + void CLandmarkIterable::SetHandler(CLandmarkHandler* aHandler) + { + iHandler = aHandler; + iHandler->IncRef(); + } // ----------------------------------------------------------------------------- // CLandmarkIterable::Reset() // Resets the iterator. NextL has to be called to retrieve the first item. @@ -249,6 +259,10 @@ { fieldMap->InsertL(KLandmarkTelephone,variant); } + if ( EPositionFieldState == fieldId) + { + fieldMap->InsertL(KLandmarkstate,variant); + } fieldId = iLandmark->NextPositionFieldId(fieldId); } landmarkMap->InsertL(KLandmarkFields,TLiwVariant(fieldMap)); @@ -263,5 +277,9 @@ return ETrue; } +void CLandmarkIterable::Close() + { + DecRef(); + } //end of file diff -r 50974a8b132e -r 5d0ec8b709be serviceproviders/sapi_landmarks/src/clandmarkobserver.cpp --- a/serviceproviders/sapi_landmarks/src/clandmarkobserver.cpp Tue Nov 24 08:56:33 2009 +0200 +++ b/serviceproviders/sapi_landmarks/src/clandmarkobserver.cpp Thu Dec 17 09:09:50 2009 +0200 @@ -22,6 +22,7 @@ #include "clandmarkobserver.h" #include "clandmarkiterable.h" #include "clandmarkcategoryiterable.h" +#include "clandmarkmanagehandlers.h" #include "landmarkinterface.h" #include "landmarkliwparams.hrh" #include "../../inc/serviceerrno.h" @@ -49,6 +50,10 @@ { } +CLandmarkObserver::~CLandmarkObserver() + { + delete iId; + } // ----------------------------------------------------------------------------- // CLandmarkObserver::HandleCategoryItems( CPosLmItemIterator* aIterator, // TInt32 aTransactionId, TInt aError, const TDesC aDatabaseUri ) @@ -56,7 +61,54 @@ // ----------------------------------------------------------------------------- // void CLandmarkObserver::HandleLandmarkItemsL( CPosLmItemIterator* aIterator, - TInt32 aTransactionId, TInt aError, const TDesC& aDatabaseUri ) + TInt32 aTransactionId, TInt aError, CLandmarkHandler* aHandler ) + { + TInt SapiErr = SErrNone; + //retrieve callback + MLiwNotifyCallback* callback = iLmIface->Callback(aTransactionId); + if( !callback ) + { + //how to flag error + return; + } + //Create param list + CLiwGenericParamList* eventParamList = CLiwGenericParamList::NewL(); + CleanupStack::PushL(eventParamList); + CLiwGenericParamList* inParamList = CLiwGenericParamList::NewL(); + CleanupStack::PushL(inParamList); + + if ( aError != KErrNone ) + { + SapiErr = iLmIface->SapiError(aError); + eventParamList->AppendL(TLiwGenericParam(KErrorCode,TLiwVariant((TInt32)SapiErr))); + callback->HandleNotifyL(aTransactionId,KLiwEventError,*eventParamList,*inParamList); + } + else + { + //instantiate CLandmarkIterable + TPtrC dbUri; + aHandler->GetDatabaseUri (dbUri ); + CLandmarkIterable* iterable = CLandmarkIterable::NewL(aIterator,dbUri); + iterable->PushL(); + //pack to aOutParamList + iterable->SetHandler(aHandler); + eventParamList->AppendL(TLiwGenericParam(KErrorCode,TLiwVariant((TInt32)SapiErr))); + eventParamList->AppendL(TLiwGenericParam(KReturnValue,TLiwVariant(iterable))); + callback->HandleNotifyL(aTransactionId,KLiwEventCompleted,*eventParamList,*inParamList); + CleanupStack::PopAndDestroy(iterable); + } + CleanupStack::PopAndDestroy(inParamList); + CleanupStack::PopAndDestroy(eventParamList); + } + +// ----------------------------------------------------------------------------- +// CLandmarkObserver::HandleCategoryItems( CPosLmItemIterator* aIterator, +// TInt32 aTransactionId, TInt aError, const TDesC aDatabaseUri ) +// Pack the outputs and call the callback function. +// ----------------------------------------------------------------------------- +// +void CLandmarkObserver::HandleCategoryItemsL( CPosLmItemIterator* aIterator, + TInt32 aTransactionId, TInt aError, CLandmarkHandler* aHandler ) { TInt SapiErr = SErrNone; //retrieve callback @@ -81,9 +133,12 @@ else { //instantiate CLandmarkIterable - CLiwIterable* iterable = CLandmarkIterable::NewL(aIterator,aDatabaseUri); - CleanupClosePushL(*iterable); + TPtrC dbUri; + aHandler->GetDatabaseUri (dbUri ); + CLandmarkCategoryIterable* iterable = CLandmarkCategoryIterable::NewL(aIterator,dbUri); + iterable->PushL(); //pack to aOutParamList + iterable->SetHandler(aHandler); eventParamList->AppendL(TLiwGenericParam(KErrorCode,TLiwVariant((TInt32)SapiErr))); eventParamList->AppendL(TLiwGenericParam(KReturnValue,TLiwVariant(iterable))); callback->HandleNotifyL(aTransactionId,KLiwEventCompleted,*eventParamList,*inParamList); @@ -93,48 +148,84 @@ CleanupStack::PopAndDestroy(eventParamList); } -// ----------------------------------------------------------------------------- -// CLandmarkObserver::HandleCategoryItems( CPosLmItemIterator* aIterator, -// TInt32 aTransactionId, TInt aError, const TDesC aDatabaseUri ) -// Pack the outputs and call the callback function. -// ----------------------------------------------------------------------------- -// -void CLandmarkObserver::HandleCategoryItemsL( CPosLmItemIterator* aIterator, - TInt32 aTransactionId, TInt aError, const TDesC& aDatabaseUri ) - { - TInt SapiErr = SErrNone; - //retrieve callback - MLiwNotifyCallback* callback = iLmIface->Callback(aTransactionId); - if( !callback ) - { - //how to flag error - return; - } - //Create param list - CLiwGenericParamList* eventParamList = CLiwGenericParamList::NewL(); - CleanupStack::PushL(eventParamList); - CLiwGenericParamList* inParamList = CLiwGenericParamList::NewL(); - CleanupStack::PushL(inParamList); - - if ( aError != KErrNone ) - { - SapiErr = iLmIface->SapiError(aError); - eventParamList->AppendL(TLiwGenericParam(KErrorCode,TLiwVariant((TInt32)SapiErr))); - callback->HandleNotifyL(aTransactionId,KLiwEventError,*eventParamList,*inParamList); - } - else - { - //instantiate CLandmarkIterable - CLiwIterable* iterable = CLandmarkCategoryIterable::NewL(aIterator,aDatabaseUri); - CleanupClosePushL(*iterable); - //pack to aOutParamList - eventParamList->AppendL(TLiwGenericParam(KErrorCode,TLiwVariant((TInt32)SapiErr))); - eventParamList->AppendL(TLiwGenericParam(KReturnValue,TLiwVariant(iterable))); - callback->HandleNotifyL(aTransactionId,KLiwEventCompleted,*eventParamList,*inParamList); - CleanupStack::PopAndDestroy(iterable); - } - CleanupStack::PopAndDestroy(inParamList); - CleanupStack::PopAndDestroy(eventParamList); - } +void CLandmarkObserver::HandleAddItemsL(TPosLmItemId aId, + TInt32 aTransactionId, TInt aError) + { + if (iId) + { + delete iId; + iId = NULL; + } + TInt SapiErr = SErrNone; + //retrieve callback + MLiwNotifyCallback* callback = iLmIface->Callback(aTransactionId); + if (!callback) + { + //how to flag error + return; + } + //Create param list + CLiwGenericParamList* eventParamList = CLiwGenericParamList::NewL(); + CleanupStack::PushL(eventParamList); + CLiwGenericParamList* inParamList = CLiwGenericParamList::NewL(); + CleanupStack::PushL(inParamList); + if (aError != KErrNone) + { + SapiErr = iLmIface->SapiError(aError); + eventParamList->AppendL(TLiwGenericParam(KErrorCode, TLiwVariant( + (TInt32) SapiErr))); + callback->HandleNotifyL(aTransactionId, KLiwEventError, + *eventParamList, *inParamList); + } + else + { + iId = HBufC::NewL(KMaxIDStringLength); + iId->Des().Num(aId, EDecimal); + //pack to aOutParamList + eventParamList->AppendL(TLiwGenericParam(KErrorCode, TLiwVariant( + (TInt32) SapiErr))); + eventParamList->AppendL(TLiwGenericParam(KReturnValue, TLiwVariant(iId))); + callback->HandleNotifyL(aTransactionId, KLiwEventCompleted, + *eventParamList, *inParamList); + } + CleanupStack::PopAndDestroy(inParamList); + CleanupStack::PopAndDestroy(eventParamList); + } + +void CLandmarkObserver::HandleItemsL(TInt32 aTransactionId, TInt aError) + { + TInt SapiErr = SErrNone; + //retrieve callback + MLiwNotifyCallback* callback = iLmIface->Callback(aTransactionId); + if (!callback) + { + //how to flag error + return; + } + //Create param list + CLiwGenericParamList* eventParamList = CLiwGenericParamList::NewL(); + CleanupStack::PushL(eventParamList); + CLiwGenericParamList* inParamList = CLiwGenericParamList::NewL(); + CleanupStack::PushL(inParamList); + + if (aError != KErrNone) + { + SapiErr = iLmIface->SapiError(aError); + eventParamList->AppendL(TLiwGenericParam(KErrorCode, TLiwVariant( + (TInt32) SapiErr))); + callback->HandleNotifyL(aTransactionId, KLiwEventError, + *eventParamList, *inParamList); + } + else + { + //pack to aOutParamList + eventParamList->AppendL(TLiwGenericParam(KErrorCode, TLiwVariant( + (TInt32) SapiErr))); + callback->HandleNotifyL(aTransactionId, KLiwEventCompleted, + *eventParamList, *inParamList); + } + CleanupStack::PopAndDestroy(inParamList); + CleanupStack::PopAndDestroy(eventParamList); + } //End of file diff -r 50974a8b132e -r 5d0ec8b709be serviceproviders/sapi_landmarks/src/landmarkinterface.cpp --- a/serviceproviders/sapi_landmarks/src/landmarkinterface.cpp Tue Nov 24 08:56:33 2009 +0200 +++ b/serviceproviders/sapi_landmarks/src/landmarkinterface.cpp Thu Dec 17 09:09:50 2009 +0200 @@ -295,66 +295,53 @@ User::Leave (SErrInvalidServiceArgument ); } - if ( !aCmdName.CompareF(KCancel) && (KLiwOptCancel & aCmdOptions) ) - { - Cancel (aInParamList, aOutParamList, aCmdOptions, aCallback ); - } - else - if ( !aCmdName.CompareF(KGetList) ) - { - GetListL (aInParamList, aOutParamList, aCmdOptions, aCallback ); - } - else - //since no other APIs support async return error if callback is - //provide - if ( aCallback ) - { - iErrMsg = KAsyncNotSupported().AllocL ( ); - User::Leave (SErrInvalidServiceArgument ); - } - else - if ( !aCmdName.CompareF(KAdd) ) - { - AddL (aInParamList, aOutParamList, aCmdOptions, aCallback ); - } - else - if ( !aCmdName.CompareF(KRemove) ) - { - RemoveL (aInParamList, aOutParamList, aCmdOptions, - aCallback ); - } - else - if ( !aCmdName.CompareF(KOrganise) ) - { - OrganiseL (aInParamList, aOutParamList, - aCmdOptions, aCallback ); - } - else - if ( !aCmdName.CompareF(KImport) ) - { - ImportL (aInParamList, aOutParamList, - aCmdOptions, aCallback ); - } - else - if ( !aCmdName.CompareF(KExport) ) - { - ExportL (aInParamList, aOutParamList, - aCmdOptions, aCallback ); - } - else - if ( !aCmdName.CompareF(KNew) ) - { - NewTemplateL (aInParamList, - aOutParamList, aCmdOptions, - aCallback ); - } - else - { - // invalid command return error in outparam list - iErrMsg = KInvalidServiceCmd().AllocL ( ); - User::Leave (SErrInvalidServiceArgument ); - } - } + if (!aCmdName.CompareF(KCancel) && (KLiwOptCancel & aCmdOptions)) + { + Cancel(aInParamList, aOutParamList, aCmdOptions, aCallback); + } + else if (!aCmdName.CompareF(KGetList)) + { + GetListL(aInParamList, aOutParamList, aCmdOptions, aCallback); + } + else if (!aCmdName.CompareF(KAdd)) + { + AddL(aInParamList, aOutParamList, aCmdOptions, aCallback); + } + else if (!aCmdName.CompareF(KRemove)) + { + RemoveL(aInParamList, aOutParamList, aCmdOptions, aCallback); + } + else if (!aCmdName.CompareF(KOrganise)) + { + OrganiseL(aInParamList, aOutParamList, aCmdOptions, aCallback); + } + else if (!aCmdName.CompareF(KImport)) + { + ImportL(aInParamList, aOutParamList, aCmdOptions, aCallback); + } + else if (!aCmdName.CompareF(KExport)) + { + ExportL(aInParamList, aOutParamList, aCmdOptions, aCallback); + } + else + //since no other APIs support async return error if callback is + //provide + if (aCallback) + { + iErrMsg = KAsyncNotSupported().AllocL(); + User::Leave(SErrInvalidServiceArgument); + } + else if (!aCmdName.CompareF(KNew)) + { + NewTemplateL(aInParamList, aOutParamList, aCmdOptions, aCallback); + } + else + { + // invalid command return error in outparam list + iErrMsg = KInvalidServiceCmd().AllocL(); + User::Leave(SErrInvalidServiceArgument); + } + } // --------------------------------------------------------------------------- // CLandmarkInterface::GetListL(const CLiwGenericParamList& aInParamList, @@ -437,18 +424,18 @@ // This function calls the appropriate functions based on the content type. // --------------------------------------------------------------------------- // -void CLandmarkInterface::AddL( const CLiwGenericParamList& aInParamList, - CLiwGenericParamList& aOutParamList, TUint /*aCmdOptions*/, - MLiwNotifyCallback* /*aCallback*/) +void CLandmarkInterface::AddL(const CLiwGenericParamList& aInParamList, + CLiwGenericParamList& aOutParamList, TUint aCmdOptions, + MLiwNotifyCallback* aCallback) { - //Input param List must have contentType and data specified - if ( aInParamList.Count ( )< EIndex2 ) - { - ErrorMessageL (KAdd, KArgsMissing ); - iErrMsg->Des().Append (KMissing ); - //leave since argument is improper - User::Leave (SErrMissingArgument ); - } + //Input param List must have contentType and data specified + if (aInParamList.Count() < EIndex2) + { + ErrorMessageL(KAdd, KArgsMissing); + iErrMsg->Des().Append(KMissing); + //leave since argument is improper + User::Leave(SErrMissingArgument); + } //position to start search in input params TInt index = 0; @@ -471,25 +458,24 @@ ValidateParamL (KAdd, KContentType, variant, LIW::EVariantTypeDesC ); TPtrC contentType(variant.AsDes ( )); - //Content type is Landmark - if ( contentType == KLandmark ) - { - AddLandmarksL (aInParamList,aOutParamList ); - } - //Content type is Category. - else - if ( contentType == KCategory ) - { - AddCategoryL (aInParamList,aOutParamList ); - } - else - { - ErrorMessageL (KAdd, KContentType ); - iErrMsg->Des().Append (KInvalid ); - //leave since argument is improper - User::Leave (SErrInvalidServiceArgument ); - } - } + //Content type is Landmark + if (contentType == KLandmark) + { + AddLandmarksL(aInParamList, aOutParamList, aCmdOptions, aCallback); + } + //Content type is Category. + else if (contentType == KCategory) + { + AddCategoryL(aInParamList, aOutParamList, aCmdOptions, aCallback); + } + else + { + ErrorMessageL(KAdd, KContentType); + iErrMsg->Des().Append(KInvalid); + //leave since argument is improper + User::Leave(SErrInvalidServiceArgument); + } + } // --------------------------------------------------------------------------- // CLandmarkInterface::RemoveL(const CLiwGenericParamList& aInParamList, @@ -499,12 +485,12 @@ // This calls the appropriate service function based on the content type. // --------------------------------------------------------------------------- // -void CLandmarkInterface::RemoveL( const CLiwGenericParamList& aInParamList, - CLiwGenericParamList& /*aOutParamList*/, TUint /*aCmdOptions*/, - MLiwNotifyCallback* /*aCallback*/) - { +void CLandmarkInterface::RemoveL(const CLiwGenericParamList& aInParamList, + CLiwGenericParamList& aOutParamList, TUint /*aCmdOptions*/, + MLiwNotifyCallback* aCallback) + { //Input param List must have contentType and data specified - if ( aInParamList.Count ( )< EIndex2 ) + if (aInParamList.Count() < EIndex2) { ErrorMessageL (KAdd, KArgsMissing ); iErrMsg->Des().Append (KMissing ); @@ -562,14 +548,13 @@ variant = param->Value ( ); ValidateParamL (KRemove, KDataFields, variant, LIW::EVariantTypeMap ); const CLiwMap* landmarkMap = variant.AsMap ( ); - CleanupStack::PushL( - TCleanupItem( TLiwVariant::VariantCleanup, &variant ) ); - ValidateParamL (KRemove, KId, landmarkMap, - LIW::EVariantTypeDesC, ETrue, variant ); - TPtrC lmPtr(variant.AsDes ( )); - TLex lmparseString(lmPtr); //Get Id as string and convert to TUint32 - TPosLmItemId lmid; - TInt parseErr = lmparseString.Val (lmid, EDecimal ); + CleanupStack::PushL(TCleanupItem(TLiwVariant::VariantCleanup, &variant)); + ValidateParamL(KRemove, KId, landmarkMap, LIW::EVariantTypeDesC, ETrue, + variant); + TPtrC lmPtr(variant.AsDes()); + TLex lmparseString(lmPtr); //Get Id as string and convert to TUint32 + TPosLmItemId lmid; + TInt parseErr = lmparseString.Val(lmid, EDecimal); TBuf lmIdString(KNullDesC ( )); if ( !parseErr ) { @@ -587,37 +572,53 @@ { dbUri.Set (variant.AsDes ( ) ); } - iService->RemoveItemL (lmid, CLandmarkService::ELandmark, dbUri ); + //Async Call + if (aCallback) + { + //Get the transaction ID + TInt32 transactionId(aCallback->GetTransactionID()); + CLandmarkCallbackMap* map = new (ELeave) CLandmarkCallbackMap( + transactionId, aCallback); + CleanupStack::PushL(map); + iCallbackMap.AppendL(map); + CleanupStack::Pop(map); + iService->RemoveItemL(transactionId, lmid, + CLandmarkService::ELandmark, dbUri); + aOutParamList.AppendL(TLiwGenericParam(KTransactionId, TLiwVariant( + TInt32(transactionId)))); + } + else //sync call + { + iService->RemoveItemL(lmid, CLandmarkService::ELandmark, dbUri); + } CleanupStack::PopAndDestroy(&variant); } //Content type is Category. - else - if ( contentType == KCategory ) - { - index = 0; - if ( posBased ) - { - param = &aInParamList[EIndex1]; - } - else - { - param = aInParamList.FindFirst (index, KDataFields ); - if ( !param ) - { - ErrorMessageL (KRemove, KDataFields ); - iErrMsg->Des().Append (KMissing ); - //leave since argument is improper - User::Leave (SErrMissingArgument ); - } - } - variant = param->Value ( ); - ValidateParamL (KRemove, KDataFields, variant, LIW::EVariantTypeMap ); - const CLiwMap* categoryMap = variant.AsMap ( ); - CleanupStack::PushL( - TCleanupItem( TLiwVariant::VariantCleanup, &variant ) ); - ValidateParamL (KRemove, KId, categoryMap, - LIW::EVariantTypeDesC, ETrue, variant ); - TPtrC catPtr(variant.AsDes ( )); + else if (contentType == KCategory) + { + index = 0; + if (posBased) + { + param = &aInParamList[EIndex1]; + } + else + { + param = aInParamList.FindFirst(index, KDataFields); + if (!param) + { + ErrorMessageL(KRemove, KDataFields); + iErrMsg->Des().Append(KMissing); + //leave since argument is improper + User::Leave(SErrMissingArgument); + } + } + variant = param->Value(); + ValidateParamL(KRemove, KDataFields, variant, LIW::EVariantTypeMap); + const CLiwMap* categoryMap = variant.AsMap(); + CleanupStack::PushL(TCleanupItem(TLiwVariant::VariantCleanup, &variant)); + ValidateParamL(KRemove, KId, categoryMap, LIW::EVariantTypeDesC, ETrue, + variant); + TPtrC catPtr(variant.AsDes()); TLex catparseString(catPtr); //Get Id as string and convert to TUint32 TPosLmItemId catid; TInt parseErr = catparseString.Val (catid, EDecimal ); @@ -638,7 +639,25 @@ { dbUri.Set (variant.AsDes ( ) ); } - iService->RemoveItemL (catid, CLandmarkService::ECategory, dbUri ); + //Async Call + if (aCallback) + { + //Get the transaction ID + TInt32 transactionId(aCallback->GetTransactionID()); + CLandmarkCallbackMap* map = new (ELeave) CLandmarkCallbackMap( + transactionId, aCallback); + CleanupStack::PushL(map); + iCallbackMap.AppendL(map); + CleanupStack::Pop(map); + iService->RemoveItemL(transactionId, catid, + CLandmarkService::ECategory, dbUri); + aOutParamList.AppendL(TLiwGenericParam(KTransactionId, TLiwVariant( + TInt32(transactionId)))); + } + else //sync call + { + iService->RemoveItemL(catid, CLandmarkService::ECategory, dbUri); + } CleanupStack::PopAndDestroy(&variant); } else @@ -660,7 +679,7 @@ // void CLandmarkInterface::ImportL( const CLiwGenericParamList& aInParamList, CLiwGenericParamList& aOutParamList, TUint /*aCmdOptions*/, - MLiwNotifyCallback* /*aCallback*/) + MLiwNotifyCallback* aCallback) { //Input param List must have contentType and importData specified if ( aInParamList.Count ( )< EIndex2 ) @@ -758,24 +777,44 @@ { dbUri.Set (variant.AsDes ( ) ); } - CPosLmItemIterator* iterator= NULL; - //call the service function for import - iService->ImportL (iterator, *parser, dbUri ); - CleanupStack::PopAndDestroy (parser ); + //Async Call + if (aCallback) + { + //Get the transaction ID + TInt32 transactionId(aCallback->GetTransactionID()); + CLandmarkCallbackMap* map = new (ELeave) CLandmarkCallbackMap( + transactionId, aCallback); + CleanupStack::PushL(map); + iCallbackMap.AppendL(map); + CleanupStack::Pop(map); + iService->ImportL(transactionId, *parser, dbUri); + aOutParamList.AppendL(TLiwGenericParam(KTransactionId, TLiwVariant( + TInt32(transactionId)))); + CleanupStack::Pop (parser ); + } + else //sync call + { + CPosLmItemIterator* iterator= NULL; + //call the service function for import + iService->ImportL (iterator, *parser, dbUri ); + CleanupStack::PushL(iterator); + // if dbURI is not specified retrieve default databse URI + if ( dbUri == KNullDesC ) + { + iService->GetDefaultDbUriL (dbUri ); + } + //instantiate CLandmarkIterable + CLiwIterable* iterable = CLandmarkIterable::NewL (iterator, dbUri ); + CleanupStack::Pop(iterator); + CleanupClosePushL(*iterable); + aOutParamList.AppendL (TLiwGenericParam (KReturnValue, + TLiwVariant (iterable ) ) ); + CleanupStack::PopAndDestroy(iterable); + CleanupStack::PopAndDestroy (parser ); + } + + CleanupStack::PopAndDestroy (mimeType8 ); - CleanupStack::PushL(iterator); - // if dbURI is not specified retrieve default databse URI - if ( dbUri == KNullDesC ) - { - iService->GetDefaultDbUriL (dbUri ); - } - //instantiate CLandmarkIterable - CLiwIterable* iterable = CLandmarkIterable::NewL (iterator, dbUri ); - CleanupStack::Pop(iterator); - CleanupClosePushL(*iterable); - aOutParamList.AppendL (TLiwGenericParam (KReturnValue, - TLiwVariant (iterable ) ) ); - CleanupStack::PopAndDestroy(iterable); CleanupStack::PopAndDestroy(&variant); } else @@ -796,8 +835,8 @@ // --------------------------------------------------------------------------- // void CLandmarkInterface::ExportL( const CLiwGenericParamList& aInParamList, - CLiwGenericParamList& /*aOutParamList*/, TUint /*aCmdOptions*/, - MLiwNotifyCallback* /*aCallback*/) + CLiwGenericParamList& aOutParamList, TUint /*aCmdOptions*/, + MLiwNotifyCallback* aCallback) { //Input param List must have contentType and exportData specified if ( aInParamList.Count ( )< EIndex2 ) @@ -867,23 +906,7 @@ //leave since argument is improper User::Leave (SErrInvalidServiceArgument ); } - ValidateParamL (KExport, KMimeType, exportData, LIW::EVariantTypeDesC, - ETrue, variant ); - if( variant.AsDes() == KNullDesC ) - { - ErrorMessageL (KExport, KMimeType ); - iErrMsg->Des().Append (KInvalid ); - //leave since argument is improper - User::Leave (SErrInvalidServiceArgument ); - } - //instantiate CPosLandmarkEncoder based on mime type. - HBufC8* mimeType8 = - CnvUtfConverter::ConvertFromUnicodeToUtf8L ( variant.AsDes ( ) ); - CleanupStack::PushL( mimeType8 ); - CPosLandmarkEncoder* encoder = CPosLandmarkEncoder::NewL ( *mimeType8 ); - CleanupStack::PushL (encoder ); - CBufBase* exportBuffer = encoder->SetUseOutputBufferL(); - CleanupStack::PushL(exportBuffer); + ValidateParamL (KExport, KIdList, exportData, LIW::EVariantTypeList, ETrue, variant ); const CLiwList* lmList = variant.AsList ( ); @@ -929,29 +952,69 @@ { dbUri.Set (variant.AsDes ( ) ); } - iService->ExportL (*encoder, landmarkIdArray, dbUri ); - ExecuteAndDeleteLD (encoder->FinalizeEncodingL ( ) ); - //Write to file + ValidateParamL (KExport, KMimeType, exportData, LIW::EVariantTypeDesC, + ETrue, variant ); + if( variant.AsDes() == KNullDesC ) + { + ErrorMessageL (KExport, KMimeType ); + iErrMsg->Des().Append (KInvalid ); + //leave since argument is improper + User::Leave (SErrInvalidServiceArgument ); + } + //instantiate CPosLandmarkEncoder based on mime type. + HBufC8* mimeType8 = + CnvUtfConverter::ConvertFromUnicodeToUtf8L ( variant.AsDes ( ) ); + CleanupStack::PushL( mimeType8 ); + CPosLandmarkEncoder* encoder = CPosLandmarkEncoder::NewL ( *mimeType8 ); + CleanupStack::PushL (encoder ); ValidateParamL (KExport, KDestinationFile, exportData, - LIW::EVariantTypeDesC, ETrue, variant ); - RFs fs; - User::LeaveIfError(fs.Connect()); - CleanupClosePushL(fs); - RFile file; - CleanupClosePushL(file); - User::LeaveIfError(file.Create(fs, variant.AsDes(), - EFileShareExclusive | EFileStreamText | EFileWrite)); - TInt size = exportBuffer->Size(); - for( TInt i = 0; i < size; ++i ) - { - file.Write(i,exportBuffer->Ptr(i)); - } - CleanupStack::PopAndDestroy(&file); - CleanupStack::PopAndDestroy(&fs); - CleanupStack::PopAndDestroy (&landmarkIdArray ); - CleanupStack::PopAndDestroy (exportBuffer); - CleanupStack::PopAndDestroy (encoder ); - CleanupStack::PopAndDestroy (mimeType8 ); + LIW::EVariantTypeDesC, ETrue, variant ); + + + + //Async Call + if (aCallback) + { + //Get the transaction ID + TInt32 transactionId(aCallback->GetTransactionID()); + CLandmarkCallbackMap* map = new (ELeave) CLandmarkCallbackMap( + transactionId, aCallback); + CleanupStack::PushL(map); + iCallbackMap.AppendL(map); + CleanupStack::Pop(map); + iService->ExportL(transactionId, *encoder, landmarkIdArray, + variant.AsDes(), dbUri); + CleanupStack::Pop(encoder ); + aOutParamList.AppendL(TLiwGenericParam(KTransactionId, TLiwVariant( + TInt32(transactionId)))); + } + else //sync call + { + CBufBase* exportBuffer = encoder->SetUseOutputBufferL(); + CleanupStack::PushL(exportBuffer); + iService->ExportL (*encoder, landmarkIdArray, dbUri ); + ExecuteAndDeleteLD (encoder->FinalizeEncodingL ( ) ); + //Write to file + RFs fs; + User::LeaveIfError(fs.Connect()); + CleanupClosePushL(fs); + RFile file; + CleanupClosePushL(file); + User::LeaveIfError(file.Create(fs, variant.AsDes(), + EFileShareExclusive | EFileStreamText | EFileWrite)); + TInt size = exportBuffer->Size(); + for( TInt i = 0; i < size; ++i ) + { + file.Write(i,exportBuffer->Ptr(i)); + } + CleanupStack::PopAndDestroy(&file); + CleanupStack::PopAndDestroy(&fs); + CleanupStack::PopAndDestroy (exportBuffer); + CleanupStack::PopAndDestroy (encoder ); + } + + CleanupStack::PopAndDestroy (mimeType8 ); + CleanupStack::PopAndDestroy (&landmarkIdArray ); CleanupStack::PopAndDestroy(&variant); } else @@ -971,9 +1034,9 @@ // This calls the appropriate service function for organising landmarks. // --------------------------------------------------------------------------- // -void CLandmarkInterface::OrganiseL( const CLiwGenericParamList& aInParamList, - CLiwGenericParamList& /*aOutParamList*/, TUint /*aCmdOptions*/, - MLiwNotifyCallback* /*aCallback*/) +void CLandmarkInterface::OrganiseL(const CLiwGenericParamList& aInParamList, + CLiwGenericParamList& aOutParamList, TUint /*aCmdOptions*/, + MLiwNotifyCallback* aCallback) { //Input param List must have contentType, filter and operationType specified if ( aInParamList.Count ( )< EIndex3 ) @@ -1121,23 +1184,50 @@ ValidateParamL (KOrganise, KOperationType, variant, LIW::EVariantTypeDesC ); TPtrC operationType = variant.AsDes ( ); - if ( operationType == KAssociate ) - { - iService->LinkCategoryToLandmarksL (catid, landmarkIdArray, dbUri ); - } - else - if ( operationType == KDisassociate ) - { - iService->UnlinkCategoryToLandmarksL (catid, landmarkIdArray, - dbUri ); - } - else - { - ErrorMessageL (KOrganise, KOperationType ); - iErrMsg->Des().Append (KInvalid ); - //leave since argument is improper - User::Leave (SErrInvalidServiceArgument ); - } + if (operationType != KAssociate && operationType != KDisassociate) + { + ErrorMessageL(KOrganise, KOperationType); + iErrMsg->Des().Append(KInvalid); + //leave since argument is improper + User::Leave(SErrInvalidServiceArgument); + } + //Async Call + if (aCallback) + { + //Get the transaction ID + TInt32 transactionId(aCallback->GetTransactionID()); + CLandmarkCallbackMap* map = new (ELeave) CLandmarkCallbackMap( + transactionId, aCallback); + CleanupStack::PushL(map); + iCallbackMap.AppendL(map); + CleanupStack::Pop(map); + if (operationType == KAssociate) + { + iService->LinkCategoryToLandmarksL(transactionId, catid, + landmarkIdArray, dbUri); + } + else + { + iService->UnlinkCategoryToLandmarksL(transactionId, catid, + landmarkIdArray, dbUri); + } + aOutParamList.AppendL(TLiwGenericParam(KTransactionId, TLiwVariant( + TInt32(transactionId)))); + } + else //sync call + { + if (operationType == KAssociate) + { + iService->LinkCategoryToLandmarksL(catid, landmarkIdArray, + dbUri); + } + else + { + iService->UnlinkCategoryToLandmarksL(catid, landmarkIdArray, + dbUri); + } + } + CleanupStack::PopAndDestroy(&variantDb); CleanupStack::PopAndDestroy (&landmarkIdArray ); CleanupStack::PopAndDestroy(&variant); @@ -1395,6 +1485,35 @@ //Do whatever is default } } + //changes for implementing CJSE 2.1 spec :categoryId + if ( ValidateParamL (KGetList, KCategoryIdChanged, filter, + LIW::EVariantTypeDesC, EFalse, variant ) ) + { + TPtrC catPtr(variant.AsDes()); + + TPosLmItemId catid; + TLex catparseString(catPtr); //Get Id as string and convert to TUint32 + TInt parseErr = catparseString.Val (catid, EDecimal ); + if (parseErr) { + ErrorMessageL (KGetList, KMaximumDistance ); + iErrMsg->Des().Append (KInvalid ); + User::Leave (KErrArgument ); + } + + TBuf catIdString(KNullDesC ( )); + if ( !parseErr ) + { + catIdString.Num(catid); + } + CPosLmCategoryCriteria* crit = CPosLmCategoryCriteria::NewLC(); + crit->SetCategoryItemId(catid); + //add to the criteria + //Adding successfully to the criteria will pass the ownership + User::LeaveIfError (criteria->AddArgument (crit)); + CleanupStack::Pop (crit); + } + + //CJSE Changes done if ( ValidateParamL (KGetList, KCategoryName, filter, LIW::EVariantTypeDesC, EFalse, variant ) ) { @@ -1932,8 +2051,10 @@ // This calls the appropriate service function for adding landmarks. // --------------------------------------------------------------------------- // -void CLandmarkInterface::AddLandmarksL( const CLiwGenericParamList& aInParamList, - CLiwGenericParamList& aOutParamList ) +void CLandmarkInterface::AddLandmarksL( + const CLiwGenericParamList& aInParamList, + CLiwGenericParamList& aOutParamList, TUint /*aCmdOptions*/, + MLiwNotifyCallback* aCallback) { //position to start search in input params TInt index = 0; @@ -2179,25 +2300,49 @@ variant.AsDes ( ) ); } } - //checks if the landmark passed is to update an existing lanmark or add a - //new landmark. - if ( update ) - { - iService->UpdateItemL (*landmark, dbUri ); - } - else - { - lmid = iService->AddItemL (*landmark, dbUri ); - } - CleanupStack::PopAndDestroy (landmark ); - CleanupStack::PopAndDestroy(&variant); - CleanupStack::PopAndDestroy(&variantDb); - - iId = HBufC::NewL(KMaxIDStringLength); - iId->Des().Num(lmid,EDecimal); - aOutParamList.AppendL (TLiwGenericParam (KReturnValue, - TLiwVariant (iId ) ) ); - } + //Async Call + if (aCallback) + { + //Get the transaction ID + TInt32 transactionId(aCallback->GetTransactionID()); + CLandmarkCallbackMap* map = new (ELeave) CLandmarkCallbackMap( + transactionId, aCallback); + CleanupStack::PushL(map); + iCallbackMap.AppendL(map); + CleanupStack::Pop(map); + //checks if the landmark passed is to update an existing lanmark or add a + //new landmark. + if (update) + { + iService->UpdateItemL(transactionId, *landmark, dbUri); + } + else + { + iService->AddItemL(transactionId, *landmark, dbUri); + } + aOutParamList.AppendL(TLiwGenericParam(KTransactionId, TLiwVariant( + TInt32(transactionId)))); + } + else //sync call + { + //checks if the landmark passed is to update an existing lanmark or add a + //new landmark. + if (update) + { + iService->UpdateItemL(*landmark, dbUri); + } + else + { + lmid = iService->AddItemL(*landmark, dbUri); + } + iId = HBufC::NewL(KMaxIDStringLength); + iId->Des().Num(lmid, EDecimal); + aOutParamList.AppendL(TLiwGenericParam(KReturnValue, TLiwVariant(iId))); + } + CleanupStack::PopAndDestroy(landmark); + CleanupStack::PopAndDestroy(&variant); + CleanupStack::PopAndDestroy(&variantDb); + } // --------------------------------------------------------------------------- // CLandmarkInterface::AddCategoryL(const CLiwGenericParamList& aInParamList) @@ -2205,7 +2350,8 @@ // --------------------------------------------------------------------------- // void CLandmarkInterface::AddCategoryL(const CLiwGenericParamList& aInParamList, - CLiwGenericParamList& aOutParamList ) + CLiwGenericParamList& aOutParamList, TUint /*aCmdOptions*/, + MLiwNotifyCallback* aCallback) { //position to start search in input params TInt index = 0; @@ -2318,6 +2464,31 @@ CleanupStack::PopAndDestroy(&iconVariant); } + //Async Call + if (aCallback) + { + //Get the transaction ID + TInt32 transactionId(aCallback->GetTransactionID()); + CLandmarkCallbackMap* map = new (ELeave) CLandmarkCallbackMap( + transactionId, aCallback); + CleanupStack::PushL(map); + iCallbackMap.AppendL(map); + CleanupStack::Pop(map); + //checks if the landmark passed is to update an existing lanmark or add a + //new landmark. + if (update) + { + iService->UpdateItemL(transactionId, *category, dbUri); + } + else + { + iService->AddItemL(transactionId, *category, dbUri); + } + aOutParamList.AppendL(TLiwGenericParam(KTransactionId, TLiwVariant( + TInt32(transactionId)))); + } + else //sync call + { if ( update ) { iService->UpdateItemL (*category, dbUri ); @@ -2326,15 +2497,15 @@ { catid = iService->AddItemL (*category, dbUri ); } + iId = HBufC::NewL(KMaxIDStringLength); + iId->Des().Num(catid, EDecimal); + aOutParamList.AppendL(TLiwGenericParam(KReturnValue, TLiwVariant(iId))); + } CleanupStack::PopAndDestroy (category ); CleanupStack::PopAndDestroy(&variant); CleanupStack::PopAndDestroy(&variantDb); - iId = HBufC::NewL(KMaxIDStringLength); - iId->Des().Num(catid,EDecimal); - aOutParamList.AppendL (TLiwGenericParam (KReturnValue, - TLiwVariant (iId ) ) ); } // --------------------------------------------------------------------------- diff -r 50974a8b132e -r 5d0ec8b709be serviceproviders/sapi_landmarks/tsrc/dev/landmarks_inputparams/group/landmarks_inputparams.pkg --- a/serviceproviders/sapi_landmarks/tsrc/dev/landmarks_inputparams/group/landmarks_inputparams.pkg Tue Nov 24 08:56:33 2009 +0200 +++ b/serviceproviders/sapi_landmarks/tsrc/dev/landmarks_inputparams/group/landmarks_inputparams.pkg Thu Dec 17 09:09:50 2009 +0200 @@ -32,8 +32,8 @@ ;SAPI Binaries to Install ;Landmarksservice binaries -;"..\..\..\..\..\..\..\epoc32\release\armv5\urel\landmarkservice.dll"-"C:\sys\bin\landmarkservice.dll" -"..\..\..\..\..\..\..\epoc32\release\armv5\urel\landmarks_inputparams.dll"-"C:\sys\bin\landmarks_inputparams.dll" +;"..\..\..\..\..\..\..\..\..\epoc32\release\armv5\urel\landmarkservice.dll"-"C:\sys\bin\landmarkservice.dll" +"..\..\..\..\..\..\..\..\..\epoc32\release\armv5\urel\landmarks_inputparams.dll"-"C:\sys\bin\landmarks_inputparams.dll" ;ini file diff -r 50974a8b132e -r 5d0ec8b709be serviceproviders/sapi_landmarks/tsrc/dev/tlandmarksprovidertest/tlandmarkprovider/group/tlandmarkprovider.pkg --- a/serviceproviders/sapi_landmarks/tsrc/dev/tlandmarksprovidertest/tlandmarkprovider/group/tlandmarkprovider.pkg Tue Nov 24 08:56:33 2009 +0200 +++ b/serviceproviders/sapi_landmarks/tsrc/dev/tlandmarksprovidertest/tlandmarkprovider/group/tlandmarkprovider.pkg Thu Dec 17 09:09:50 2009 +0200 @@ -32,8 +32,8 @@ ;SAPI Binaries to Install ;Landmarksservice binaries -;"..\..\..\..\..\..\..\..\epoc32\release\armv5\urel\landmarkservice.dll"-"C:\sys\bin\landmarkservice.dll" -"..\..\..\..\..\..\..\..\epoc32\release\armv5\urel\tlandmarkprovider.dll"-"C:\sys\bin\tlandmarkprovider.dll" +;"..\..\..\..\..\..\..\..\..\..\epoc32\release\armv5\urel\landmarkservice.dll"-"C:\sys\bin\landmarkservice.dll" +"..\..\..\..\..\..\..\..\..\..\epoc32\release\armv5\urel\tlandmarkprovider.dll"-"C:\sys\bin\tlandmarkprovider.dll" ;ini file diff -r 50974a8b132e -r 5d0ec8b709be serviceproviders/sapi_landmarks/tsrc/dev/tlandmarksprovidertest/tlmprovidercategorytests/group/tlmprovidercategorytests.pkg --- a/serviceproviders/sapi_landmarks/tsrc/dev/tlandmarksprovidertest/tlmprovidercategorytests/group/tlmprovidercategorytests.pkg Tue Nov 24 08:56:33 2009 +0200 +++ b/serviceproviders/sapi_landmarks/tsrc/dev/tlandmarksprovidertest/tlmprovidercategorytests/group/tlmprovidercategorytests.pkg Thu Dec 17 09:09:50 2009 +0200 @@ -32,8 +32,8 @@ ;SAPI Binaries to Install ;Landmarksservice binaries -;"..\..\..\..\..\..\..\..\epoc32\release\armv5\urel\landmarkservice.dll"-"C:\sys\bin\landmarkservice.dll" -"..\..\..\..\..\..\..\..\epoc32\release\armv5\urel\tlmprovidercategorytests.dll"-"C:\sys\bin\tlmprovidercategorytests.dll" +;"..\..\..\..\..\..\..\..\..\..\epoc32\release\armv5\urel\landmarkservice.dll"-"C:\sys\bin\landmarkservice.dll" +"..\..\..\..\..\..\..\..\..\..\epoc32\release\armv5\urel\tlmprovidercategorytests.dll"-"C:\sys\bin\tlmprovidercategorytests.dll" ;ini file diff -r 50974a8b132e -r 5d0ec8b709be serviceproviders/sapi_landmarks/tsrc/dev/tlandmarksprovidertest/tlmproviderdbtests/group/tlmproviderdbtests.pkg --- a/serviceproviders/sapi_landmarks/tsrc/dev/tlandmarksprovidertest/tlmproviderdbtests/group/tlmproviderdbtests.pkg Tue Nov 24 08:56:33 2009 +0200 +++ b/serviceproviders/sapi_landmarks/tsrc/dev/tlandmarksprovidertest/tlmproviderdbtests/group/tlmproviderdbtests.pkg Thu Dec 17 09:09:50 2009 +0200 @@ -32,8 +32,8 @@ ;SAPI Binaries to Install ;Landmarksservice binaries -;"..\..\..\..\..\..\..\..\epoc32\release\armv5\urel\landmarkservice.dll"-"C:\sys\bin\landmarkservice.dll" -"..\..\..\..\..\..\..\..\epoc32\release\armv5\urel\tlmproviderdbtests.dll"-"C:\sys\bin\tlmproviderdbtests.dll" +;"..\..\..\..\..\..\..\..\..\..\epoc32\release\armv5\urel\landmarkservice.dll"-"C:\sys\bin\landmarkservice.dll" +"..\..\..\..\..\..\..\..\..\..\epoc32\release\armv5\urel\tlmproviderdbtests.dll"-"C:\sys\bin\tlmproviderdbtests.dll" ;ini file diff -r 50974a8b132e -r 5d0ec8b709be serviceproviders/sapi_landmarks/tsrc/dev/tlandmarkstest/tlmcategorytests/group/tlmcategorytests.pkg --- a/serviceproviders/sapi_landmarks/tsrc/dev/tlandmarkstest/tlmcategorytests/group/tlmcategorytests.pkg Tue Nov 24 08:56:33 2009 +0200 +++ b/serviceproviders/sapi_landmarks/tsrc/dev/tlandmarkstest/tlmcategorytests/group/tlmcategorytests.pkg Thu Dec 17 09:09:50 2009 +0200 @@ -32,8 +32,8 @@ ;SAPI Binaries to Install ;Landmarksservice binaries -;"..\..\..\..\..\..\..\..\epoc32\release\armv5\urel\landmarkservice.dll"-"C:\sys\bin\landmarkservice.dll" -"..\..\..\..\..\..\..\..\epoc32\release\armv5\urel\tlmcategorytests.dll"-"C:\sys\bin\tlmcategorytests.dll" +;"..\..\..\..\..\..\..\..\..\..\epoc32\release\armv5\urel\landmarkservice.dll"-"C:\sys\bin\landmarkservice.dll" +"..\..\..\..\..\..\..\..\..\..\epoc32\release\armv5\urel\tlmcategorytests.dll"-"C:\sys\bin\tlmcategorytests.dll" ;ini file diff -r 50974a8b132e -r 5d0ec8b709be serviceproviders/sapi_landmarks/tsrc/dev/tlandmarkstest/tlmdatabasetests/group/tlmdatabasetests.pkg --- a/serviceproviders/sapi_landmarks/tsrc/dev/tlandmarkstest/tlmdatabasetests/group/tlmdatabasetests.pkg Tue Nov 24 08:56:33 2009 +0200 +++ b/serviceproviders/sapi_landmarks/tsrc/dev/tlandmarkstest/tlmdatabasetests/group/tlmdatabasetests.pkg Thu Dec 17 09:09:50 2009 +0200 @@ -32,8 +32,8 @@ ;SAPI Binaries to Install ;Landmarksservice binaries -;"..\..\..\..\..\..\..\..\epoc32\release\armv5\urel\landmarkservice.dll"-"C:\sys\bin\landmarkservice.dll" -"..\..\..\..\..\..\..\..\epoc32\release\armv5\urel\tlmdatabasetests.dll"-"C:\sys\bin\tlmdatabasetests.dll" +;"..\..\..\..\..\..\..\..\..\..\epoc32\release\armv5\urel\landmarkservice.dll"-"C:\sys\bin\landmarkservice.dll" +"..\..\..\..\..\..\..\..\..\..\epoc32\release\armv5\urel\tlmdatabasetests.dll"-"C:\sys\bin\tlmdatabasetests.dll" ;ini file diff -r 50974a8b132e -r 5d0ec8b709be serviceproviders/sapi_landmarks/tsrc/dev/tlandmarkstest/tlmlandmarktests/group/tlmlandmarktests.pkg --- a/serviceproviders/sapi_landmarks/tsrc/dev/tlandmarkstest/tlmlandmarktests/group/tlmlandmarktests.pkg Tue Nov 24 08:56:33 2009 +0200 +++ b/serviceproviders/sapi_landmarks/tsrc/dev/tlandmarkstest/tlmlandmarktests/group/tlmlandmarktests.pkg Thu Dec 17 09:09:50 2009 +0200 @@ -44,8 +44,8 @@ :"Nokia Corporation" ;Landmarksservice binaries -;"..\..\..\..\..\..\..\..\epoc32\release\armv5\urel\landmarkservice.dll"-"C:\sys\bin\landmarkservice.dll" -"..\..\..\..\..\..\..\..\epoc32\release\armv5\urel\tlmlandmarktests.dll"-"C:\sys\bin\tlmlandmarktests.dll" +;"..\..\..\..\..\..\..\..\..\..\epoc32\release\armv5\urel\landmarkservice.dll"-"C:\sys\bin\landmarkservice.dll" +"..\..\..\..\..\..\..\..\..\..\epoc32\release\armv5\urel\tlmlandmarktests.dll"-"C:\sys\bin\tlmlandmarktests.dll" ;INI FILE diff -r 50974a8b132e -r 5d0ec8b709be serviceproviders/sapi_landmarks/tsrc/testing/tlandmark_provider/group/tlandmark_provider.pkg --- a/serviceproviders/sapi_landmarks/tsrc/testing/tlandmark_provider/group/tlandmark_provider.pkg Tue Nov 24 08:56:33 2009 +0200 +++ b/serviceproviders/sapi_landmarks/tsrc/testing/tlandmark_provider/group/tlandmark_provider.pkg Thu Dec 17 09:09:50 2009 +0200 @@ -32,8 +32,8 @@ ;SAPI Binaries to Install ;Landmarksservice binaries -;"..\..\..\..\..\..\..\..\epoc32\release\armv5\urel\landmarkservice.dll"-"C:\sys\bin\landmarkservice.dll" -"..\..\..\..\..\..\..\..\epoc32\release\armv5\urel\tlandmark_provider.dll"-"C:\sys\bin\tlandmark_provider.dll" +;"..\..\..\..\..\..\..\..\..\epoc32\release\armv5\urel\landmarkservice.dll"-"C:\sys\bin\landmarkservice.dll" +"..\..\..\..\..\..\..\..\..\epoc32\release\armv5\urel\tlandmark_provider.dll"-"C:\sys\bin\tlandmark_provider.dll" ;ini file diff -r 50974a8b132e -r 5d0ec8b709be serviceproviders/sapi_landmarks/tsrc/testing/tlandmark_provider/src/tlandmark_providerblocks.cpp --- a/serviceproviders/sapi_landmarks/tsrc/testing/tlandmark_provider/src/tlandmark_providerblocks.cpp Tue Nov 24 08:56:33 2009 +0200 +++ b/serviceproviders/sapi_landmarks/tsrc/testing/tlandmark_provider/src/tlandmark_providerblocks.cpp Thu Dec 17 09:09:50 2009 +0200 @@ -2307,7 +2307,7 @@ getlistlandmark_map->InsertL(KLandmarkName,TLiwVariant(KName)); //description - getlistlandmark_map->InsertL(KLandmarkDesc,TLiwVariant(KDescription)); + //getlistlandmark_map->InsertL(KLandmarkDesc,TLiwVariant(KDescription)); param.SetNameAndValueL(KFilter,TLiwVariant(getlistlandmark_map)); inps->AppendL(param); @@ -3515,7 +3515,7 @@ getlistlandmark_map->InsertL(KLandmarkName,TLiwVariant(KName)); //description - getlistlandmark_map->InsertL(KLandmarkDesc,TLiwVariant(KDescription)); + //getlistlandmark_map->InsertL(KLandmarkDesc,TLiwVariant(KDescription)); param.SetNameAndValueL(KFilter,TLiwVariant(getlistlandmark_map)); inps->AppendL(param); @@ -3758,7 +3758,7 @@ getlistlandmark_map->InsertL(KLandmarkName,TLiwVariant(KName)); //description - getlistlandmark_map->InsertL(KLandmarkDesc,TLiwVariant(KDescription)); + //getlistlandmark_map->InsertL(KLandmarkDesc,TLiwVariant(KDescription)); param.SetNameAndValueL(KFilter,TLiwVariant(getlistlandmark_map)); inps->AppendL(param); @@ -4709,7 +4709,7 @@ getlistlandmark_map->InsertL(KLandmarkName,TLiwVariant(landmark_name)); //description - getlistlandmark_map->InsertL(KLandmarkDesc,TLiwVariant(landmark_description)); + //getlistlandmark_map->InsertL(KLandmarkDesc,TLiwVariant(landmark_description)); param.SetNameAndValueL(KFilter,TLiwVariant(getlistlandmark_map)); inparam->AppendL(param); diff -r 50974a8b132e -r 5d0ec8b709be serviceproviders/sapi_landmarks/tsrc/testing/tproviderlmarktest/conf/tproviderlmarktest.cfg --- a/serviceproviders/sapi_landmarks/tsrc/testing/tproviderlmarktest/conf/tproviderlmarktest.cfg Tue Nov 24 08:56:33 2009 +0200 +++ b/serviceproviders/sapi_landmarks/tsrc/testing/tproviderlmarktest/conf/tproviderlmarktest.cfg Thu Dec 17 09:09:50 2009 +0200 @@ -175,7 +175,7 @@ foobar CheckInputArgumentType Service.Landmarks IDataSource Export 0 NULL Type UnicodeString Landmark Data Int 20 Finish 1002 ExportTypeIdCheck1 foobar CheckInputArgumentType Service.Landmarks IDataSource Export 0 NULL Type UnicodeString Landmark Data Map End Finish 1003 ExportTypeIdCheck2 foobar RemoveFile c:\tmpfile1.lmx -foobar CheckInputArgumentType Service.Landmarks IDataSource Export 0 NULL Type UnicodeString Landmark Data Map DestinationFile UnicodeString c:\tmpfile1.lmx MimeType Real 1 End Finish 1002 ExportTypeIdCheck3 +foobar CheckInputArgumentType Service.Landmarks IDataSource Export 0 NULL Type UnicodeString Landmark Data Map DestinationFile UnicodeString c:\tmpfile1.lmx IdList List UnicodeString 1 End MimeType Real 1 End Finish 1002 ExportTypeIdCheck3 //foobar CheckInputArgumentType Service.Landmarks IDataSource Export 0 NULL Type UnicodeString Landmark Data Map MimeType UnicodeString application/vnd.nokia.landmarkcollection+xml IdList List UnicodeString 1 End DestinationFile Int 20 End Finish 1002 ExportTypeIdCheck4 //mem leak foobar RemoveFile c:\eposTest2.lmx @@ -203,7 +203,7 @@ title ExportHugeMimeType create tproviderlmarktest foobar foobar RemoveFile c:\tmpfile2.lmx -foobar CheckInputArgumentType Service.Landmarks IDataSource Export 0 NULL Type UnicodeString Landmark Data Map DestinationFile UnicodeString c:\tmpfile2.lmx MimeType UnicodeString HiThisisRoshanfromNokiaIndiaPvtLtd.IhopeyouaredoingfinebecauseIalwaysdofineandexpectthesamefromyou.Thisbringstothepointthatwhyiaskedyouthisstupidquestionwheniknowthaturfine.Nokiaisagreatcompanyanditpresentsgreatopportunity##$$$$&&&-=+++~~~@@@@@sothatsitfrommeletscontinueontheworkfortodayoksdnnsdfnsdnfsdnfkljsalkjjwijewjklasjdlkjasjdjhsalkdjsalkjdlaskjdlskajdlksaj End Finish 1004 ExportHugeMimeType +foobar CheckInputArgumentType Service.Landmarks IDataSource Export 0 NULL Type UnicodeString Landmark Data Map DestinationFile UnicodeString c:\tmpfile2.lmx MimeType UnicodeString HiThisisRoshanfromNokiaIndiaPvtLtd.IhopeyouaredoingfinebecauseIalwaysdofineandexpectthesamefromyou.Thisbringstothepointthatwhyiaskedyouthisstupidquestionwheniknowthaturfine.Nokiaisagreatcompanyanditpresentsgreatopportunity##$$$$&&&-=+++~~~@@@@@sothatsitfrommeletscontinueontheworkfortodayoksdnnsdfnsdnfsdnfkljsalkjjwijewjklasjdlkjasjdjhsalkdjsalkjdlaskjdlskajdlksaj IdList List UnicodeString 1 End End Finish 1004 ExportHugeMimeType delete foobar [Endtest] @@ -229,7 +229,7 @@ title ExportNullMimeType create tproviderlmarktest foobar foobar RemoveFile c:\tmpfile3.lmx -foobar CheckInputArgumentType Service.Landmarks IDataSource Export 0 NULL Type UnicodeString Landmark Data Map DestinationFile UnicodeString c:\tmpfile3.lmx MimeType UnicodeString NUll End Finish 1004 ExportNullMimeType +foobar CheckInputArgumentType Service.Landmarks IDataSource Export 0 NULL Type UnicodeString Landmark Data Map DestinationFile UnicodeString c:\tmpfile3.lmx MimeType UnicodeString Null IdList List UnicodeString 1 End End Finish 1000 ExportNullMimeType delete foobar [Endtest] @@ -246,7 +246,7 @@ title ExportInvalidMimeType create tproviderlmarktest foobar foobar RemoveFile c:\tmpfile4.lmx -foobar CheckInputArgumentType Service.Landmarks IDataSource Export 0 NULL Type UnicodeString Landmark Data Map DestinationFile UnicodeString c:\tmpfile4.lmx MimeType UnicodeString invalid End Finish 1004 ExportInvalidMimeType +foobar CheckInputArgumentType Service.Landmarks IDataSource Export 0 NULL Type UnicodeString Landmark Data Map DestinationFile UnicodeString c:\tmpfile4.lmx MimeType UnicodeString invalid IdList List UnicodeString 1 End End Finish 1004 ExportInvalidMimeType delete foobar [Endtest] @@ -263,7 +263,7 @@ [Test] title ExportNoIdList create tproviderlmarktest foobar -foobar CheckInputArgumentType Service.Landmarks IDataSource Export 0 NULL Type UnicodeString Landmark Data Map MimeType UnicodeString application/vnd.nokia.landmark+wbxml DestinationFile UnicodeString c:\test End Finish 1004 ExportNoIdList +foobar CheckInputArgumentType Service.Landmarks IDataSource Export 0 NULL Type UnicodeString Landmark Data Map MimeType UnicodeString application/vnd.nokia.landmark+wbxml DestinationFile UnicodeString c:\test End Finish 1003 ExportNoIdList delete foobar [Endtest] diff -r 50974a8b132e -r 5d0ec8b709be serviceproviders/sapi_landmarks/tsrc/testing/tproviderlmarktest/group/tproviderlmarktest.pkg --- a/serviceproviders/sapi_landmarks/tsrc/testing/tproviderlmarktest/group/tproviderlmarktest.pkg Tue Nov 24 08:56:33 2009 +0200 +++ b/serviceproviders/sapi_landmarks/tsrc/testing/tproviderlmarktest/group/tproviderlmarktest.pkg Thu Dec 17 09:09:50 2009 +0200 @@ -32,8 +32,8 @@ ;SAPI Binaries to Install ;Landmarksservice binaries -;"..\..\..\..\..\..\..\..\epoc32\release\armv5\urel\landmarkservice.dll"-"C:\sys\bin\landmarkservice.dll" -"..\..\..\..\..\..\..\..\epoc32\release\armv5\urel\tproviderlmarktest.dll"-"C:\sys\bin\tproviderlmarktest.dll" +;"..\..\..\..\..\..\..\..\..\epoc32\release\armv5\urel\landmarkservice.dll"-"C:\sys\bin\landmarkservice.dll" +"..\..\..\..\..\..\..\..\..\epoc32\release\armv5\urel\tproviderlmarktest.dll"-"C:\sys\bin\tproviderlmarktest.dll" ;ini file diff -r 50974a8b132e -r 5d0ec8b709be serviceproviders/sapi_location/data/102833ab.rss --- a/serviceproviders/sapi_location/data/102833ab.rss Tue Nov 24 08:56:33 2009 +0200 +++ b/serviceproviders/sapi_location/data/102833ab.rss Thu Dec 17 09:09:50 2009 +0200 @@ -40,7 +40,7 @@ version_no = 1; display_name = "Location Service Provider"; default_data = "Service.Location"; - opaque_data = "ILocation""::" "LOC1.1locationprovidername.rsc"; + opaque_data = "ILocation""::" "LOC2.0locationprovidername.rsc"; } diff -r 50974a8b132e -r 5d0ec8b709be serviceproviders/sapi_location/group/locationprovider.mmp --- a/serviceproviders/sapi_location/group/locationprovider.mmp Tue Nov 24 08:56:33 2009 +0200 +++ b/serviceproviders/sapi_location/group/locationprovider.mmp Thu Dec 17 09:09:50 2009 +0200 @@ -25,7 +25,7 @@ UID 0x10009D8D 0x102833AB VENDORID VID_DEFAULT -VERSION 1.1 +VERSION 1.2 CAPABILITY CAP_ECOM_PLUGIN diff -r 50974a8b132e -r 5d0ec8b709be serviceproviders/sapi_location/locationservice/group/locationservice.mmp --- a/serviceproviders/sapi_location/locationservice/group/locationservice.mmp Tue Nov 24 08:56:33 2009 +0200 +++ b/serviceproviders/sapi_location/locationservice/group/locationservice.mmp Thu Dec 17 09:09:50 2009 +0200 @@ -28,7 +28,7 @@ CAPABILITY ALL -TCB -VERSION 1.1 +VERSION 1.2 DEFFILE location.def SOURCEPATH ../src diff -r 50974a8b132e -r 5d0ec8b709be serviceproviders/sapi_location/tsrc/dev/tlocationprovidertest/group/tlocationprovidertest.pkg --- a/serviceproviders/sapi_location/tsrc/dev/tlocationprovidertest/group/tlocationprovidertest.pkg Tue Nov 24 08:56:33 2009 +0200 +++ b/serviceproviders/sapi_location/tsrc/dev/tlocationprovidertest/group/tlocationprovidertest.pkg Thu Dec 17 09:09:50 2009 +0200 @@ -32,8 +32,8 @@ ;SAPI Binaries to Install ;locationservice binaries -;"..\..\..\..\..\..\..\epoc32\release\armv5\urel\locationservice.dll"-"C:\sys\bin\locationservice.dll" -"..\..\..\..\..\..\..\epoc32\release\armv5\urel\tlocationprovidertest.dll"-"C:\sys\bin\tlocationprovidertest.dll" +;"..\..\..\..\..\..\..\..\..\epoc32\release\armv5\urel\locationservice.dll"-"C:\sys\bin\locationservice.dll" +"..\..\..\..\..\..\..\..\..\epoc32\release\armv5\urel\tlocationprovidertest.dll"-"C:\sys\bin\tlocationprovidertest.dll" ;ini file diff -r 50974a8b132e -r 5d0ec8b709be serviceproviders/sapi_location/tsrc/dev/tlocmanualtest/group/tlocmanualtest.pkg --- a/serviceproviders/sapi_location/tsrc/dev/tlocmanualtest/group/tlocmanualtest.pkg Tue Nov 24 08:56:33 2009 +0200 +++ b/serviceproviders/sapi_location/tsrc/dev/tlocmanualtest/group/tlocmanualtest.pkg Thu Dec 17 09:09:50 2009 +0200 @@ -32,8 +32,8 @@ ;SAPI Binaries to Install ;locationservice binaries -;"..\..\..\..\..\..\..\epoc32\release\armv5\urel\locationservice.dll"-"C:\sys\bin\locationservice.dll" -"..\..\..\..\..\..\..\epoc32\release\armv5\urel\tlocmanualtest.dll"-"C:\sys\bin\tlocmanualtest.dll" +;"..\..\..\..\..\..\..\..\..\epoc32\release\armv5\urel\locationservice.dll"-"C:\sys\bin\locationservice.dll" +"..\..\..\..\..\..\..\..\..\epoc32\release\armv5\urel\tlocmanualtest.dll"-"C:\sys\bin\tlocmanualtest.dll" ;ini file diff -r 50974a8b132e -r 5d0ec8b709be serviceproviders/sapi_location/tsrc/dev/tlocservicetest/group/tlocservicetest.pkg --- a/serviceproviders/sapi_location/tsrc/dev/tlocservicetest/group/tlocservicetest.pkg Tue Nov 24 08:56:33 2009 +0200 +++ b/serviceproviders/sapi_location/tsrc/dev/tlocservicetest/group/tlocservicetest.pkg Thu Dec 17 09:09:50 2009 +0200 @@ -32,8 +32,8 @@ ;SAPI Binaries to Install ;locationservice binaries -;"..\..\..\..\..\..\..\epoc32\release\armv5\urel\locationservice.dll"-"C:\sys\bin\locationservice.dll" -"..\..\..\..\..\..\..\epoc32\release\armv5\urel\tlocservicetest.dll"-"C:\sys\bin\tlocservicetest.dll" +;"..\..\..\..\..\..\..\..\..\epoc32\release\armv5\urel\locationservice.dll"-"C:\sys\bin\locationservice.dll" +"..\..\..\..\..\..\..\..\..\epoc32\release\armv5\urel\tlocservicetest.dll"-"C:\sys\bin\tlocservicetest.dll" ;ini file diff -r 50974a8b132e -r 5d0ec8b709be serviceproviders/sapi_location/tsrc/testing/tlocmanualtest/group/tlocmanualtest.pkg --- a/serviceproviders/sapi_location/tsrc/testing/tlocmanualtest/group/tlocmanualtest.pkg Tue Nov 24 08:56:33 2009 +0200 +++ b/serviceproviders/sapi_location/tsrc/testing/tlocmanualtest/group/tlocmanualtest.pkg Thu Dec 17 09:09:50 2009 +0200 @@ -32,8 +32,8 @@ ;SAPI Binaries to Install ;Locationservice binaries -;"..\..\..\..\..\..\..\epoc32\release\armv5\urel\locationservice.dll"-"C:\sys\bin\locationservice.dll" -"..\..\..\..\..\..\..\epoc32\release\armv5\urel\tlocmanualtest.dll"-"C:\sys\bin\tlocmanualtest.dll" +;"..\..\..\..\..\..\..\..\..\epoc32\release\armv5\urel\locationservice.dll"-"C:\sys\bin\locationservice.dll" +"..\..\..\..\..\..\..\..\..\epoc32\release\armv5\urel\tlocmanualtest.dll"-"C:\sys\bin\tlocmanualtest.dll" ;ini file diff -r 50974a8b132e -r 5d0ec8b709be serviceproviders/sapi_location/tsrc/testing/tloctest/group/tloctest.pkg --- a/serviceproviders/sapi_location/tsrc/testing/tloctest/group/tloctest.pkg Tue Nov 24 08:56:33 2009 +0200 +++ b/serviceproviders/sapi_location/tsrc/testing/tloctest/group/tloctest.pkg Thu Dec 17 09:09:50 2009 +0200 @@ -32,8 +32,8 @@ ;SAPI Binaries to Install ;Locationservice binaries -;"..\..\..\..\..\..\..\epoc32\release\armv5\urel\locationservice.dll" - "C:\sys\bin\locationservice.dll" -"..\..\..\..\..\..\..\epoc32\release\armv5\urel\tloctest.dll" - "C:\sys\bin\tloctest.dll" +;"..\..\..\..\..\..\..\..\..\epoc32\release\armv5\urel\locationservice.dll" - "C:\sys\bin\locationservice.dll" +"..\..\..\..\..\..\..\..\..\epoc32\release\armv5\urel\tloctest.dll" - "C:\sys\bin\tloctest.dll" ;ini file diff -r 50974a8b132e -r 5d0ec8b709be serviceproviders/sapi_location/tsrc/testing/tprovidertest/group/tprovidertest.pkg --- a/serviceproviders/sapi_location/tsrc/testing/tprovidertest/group/tprovidertest.pkg Tue Nov 24 08:56:33 2009 +0200 +++ b/serviceproviders/sapi_location/tsrc/testing/tprovidertest/group/tprovidertest.pkg Thu Dec 17 09:09:50 2009 +0200 @@ -32,8 +32,8 @@ ;SAPI Binaries to Install ;Loggingservice binaries -;"..\..\..\..\..\..\..\epoc32\release\armv5\urel\locationservice.dll"-"C:\sys\bin\locationservice.dll" -"..\..\..\..\..\..\..\epoc32\release\armv5\urel\tprovidertest.dll"-"C:\sys\bin\tprovidertest.dll" +;"..\..\..\..\..\..\..\..\..\epoc32\release\armv5\urel\locationservice.dll"-"C:\sys\bin\locationservice.dll" +"..\..\..\..\..\..\..\..\..\epoc32\release\armv5\urel\tprovidertest.dll"-"C:\sys\bin\tprovidertest.dll" ;ini file diff -r 50974a8b132e -r 5d0ec8b709be serviceproviders/sapi_location/tsrc/testing/tsapiloctest/group/tsapiloctest.pkg --- a/serviceproviders/sapi_location/tsrc/testing/tsapiloctest/group/tsapiloctest.pkg Tue Nov 24 08:56:33 2009 +0200 +++ b/serviceproviders/sapi_location/tsrc/testing/tsapiloctest/group/tsapiloctest.pkg Thu Dec 17 09:09:50 2009 +0200 @@ -32,8 +32,8 @@ ;SAPI Binaries to Install ;Loggingservice binaries -;"..\..\..\..\..\..\..\epoc32\release\armv5\urel\locationservice.dll"-"C:\sys\bin\locationservice.dll" -"..\..\..\..\..\..\..\epoc32\release\armv5\urel\tsapiloctest.dll"-"C:\sys\bin\tsapiloctest.dll" +;"..\..\..\..\..\..\..\..\..\epoc32\release\armv5\urel\locationservice.dll"-"C:\sys\bin\locationservice.dll" +"..\..\..\..\..\..\..\..\..\epoc32\release\armv5\urel\tsapiloctest.dll"-"C:\sys\bin\tsapiloctest.dll" ;ini file diff -r 50974a8b132e -r 5d0ec8b709be serviceproviders/sapi_location/tsrc/testing/tsapiloctotest/group/tsapiloctotest.pkg --- a/serviceproviders/sapi_location/tsrc/testing/tsapiloctotest/group/tsapiloctotest.pkg Tue Nov 24 08:56:33 2009 +0200 +++ b/serviceproviders/sapi_location/tsrc/testing/tsapiloctotest/group/tsapiloctotest.pkg Thu Dec 17 09:09:50 2009 +0200 @@ -32,8 +32,8 @@ ;SAPI Binaries to Install ;Loggingservice binaries -;"..\..\..\..\..\..\..\epoc32\release\armv5\urel\locationservice.dll"-"C:\sys\bin\locationservice.dll" -"..\..\..\..\..\..\..\epoc32\release\armv5\urel\tsapiloctotest.dll"-"C:\sys\bin\tsapiloctotest.dll" +;"..\..\..\..\..\..\..\..\..\epoc32\release\armv5\urel\locationservice.dll"-"C:\sys\bin\locationservice.dll" +"..\..\..\..\..\..\..\..\..\epoc32\release\armv5\urel\tsapiloctotest.dll"-"C:\sys\bin\tsapiloctotest.dll" ;ini file diff -r 50974a8b132e -r 5d0ec8b709be serviceproviders/sapi_logging/data/2000CFBC.rss --- a/serviceproviders/sapi_logging/data/2000CFBC.rss Tue Nov 24 08:56:33 2009 +0200 +++ b/serviceproviders/sapi_logging/data/2000CFBC.rss Thu Dec 17 09:09:50 2009 +0200 @@ -40,7 +40,7 @@ version_no = 1; display_name = "Logging Service Provider"; default_data = "Service.Logging"; - opaque_data = "IDataSource""::" "RUDWUD1.1loggingprovidername.rsc"; + opaque_data = "IDataSource""::" "RUDWUD2.0loggingprovidername.rsc"; } diff -r 50974a8b132e -r 5d0ec8b709be serviceproviders/sapi_logging/group/loggingprovider.mmp --- a/serviceproviders/sapi_logging/group/loggingprovider.mmp Tue Nov 24 08:56:33 2009 +0200 +++ b/serviceproviders/sapi_logging/group/loggingprovider.mmp Thu Dec 17 09:09:50 2009 +0200 @@ -28,7 +28,7 @@ VENDORID VID_DEFAULT DEFFILE loggingprovider.def -VERSION 1.1 +VERSION 1.2 CAPABILITY CAP_ECOM_PLUGIN diff -r 50974a8b132e -r 5d0ec8b709be serviceproviders/sapi_logging/inc/loggingcallback.h --- a/serviceproviders/sapi_logging/inc/loggingcallback.h Tue Nov 24 08:56:33 2009 +0200 +++ b/serviceproviders/sapi_logging/inc/loggingcallback.h Thu Dec 17 09:09:50 2009 +0200 @@ -69,6 +69,15 @@ void HandleNotifyL( TUint aTransid, TUint aStatus, CLogIter *aiter ) ; /** + * Implementation of HandleRequestL method, derived from MLoggingCB + * + * @param aTransid, Transaction id + * @param aStaus , status of the async request + * @parm, aEvents, data for notification + */ + void HandleReqeustL( TUint aTransid, TUint aStatus, CLogsEvent *aEvents ) ; + + /** * Implementation of CancelNotifyL method, derived from MLoggingCB * * @param aTransid, Transaction id diff -r 50974a8b132e -r 5d0ec8b709be serviceproviders/sapi_logging/inc/logginginterface.h --- a/serviceproviders/sapi_logging/inc/logginginterface.h Tue Nov 24 08:56:33 2009 +0200 +++ b/serviceproviders/sapi_logging/inc/logginginterface.h Thu Dec 17 09:09:50 2009 +0200 @@ -153,6 +153,11 @@ _LIT8(KEndTimeKey , "EndTime") ; /** +* StartTime Key, for getlist filter +*/ +_LIT8(KStartTimeKey , "StartTime") ; + +/** * Error Code */ _LIT8(KErrCode , "ErrorCode") ; diff -r 50974a8b132e -r 5d0ec8b709be serviceproviders/sapi_logging/loggingservice/group/loggingservice.mmp --- a/serviceproviders/sapi_logging/loggingservice/group/loggingservice.mmp Tue Nov 24 08:56:33 2009 +0200 +++ b/serviceproviders/sapi_logging/loggingservice/group/loggingservice.mmp Thu Dec 17 09:09:50 2009 +0200 @@ -31,7 +31,7 @@ //CAPABILITY ReadUserData WriteUserData WriteDeviceData DEFFILE loggingservice.def -VERSION 1.1 +VERSION 1.2 SOURCEPATH ../src SOURCE loggingsyncservice.cpp diff -r 50974a8b132e -r 5d0ec8b709be serviceproviders/sapi_logging/loggingservice/inc/loggingasyncservice.h --- a/serviceproviders/sapi_logging/loggingservice/inc/loggingasyncservice.h Tue Nov 24 08:56:33 2009 +0200 +++ b/serviceproviders/sapi_logging/loggingservice/inc/loggingasyncservice.h Thu Dec 17 09:09:50 2009 +0200 @@ -193,6 +193,8 @@ TInt iTask ; RFs iFs ; TTimeIntervalMicroSeconds32 iInterval ; + CLogViewEvent* iLogViewEvent; + CLogFilter* iFilter; }; @@ -213,6 +215,15 @@ * @param iter , Logging iterator */ virtual void HandleNotifyL(TUint aTransid ,TUint aStatus , CLogIter *iter ) = 0 ; + + /** + * HandleReqeustL , method to get output on notification + * methods + * @param aTransId , Transaction id + * @param aStatus + * @param aLogEvent , event containing the output + */ + virtual void HandleReqeustL(TUint aTransid, TUint aStatus, CLogsEvent *aLogEvent) = 0; /** * CancelNotifyL , generic method to get updates on the async @@ -234,4 +245,66 @@ } ; +/** + * Utility class for waiting for asychronous requests +*/ +class CAsyncWaiter : public CActive + { +public: + /** + * Two-phased constructor. + * @param aPriority set aPriority to EPriorityStandard + * @return CAsyncWaiter object + */ + static CAsyncWaiter* NewL( TInt aPriority = EPriorityStandard ); + static CAsyncWaiter* NewLC( TInt aPriority = EPriorityStandard ); + /** + * Destructor. + */ + ~CAsyncWaiter(); + + /** + * Starts the active scheduler. + */ + void StartAndWait(); + /** + * Starts the active scheduler. + */ + TInt Result() const; + +private: + + /** + * Constructor. + * @param aPriority + */ + CAsyncWaiter( TInt aPriority ); + + /** + * Inherited from CActive class + */ + void RunL(); + + /** + * Inherited from CActive class + */ + void DoCancel(); + +private: + + /** + * wait scheduler + */ + CActiveSchedulerWait iWait; + + /** + * error + */ + TInt iError; + }; + + + + + #endif \ No newline at end of file diff -r 50974a8b132e -r 5d0ec8b709be serviceproviders/sapi_logging/loggingservice/inc/loggingfilter.h --- a/serviceproviders/sapi_logging/loggingservice/inc/loggingfilter.h Tue Nov 24 08:56:33 2009 +0200 +++ b/serviceproviders/sapi_logging/loggingservice/inc/loggingfilter.h Thu Dec 17 09:09:50 2009 +0200 @@ -271,6 +271,17 @@ { return iLogFilter->Number() ; } + + /** + * Set StartTime for the event filter + * + * @param aStartTime, StartTime to be set + */ + + inline void SetStartTime(const TTime& aStartTime) + { + iLogFilter->SetStartTime(aStartTime) ; + } /** * Set EndTime for the event filter diff -r 50974a8b132e -r 5d0ec8b709be serviceproviders/sapi_logging/loggingservice/src/loggingasyncservice.cpp --- a/serviceproviders/sapi_logging/loggingservice/src/loggingasyncservice.cpp Tue Nov 24 08:56:33 2009 +0200 +++ b/serviceproviders/sapi_logging/loggingservice/src/loggingasyncservice.cpp Thu Dec 17 09:09:50 2009 +0200 @@ -21,6 +21,91 @@ #include "loggingfilter.h" #include "logiter.h" +// --------------------------------------------------------------------------- +// Two-phased constructor. +// --------------------------------------------------------------------------- +// +CAsyncWaiter* CAsyncWaiter::NewL(TInt aPriority) + { + CAsyncWaiter* self = new(ELeave) CAsyncWaiter(aPriority); + return self; + } + +// --------------------------------------------------------------------------- +// Two-phased constructor. +// --------------------------------------------------------------------------- +// +CAsyncWaiter* CAsyncWaiter::NewLC(TInt aPriority) + { + CAsyncWaiter* self = new(ELeave) CAsyncWaiter(aPriority); + CleanupStack::PushL(self); + return self; + } + +// --------------------------------------------------------------------------- +// Two-phased constructor. +// --------------------------------------------------------------------------- +// +CAsyncWaiter::CAsyncWaiter(TInt aPriority) : CActive(aPriority) + { + CActiveScheduler::Add(this); + } + +// --------------------------------------------------------------------------- +// Destructor. +// --------------------------------------------------------------------------- +// +CAsyncWaiter::~CAsyncWaiter() + { + Cancel(); + } + +// --------------------------------------------------------------------------- +// Starts the active scheduler. +// --------------------------------------------------------------------------- +// +void CAsyncWaiter::StartAndWait() + { + iStatus = KRequestPending; + SetActive(); + iWait.Start(); + } + +// --------------------------------------------------------------------------- +// Returns the error +// --------------------------------------------------------------------------- +// +TInt CAsyncWaiter::Result() const + { + return iError; + } + +// --------------------------------------------------------------------------- +// Inherited from CActive class +// --------------------------------------------------------------------------- +// +void CAsyncWaiter::RunL() + { + iError = iStatus.Int(); + iWait.AsyncStop(); + } + +// --------------------------------------------------------------------------- +// Inherited from CActive class +// --------------------------------------------------------------------------- +// +void CAsyncWaiter::DoCancel() + { + iError = KErrCancel; + if( iStatus == KRequestPending ) + { + TRequestStatus* s=&iStatus; + User::RequestComplete( s, KErrCancel ); + } + + iWait.AsyncStop(); + } + /** * Default Constructor Method */ @@ -35,6 +120,8 @@ CLogAsyncService :: ~CLogAsyncService() { Cancel(); + delete iFilter; + delete iLogViewEvent; delete iLogClient ; iFs.Close() ; } @@ -70,6 +157,8 @@ iCallback = aCallback; iIter = NULL ; iTask = ESleep; + iLogViewEvent = CLogViewEvent::NewL(*iLogClient); + iFilter = CLogFilter::NewL(); DoInitialiseL() ; } @@ -156,8 +245,17 @@ } case ENotification: { + CAsyncWaiter* waiter = CAsyncWaiter::NewL(); + CleanupStack::PushL(waiter); + TBool t = iLogViewEvent->SetFilterL(*iFilter,waiter->iStatus); + waiter->StartAndWait(); + iLogViewEvent->FirstL(waiter->iStatus); + waiter->StartAndWait(); + CleanupStack::PopAndDestroy(waiter); NotifyUpdates( iTransId, iInterval ); - iCallback->HandleNotifyL( iTransId, KErrNone , NULL ) ; + CLogsEvent* resultNotification = CLogsEvent::NewL(); + resultNotification->SetEvent(iLogViewEvent->Event()); + iCallback->HandleReqeustL( iTransId, KErrNone , resultNotification ) ; break; } diff -r 50974a8b132e -r 5d0ec8b709be serviceproviders/sapi_logging/src/loggingcallback.cpp --- a/serviceproviders/sapi_logging/src/loggingcallback.cpp Tue Nov 24 08:56:33 2009 +0200 +++ b/serviceproviders/sapi_logging/src/loggingcallback.cpp Thu Dec 17 09:09:50 2009 +0200 @@ -18,7 +18,17 @@ #include #include + +#ifndef SYMBIAN_ENABLE_SPLIT_HEADERS #include +#else +#include +#include +#include +#include +#include +#endif + #include #include "logiter.h" @@ -178,6 +188,218 @@ } } +void LoggingInterfaceCB :: HandleReqeustL( TUint aTransId, TUint aStatus, CLogsEvent *aEvents ) + { + TInt i = 0; + CleanupStack :: PushL( this ) ; + + CLiwGenericParamList *OutParm = CLiwGenericParamList :: NewL() ; + CleanupStack :: PushL(OutParm) ; + CLiwGenericParamList *InParm = CLiwGenericParamList :: NewL() ; + CleanupStack :: PushL(InParm) ; + + TInt32 sapierror ; + + sapierror = CLoggingInterface::ConvertToSapiError( aStatus ); + + OutParm->AppendL(TLiwGenericParam(KErrCode , TLiwVariant((TInt32)sapierror))) ; + + CleanupStack::PushL(aEvents); + + CLiwDefaultMap *evntmap = CLiwDefaultMap :: NewL() ; + + CleanupClosePushL( *evntmap ); + + TLiwVariant entry; + + /** + * Extract all the event details form CLogsEvent object + * and push it to the aEntry + */ + + TInt32 val = 0 ; + + switch( (aEvents->getEventType()).iUid ) + { + case KLogCallEventType : + { + val = CLoggingInterface :: EKLogCallEventType ; + break ; + } + + case KLogDataEventType : + { + val = CLoggingInterface :: EKLogDataEventType ; + break ; + } + + case KLogFaxEventType : + { + val = CLoggingInterface :: EKLogFaxEventType ; + break ; + } + + case KLogShortMessageEventType : + { + val = CLoggingInterface :: EKLogShortMessageEventType ; + break ; + } + + case KLogPacketDataEventType : + { + val = CLoggingInterface :: EKLogPacketDataEventType ; + break ; + } + + default : + { + break ; + } + } + + evntmap->InsertL(KEventTypeKey , TLiwVariant((TInt32)val)); + + evntmap->InsertL(KRemotePartyKey , TLiwVariant(aEvents->getRemoteParty())) ; + + evntmap->InsertL(KEventDurationKey ,TLiwVariant((TInt32)aEvents->getDuration())) ; + + evntmap->InsertL(KEventTimeKey , TLiwVariant(aEvents->getTime())) ; + + val = 0 ; + + /** + * Need to convert status to int value + */ + if( ( ( aEvents->getStatus() ).Compare( KStatusPending ) ) == KErrNone ) + { + val = CLoggingInterface :: EStatusPending ; + } + else if( ( ( aEvents->getStatus() ).Compare( KStatusSent ) ) == KErrNone ) + { + val =CLoggingInterface :: EStatusSent ; + } + else if( ( ( aEvents->getStatus() ).Compare( KStatusFalied ) ) == KErrNone ) + { + val = CLoggingInterface :: EStatusFalied ; + } + else if( ( ( aEvents->getStatus() ).Compare( KStatusNone ) ) == KErrNone ) + { + val = CLoggingInterface :: EStatusNone; + } + else if( ( ( aEvents->getStatus() ).Compare( KStatusDone ) ) == KErrNone ) + { + val = CLoggingInterface :: EStatusDone; + } + else if( ( ( aEvents->getStatus() ).Compare( KStatusNotSent ) ) == KErrNone ) + { + val = CLoggingInterface :: EStatusNotSent; + } + else if( ( ( aEvents->getStatus() ).Compare( KStatusScheduled ) ) == KErrNone ) + { + val = CLoggingInterface :: EStatusScheduled; + } + else + { + val = CLoggingInterface :: EStatusNotPresent; + } + + if( val != -1 ) + { + evntmap->InsertL(KDeliveryStatusKey , TLiwVariant((TInt32)val)) ; + } + + evntmap->InsertL(KSubjectKey , TLiwVariant(aEvents->getSubject())) ; + + evntmap->InsertL(KPhoneNumberKey , TLiwVariant(aEvents->getNumber())) ; + + evntmap->InsertL(KDescriptionKey , TLiwVariant (aEvents->getDescription())) ; + + evntmap->InsertL(KLinkKey , TLiwVariant((TInt32)aEvents->getLink())) ; + + val = 0 ; + + if( aEvents->Flags() & KLogEventContactSearched ) + { + val = CLoggingInterface :: EKLogEventContactSearched ; + } + else if( aEvents->Flags() & KLogEventRead ) + { + val = CLoggingInterface :: EKLogEventRead ; + } + + else + { + val = CLoggingInterface :: EFlagNotPresent; + } + + if( val != -1 ) + { + evntmap->InsertL(KFlagsKey , TLiwVariant((TInt32)val) ); + } + + TInt32 ret = aEvents->Id(); + TBuf<8> des; + des.Num(ret); + evntmap->InsertL(KLogId , TLiwVariant( des)) ; + + val = 0 ; + + if( ( ( aEvents->getDirection() ).Compare( KIncomingEvent ) ) == KErrNone ) + { + val = CLoggingInterface :: EIncomingEvent ; + } + else if( ( ( aEvents->getDirection() ).Compare( KOutgoingEvent ) ) == KErrNone ) + { + val = CLoggingInterface :: EOutgoingEvent ; + } + else if( ( ( aEvents->getDirection() ).Compare( KIncomingEventAlternateline ) ) == KErrNone ) + { + val = CLoggingInterface :: EIncomingEventAlternateline ; + } + else if( ( ( aEvents->getDirection() ).Compare( KOutgoingEventAlternateline ) ) == KErrNone ) + { + val = CLoggingInterface :: EOutgoingEventAlternateline; + } + else if( ( ( aEvents->getDirection() ).Compare( KFetchedEvent ) ) == KErrNone ) + { + val = CLoggingInterface :: EFetchedEvent; + } + else if( ( ( aEvents->getDirection() ).Compare( KMissedEvent ) ) == KErrNone ) + { + val = CLoggingInterface :: EMissedEvent; + } + else if( ( ( aEvents->getDirection() ).Compare( KMissedEventAlternateline ) ) == KErrNone ) + { + val = CLoggingInterface :: EMissedEventAlternateline; + } + else + { + val = CLoggingInterface :: EDirectionNotPresent; + } + + if( val != -1 ) + { + evntmap->InsertL(KDirectionKey , TLiwVariant((TInt32)val)) ; + } + + evntmap->InsertL(KEventDataKey , TLiwVariant(aEvents->getDataL())); + + entry.SetL( evntmap ) ; + OutParm->AppendL( TLiwGenericParam( KResponse , entry ) ) ; + CleanupStack :: Pop( evntmap ) ; + evntmap->DecRef(); + CleanupStack::Pop( aEvents ); + delete aEvents; + + + iCallBack->HandleNotifyL( aTransId, KLiwEventInProgress, *OutParm, *InParm ) ; + + CleanupStack::PopAndDestroy( InParm ); + CleanupStack::PopAndDestroy( OutParm ); + CleanupStack::Pop(this); + } + + void LoggingInterfaceCB :: CancelNotifyL( TUint aTransid ) { CleanupStack :: PushL( this ) ; diff -r 50974a8b132e -r 5d0ec8b709be serviceproviders/sapi_logging/src/logginginterface.cpp --- a/serviceproviders/sapi_logging/src/logginginterface.cpp Tue Nov 24 08:56:33 2009 +0200 +++ b/serviceproviders/sapi_logging/src/logginginterface.cpp Thu Dec 17 09:09:50 2009 +0200 @@ -1277,6 +1277,12 @@ filter->SetFlags( val ) ; } } + + if( mapParam->FindL( KStartTimeKey , var ) ) + { + CheckInputTypeL( &var, LIW::EVariantTypeTTime, KStartTimeKey.operator&() ); + filter->SetStartTime( var.AsTTime() ) ; + } if( mapParam->FindL( KEndTimeKey , var ) ) { diff -r 50974a8b132e -r 5d0ec8b709be serviceproviders/sapi_logging/tsrc/dev/tloggingprovidertest/group/tloggingprovidertest.pkg --- a/serviceproviders/sapi_logging/tsrc/dev/tloggingprovidertest/group/tloggingprovidertest.pkg Tue Nov 24 08:56:33 2009 +0200 +++ b/serviceproviders/sapi_logging/tsrc/dev/tloggingprovidertest/group/tloggingprovidertest.pkg Thu Dec 17 09:09:50 2009 +0200 @@ -32,8 +32,8 @@ ;SAPI Binaries to Install ;Loggingservice binaries -;"..\..\..\..\..\..\..\epoc32\release\armv5\urel\loggingservice.dll"-"C:\sys\bin\loggingservice.dll" -"..\..\..\..\..\..\..\epoc32\release\armv5\urel\tloggingprovidertest.dll"-"C:\sys\bin\tloggingprovidertest.dll" +;"..\..\..\..\..\..\..\..\..\epoc32\release\armv5\urel\loggingservice.dll"-"C:\sys\bin\loggingservice.dll" +"..\..\..\..\..\..\..\..\..\epoc32\release\armv5\urel\tloggingprovidertest.dll"-"C:\sys\bin\tloggingprovidertest.dll" ;ini file diff -r 50974a8b132e -r 5d0ec8b709be serviceproviders/sapi_logging/tsrc/dev/tloggingprovidertest/inc/loggingcallback.h --- a/serviceproviders/sapi_logging/tsrc/dev/tloggingprovidertest/inc/loggingcallback.h Tue Nov 24 08:56:33 2009 +0200 +++ b/serviceproviders/sapi_logging/tsrc/dev/tloggingprovidertest/inc/loggingcallback.h Thu Dec 17 09:09:50 2009 +0200 @@ -68,6 +68,15 @@ */ void HandleNotifyL( TUint aTransid, TUint aStatus, CLogIter *aiter ) ; + + /** + * Implementation of HandleRequestL method, derived from MLoggingCB + * + * @param aTransid, Transaction id + * @param aStaus , status of the async request + * @param, logData for notification + */ + void HandleRequestL( TUint aTransid, TUint aStatus, CLogsEvent *event ) ; /** * Implementation of CancelNotifyL method, derived from MLoggingCB diff -r 50974a8b132e -r 5d0ec8b709be serviceproviders/sapi_logging/tsrc/dev/tloggingservice/group/tloggingservice.pkg --- a/serviceproviders/sapi_logging/tsrc/dev/tloggingservice/group/tloggingservice.pkg Tue Nov 24 08:56:33 2009 +0200 +++ b/serviceproviders/sapi_logging/tsrc/dev/tloggingservice/group/tloggingservice.pkg Thu Dec 17 09:09:50 2009 +0200 @@ -32,8 +32,8 @@ ;SAPI Binaries to Install ;Loggingservice binaries -;"..\..\..\..\..\..\..\epoc32\release\armv5\urel\loggingservice.dll"-"C:\sys\bin\loggingservice.dll" -"..\..\..\..\..\..\..\epoc32\release\armv5\urel\tloggingservice.dll"-"C:\sys\bin\tloggingservice.dll" +;"..\..\..\..\..\..\..\..\..\epoc32\release\armv5\urel\loggingservice.dll"-"C:\sys\bin\loggingservice.dll" +"..\..\..\..\..\..\..\..\..\epoc32\release\armv5\urel\tloggingservice.dll"-"C:\sys\bin\tloggingservice.dll" ;ini file diff -r 50974a8b132e -r 5d0ec8b709be serviceproviders/sapi_logging/tsrc/dev/tloggingservice/inc/loggingasyncservice.h --- a/serviceproviders/sapi_logging/tsrc/dev/tloggingservice/inc/loggingasyncservice.h Tue Nov 24 08:56:33 2009 +0200 +++ b/serviceproviders/sapi_logging/tsrc/dev/tloggingservice/inc/loggingasyncservice.h Thu Dec 17 09:09:50 2009 +0200 @@ -214,6 +214,15 @@ * @param iter , Logging iterator */ virtual void HandleNotifyL(TUint aTransid ,TUint aStatus , CLogIter *iter ) = 0 ; + + /** + * HandleRequestL , method to get log data on an event + * methods + * @param aTransId , Transaction id + * @param aStatus + * @param aEvent , data for the occured event + */ + virtual void HandleRequestL( TUint aTransid, TUint aStatus, CLogsEvent *aEvent ) = 0; /** * CancelNotifyL , generic method to get updates on the async diff -r 50974a8b132e -r 5d0ec8b709be serviceproviders/sapi_logging/tsrc/dev/tloggingservice/inc/tconstants.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/serviceproviders/sapi_logging/tsrc/dev/tloggingservice/inc/tconstants.h Thu Dec 17 09:09:50 2009 +0200 @@ -0,0 +1,219 @@ +/* +* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies). +* All rights reserved. +* This component and the accompanying materials are made available +* under the terms of the License "Eclipse Public License v1.0" +* which accompanies this distribution, and is available +* at the URL "http://www.eclipse.org/legal/epl-v10.html". +* +* Initial Contributors: +* Nokia Corporation - initial contribution. +* +* Contributors: +* +* Description: +* +*/ + + +#ifndef TCONSTANTS_H +#define TCONSTANTS_H +/** + * InterfaceName ILogging + * Contenttypes Service.Logging + */ + +_LIT8(KDsInterfaceName , "IDataSource") ; +_LIT8(KLoggingContents , "Service.Logging") ; + + +/** + * Error Indntifier in Output parameter list + */ + _LIT8(KErrorCode , "ErrorCode") ; + _LIT8(KResponse,"ReturnValue"); + +/** + * Content type + */ + + _LIT16(KContentType , "Log") ; + +/** + * Content Type Key + */ + _LIT8(KContentTypeKey , "Type") ; +/** + * Operations on the IDatasource(Logging) interface + */ + _LIT8(KCmdAdd , "Add") ; +_LIT8(KCmdDelete , "Delete") ; + _LIT8(KCmdGetList ,"GetList") ; +_LIT8(KCmdRequestNotification ,"RequestNotification") ; + _LIT8(KCmdCancel ,"Cancel") ; + /** + * Position Item + */ + _LIT8(KPosItem , "PosItem") ; + + +/** + * Transaction id, which will be part of outparamlist for asynchronous request + */ +_LIT8(KTransactionId, "TransactionID"); + +/** + * Event map that contains the details of the event to be logged + */ + +/** + * Filter for getlist operation + */ + _LIT8(KFilter , "Filter") ; + _LIT8(KEventDetails , "Item") ; + _LIT8(KData , "Data") ; + + /** + * DelayInterval.... + */ + _LIT8(KDelayTime , "DelayTime") ; + + /** + * Key for identifying the type of the event in event map + */ +_LIT8(KEventTypeKey , "EventType") ; + + /** + * Key for identifying the remote party in event map + */ +_LIT8(KRemotePartyKey , "RemoteParty") ; + + /** + * Key for identifying the direction in event map + */ +_LIT8(KDirectionKey , "Direction") ; + + /** + * Key for identifying the time in event map + */ +_LIT8(KEventTimeKey , "EventTime") ; + + /** + * Key for identifying the duration in event map + */ +_LIT8(KEventDurationKey , "EventDuration") ; + + /** + * Key for identifying the deliverystatus in event map + */ +_LIT8(KDeliveryStatusKey , "DeliveryStatus") ; + + /** + * Key for identifying the subject in event map + */ +_LIT8(KSubjectKey , "Subject") ; + + + /** + * Key for identifying the phonenumber in event map + */ +_LIT8(KPhoneNumberKey , "PhoneNumber") ; + + + /** + * Key for identifying the contactid in event map + */ +_LIT8(KContactidKey , "Contactid") ; + + + + /** + * Key for identifying the description in event map + */ +_LIT8(KDescriptionKey , "Description") ; + + + + /** + * Key for identifying the eventdata in event map + */ +_LIT8(KEventDataKey , "EventData") ; + + + + /** + * Key for identifying the link in event map + */ +_LIT8(KLinkKey , "Link") ; + +/** + * EndTime Key, for getlist filter + */ + _LIT8(KEndTimeKey , "EndTime") ; + + + +/** +* Key for the flags fields +*/ +_LIT8(KFlagsKey , "LogFlags") ; + +/** +* Liwiterator key in outparamlist +*/ +_LIT8(KLogIter , "Iterator") ; + +/** +* Error Code +*/ +_LIT8(KErrCode , "ErrorCode") ; + +/** +* Keys for the filter input paramater for getlist api +*/ +_LIT8(KAllEvents , "All") ; + + /** + * Key for RecentList for Filter + */ + _LIT8(KRecentListKey , "RecentList") ; + + _LIT8(KLogId , "id") ; + + + + + enum RequestType + { + EAddEvent , + EGetList , + }; + + enum EeventType + { + KCallEvent , + KLogDataEvent, + KLogFaxEvent, + KLogShortMessageEvent, + KLogMailEvent, + KLogTaskSchedulerEvent, + KLogPacketDataEvent, + KLogLbsSelfLocateEvent, + KLogLbsExternalLocateEvent, + KLogLbsTransmitLocationEvent, + KLogLbsNetworkLocateEvent, + KLogLbsAssistanceDataEvent, + + }; + +const TInt KLogMaxRemotePartyLength = 64; +const TInt KLogMaxDirectionLength = 64; +const TInt KLogMaxStatusLength = 64; +const TInt KLogMaxSubjectLength = 64; +const TInt KLogMaxDescriptionLength = 64; +const TInt KLogMaxSharedStringLength = 64; +const TInt KLogMaxNumberLength = 100; + +#endif + + \ No newline at end of file diff -r 50974a8b132e -r 5d0ec8b709be serviceproviders/sapi_logging/tsrc/dev/tloggingservice/inc/tlogcallback.h --- a/serviceproviders/sapi_logging/tsrc/dev/tloggingservice/inc/tlogcallback.h Tue Nov 24 08:56:33 2009 +0200 +++ b/serviceproviders/sapi_logging/tsrc/dev/tloggingservice/inc/tlogcallback.h Thu Dec 17 09:09:50 2009 +0200 @@ -35,6 +35,8 @@ MLogCallback() ; + void HandleRequestL(TUint aTransid ,TUint aStatus , CLogsEvent *aEvent ) ; + //--------------------------------------------------------- // Starts the wait loop //--------------------------------------------------------- diff -r 50974a8b132e -r 5d0ec8b709be serviceproviders/sapi_logging/tsrc/dev/tloggingservice/src/taddtest.cpp --- a/serviceproviders/sapi_logging/tsrc/dev/tloggingservice/src/taddtest.cpp Tue Nov 24 08:56:33 2009 +0200 +++ b/serviceproviders/sapi_logging/tsrc/dev/tloggingservice/src/taddtest.cpp Thu Dec 17 09:09:50 2009 +0200 @@ -20,7 +20,15 @@ #include #include #include +#ifndef SYMBIAN_ENABLE_SPLIT_HEADERS #include +#else +#include +#include +#include +#include +#include +#endif #include "loggingasyncservice.h" #include "loggingservice.h" @@ -86,4 +94,4 @@ } - \ No newline at end of file + diff -r 50974a8b132e -r 5d0ec8b709be serviceproviders/sapi_logging/tsrc/dev/tloggingservice/src/taddtest2.cpp --- a/serviceproviders/sapi_logging/tsrc/dev/tloggingservice/src/taddtest2.cpp Tue Nov 24 08:56:33 2009 +0200 +++ b/serviceproviders/sapi_logging/tsrc/dev/tloggingservice/src/taddtest2.cpp Thu Dec 17 09:09:50 2009 +0200 @@ -20,7 +20,15 @@ #include #include #include +#ifndef SYMBIAN_ENABLE_SPLIT_HEADERS #include +#else +#include +#include +#include +#include +#include +#endif #include "loggingasyncservice.h" #include "loggingservice.h" diff -r 50974a8b132e -r 5d0ec8b709be serviceproviders/sapi_logging/tsrc/dev/tloggingservice/src/taddtest3.cpp --- a/serviceproviders/sapi_logging/tsrc/dev/tloggingservice/src/taddtest3.cpp Tue Nov 24 08:56:33 2009 +0200 +++ b/serviceproviders/sapi_logging/tsrc/dev/tloggingservice/src/taddtest3.cpp Thu Dec 17 09:09:50 2009 +0200 @@ -20,7 +20,15 @@ #include #include #include +#ifndef SYMBIAN_ENABLE_SPLIT_HEADERS #include +#else +#include +#include +#include +#include +#include +#endif #include "loggingasyncservice.h" #include "loggingservice.h" diff -r 50974a8b132e -r 5d0ec8b709be serviceproviders/sapi_logging/tsrc/dev/tloggingservice/src/taddtest4.cpp --- a/serviceproviders/sapi_logging/tsrc/dev/tloggingservice/src/taddtest4.cpp Tue Nov 24 08:56:33 2009 +0200 +++ b/serviceproviders/sapi_logging/tsrc/dev/tloggingservice/src/taddtest4.cpp Thu Dec 17 09:09:50 2009 +0200 @@ -20,7 +20,15 @@ #include #include #include +#ifndef SYMBIAN_ENABLE_SPLIT_HEADERS #include +#else +#include +#include +#include +#include +#include +#endif #include "loggingasyncservice.h" #include "loggingservice.h" diff -r 50974a8b132e -r 5d0ec8b709be serviceproviders/sapi_logging/tsrc/dev/tloggingservice/src/tconcurrenttest5.cpp --- a/serviceproviders/sapi_logging/tsrc/dev/tloggingservice/src/tconcurrenttest5.cpp Tue Nov 24 08:56:33 2009 +0200 +++ b/serviceproviders/sapi_logging/tsrc/dev/tloggingservice/src/tconcurrenttest5.cpp Thu Dec 17 09:09:50 2009 +0200 @@ -20,7 +20,15 @@ #include #include #include +#ifndef SYMBIAN_ENABLE_SPLIT_HEADERS #include +#else +#include +#include +#include +#include +#include +#endif #include "loggingasyncservice.h" #include "loggingservice.h" @@ -78,4 +86,4 @@ } - \ No newline at end of file + diff -r 50974a8b132e -r 5d0ec8b709be serviceproviders/sapi_logging/tsrc/dev/tloggingservice/src/tconcurrenttest6.cpp --- a/serviceproviders/sapi_logging/tsrc/dev/tloggingservice/src/tconcurrenttest6.cpp Tue Nov 24 08:56:33 2009 +0200 +++ b/serviceproviders/sapi_logging/tsrc/dev/tloggingservice/src/tconcurrenttest6.cpp Thu Dec 17 09:09:50 2009 +0200 @@ -20,7 +20,15 @@ #include #include #include +#ifndef SYMBIAN_ENABLE_SPLIT_HEADERS #include +#else +#include +#include +#include +#include +#include +#endif #include "loggingasyncservice.h" #include "loggingservice.h" @@ -88,4 +96,4 @@ } - \ No newline at end of file + diff -r 50974a8b132e -r 5d0ec8b709be serviceproviders/sapi_logging/tsrc/dev/tloggingservice/src/tdeletetest1.cpp --- a/serviceproviders/sapi_logging/tsrc/dev/tloggingservice/src/tdeletetest1.cpp Tue Nov 24 08:56:33 2009 +0200 +++ b/serviceproviders/sapi_logging/tsrc/dev/tloggingservice/src/tdeletetest1.cpp Thu Dec 17 09:09:50 2009 +0200 @@ -20,7 +20,15 @@ #include #include #include +#ifndef SYMBIAN_ENABLE_SPLIT_HEADERS #include +#else +#include +#include +#include +#include +#include +#endif #include "loggingasyncservice.h" #include "loggingservice.h" @@ -102,4 +110,4 @@ delete LogService ; return KErrNone ; - } \ No newline at end of file + } diff -r 50974a8b132e -r 5d0ec8b709be serviceproviders/sapi_logging/tsrc/dev/tloggingservice/src/tdeletetest2.cpp --- a/serviceproviders/sapi_logging/tsrc/dev/tloggingservice/src/tdeletetest2.cpp Tue Nov 24 08:56:33 2009 +0200 +++ b/serviceproviders/sapi_logging/tsrc/dev/tloggingservice/src/tdeletetest2.cpp Thu Dec 17 09:09:50 2009 +0200 @@ -20,7 +20,15 @@ #include #include #include +#ifndef SYMBIAN_ENABLE_SPLIT_HEADERS #include +#else +#include +#include +#include +#include +#include +#endif #include "loggingasyncservice.h" #include "loggingservice.h" @@ -87,4 +95,4 @@ return KErrNone ; - } \ No newline at end of file + } diff -r 50974a8b132e -r 5d0ec8b709be serviceproviders/sapi_logging/tsrc/dev/tloggingservice/src/tgetevent1.cpp --- a/serviceproviders/sapi_logging/tsrc/dev/tloggingservice/src/tgetevent1.cpp Tue Nov 24 08:56:33 2009 +0200 +++ b/serviceproviders/sapi_logging/tsrc/dev/tloggingservice/src/tgetevent1.cpp Thu Dec 17 09:09:50 2009 +0200 @@ -20,7 +20,15 @@ #include #include #include +#ifndef SYMBIAN_ENABLE_SPLIT_HEADERS #include +#else +#include +#include +#include +#include +#include +#endif #include "loggingasyncservice.h" #include "loggingservice.h" diff -r 50974a8b132e -r 5d0ec8b709be serviceproviders/sapi_logging/tsrc/dev/tloggingservice/src/tgetevent2.cpp --- a/serviceproviders/sapi_logging/tsrc/dev/tloggingservice/src/tgetevent2.cpp Tue Nov 24 08:56:33 2009 +0200 +++ b/serviceproviders/sapi_logging/tsrc/dev/tloggingservice/src/tgetevent2.cpp Thu Dec 17 09:09:50 2009 +0200 @@ -20,7 +20,15 @@ #include #include #include +#ifndef SYMBIAN_ENABLE_SPLIT_HEADERS #include +#else +#include +#include +#include +#include +#include +#endif #include "loggingasyncservice.h" #include "loggingservice.h" diff -r 50974a8b132e -r 5d0ec8b709be serviceproviders/sapi_logging/tsrc/dev/tloggingservice/src/tgetrecentlist1.cpp --- a/serviceproviders/sapi_logging/tsrc/dev/tloggingservice/src/tgetrecentlist1.cpp Tue Nov 24 08:56:33 2009 +0200 +++ b/serviceproviders/sapi_logging/tsrc/dev/tloggingservice/src/tgetrecentlist1.cpp Thu Dec 17 09:09:50 2009 +0200 @@ -20,7 +20,15 @@ #include #include #include +#ifndef SYMBIAN_ENABLE_SPLIT_HEADERS #include +#else +#include +#include +#include +#include +#include +#endif #include "loggingasyncservice.h" #include "loggingservice.h" @@ -86,4 +94,4 @@ delete LogService ; return KErrNone ; } - \ No newline at end of file + diff -r 50974a8b132e -r 5d0ec8b709be serviceproviders/sapi_logging/tsrc/dev/tloggingservice/src/tgetrecentlist2.cpp --- a/serviceproviders/sapi_logging/tsrc/dev/tloggingservice/src/tgetrecentlist2.cpp Tue Nov 24 08:56:33 2009 +0200 +++ b/serviceproviders/sapi_logging/tsrc/dev/tloggingservice/src/tgetrecentlist2.cpp Thu Dec 17 09:09:50 2009 +0200 @@ -20,7 +20,15 @@ #include #include #include +#ifndef SYMBIAN_ENABLE_SPLIT_HEADERS #include +#else +#include +#include +#include +#include +#include +#endif #include "loggingasyncservice.h" #include "loggingservice.h" @@ -76,4 +84,4 @@ return KErrNone ; } - \ No newline at end of file + diff -r 50974a8b132e -r 5d0ec8b709be serviceproviders/sapi_logging/tsrc/dev/tloggingservice/src/tgetrecentlist3.cpp --- a/serviceproviders/sapi_logging/tsrc/dev/tloggingservice/src/tgetrecentlist3.cpp Tue Nov 24 08:56:33 2009 +0200 +++ b/serviceproviders/sapi_logging/tsrc/dev/tloggingservice/src/tgetrecentlist3.cpp Thu Dec 17 09:09:50 2009 +0200 @@ -20,7 +20,15 @@ #include #include #include +#ifndef SYMBIAN_ENABLE_SPLIT_HEADERS #include +#else +#include +#include +#include +#include +#include +#endif #include "loggingasyncservice.h" #include "loggingservice.h" @@ -91,4 +99,4 @@ return ret ; } - \ No newline at end of file + diff -r 50974a8b132e -r 5d0ec8b709be serviceproviders/sapi_logging/tsrc/dev/tloggingservice/src/tlogcallback.cpp --- a/serviceproviders/sapi_logging/tsrc/dev/tloggingservice/src/tlogcallback.cpp Tue Nov 24 08:56:33 2009 +0200 +++ b/serviceproviders/sapi_logging/tsrc/dev/tloggingservice/src/tlogcallback.cpp Thu Dec 17 09:09:50 2009 +0200 @@ -81,6 +81,19 @@ } +void MLogCallback :: HandleRequestL(TUint aTransid ,TUint aStatus , CLogsEvent *event ) +{ + ++count ; + + delete event ; + if(count > 0) + { + iScheduler->AsyncStop() ; + } + + +} + void MLogCallback :: CancelNotifyL( TUint aTransid ) { diff -r 50974a8b132e -r 5d0ec8b709be serviceproviders/sapi_logging/tsrc/dev/tloggingservice/src/tloggingblocks.cpp --- a/serviceproviders/sapi_logging/tsrc/dev/tloggingservice/src/tloggingblocks.cpp Tue Nov 24 08:56:33 2009 +0200 +++ b/serviceproviders/sapi_logging/tsrc/dev/tloggingservice/src/tloggingblocks.cpp Thu Dec 17 09:09:50 2009 +0200 @@ -24,7 +24,15 @@ #include #include #include +#ifndef SYMBIAN_ENABLE_SPLIT_HEADERS #include +#else +#include +#include +#include +#include +#include +#endif #include "loggingasyncservice.h" #include "loggingservice.h" @@ -712,4 +720,4 @@ return ret ; - } \ No newline at end of file + } diff -r 50974a8b132e -r 5d0ec8b709be serviceproviders/sapi_logging/tsrc/dev/tlogtypeidtest/conf/tlogtypeidtest.cfg --- a/serviceproviders/sapi_logging/tsrc/dev/tlogtypeidtest/conf/tlogtypeidtest.cfg Tue Nov 24 08:56:33 2009 +0200 +++ b/serviceproviders/sapi_logging/tsrc/dev/tlogtypeidtest/conf/tlogtypeidtest.cfg Thu Dec 17 09:09:50 2009 +0200 @@ -22,6 +22,13 @@ [Endtest] [Test] +title typeID check GetList StartTime +create tlogtypeidtest foobar +foobar CheckInputArgumentType Service.Logging IDataSource GetList 0 NULL Type UnicodeString Log Filter Map StartTime Int 5 End Finish 1002 Done +delete foobar +[Endtest] + +[Test] title typeID check GetList RecentList create tlogtypeidtest foobar foobar CheckInputArgumentType Service.Logging IDataSource GetList 0 NULL Type UnicodeString Log Filter Map RecentList UnicodeString ab End Finish 1002 Done diff -r 50974a8b132e -r 5d0ec8b709be serviceproviders/sapi_logging/tsrc/dev/tlogtypeidtest/group/tlogtypeidtest.pkg --- a/serviceproviders/sapi_logging/tsrc/dev/tlogtypeidtest/group/tlogtypeidtest.pkg Tue Nov 24 08:56:33 2009 +0200 +++ b/serviceproviders/sapi_logging/tsrc/dev/tlogtypeidtest/group/tlogtypeidtest.pkg Thu Dec 17 09:09:50 2009 +0200 @@ -32,8 +32,8 @@ ;SAPI Binaries to Install ;Loggingservice binaries -;"..\..\..\..\..\..\..\epoc32\release\armv5\urel\loggingservice.dll"-"C:\sys\bin\loggingservice.dll" -"..\..\..\..\..\..\..\epoc32\release\armv5\urel\tlogtypeidtest.dll"-"C:\sys\bin\tlogtypeidtest.dll" +;"..\..\..\..\..\..\..\..\..\epoc32\release\armv5\urel\loggingservice.dll"-"C:\sys\bin\loggingservice.dll" +"..\..\..\..\..\..\..\..\..\epoc32\release\armv5\urel\tlogtypeidtest.dll"-"C:\sys\bin\tlogtypeidtest.dll" ;ini file diff -r 50974a8b132e -r 5d0ec8b709be serviceproviders/sapi_logging/tsrc/dev/tlogtypeidtest/inc/tconstants.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/serviceproviders/sapi_logging/tsrc/dev/tlogtypeidtest/inc/tconstants.h Thu Dec 17 09:09:50 2009 +0200 @@ -0,0 +1,219 @@ +/* +* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies). +* All rights reserved. +* This component and the accompanying materials are made available +* under the terms of the License "Eclipse Public License v1.0" +* which accompanies this distribution, and is available +* at the URL "http://www.eclipse.org/legal/epl-v10.html". +* +* Initial Contributors: +* Nokia Corporation - initial contribution. +* +* Contributors: +* +* Description: +* +*/ + + +#ifndef TCONSTANTS_H +#define TCONSTANTS_H +/** + * InterfaceName ILogging + * Contenttypes Service.Logging + */ + +_LIT8(KDsInterfaceName , "IDataSource") ; +_LIT8(KLoggingContents , "Service.Logging") ; + + +/** + * Error Indntifier in Output parameter list + */ + _LIT8(KErrorCode , "ErrorCode") ; + _LIT8(KResponse,"ReturnValue"); + +/** + * Content type + */ + + _LIT16(KContentType , "Log") ; + +/** + * Content Type Key + */ + _LIT8(KContentTypeKey , "Type") ; +/** + * Operations on the IDatasource(Logging) interface + */ + _LIT8(KCmdAdd , "Add") ; +_LIT8(KCmdDelete , "Delete") ; + _LIT8(KCmdGetList ,"GetList") ; +_LIT8(KCmdRequestNotification ,"RequestNotification") ; + _LIT8(KCmdCancel ,"Cancel") ; + /** + * Position Item + */ + _LIT8(KPosItem , "PosItem") ; + + +/** + * Transaction id, which will be part of outparamlist for asynchronous request + */ +_LIT8(KTransactionId, "TransactionID"); + +/** + * Event map that contains the details of the event to be logged + */ + +/** + * Filter for getlist operation + */ + _LIT8(KFilter , "Filter") ; + _LIT8(KEventDetails , "Item") ; + _LIT8(KData , "Data") ; + + /** + * DelayInterval.... + */ + _LIT8(KDelayTime , "DelayTime") ; + + /** + * Key for identifying the type of the event in event map + */ +_LIT8(KEventTypeKey , "EventType") ; + + /** + * Key for identifying the remote party in event map + */ +_LIT8(KRemotePartyKey , "RemoteParty") ; + + /** + * Key for identifying the direction in event map + */ +_LIT8(KDirectionKey , "Direction") ; + + /** + * Key for identifying the time in event map + */ +_LIT8(KEventTimeKey , "EventTime") ; + + /** + * Key for identifying the duration in event map + */ +_LIT8(KEventDurationKey , "EventDuration") ; + + /** + * Key for identifying the deliverystatus in event map + */ +_LIT8(KDeliveryStatusKey , "DeliveryStatus") ; + + /** + * Key for identifying the subject in event map + */ +_LIT8(KSubjectKey , "Subject") ; + + + /** + * Key for identifying the phonenumber in event map + */ +_LIT8(KPhoneNumberKey , "PhoneNumber") ; + + + /** + * Key for identifying the contactid in event map + */ +_LIT8(KContactidKey , "Contactid") ; + + + + /** + * Key for identifying the description in event map + */ +_LIT8(KDescriptionKey , "Description") ; + + + + /** + * Key for identifying the eventdata in event map + */ +_LIT8(KEventDataKey , "EventData") ; + + + + /** + * Key for identifying the link in event map + */ +_LIT8(KLinkKey , "Link") ; + +/** + * EndTime Key, for getlist filter + */ + _LIT8(KEndTimeKey , "EndTime") ; + + + +/** +* Key for the flags fields +*/ +_LIT8(KFlagsKey , "LogFlags") ; + +/** +* Liwiterator key in outparamlist +*/ +_LIT8(KLogIter , "Iterator") ; + +/** +* Error Code +*/ +_LIT8(KErrCode , "ErrorCode") ; + +/** +* Keys for the filter input paramater for getlist api +*/ +_LIT8(KAllEvents , "All") ; + + /** + * Key for RecentList for Filter + */ + _LIT8(KRecentListKey , "RecentList") ; + + _LIT8(KLogId , "id") ; + + + + + enum RequestType + { + EAddEvent , + EGetList , + }; + + enum EeventType + { + KCallEvent , + KLogDataEvent, + KLogFaxEvent, + KLogShortMessageEvent, + KLogMailEvent, + KLogTaskSchedulerEvent, + KLogPacketDataEvent, + KLogLbsSelfLocateEvent, + KLogLbsExternalLocateEvent, + KLogLbsTransmitLocationEvent, + KLogLbsNetworkLocateEvent, + KLogLbsAssistanceDataEvent, + + }; + +const TInt KLogMaxRemotePartyLength = 64; +const TInt KLogMaxDirectionLength = 64; +const TInt KLogMaxStatusLength = 64; +const TInt KLogMaxSubjectLength = 64; +const TInt KLogMaxDescriptionLength = 64; +const TInt KLogMaxSharedStringLength = 64; +const TInt KLogMaxNumberLength = 100; + +#endif + + \ No newline at end of file diff -r 50974a8b132e -r 5d0ec8b709be serviceproviders/sapi_logging/tsrc/testing/tloggingservicetest/group/tloggingservicetest.pkg --- a/serviceproviders/sapi_logging/tsrc/testing/tloggingservicetest/group/tloggingservicetest.pkg Tue Nov 24 08:56:33 2009 +0200 +++ b/serviceproviders/sapi_logging/tsrc/testing/tloggingservicetest/group/tloggingservicetest.pkg Thu Dec 17 09:09:50 2009 +0200 @@ -32,8 +32,8 @@ ;SAPI Binaries to Install ;Loggingservice binaries -;"..\..\..\..\..\..\..\epoc32\release\armv5\urel\loggingservice.dll"-"C:\sys\bin\loggingservice.dll" -"..\..\..\..\..\..\..\epoc32\release\armv5\urel\tloggingservicetest.dll"-"C:\sys\bin\tloggingservicetest.dll" +;"..\..\..\..\..\..\..\..\..\epoc32\release\armv5\urel\loggingservice.dll"-"C:\sys\bin\loggingservice.dll" +"..\..\..\..\..\..\..\..\..\epoc32\release\armv5\urel\tloggingservicetest.dll"-"C:\sys\bin\tloggingservicetest.dll" ;ini file diff -r 50974a8b132e -r 5d0ec8b709be serviceproviders/sapi_logging/tsrc/testing/tloggingservicetest/inc/loggingasyncservice.h --- a/serviceproviders/sapi_logging/tsrc/testing/tloggingservicetest/inc/loggingasyncservice.h Tue Nov 24 08:56:33 2009 +0200 +++ b/serviceproviders/sapi_logging/tsrc/testing/tloggingservicetest/inc/loggingasyncservice.h Thu Dec 17 09:09:50 2009 +0200 @@ -214,6 +214,15 @@ * @param iter , Logging iterator */ virtual void HandleNotifyL(TUint aTransid ,TUint aStatus , CLogIter *iter ) = 0 ; + + /** + * HandleRequestL , method to get log data on an event + * methods + * @param aTransId , Transaction id + * @param aStatus + * @param aEvent , data for the occured event + */ + virtual void HandleRequestL(TUint aTransid ,TUint aStatus , CLogsEvent *event ) = 0 ; /** * CancelNotifyL , generic method to get updates on the async diff -r 50974a8b132e -r 5d0ec8b709be serviceproviders/sapi_logging/tsrc/testing/tloggingservicetest/inc/tconstants.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/serviceproviders/sapi_logging/tsrc/testing/tloggingservicetest/inc/tconstants.h Thu Dec 17 09:09:50 2009 +0200 @@ -0,0 +1,219 @@ +/* +* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies). +* All rights reserved. +* This component and the accompanying materials are made available +* under the terms of the License "Eclipse Public License v1.0" +* which accompanies this distribution, and is available +* at the URL "http://www.eclipse.org/legal/epl-v10.html". +* +* Initial Contributors: +* Nokia Corporation - initial contribution. +* +* Contributors: +* +* Description: +* +*/ + + +#ifndef TCONSTANTS_H +#define TCONSTANTS_H +/** + * InterfaceName ILogging + * Contenttypes Service.Logging + */ + +_LIT8(KDsInterfaceName , "IDataSource") ; +_LIT8(KLoggingContents , "Service.Logging") ; + + +/** + * Error Indntifier in Output parameter list + */ + _LIT8(KErrorCode , "ErrorCode") ; + _LIT8(KResponse,"ReturnValue"); + +/** + * Content type + */ + + _LIT16(KContentType , "Log") ; + +/** + * Content Type Key + */ + _LIT8(KContentTypeKey , "Type") ; +/** + * Operations on the IDatasource(Logging) interface + */ + _LIT8(KCmdAdd , "Add") ; +_LIT8(KCmdDelete , "Delete") ; + _LIT8(KCmdGetList ,"GetList") ; +_LIT8(KCmdRequestNotification ,"RequestNotification") ; + _LIT8(KCmdCancel ,"Cancel") ; + /** + * Position Item + */ + _LIT8(KPosItem , "PosItem") ; + + +/** + * Transaction id, which will be part of outparamlist for asynchronous request + */ +_LIT8(KTransactionId, "TransactionID"); + +/** + * Event map that contains the details of the event to be logged + */ + +/** + * Filter for getlist operation + */ + _LIT8(KFilter , "Filter") ; + _LIT8(KEventDetails , "Item") ; + _LIT8(KData , "Data") ; + + /** + * DelayInterval.... + */ + _LIT8(KDelayTime , "DelayTime") ; + + /** + * Key for identifying the type of the event in event map + */ +_LIT8(KEventTypeKey , "EventType") ; + + /** + * Key for identifying the remote party in event map + */ +_LIT8(KRemotePartyKey , "RemoteParty") ; + + /** + * Key for identifying the direction in event map + */ +_LIT8(KDirectionKey , "Direction") ; + + /** + * Key for identifying the time in event map + */ +_LIT8(KEventTimeKey , "EventTime") ; + + /** + * Key for identifying the duration in event map + */ +_LIT8(KEventDurationKey , "EventDuration") ; + + /** + * Key for identifying the deliverystatus in event map + */ +_LIT8(KDeliveryStatusKey , "DeliveryStatus") ; + + /** + * Key for identifying the subject in event map + */ +_LIT8(KSubjectKey , "Subject") ; + + + /** + * Key for identifying the phonenumber in event map + */ +_LIT8(KPhoneNumberKey , "PhoneNumber") ; + + + /** + * Key for identifying the contactid in event map + */ +_LIT8(KContactidKey , "Contactid") ; + + + + /** + * Key for identifying the description in event map + */ +_LIT8(KDescriptionKey , "Description") ; + + + + /** + * Key for identifying the eventdata in event map + */ +_LIT8(KEventDataKey , "EventData") ; + + + + /** + * Key for identifying the link in event map + */ +_LIT8(KLinkKey , "Link") ; + +/** + * EndTime Key, for getlist filter + */ + _LIT8(KEndTimeKey , "EndTime") ; + + + +/** +* Key for the flags fields +*/ +_LIT8(KFlagsKey , "LogFlags") ; + +/** +* Liwiterator key in outparamlist +*/ +_LIT8(KLogIter , "Iterator") ; + +/** +* Error Code +*/ +_LIT8(KErrCode , "ErrorCode") ; + +/** +* Keys for the filter input paramater for getlist api +*/ +_LIT8(KAllEvents , "All") ; + + /** + * Key for RecentList for Filter + */ + _LIT8(KRecentListKey , "RecentList") ; + + _LIT8(KLogId , "id") ; + + + + + enum RequestType + { + EAddEvent , + EGetList , + }; + + enum EeventType + { + KCallEvent , + KLogDataEvent, + KLogFaxEvent, + KLogShortMessageEvent, + KLogMailEvent, + KLogTaskSchedulerEvent, + KLogPacketDataEvent, + KLogLbsSelfLocateEvent, + KLogLbsExternalLocateEvent, + KLogLbsTransmitLocationEvent, + KLogLbsNetworkLocateEvent, + KLogLbsAssistanceDataEvent, + + }; + +const TInt KLogMaxRemotePartyLength = 64; +const TInt KLogMaxDirectionLength = 64; +const TInt KLogMaxStatusLength = 64; +const TInt KLogMaxSubjectLength = 64; +const TInt KLogMaxDescriptionLength = 64; +const TInt KLogMaxSharedStringLength = 64; +const TInt KLogMaxNumberLength = 100; + +#endif + + \ No newline at end of file diff -r 50974a8b132e -r 5d0ec8b709be serviceproviders/sapi_logging/tsrc/testing/tloggingservicetest/inc/tlogcallback.h --- a/serviceproviders/sapi_logging/tsrc/testing/tloggingservicetest/inc/tlogcallback.h Tue Nov 24 08:56:33 2009 +0200 +++ b/serviceproviders/sapi_logging/tsrc/testing/tloggingservicetest/inc/tlogcallback.h Thu Dec 17 09:09:50 2009 +0200 @@ -34,6 +34,8 @@ void HandleNotifyL(TUint aTransid ,TUint aStatus , CLogIter *iter ) ; void CancelNotifyL(TUint aTransid); + + void HandleRequestL( TUint aTransid, TUint aStatus, CLogsEvent *aEvent ) ; MLogCallback() ; diff -r 50974a8b132e -r 5d0ec8b709be serviceproviders/sapi_logging/tsrc/testing/tloggingservicetest/src/taddeventasync.cpp --- a/serviceproviders/sapi_logging/tsrc/testing/tloggingservicetest/src/taddeventasync.cpp Tue Nov 24 08:56:33 2009 +0200 +++ b/serviceproviders/sapi_logging/tsrc/testing/tloggingservicetest/src/taddeventasync.cpp Thu Dec 17 09:09:50 2009 +0200 @@ -83,6 +83,19 @@ } + +void MLogCallback :: HandleRequestL(TUint aTransid ,TUint aStatus , CLogsEvent *aEvent ) +{ + ++count ; + + + delete aEvent ; + if(count > 0) + { + iScheduler->AsyncStop() ; + } + +} diff -r 50974a8b132e -r 5d0ec8b709be serviceproviders/sapi_logging/tsrc/testing/tloggingservicetest/src/taddeventsync.cpp --- a/serviceproviders/sapi_logging/tsrc/testing/tloggingservicetest/src/taddeventsync.cpp Tue Nov 24 08:56:33 2009 +0200 +++ b/serviceproviders/sapi_logging/tsrc/testing/tloggingservicetest/src/taddeventsync.cpp Thu Dec 17 09:09:50 2009 +0200 @@ -18,7 +18,16 @@ #include #include "tloggingservicetest.h" #include +#ifndef SYMBIAN_ENABLE_SPLIT_HEADERS #include +#else +#include +#include +#include +#include +#include +#endif + #include "loggingasyncservice.h" #include "loggingsyncservice.h" @@ -159,4 +168,4 @@ - \ No newline at end of file + diff -r 50974a8b132e -r 5d0ec8b709be serviceproviders/sapi_logging/tsrc/testing/tloggingservicetest/src/tgetlist.cpp --- a/serviceproviders/sapi_logging/tsrc/testing/tloggingservicetest/src/tgetlist.cpp Tue Nov 24 08:56:33 2009 +0200 +++ b/serviceproviders/sapi_logging/tsrc/testing/tloggingservicetest/src/tgetlist.cpp Thu Dec 17 09:09:50 2009 +0200 @@ -18,7 +18,15 @@ #include #include "tloggingservicetest.h" #include +#ifndef SYMBIAN_ENABLE_SPLIT_HEADERS #include +#else +#include +#include +#include +#include +#include +#endif #include "loggingasyncservice.h" #include "loggingsyncservice.h" @@ -406,4 +414,4 @@ return iter; } - \ No newline at end of file + diff -r 50974a8b132e -r 5d0ec8b709be serviceproviders/sapi_logging/tsrc/testing/tloggingservicetest/src/tgetrecent.cpp --- a/serviceproviders/sapi_logging/tsrc/testing/tloggingservicetest/src/tgetrecent.cpp Tue Nov 24 08:56:33 2009 +0200 +++ b/serviceproviders/sapi_logging/tsrc/testing/tloggingservicetest/src/tgetrecent.cpp Thu Dec 17 09:09:50 2009 +0200 @@ -18,7 +18,15 @@ #include #include "tloggingservicetest.h" #include +#ifndef SYMBIAN_ENABLE_SPLIT_HEADERS #include +#else +#include +#include +#include +#include +#include +#endif #include "loggingasyncservice.h" #include "loggingsyncservice.h" @@ -111,4 +119,4 @@ } - \ No newline at end of file + diff -r 50974a8b132e -r 5d0ec8b709be serviceproviders/sapi_logging/tsrc/testing/tlogprovidertest/group/tlogprovidertest.pkg --- a/serviceproviders/sapi_logging/tsrc/testing/tlogprovidertest/group/tlogprovidertest.pkg Tue Nov 24 08:56:33 2009 +0200 +++ b/serviceproviders/sapi_logging/tsrc/testing/tlogprovidertest/group/tlogprovidertest.pkg Thu Dec 17 09:09:50 2009 +0200 @@ -32,8 +32,8 @@ ;SAPI Binaries to Install ;Loggingservice binaries -;"..\..\..\..\..\..\..\epoc32\release\armv5\urel\loggingservice.dll"-"C:\sys\bin\loggingservice.dll" -"..\..\..\..\..\..\..\epoc32\release\armv5\urel\tlogprovidertest.dll"-"C:\sys\bin\tlogprovidertest.dll" +;"..\..\..\..\..\..\..\..\..\epoc32\release\armv5\urel\loggingservice.dll"-"C:\sys\bin\loggingservice.dll" +"..\..\..\..\..\..\..\..\..\epoc32\release\armv5\urel\tlogprovidertest.dll"-"C:\sys\bin\tlogprovidertest.dll" ;ini file diff -r 50974a8b132e -r 5d0ec8b709be serviceproviders/sapi_logging/tsrc/testing/tlogprovidertest/inc/loggingcallback.h --- a/serviceproviders/sapi_logging/tsrc/testing/tlogprovidertest/inc/loggingcallback.h Tue Nov 24 08:56:33 2009 +0200 +++ b/serviceproviders/sapi_logging/tsrc/testing/tlogprovidertest/inc/loggingcallback.h Thu Dec 17 09:09:50 2009 +0200 @@ -68,6 +68,15 @@ */ void HandleNotifyL( TUint aTransid, TUint aStatus, CLogIter *aiter ) ; + + /** + * Implementation of HandleRequestL method, derived from MLoggingCB + * + * @param aTransid, Transaction id + * @param aStaus , status of the async request + * @param, aEvent, data for the occured event + */ + void HandleRequestL( TUint aTransid, TUint aStatus, CLogsEvent *aEvent ) ; /** * Implementation of CancelNotifyL method, derived from MLoggingCB diff -r 50974a8b132e -r 5d0ec8b709be serviceproviders/sapi_mediamanagement/data/102833AD.rss --- a/serviceproviders/sapi_mediamanagement/data/102833AD.rss Tue Nov 24 08:56:33 2009 +0200 +++ b/serviceproviders/sapi_mediamanagement/data/102833AD.rss Thu Dec 17 09:09:50 2009 +0200 @@ -39,7 +39,7 @@ version_no = 1; display_name = "MediaManagement Service Provider"; default_data = "Service.MediaManagement"; - opaque_data = "IDataSource" "::" "RUD1.1mediamanagementprovidername.rsc"; + opaque_data = "IDataSource" "::" "RUD2.0mediamanagementprovidername.rsc"; } }; } diff -r 50974a8b132e -r 5d0ec8b709be serviceproviders/sapi_mediamanagement/group/mediamanagementprovider.mmp --- a/serviceproviders/sapi_mediamanagement/group/mediamanagementprovider.mmp Tue Nov 24 08:56:33 2009 +0200 +++ b/serviceproviders/sapi_mediamanagement/group/mediamanagementprovider.mmp Thu Dec 17 09:09:50 2009 +0200 @@ -26,7 +26,7 @@ DEFFILE mediamanagementprovider.def -VERSION 1.1 +VERSION 1.2 CAPABILITY CAP_ECOM_PLUGIN VENDORID VID_DEFAULT diff -r 50974a8b132e -r 5d0ec8b709be serviceproviders/sapi_mediamanagement/mediamanagementservice/group/mediamanagementservice.mmp --- a/serviceproviders/sapi_mediamanagement/mediamanagementservice/group/mediamanagementservice.mmp Tue Nov 24 08:56:33 2009 +0200 +++ b/serviceproviders/sapi_mediamanagement/mediamanagementservice/group/mediamanagementservice.mmp Thu Dec 17 09:09:50 2009 +0200 @@ -25,7 +25,7 @@ DEFFILE mediamanagementservice.def -VERSION 1.1 +VERSION 1.2 CAPABILITY ALL -TCB VENDORID VID_DEFAULT diff -r 50974a8b132e -r 5d0ec8b709be serviceproviders/sapi_mediamanagement/tsrc/dev/taiwmediamgmttest/group/taiwmediamgmttest.pkg --- a/serviceproviders/sapi_mediamanagement/tsrc/dev/taiwmediamgmttest/group/taiwmediamgmttest.pkg Tue Nov 24 08:56:33 2009 +0200 +++ b/serviceproviders/sapi_mediamanagement/tsrc/dev/taiwmediamgmttest/group/taiwmediamgmttest.pkg Thu Dec 17 09:09:50 2009 +0200 @@ -32,8 +32,8 @@ ;SAPI Binaries to Install ;Mediamgmtservice binaries -;"..\..\..\..\..\..\..\epoc32\release\armv5\urel\mediamanagementservice.dll"-"C:\sys\bin\mediamanagementservice.dll" -"..\..\..\..\..\..\..\epoc32\release\armv5\urel\taiwmediamgmttest.dll"-"C:\sys\bin\taiwmediamgmttest.dll" +;"..\..\..\..\..\..\..\..\..\epoc32\release\armv5\urel\mediamanagementservice.dll"-"C:\sys\bin\mediamanagementservice.dll" +"..\..\..\..\..\..\..\..\..\epoc32\release\armv5\urel\taiwmediamgmttest.dll"-"C:\sys\bin\taiwmediamgmttest.dll" ;ini file diff -r 50974a8b132e -r 5d0ec8b709be serviceproviders/sapi_mediamanagement/tsrc/dev/tmediamgmtprovidertest/group/tmediamgmtprovidertest.pkg --- a/serviceproviders/sapi_mediamanagement/tsrc/dev/tmediamgmtprovidertest/group/tmediamgmtprovidertest.pkg Tue Nov 24 08:56:33 2009 +0200 +++ b/serviceproviders/sapi_mediamanagement/tsrc/dev/tmediamgmtprovidertest/group/tmediamgmtprovidertest.pkg Thu Dec 17 09:09:50 2009 +0200 @@ -42,12 +42,12 @@ ; Unique Vendor name :"Nokia Corporation" -"../init/testframework.ini" - "!:\testframework\testframework.ini" +"..\init\testframework.ini" - "!:\testframework\testframework.ini" ;CFG FILES - "../conf/tmediamgmtprovidertest.cfg" - "!:\testframework\tmediamgmtprovidertest.cfg" + "..\conf\tmediamgmtprovidertest.cfg" - "!:\testframework\tmediamgmtprovidertest.cfg" ; Main DLL - "\epoc32\release\ARMV5\urel\tmediamgmtprovidertest.dll" - "!:\Sys\Bin\tmediamgmtprovidertest.dll" + "..\..\..\..\..\..\..\..\..\epoc32\release\ARMV5\urel\tmediamgmtprovidertest.dll" - "!:\Sys\Bin\tmediamgmtprovidertest.dll" ;TEST DLL -; "\epoc32\release\ARMV5\urel\mediamanagementservice.dll" - "!:\Sys\Bin\mediamanagementservice.dll" +; "..\..\..\..\..\..\..\..\..\epoc32\release\ARMV5\urel\mediamanagementservice.dll" - "!:\Sys\Bin\mediamanagementservice.dll" diff -r 50974a8b132e -r 5d0ec8b709be serviceproviders/sapi_mediamanagement/tsrc/dev/tmediamgmttest/group/tmediamgmttest.pkg --- a/serviceproviders/sapi_mediamanagement/tsrc/dev/tmediamgmttest/group/tmediamgmttest.pkg Tue Nov 24 08:56:33 2009 +0200 +++ b/serviceproviders/sapi_mediamanagement/tsrc/dev/tmediamgmttest/group/tmediamgmttest.pkg Thu Dec 17 09:09:50 2009 +0200 @@ -32,8 +32,8 @@ ;SAPI Binaries to Install ;Mediaservice binaries -;"..\..\..\..\..\..\..\epoc32\release\armv5\urel\mediamanagementservice.dll"-"C:\sys\bin\mediamanagementservice.dll" -"..\..\..\..\..\..\..\epoc32\release\armv5\urel\tmediamgmttest.dll"-"C:\sys\bin\tmediamgmttest.dll" +;"..\..\..\..\..\..\..\..\..\epoc32\release\armv5\urel\mediamanagementservice.dll"-"C:\sys\bin\mediamanagementservice.dll" +"..\..\..\..\..\..\..\..\..\epoc32\release\armv5\urel\tmediamgmttest.dll"-"C:\sys\bin\tmediamgmttest.dll" ;ini file diff -r 50974a8b132e -r 5d0ec8b709be serviceproviders/sapi_mediamanagement/tsrc/dev/tmediathumbnailprovidertest/group/tproviderthumbnailtest.pkg --- a/serviceproviders/sapi_mediamanagement/tsrc/dev/tmediathumbnailprovidertest/group/tproviderthumbnailtest.pkg Tue Nov 24 08:56:33 2009 +0200 +++ b/serviceproviders/sapi_mediamanagement/tsrc/dev/tmediathumbnailprovidertest/group/tproviderthumbnailtest.pkg Thu Dec 17 09:09:50 2009 +0200 @@ -34,7 +34,7 @@ ;Loggingservice binaries -"\epoc32\release\armv5\urel\tmediathumbnailprovidertest.dll" - "!:\Sys\Bin\tmediathumbnailprovidertest.dll" +"..\..\..\..\..\..\..\..\..\epoc32\release\armv5\urel\tmediathumbnailprovidertest.dll" - "!:\Sys\Bin\tmediathumbnailprovidertest.dll" ;ini file "..\init\Testframework.ini"-"c:\Testframework\Testframework.ini" diff -r 50974a8b132e -r 5d0ec8b709be serviceproviders/sapi_mediamanagement/tsrc/testing/tmediaprovidertest/group/tmediaprovidertest.pkg --- a/serviceproviders/sapi_mediamanagement/tsrc/testing/tmediaprovidertest/group/tmediaprovidertest.pkg Tue Nov 24 08:56:33 2009 +0200 +++ b/serviceproviders/sapi_mediamanagement/tsrc/testing/tmediaprovidertest/group/tmediaprovidertest.pkg Thu Dec 17 09:09:50 2009 +0200 @@ -45,8 +45,8 @@ "../conf/tmediaprovidertest.cfg" - "!:\testframework\tmediaprovidertest.cfg" ; Main DLL -;"..\..\..\..\..\..\..\epoc32\release\armv5\urel\mediamanagementservice.dll"-"C:\sys\bin\mediamanagementservice.dll" -"..\..\..\..\..\..\..\epoc32\release\armv5\urel\tmediaprovidertest.dll"-"C:\sys\bin\tmediaprovidertest.dll" +;"..\..\..\..\..\..\..\..\..\epoc32\release\armv5\urel\mediamanagementservice.dll"-"C:\sys\bin\mediamanagementservice.dll" +"..\..\..\..\..\..\..\..\..\epoc32\release\armv5\urel\tmediaprovidertest.dll"-"C:\sys\bin\tmediaprovidertest.dll" diff -r 50974a8b132e -r 5d0ec8b709be serviceproviders/sapi_mediamanagement/tsrc/testing/tmediaprovidertesting/group/tmediaprovidertesting.pkg --- a/serviceproviders/sapi_mediamanagement/tsrc/testing/tmediaprovidertesting/group/tmediaprovidertesting.pkg Tue Nov 24 08:56:33 2009 +0200 +++ b/serviceproviders/sapi_mediamanagement/tsrc/testing/tmediaprovidertesting/group/tmediaprovidertesting.pkg Thu Dec 17 09:09:50 2009 +0200 @@ -47,7 +47,7 @@ ; None ; Install files -"\epoc32\release\armv5\urel\tmediaprovidertesting.dll" - "!:\Sys\Bin\tmediaprovidertesting.dll" +"..\..\..\..\..\..\..\..\..\epoc32\release\armv5\urel\tmediaprovidertesting.dll" - "!:\Sys\Bin\tmediaprovidertesting.dll" ;cfg files "..\conf\tmediamgmttest_image.cfg" - "!:\TestFramework\tmediamgmttest_image.cfg" diff -r 50974a8b132e -r 5d0ec8b709be serviceproviders/sapi_messaging/data/102833AF.rss --- a/serviceproviders/sapi_messaging/data/102833AF.rss Tue Nov 24 08:56:33 2009 +0200 +++ b/serviceproviders/sapi_messaging/data/102833AF.rss Thu Dec 17 09:09:50 2009 +0200 @@ -38,7 +38,7 @@ version_no = 1; display_name = "Messaging Service Provider"; default_data = "Service.Messaging"; - opaque_data = "IMessaging" "::" "RUDWUDNWS1.1messagingprovidername.rsc"; + opaque_data = "IMessaging" "::" "RUDWUDNWS2.0messagingprovidername.rsc"; } }; } diff -r 50974a8b132e -r 5d0ec8b709be serviceproviders/sapi_messaging/group/messagingprovider.mmp --- a/serviceproviders/sapi_messaging/group/messagingprovider.mmp Tue Nov 24 08:56:33 2009 +0200 +++ b/serviceproviders/sapi_messaging/group/messagingprovider.mmp Thu Dec 17 09:09:50 2009 +0200 @@ -28,7 +28,7 @@ VENDORID 0x101FB657 #endif -VERSION 1.1 +VERSION 1.2 LANG SC diff -r 50974a8b132e -r 5d0ec8b709be serviceproviders/sapi_messaging/messagingservice/group/messagingservice.mmp --- a/serviceproviders/sapi_messaging/messagingservice/group/messagingservice.mmp Tue Nov 24 08:56:33 2009 +0200 +++ b/serviceproviders/sapi_messaging/messagingservice/group/messagingservice.mmp Thu Dec 17 09:09:50 2009 +0200 @@ -29,7 +29,7 @@ LANG SC -VERSION 1.1 +VERSION 1.2 diff -r 50974a8b132e -r 5d0ec8b709be serviceproviders/sapi_messaging/tsrc/dev/tmessagingprovidertest/manual/tmsg_notificationiter3/group/tmsg_notificationiter3.pkg --- a/serviceproviders/sapi_messaging/tsrc/dev/tmessagingprovidertest/manual/tmsg_notificationiter3/group/tmsg_notificationiter3.pkg Tue Nov 24 08:56:33 2009 +0200 +++ b/serviceproviders/sapi_messaging/tsrc/dev/tmessagingprovidertest/manual/tmsg_notificationiter3/group/tmsg_notificationiter3.pkg Thu Dec 17 09:09:50 2009 +0200 @@ -33,7 +33,7 @@ ;Messagingservice binaries ;"..\..\..\..\..\..\..\..\..\epoc32\release\armv5\urel\messagingservice.dll"-"C:\sys\bin\messagingservice.dll" -"..\..\..\..\..\..\..\..\..\epoc32\release\armv5\urel\tmsg_notificationiter3.dll"-"C:\sys\bin\tmsg_notificationiter3.dll" +"..\..\..\..\..\..\..\..\..\..\..\epoc32\release\armv5\urel\tmsg_notificationiter3.dll"-"C:\sys\bin\tmsg_notificationiter3.dll" ;ini file diff -r 50974a8b132e -r 5d0ec8b709be serviceproviders/sapi_messaging/tsrc/dev/tmessagingprovidertest/tmsg_changestatusiter3/group/tmsg_changestatusiter3.pkg --- a/serviceproviders/sapi_messaging/tsrc/dev/tmessagingprovidertest/tmsg_changestatusiter3/group/tmsg_changestatusiter3.pkg Tue Nov 24 08:56:33 2009 +0200 +++ b/serviceproviders/sapi_messaging/tsrc/dev/tmessagingprovidertest/tmsg_changestatusiter3/group/tmsg_changestatusiter3.pkg Thu Dec 17 09:09:50 2009 +0200 @@ -32,8 +32,8 @@ ;SAPI Binaries to Install ;Messagingservice binaries -;"..\..\..\..\..\..\..\..\..\epoc32\release\armv5\urel\messagingservice.dll"-"C:\sys\bin\messagingservice.dll" -"..\..\..\..\..\..\..\..\..\epoc32\release\armv5\urel\tmsg_changestatusiter3.dll"-"C:\sys\bin\tmsg_changestatusiter3.dll" +;"..\..\..\..\..\..\..\..\..\..\epoc32\release\armv5\urel\messagingservice.dll"-"C:\sys\bin\messagingservice.dll" +"..\..\..\..\..\..\..\..\..\..\epoc32\release\armv5\urel\tmsg_changestatusiter3.dll"-"C:\sys\bin\tmsg_changestatusiter3.dll" ;ini file diff -r 50974a8b132e -r 5d0ec8b709be serviceproviders/sapi_messaging/tsrc/dev/tmessagingprovidertest/tmsg_deletemessageiter3/group/tmsg_deletemessageiter3.pkg --- a/serviceproviders/sapi_messaging/tsrc/dev/tmessagingprovidertest/tmsg_deletemessageiter3/group/tmsg_deletemessageiter3.pkg Tue Nov 24 08:56:33 2009 +0200 +++ b/serviceproviders/sapi_messaging/tsrc/dev/tmessagingprovidertest/tmsg_deletemessageiter3/group/tmsg_deletemessageiter3.pkg Thu Dec 17 09:09:50 2009 +0200 @@ -32,8 +32,8 @@ ;SAPI Binaries to Install ;Messagingservice binaries -;"..\..\..\..\..\..\..\..\..\epoc32\release\armv5\urel\messagingservice.dll"-"C:\sys\bin\messagingservice.dll" -"..\..\..\..\..\..\..\..\..\epoc32\release\armv5\urel\tmsg_deletemessageiter3.dll"-"C:\sys\bin\tmsg_deletemessageiter3.dll" +;"..\..\..\..\..\..\..\..\..\..\epoc32\release\armv5\urel\messagingservice.dll"-"C:\sys\bin\messagingservice.dll" +"..\..\..\..\..\..\..\..\..\..\epoc32\release\armv5\urel\tmsg_deletemessageiter3.dll"-"C:\sys\bin\tmsg_deletemessageiter3.dll" ;ini file diff -r 50974a8b132e -r 5d0ec8b709be serviceproviders/sapi_messaging/tsrc/dev/tmessagingprovidertest/tmsg_getheaderlistiter3/group/tmsg_getheaderlistiter3.pkg --- a/serviceproviders/sapi_messaging/tsrc/dev/tmessagingprovidertest/tmsg_getheaderlistiter3/group/tmsg_getheaderlistiter3.pkg Tue Nov 24 08:56:33 2009 +0200 +++ b/serviceproviders/sapi_messaging/tsrc/dev/tmessagingprovidertest/tmsg_getheaderlistiter3/group/tmsg_getheaderlistiter3.pkg Thu Dec 17 09:09:50 2009 +0200 @@ -32,8 +32,8 @@ ;SAPI Binaries to Install ;Messagingservice binaries -;"..\..\..\..\..\..\..\..\..\epoc32\release\armv5\urel\messagingservice.dll"-"C:\sys\bin\messagingservice.dll" -"..\..\..\..\..\..\..\..\..\epoc32\release\armv5\urel\tmsg_getheaderlistiter3.dll"-"C:\sys\bin\tmsg_getheaderlistiter3.dll" +;"..\..\..\..\..\..\..\..\..\..\epoc32\release\armv5\urel\messagingservice.dll"-"C:\sys\bin\messagingservice.dll" +"..\..\..\..\..\..\..\..\..\..\epoc32\release\armv5\urel\tmsg_getheaderlistiter3.dll"-"C:\sys\bin\tmsg_getheaderlistiter3.dll" ;ini file diff -r 50974a8b132e -r 5d0ec8b709be serviceproviders/sapi_messaging/tsrc/dev/tmessagingprovidertest/tmsg_misccases/group/tmsg_misccases.pkg --- a/serviceproviders/sapi_messaging/tsrc/dev/tmessagingprovidertest/tmsg_misccases/group/tmsg_misccases.pkg Tue Nov 24 08:56:33 2009 +0200 +++ b/serviceproviders/sapi_messaging/tsrc/dev/tmessagingprovidertest/tmsg_misccases/group/tmsg_misccases.pkg Thu Dec 17 09:09:50 2009 +0200 @@ -32,8 +32,8 @@ ;SAPI Binaries to Install ;Messagingservice binaries -;"..\..\..\..\..\..\..\..\..\epoc32\release\armv5\urel\messagingservice.dll"-"C:\sys\bin\messagingservice.dll" -"..\..\..\..\..\..\..\..\..\epoc32\release\armv5\urel\tmsg_misccases.dll"-"C:\sys\bin\tmsg_misccases.dll" +;"..\..\..\..\..\..\..\..\..\..\epoc32\release\armv5\urel\messagingservice.dll"-"C:\sys\bin\messagingservice.dll" +"..\..\..\..\..\..\..\..\..\..\epoc32\release\armv5\urel\tmsg_misccases.dll"-"C:\sys\bin\tmsg_misccases.dll" ;ini file diff -r 50974a8b132e -r 5d0ec8b709be serviceproviders/sapi_messaging/tsrc/dev/tmessagingprovidertest/tmsg_negitivecases/group/tmsg_negitivecases.pkg --- a/serviceproviders/sapi_messaging/tsrc/dev/tmessagingprovidertest/tmsg_negitivecases/group/tmsg_negitivecases.pkg Tue Nov 24 08:56:33 2009 +0200 +++ b/serviceproviders/sapi_messaging/tsrc/dev/tmessagingprovidertest/tmsg_negitivecases/group/tmsg_negitivecases.pkg Thu Dec 17 09:09:50 2009 +0200 @@ -32,8 +32,8 @@ ;SAPI Binaries to Install ;Messagingservice binaries -;"..\..\..\..\..\..\..\..\..\epoc32\release\armv5\urel\messagingservice.dll"-"C:\sys\bin\messagingservice.dll" -"..\..\..\..\..\..\..\..\..\epoc32\release\armv5\urel\tmsg_negitivecases.dll"-"C:\sys\bin\tmsg_negitivecases.dll" +;"..\..\..\..\..\..\..\..\..\..\epoc32\release\armv5\urel\messagingservice.dll"-"C:\sys\bin\messagingservice.dll" +"..\..\..\..\..\..\..\..\..\..\epoc32\release\armv5\urel\tmsg_negitivecases.dll"-"C:\sys\bin\tmsg_negitivecases.dll" ;ini file diff -r 50974a8b132e -r 5d0ec8b709be serviceproviders/sapi_messaging/tsrc/dev/tmessagingprovidertest/tmsg_sendmessageiter3/group/tmsg_sendmessageiter3.pkg --- a/serviceproviders/sapi_messaging/tsrc/dev/tmessagingprovidertest/tmsg_sendmessageiter3/group/tmsg_sendmessageiter3.pkg Tue Nov 24 08:56:33 2009 +0200 +++ b/serviceproviders/sapi_messaging/tsrc/dev/tmessagingprovidertest/tmsg_sendmessageiter3/group/tmsg_sendmessageiter3.pkg Thu Dec 17 09:09:50 2009 +0200 @@ -32,8 +32,8 @@ ;SAPI Binaries to Install ;Messagingservice binaries -;"..\..\..\..\..\..\..\..\..\epoc32\release\armv5\urel\messagingservice.dll"-"C:\sys\bin\messagingservice.dll" -"..\..\..\..\..\..\..\..\..\epoc32\release\armv5\urel\tmsg_sendmessageiter3.dll"-"C:\sys\bin\tmsg_sendmessageiter3.dll" +;"..\..\..\..\..\..\..\..\..\..\epoc32\release\armv5\urel\messagingservice.dll"-"C:\sys\bin\messagingservice.dll" +"..\..\..\..\..\..\..\..\..\..\epoc32\release\armv5\urel\tmsg_sendmessageiter3.dll"-"C:\sys\bin\tmsg_sendmessageiter3.dll" ;ini file diff -r 50974a8b132e -r 5d0ec8b709be serviceproviders/sapi_messaging/tsrc/dev/tmessagingprovidertest/tmsgget_async/group/tmsgget_async.pkg --- a/serviceproviders/sapi_messaging/tsrc/dev/tmessagingprovidertest/tmsgget_async/group/tmsgget_async.pkg Tue Nov 24 08:56:33 2009 +0200 +++ b/serviceproviders/sapi_messaging/tsrc/dev/tmessagingprovidertest/tmsgget_async/group/tmsgget_async.pkg Thu Dec 17 09:09:50 2009 +0200 @@ -32,8 +32,8 @@ ;SAPI Binaries to Install ;Messagingservice binaries -;"..\..\..\..\..\..\..\..\..\epoc32\release\armv5\urel\messagingservice.dll"-"C:\sys\bin\messagingservice.dll" -"..\..\..\..\..\..\..\..\..\epoc32\release\armv5\urel\tmsgget_async.dll"-"C:\sys\bin\tmsgget_async.dll" +;"..\..\..\..\..\..\..\..\..\..\epoc32\release\armv5\urel\messagingservice.dll"-"C:\sys\bin\messagingservice.dll" +"..\..\..\..\..\..\..\..\..\..\epoc32\release\armv5\urel\tmsgget_async.dll"-"C:\sys\bin\tmsgget_async.dll" ;ini file diff -r 50974a8b132e -r 5d0ec8b709be serviceproviders/sapi_messaging/tsrc/dev/tmessagingtest/manual/tmsg_notificationiter1/group/tmsg_notificationiter1.pkg --- a/serviceproviders/sapi_messaging/tsrc/dev/tmessagingtest/manual/tmsg_notificationiter1/group/tmsg_notificationiter1.pkg Tue Nov 24 08:56:33 2009 +0200 +++ b/serviceproviders/sapi_messaging/tsrc/dev/tmessagingtest/manual/tmsg_notificationiter1/group/tmsg_notificationiter1.pkg Thu Dec 17 09:09:50 2009 +0200 @@ -32,8 +32,8 @@ ;SAPI Binaries to Install ;Messagingservice binaries -;"..\..\..\..\..\..\..\..\..\epoc32\release\armv5\urel\messagingservice.dll"-"C:\sys\bin\messagingservice.dll" -"..\..\..\..\..\..\..\..\..\epoc32\release\armv5\urel\tmsg_notificationiter1.dll"-"C:\sys\bin\tmsg_notificationiter1.dll" +;"..\..\..\..\..\..\..\..\..\..\..\epoc32\release\armv5\urel\messagingservice.dll"-"C:\sys\bin\messagingservice.dll" +"..\..\..\..\..\..\..\..\..\..\..\epoc32\release\armv5\urel\tmsg_notificationiter1.dll"-"C:\sys\bin\tmsg_notificationiter1.dll" ;ini file diff -r 50974a8b132e -r 5d0ec8b709be serviceproviders/sapi_messaging/tsrc/dev/tmessagingtest/tmsg_changestatusiter1/group/tmsg_changestatusiter1.pkg --- a/serviceproviders/sapi_messaging/tsrc/dev/tmessagingtest/tmsg_changestatusiter1/group/tmsg_changestatusiter1.pkg Tue Nov 24 08:56:33 2009 +0200 +++ b/serviceproviders/sapi_messaging/tsrc/dev/tmessagingtest/tmsg_changestatusiter1/group/tmsg_changestatusiter1.pkg Thu Dec 17 09:09:50 2009 +0200 @@ -32,8 +32,8 @@ ;SAPI Binaries to Install ;Messagingservice binaries -;"..\..\..\..\..\..\..\..\..\epoc32\release\armv5\urel\messagingservice.dll"-"C:\sys\bin\messagingservice.dll" -"..\..\..\..\..\..\..\..\..\epoc32\release\armv5\urel\tmsg_changestatusiter1.dll"-"C:\sys\bin\tmsg_changestatusiter1.dll" +;"..\..\..\..\..\..\..\..\..\..\epoc32\release\armv5\urel\messagingservice.dll"-"C:\sys\bin\messagingservice.dll" +"..\..\..\..\..\..\..\..\..\..\epoc32\release\armv5\urel\tmsg_changestatusiter1.dll"-"C:\sys\bin\tmsg_changestatusiter1.dll" ;ini file diff -r 50974a8b132e -r 5d0ec8b709be serviceproviders/sapi_messaging/tsrc/dev/tmessagingtest/tmsg_deletemessageiter1/group/tmsg_deletemessageiter1.pkg --- a/serviceproviders/sapi_messaging/tsrc/dev/tmessagingtest/tmsg_deletemessageiter1/group/tmsg_deletemessageiter1.pkg Tue Nov 24 08:56:33 2009 +0200 +++ b/serviceproviders/sapi_messaging/tsrc/dev/tmessagingtest/tmsg_deletemessageiter1/group/tmsg_deletemessageiter1.pkg Thu Dec 17 09:09:50 2009 +0200 @@ -32,8 +32,8 @@ ;SAPI Binaries to Install ;Messagingservice binaries -;"..\..\..\..\..\..\..\..\..\epoc32\release\armv5\urel\messagingservice.dll"-"C:\sys\bin\messagingservice.dll" -"..\..\..\..\..\..\..\..\..\epoc32\release\armv5\urel\tmsg_deletemessageiter1.dll"-"C:\sys\bin\tmsg_deletemessageiter1.dll" +;"..\..\..\..\..\..\..\..\..\..\epoc32\release\armv5\urel\messagingservice.dll"-"C:\sys\bin\messagingservice.dll" +"..\..\..\..\..\..\..\..\..\..\epoc32\release\armv5\urel\tmsg_deletemessageiter1.dll"-"C:\sys\bin\tmsg_deletemessageiter1.dll" ;ini file diff -r 50974a8b132e -r 5d0ec8b709be serviceproviders/sapi_messaging/tsrc/dev/tmessagingtest/tmsg_getheaderlistiter1/group/tmsg_getheaderlistiter1.pkg --- a/serviceproviders/sapi_messaging/tsrc/dev/tmessagingtest/tmsg_getheaderlistiter1/group/tmsg_getheaderlistiter1.pkg Tue Nov 24 08:56:33 2009 +0200 +++ b/serviceproviders/sapi_messaging/tsrc/dev/tmessagingtest/tmsg_getheaderlistiter1/group/tmsg_getheaderlistiter1.pkg Thu Dec 17 09:09:50 2009 +0200 @@ -32,8 +32,8 @@ ;SAPI Binaries to Install ;Messagingservice binaries -;"..\..\..\..\..\..\..\..\..\epoc32\release\armv5\urel\messagingservice.dll"-"C:\sys\bin\messagingservice.dll" -"..\..\..\..\..\..\..\..\..\epoc32\release\armv5\urel\tmsg_getheaderlistiter1.dll"-"C:\sys\bin\tmsg_getheaderlistiter1.dll" +;"..\..\..\..\..\..\..\..\..\..\epoc32\release\armv5\urel\messagingservice.dll"-"C:\sys\bin\messagingservice.dll" +"..\..\..\..\..\..\..\..\..\..\epoc32\release\armv5\urel\tmsg_getheaderlistiter1.dll"-"C:\sys\bin\tmsg_getheaderlistiter1.dll" ;ini file diff -r 50974a8b132e -r 5d0ec8b709be serviceproviders/sapi_messaging/tsrc/dev/tmessagingtest/tmsg_sendmessageiter1/group/tmsg_sendmessageiter1.pkg --- a/serviceproviders/sapi_messaging/tsrc/dev/tmessagingtest/tmsg_sendmessageiter1/group/tmsg_sendmessageiter1.pkg Tue Nov 24 08:56:33 2009 +0200 +++ b/serviceproviders/sapi_messaging/tsrc/dev/tmessagingtest/tmsg_sendmessageiter1/group/tmsg_sendmessageiter1.pkg Thu Dec 17 09:09:50 2009 +0200 @@ -32,8 +32,8 @@ ;SAPI Binaries to Install ;Messagingservice binaries -;"..\..\..\..\..\..\..\..\..\epoc32\release\armv5\urel\messagingservice.dll"-"C:\sys\bin\messagingservice.dll" -"..\..\..\..\..\..\..\..\..\epoc32\release\armv5\urel\tmsg_sendmessageiter1.dll"-"C:\sys\bin\tmsg_sendmessageiter1.dll" +;"..\..\..\..\..\..\..\..\..\..\epoc32\release\armv5\urel\messagingservice.dll"-"C:\sys\bin\messagingservice.dll" +"..\..\..\..\..\..\..\..\..\..\epoc32\release\armv5\urel\tmsg_sendmessageiter1.dll"-"C:\sys\bin\tmsg_sendmessageiter1.dll" ;ini file diff -r 50974a8b132e -r 5d0ec8b709be serviceproviders/sapi_messaging/tsrc/testing/tmessagingtest/async_send_message/group/async_send_message.pkg --- a/serviceproviders/sapi_messaging/tsrc/testing/tmessagingtest/async_send_message/group/async_send_message.pkg Tue Nov 24 08:56:33 2009 +0200 +++ b/serviceproviders/sapi_messaging/tsrc/testing/tmessagingtest/async_send_message/group/async_send_message.pkg Thu Dec 17 09:09:50 2009 +0200 @@ -32,8 +32,8 @@ ;SAPI Binaries to Install ;Messagingservice binaries -;"..\..\..\..\..\..\..\..\..\epoc32\release\armv5\urel\messagingservice.dll"-"C:\sys\bin\messagingservice.dll" -"..\..\..\..\..\..\..\..\..\epoc32\release\armv5\urel\async_send_message.dll"-"C:\sys\bin\async_send_message.dll" +;"..\..\..\..\..\..\..\..\..\..\epoc32\release\armv5\urel\messagingservice.dll"-"C:\sys\bin\messagingservice.dll" +"..\..\..\..\..\..\..\..\..\..\epoc32\release\armv5\urel\async_send_message.dll"-"C:\sys\bin\async_send_message.dll" ;ini file diff -r 50974a8b132e -r 5d0ec8b709be serviceproviders/sapi_messaging/tsrc/testing/tmessagingtest/change_status_message/group/change_status_message.pkg --- a/serviceproviders/sapi_messaging/tsrc/testing/tmessagingtest/change_status_message/group/change_status_message.pkg Tue Nov 24 08:56:33 2009 +0200 +++ b/serviceproviders/sapi_messaging/tsrc/testing/tmessagingtest/change_status_message/group/change_status_message.pkg Thu Dec 17 09:09:50 2009 +0200 @@ -32,8 +32,8 @@ ;SAPI Binaries to Install ;Messagingservice binaries -;"..\..\..\..\..\..\..\..\..\epoc32\release\armv5\urel\messagingservice.dll"-"C:\sys\bin\messagingservice.dll" -"..\..\..\..\..\..\..\..\..\epoc32\release\armv5\urel\change_status_message.dll"-"C:\sys\bin\change_status_message.dll" +;"..\..\..\..\..\..\..\..\..\..\epoc32\release\armv5\urel\messagingservice.dll"-"C:\sys\bin\messagingservice.dll" +"..\..\..\..\..\..\..\..\..\..\epoc32\release\armv5\urel\change_status_message.dll"-"C:\sys\bin\change_status_message.dll" ;ini file diff -r 50974a8b132e -r 5d0ec8b709be serviceproviders/sapi_messaging/tsrc/testing/tmessagingtest/change_status_message/src/change_status_messageblocks.cpp --- a/serviceproviders/sapi_messaging/tsrc/testing/tmessagingtest/change_status_message/src/change_status_messageblocks.cpp Tue Nov 24 08:56:33 2009 +0200 +++ b/serviceproviders/sapi_messaging/tsrc/testing/tmessagingtest/change_status_message/src/change_status_messageblocks.cpp Thu Dec 17 09:09:50 2009 +0200 @@ -231,7 +231,7 @@ TBool fl; headers->GetUnreadFlag(fl); - TInt fla = fl; + TBool fla = fl; delete headers; delete array; @@ -240,7 +240,7 @@ if((status == 0) && (flag == 1)) { - if(fla == 32) + if(fla) { __UHEAP_MARKEND; return KErrNone; @@ -253,7 +253,7 @@ } else if((status == 0) && (flag == 0)) { - if(fla == 0) + if(!fla) { __UHEAP_MARKEND; return KErrNone; diff -r 50974a8b132e -r 5d0ec8b709be serviceproviders/sapi_messaging/tsrc/testing/tmessagingtest/delete_message/group/delete_message.pkg --- a/serviceproviders/sapi_messaging/tsrc/testing/tmessagingtest/delete_message/group/delete_message.pkg Tue Nov 24 08:56:33 2009 +0200 +++ b/serviceproviders/sapi_messaging/tsrc/testing/tmessagingtest/delete_message/group/delete_message.pkg Thu Dec 17 09:09:50 2009 +0200 @@ -32,8 +32,8 @@ ;SAPI Binaries to Install ;Messagingservice binaries -;"..\..\..\..\..\..\..\..\..\epoc32\release\armv5\urel\messagingservice.dll"-"C:\sys\bin\messagingservice.dll" -"..\..\..\..\..\..\..\..\..\epoc32\release\armv5\urel\delete_message.dll"-"C:\sys\bin\delete_message.dll" +;"..\..\..\..\..\..\..\..\..\..\epoc32\release\armv5\urel\messagingservice.dll"-"C:\sys\bin\messagingservice.dll" +"..\..\..\..\..\..\..\..\..\..\epoc32\release\armv5\urel\delete_message.dll"-"C:\sys\bin\delete_message.dll" ;ini file diff -r 50974a8b132e -r 5d0ec8b709be serviceproviders/sapi_messaging/tsrc/testing/tmessagingtest/get_header_message/group/get_header_message.pkg --- a/serviceproviders/sapi_messaging/tsrc/testing/tmessagingtest/get_header_message/group/get_header_message.pkg Tue Nov 24 08:56:33 2009 +0200 +++ b/serviceproviders/sapi_messaging/tsrc/testing/tmessagingtest/get_header_message/group/get_header_message.pkg Thu Dec 17 09:09:50 2009 +0200 @@ -32,8 +32,8 @@ ;SAPI Binaries to Install ;Messagingservice binaries -;"..\..\..\..\..\..\..\..\..\epoc32\release\armv5\urel\messagingservice.dll"-"C:\sys\bin\messagingservice.dll" -"..\..\..\..\..\..\..\..\..\epoc32\release\armv5\urel\get_header_message.dll"-"C:\sys\bin\get_header_message.dll" +;"..\..\..\..\..\..\..\..\..\..\epoc32\release\armv5\urel\messagingservice.dll"-"C:\sys\bin\messagingservice.dll" +"..\..\..\..\..\..\..\..\..\..\epoc32\release\armv5\urel\get_header_message.dll"-"C:\sys\bin\get_header_message.dll" ;ini file diff -r 50974a8b132e -r 5d0ec8b709be serviceproviders/sapi_messaging/tsrc/testing/tmessagingtest/get_message_async/group/get_message_async.pkg --- a/serviceproviders/sapi_messaging/tsrc/testing/tmessagingtest/get_message_async/group/get_message_async.pkg Tue Nov 24 08:56:33 2009 +0200 +++ b/serviceproviders/sapi_messaging/tsrc/testing/tmessagingtest/get_message_async/group/get_message_async.pkg Thu Dec 17 09:09:50 2009 +0200 @@ -26,8 +26,8 @@ ;SAPI Binaries to Install ;Messagingservice binaries -;"..\..\..\..\..\..\..\..\..\epoc32\release\armv5\urel\messagingservice.dll"-"C:\sys\bin\messagingservice.dll" -"..\..\..\..\..\..\..\..\..\epoc32\release\armv5\urel\get_message_async.dll"-"C:\sys\bin\get_message_async.dll" +;"..\..\..\..\..\..\..\..\..\..\epoc32\release\armv5\urel\messagingservice.dll"-"C:\sys\bin\messagingservice.dll" +"..\..\..\..\..\..\..\..\..\..\epoc32\release\armv5\urel\get_message_async.dll"-"C:\sys\bin\get_message_async.dll" ;ini file diff -r 50974a8b132e -r 5d0ec8b709be serviceproviders/sapi_messaging/tsrc/testing/tmessagingtest/register_message/group/register_message.pkg --- a/serviceproviders/sapi_messaging/tsrc/testing/tmessagingtest/register_message/group/register_message.pkg Tue Nov 24 08:56:33 2009 +0200 +++ b/serviceproviders/sapi_messaging/tsrc/testing/tmessagingtest/register_message/group/register_message.pkg Thu Dec 17 09:09:50 2009 +0200 @@ -43,14 +43,14 @@ :"Nokia Corporation" ;INI FILE - "../init/testframework.ini" - "c:\testframework\testframework.ini" + "..\init\testframework.ini" - "c:\testframework\testframework.ini" ;CFG FILES - "../conf/register_message.cfg" - "c:\testframework\register_message.cfg" + "..\conf\register_message.cfg" - "c:\testframework\register_message.cfg" -;"..\..\..\..\..\..\..\..\..\epoc32\release\armv5\urel\messagingservice.dll"-"C:\sys\bin\messagingservice.dll" +;"..\..\..\..\..\..\..\..\..\..\epoc32\release\armv5\urel\messagingservice.dll"-"C:\sys\bin\messagingservice.dll" ;TEST DLL - "..\..\..\..\..\..\..\..\..\epoc32\release\ARMV5\urel\register_message.dll" - "!:\Sys\Bin\register_message.dll" + "..\..\..\..\..\..\..\..\..\..\epoc32\release\ARMV5\urel\register_message.dll" - "!:\Sys\Bin\register_message.dll" diff -r 50974a8b132e -r 5d0ec8b709be serviceproviders/sapi_messaging/tsrc/testing/tmessagingtest/send_message/group/send_message.pkg --- a/serviceproviders/sapi_messaging/tsrc/testing/tmessagingtest/send_message/group/send_message.pkg Tue Nov 24 08:56:33 2009 +0200 +++ b/serviceproviders/sapi_messaging/tsrc/testing/tmessagingtest/send_message/group/send_message.pkg Thu Dec 17 09:09:50 2009 +0200 @@ -32,8 +32,8 @@ ;SAPI Binaries to Install ;Messagingservice binaries -;"..\..\..\..\..\..\..\..\..\epoc32\release\armv5\urel\messagingservice.dll"-"C:\sys\bin\messagingservice.dll" -"..\..\..\..\..\..\..\..\..\epoc32\release\armv5\urel\send_message.dll"-"C:\sys\bin\send_message.dll" +;"..\..\..\..\..\..\..\..\..\..\epoc32\release\armv5\urel\messagingservice.dll"-"C:\sys\bin\messagingservice.dll" +"..\..\..\..\..\..\..\..\..\..\epoc32\release\armv5\urel\send_message.dll"-"C:\sys\bin\send_message.dll" ;ini file diff -r 50974a8b132e -r 5d0ec8b709be serviceproviders/sapi_sensor/data/2000CFB6.rss --- a/serviceproviders/sapi_sensor/data/2000CFB6.rss Tue Nov 24 08:56:33 2009 +0200 +++ b/serviceproviders/sapi_sensor/data/2000CFB6.rss Thu Dec 17 09:09:50 2009 +0200 @@ -38,7 +38,7 @@ version_no = 1; display_name = "Sensor Provider"; default_data = "Service.Sensor"; - opaque_data = "ISensor" "::" "RUD1.1sensorprovidername.rsc"; + opaque_data = "ISensor" "::" "RUD2.0sensorprovidername.rsc"; } }; } diff -r 50974a8b132e -r 5d0ec8b709be serviceproviders/sapi_sensor/group/sensorprovider.mmp --- a/serviceproviders/sapi_sensor/group/sensorprovider.mmp Tue Nov 24 08:56:33 2009 +0200 +++ b/serviceproviders/sapi_sensor/group/sensorprovider.mmp Thu Dec 17 09:09:50 2009 +0200 @@ -27,7 +27,7 @@ DEFFILE sensorprovider.def -VERSION 1.1 +VERSION 1.2 USERINCLUDE ../inc USERINCLUDE ../../inc diff -r 50974a8b132e -r 5d0ec8b709be serviceproviders/sapi_sensor/inc/sensorinterface.hrh --- a/serviceproviders/sapi_sensor/inc/sensorinterface.hrh Tue Nov 24 08:56:33 2009 +0200 +++ b/serviceproviders/sapi_sensor/inc/sensorinterface.hrh Thu Dec 17 09:09:50 2009 +0200 @@ -122,6 +122,9 @@ // API:GetChannelProperty : // Command : _LIT8(KCmdGetChnlProperty,"GetChannelProperty" ); + +//API: GetScaleFactor +_LIT8(KCmdGetScaleFactor,"GetScaleFactor" ); // Output params: // Keys for channel property map _LIT8( KPropertyDataType, "PropertyDataType" ); @@ -178,6 +181,8 @@ _LIT( KErrStopNotifInvalidTransId, "Transaction id is incorrect" ); _LIT( KErrStopNotifCancelBit, "Insufficent argument for cancel request" ); _LIT( KErrInvalidChnlMap, "Channel info map values are inconsistent and not found" ); +_LIT( KErrInvalidMeasureRange, "Measure range is invalid value" ); +_LIT( KErrInvalidPowValue, "Power function resulted in failure" ); _LIT( KErrMissingChnlMap, "Channel info map is missing" ); _LIT( KErrMissingPropMap, "Channel property map is missing" ); _LIT( KErrPropMissingArgs, "Missing input params" ); diff -r 50974a8b132e -r 5d0ec8b709be serviceproviders/sapi_sensor/sensorservice/bwins/sensorserviceu.def --- a/serviceproviders/sapi_sensor/sensorservice/bwins/sensorserviceu.def Tue Nov 24 08:56:33 2009 +0200 +++ b/serviceproviders/sapi_sensor/sensorservice/bwins/sensorserviceu.def Thu Dec 17 09:09:50 2009 +0200 @@ -4,4 +4,5 @@ ?GetDataNotificationL@CSensorService@@QAEXABVTSensrvChannelInfo@@PAVMSensrvDataListener@@@Z @ 3 NONAME ; void CSensorService::GetDataNotificationL(class TSensrvChannelInfo const &, class MSensrvDataListener *) ?NewL@CSensorService@@SAPAV1@XZ @ 4 NONAME ; class CSensorService * CSensorService::NewL(void) ?StopNotificationL@CSensorService@@QAEXHK@Z @ 5 NONAME ; void CSensorService::StopNotificationL(int, unsigned long) + ?GetScaleFactorL@CSensorService@@QAEXABVTSensrvChannelInfo@@AAVTSensrvProperty@@1@Z @ 6 NONAME ; void CSensorService::GetScaleFactorL(class TSensrvChannelInfo const &, class TSensrvProperty &, class TSensrvProperty &) diff -r 50974a8b132e -r 5d0ec8b709be serviceproviders/sapi_sensor/sensorservice/eabi/sensorserviceu.def --- a/serviceproviders/sapi_sensor/sensorservice/eabi/sensorserviceu.def Tue Nov 24 08:56:33 2009 +0200 +++ b/serviceproviders/sapi_sensor/sensorservice/eabi/sensorserviceu.def Thu Dec 17 09:09:50 2009 +0200 @@ -6,4 +6,5 @@ _ZN14CSensorService4NewLEv @ 5 NONAME _ZTI14CSensorService @ 6 NONAME ; ## _ZTV14CSensorService @ 7 NONAME ; ## + _ZN14CSensorService15GetScaleFactorLERK18TSensrvChannelInfoR15TSensrvPropertyS4_ @ 8 NONAME diff -r 50974a8b132e -r 5d0ec8b709be serviceproviders/sapi_sensor/sensorservice/group/sensorservice.mmp --- a/serviceproviders/sapi_sensor/sensorservice/group/sensorservice.mmp Tue Nov 24 08:56:33 2009 +0200 +++ b/serviceproviders/sapi_sensor/sensorservice/group/sensorservice.mmp Thu Dec 17 09:09:50 2009 +0200 @@ -27,7 +27,7 @@ DEFFILE sensorservice.def -VERSION 1.1 +VERSION 1.2 SOURCEPATH ../src SOURCE sensorservice.cpp diff -r 50974a8b132e -r 5d0ec8b709be serviceproviders/sapi_sensor/sensorservice/inc/sensorservice.h --- a/serviceproviders/sapi_sensor/sensorservice/inc/sensorservice.h Tue Nov 24 08:56:33 2009 +0200 +++ b/serviceproviders/sapi_sensor/sensorservice/inc/sensorservice.h Thu Dec 17 09:09:50 2009 +0200 @@ -122,6 +122,18 @@ */ IMPORT_C void GetChannelPropertyL(const TSensrvChannelInfo& aChannelInfo, RSensrvPropertyList& aChannelPropertyList); + /** + * Get Scale Factor + * @since S60 v5.0 + * @param aChannelInfo refers to channel whose property will be obtained + * @param aMeasureRange will be populated with obtained channel properties + * @param aScaleRange will be populated with obtained channel properties + * @leave KErrNotFound - No open channel with that id for this client found, + * or property does not exist. + */ + IMPORT_C void GetScaleFactorL(const TSensrvChannelInfo& aChannelInfo, + TSensrvProperty& aMeasureRange, + TSensrvProperty& aScaleRange); private: /** diff -r 50974a8b132e -r 5d0ec8b709be serviceproviders/sapi_sensor/sensorservice/src/sensorservice.cpp --- a/serviceproviders/sapi_sensor/sensorservice/src/sensorservice.cpp Tue Nov 24 08:56:33 2009 +0200 +++ b/serviceproviders/sapi_sensor/sensorservice/src/sensorservice.cpp Thu Dec 17 09:09:50 2009 +0200 @@ -240,4 +240,37 @@ } } - +/* +----------------------------------------------------------------------------- + CSensorService::GetScaleFactorL() + Description : Get property of specified channel + Return values : NA +----------------------------------------------------------------------------- +*/ + +EXPORT_C void CSensorService::GetScaleFactorL(const TSensrvChannelInfo& aChannelInfo, + TSensrvProperty& aMeasureRange,TSensrvProperty& aScaleRange) + { + TInt index; + //Channel Id of the specified channel in the inpiut parameter + TUint32 channelId = aChannelInfo.iChannelId; + //Find if specified channel is already opened + if ( ( IsChannelOpen( channelId,index ) ) ) + { + iChannelList[index]->GetPropertyL( KSensrvPropIdMeasureRange,-1, aMeasureRange ); + iChannelList[index]->GetPropertyL( KSensrvPropIdScaledRange,-1, aScaleRange ); + } + //else open new channel and get property change listener for it + else + { + CSensrvChannel* sensorChannel = CSensrvChannel::NewL( aChannelInfo ); + CleanupStack::PushL( sensorChannel ); + //open requested channel + sensorChannel->OpenChannelL(); + sensorChannel->GetPropertyL( KSensrvPropIdMeasureRange,-1, aMeasureRange ); + sensorChannel->GetPropertyL( KSensrvPropIdScaledRange,-1, aScaleRange ); + sensorChannel->CloseChannel(); + CleanupStack::PopAndDestroy( sensorChannel ); + } + + } diff -r 50974a8b132e -r 5d0ec8b709be serviceproviders/sapi_sensor/src/sensorinterface.cpp --- a/serviceproviders/sapi_sensor/src/sensorinterface.cpp Tue Nov 24 08:56:33 2009 +0200 +++ b/serviceproviders/sapi_sensor/src/sensorinterface.cpp Thu Dec 17 09:09:50 2009 +0200 @@ -21,7 +21,7 @@ #include #include #include - +#include // User Includes #include "sensorservice.h" #include "sensorinterface.h" @@ -482,6 +482,82 @@ outMap->DecRef(); }//end of GetChannelProperty + else if( ( aCmdName.CompareF( KCmdGetScaleFactor ) == 0 ) ) + { + if( aCallback ) + { + iErrorString = KErrSensorInvalidReq.operator()().Alloc(); + User::Leave( SErrInvalidServiceArgument ); + } + const TLiwGenericParam* channelInfoParam = NULL; + channelInfoParam = aInParamList.FindFirst( position, KChnlInfoMap ); + if ( !channelInfoParam ) + { + //Position based parsing + if( aInParamList.Count() != 0 ) + { + channelInfoParam = &aInParamList[EParamIndex0]; + } + else + { + iErrorString = KErrMissingChnlMap.operator()().Alloc(); + User::Leave( SErrMissingArgument ); + } + } + CheckInputTypeL( &channelInfoParam->Value(), + LIW::EVariantTypeMap, + KChnlInfoMap.operator&() ); + + TSensrvChannelInfo channelInfo; + const CLiwMap* chnlInfoMap = ( channelInfoParam->Value() ).AsMap(); + //Retreive Channel Info + GetChannelInfoL( channelInfo , chnlInfoMap ); + + TSensrvProperty measureProperty; + TSensrvProperty scaleProperty; + TRAPD(anErr,iSensorService->GetScaleFactorL( channelInfo , + measureProperty,scaleProperty )); + + if( anErr != KErrNone ) + { + iErrorString = KErrInvalidChnlMap.operator()().Alloc(); + User::Leave(KErrArgument); + } + TReal scaleFactor ; + TReal measureValue; + TInt scaleValue; + measureProperty.GetValue( measureValue );// 0 or 1 + scaleProperty.GetValue( scaleValue); // 8 or 12 + TReal outputValue; + TInt errPow; + errPow = Math::Pow(outputValue,2,scaleValue-1); + if( errPow == KErrNone ) + { + if( measureValue == 0 ) + { + scaleFactor = (2*9.8)/outputValue; + aOutParamList.AppendL( TLiwGenericParam( KReturnValue , + TLiwVariant( scaleFactor ) ) ); + } + else if(measureValue == 1) + { + scaleFactor = (8*9.8)/outputValue; + aOutParamList.AppendL( TLiwGenericParam( KReturnValue , + TLiwVariant( scaleFactor ) ) ); + } + else + { + iErrorString = KErrInvalidMeasureRange.operator()().Alloc(); + User::Leave(KErrArgument); + } + } + else + { + iErrorString = KErrInvalidPowValue.operator()().Alloc(); + User::Leave(KErrArgument); + } + + }//end of GetScaleFactor else { iErrorString = KErrSensorInvalidCmd.operator()().Alloc(); diff -r 50974a8b132e -r 5d0ec8b709be serviceproviders/sapi_sensor/tsrc/dev/sensrprovidertest/group/sensrprovidertest.pkg --- a/serviceproviders/sapi_sensor/tsrc/dev/sensrprovidertest/group/sensrprovidertest.pkg Tue Nov 24 08:56:33 2009 +0200 +++ b/serviceproviders/sapi_sensor/tsrc/dev/sensrprovidertest/group/sensrprovidertest.pkg Thu Dec 17 09:09:50 2009 +0200 @@ -32,8 +32,8 @@ ;SAPI Binaries to Install ;Sensorservice binaries -;"..\..\..\..\..\..\..\epoc32\release\armv5\urel\sensorservice.dll"-"C:\sys\bin\sensorservice.dll" -"..\..\..\..\..\..\..\epoc32\release\armv5\urel\sensrprovidertest.dll"-"C:\sys\bin\sensrprovidertest.dll" +;"..\..\..\..\..\..\..\..\..\epoc32\release\armv5\urel\sensorservice.dll"-"C:\sys\bin\sensorservice.dll" +"..\..\..\..\..\..\..\..\..\epoc32\release\armv5\urel\sensrprovidertest.dll"-"C:\sys\bin\sensrprovidertest.dll" ;ini file diff -r 50974a8b132e -r 5d0ec8b709be serviceproviders/sapi_sensor/tsrc/dev/sensrservicetest/group/sensrservicetest.pkg --- a/serviceproviders/sapi_sensor/tsrc/dev/sensrservicetest/group/sensrservicetest.pkg Tue Nov 24 08:56:33 2009 +0200 +++ b/serviceproviders/sapi_sensor/tsrc/dev/sensrservicetest/group/sensrservicetest.pkg Thu Dec 17 09:09:50 2009 +0200 @@ -32,8 +32,8 @@ ;SAPI Binaries to Install ;Sensorservice binaries -;"..\..\..\..\..\..\..\epoc32\release\armv5\urel\sensorservice.dll"-"C:\sys\bin\sensorservice.dll" -"..\..\..\..\..\..\..\epoc32\release\armv5\urel\sensrservicetest.dll"-"C:\sys\bin\sensrservicetest.dll" +;"..\..\..\..\..\..\..\..\..\epoc32\release\armv5\urel\sensorservice.dll"-"C:\sys\bin\sensorservice.dll" +"..\..\..\..\..\..\..\..\..\epoc32\release\armv5\urel\sensrservicetest.dll"-"C:\sys\bin\sensrservicetest.dll" ;ini file diff -r 50974a8b132e -r 5d0ec8b709be serviceproviders/sapi_sensor/tsrc/dev/tsnsrprovidertest/group/tsnsrprovidertest.pkg --- a/serviceproviders/sapi_sensor/tsrc/dev/tsnsrprovidertest/group/tsnsrprovidertest.pkg Tue Nov 24 08:56:33 2009 +0200 +++ b/serviceproviders/sapi_sensor/tsrc/dev/tsnsrprovidertest/group/tsnsrprovidertest.pkg Thu Dec 17 09:09:50 2009 +0200 @@ -32,8 +32,8 @@ ;SAPI Binaries to Install ;Sensorservice binaries -;"..\..\..\..\..\..\..\epoc32\release\armv5\urel\sensorservice.dll"-"C:\sys\bin\sensorservice.dll" -"..\..\..\..\..\..\..\epoc32\release\armv5\urel\tsnsrprovidertest.dll"-"C:\sys\bin\tsnsrprovidertest.dll" +;"..\..\..\..\..\..\..\..\..\epoc32\release\armv5\urel\sensorservice.dll"-"C:\sys\bin\sensorservice.dll" +"..\..\..\..\..\..\..\..\..\epoc32\release\armv5\urel\tsnsrprovidertest.dll"-"C:\sys\bin\tsnsrprovidertest.dll" ;ini file diff -r 50974a8b132e -r 5d0ec8b709be serviceproviders/sapi_sensor/tsrc/testing/tsensorservice_test/group/tsensorservice_test.pkg --- a/serviceproviders/sapi_sensor/tsrc/testing/tsensorservice_test/group/tsensorservice_test.pkg Tue Nov 24 08:56:33 2009 +0200 +++ b/serviceproviders/sapi_sensor/tsrc/testing/tsensorservice_test/group/tsensorservice_test.pkg Thu Dec 17 09:09:50 2009 +0200 @@ -32,8 +32,8 @@ ;SAPI Binaries to Install ;Sensorservice binaries -;"..\..\..\..\..\..\..\epoc32\release\armv5\urel\sensorservice.dll"-"C:\sys\bin\contactservice.dll" -"..\..\..\..\..\..\..\epoc32\release\armv5\urel\tsensorservice_test.dll"-"C:\sys\bin\tsensorservice_test.dll" +;"..\..\..\..\..\..\..\..\..\epoc32\release\armv5\urel\sensorservice.dll"-"C:\sys\bin\contactservice.dll" +"..\..\..\..\..\..\..\..\..\epoc32\release\armv5\urel\tsensorservice_test.dll"-"C:\sys\bin\tsensorservice_test.dll" ;ini file diff -r 50974a8b132e -r 5d0ec8b709be serviceproviders/sapi_serviceregistry/data/102833a9.rss --- a/serviceproviders/sapi_serviceregistry/data/102833a9.rss Tue Nov 24 08:56:33 2009 +0200 +++ b/serviceproviders/sapi_serviceregistry/data/102833a9.rss Thu Dec 17 09:09:50 2009 +0200 @@ -39,7 +39,7 @@ version_no = 1; display_name = "LIW ServiceRegistry Service"; default_data = "Service.ServiceRegistry"; - opaque_data = "IService" "::" "RDDWDD1.1serviceregistryprovidername.rsc"; + opaque_data = "IService" "::" "RDDWDD2.0serviceregistryprovidername.rsc"; } }; } diff -r 50974a8b132e -r 5d0ec8b709be serviceproviders/sapi_serviceregistry/group/serviceregistryprovider.mmp --- a/serviceproviders/sapi_serviceregistry/group/serviceregistryprovider.mmp Tue Nov 24 08:56:33 2009 +0200 +++ b/serviceproviders/sapi_serviceregistry/group/serviceregistryprovider.mmp Thu Dec 17 09:09:50 2009 +0200 @@ -30,7 +30,7 @@ CAPABILITY CAP_ECOM_PLUGIN VENDORID VID_DEFAULT -VERSION 10.1 +VERSION 10.2 SOURCEPATH ../src diff -r 50974a8b132e -r 5d0ec8b709be serviceproviders/sapi_serviceregistry/src/serviceinterface.cpp --- a/serviceproviders/sapi_serviceregistry/src/serviceinterface.cpp Tue Nov 24 08:56:33 2009 +0200 +++ b/serviceproviders/sapi_serviceregistry/src/serviceinterface.cpp Thu Dec 17 09:09:50 2009 +0200 @@ -159,8 +159,8 @@ } else { - // Synchronous request not supported for this method. - User::Leave(KErrNotSupported); + // Synchronous request + GetListL(aInParamList, aOutParamList, transactionID, aCallBack); } }//GetList else if(aCmdName.CompareF(KCmdCancel) == 0) @@ -465,7 +465,10 @@ minver.Reset(); maxver.Reset(); serviceName.Reset(); - interfaceName.Reset(); + interfaceName.Reset(); + + if(aCallBack) + { if(!IsActive()) { @@ -487,7 +490,18 @@ aOutParamList.AppendL(TLiwGenericParam(KErrorCode, TLiwVariant(TInt32(SErrNone)))); } + else + { + GetListProviderL(this); + aOutParamList.AppendL(TLiwGenericParam(KErrorCode, + TLiwVariant(TInt32(SErrNone)))); + aOutParamList.AppendL(TLiwGenericParam(KReturnValue, + TLiwVariant(iIterator))); + iIterator->DecRef(); + iIterator = NULL; + } + } void CServiceInterface :: DoCancel() { iThread.Kill(KErrNone); diff -r 50974a8b132e -r 5d0ec8b709be serviceproviders/sapi_sysinfo/data/sysinfoprovider.rls --- a/serviceproviders/sapi_sysinfo/data/sysinfoprovider.rls Tue Nov 24 08:56:33 2009 +0200 +++ b/serviceproviders/sapi_sysinfo/data/sysinfoprovider.rls Thu Dec 17 09:09:50 2009 +0200 @@ -29,5 +29,5 @@ rls_string STRING_sysinfoprovider_capability_meta_data_seperator_string "::" -rls_string STRING_sysinfoprovider_capability_meta_data_string " RUD LOC 1.1sysinfoprovidername.rsc " +rls_string STRING_sysinfoprovider_capability_meta_data_string " RUD LOC 2.0sysinfoprovidername.rsc " // End of File diff -r 50974a8b132e -r 5d0ec8b709be serviceproviders/sapi_sysinfo/group/sysinfoprovider.mmp --- a/serviceproviders/sapi_sysinfo/group/sysinfoprovider.mmp Tue Nov 24 08:56:33 2009 +0200 +++ b/serviceproviders/sapi_sysinfo/group/sysinfoprovider.mmp Thu Dec 17 09:09:50 2009 +0200 @@ -25,7 +25,7 @@ VENDORID VID_DEFAULT CAPABILITY CAP_ECOM_PLUGIN -VERSION 1.1 +VERSION 1.2 USERINCLUDE ../inc USERINCLUDE ../sysinfoservice/inc diff -r 50974a8b132e -r 5d0ec8b709be serviceproviders/sapi_sysinfo/sysinfoservice/group/sysinfoservice.mmp --- a/serviceproviders/sapi_sysinfo/sysinfoservice/group/sysinfoservice.mmp Tue Nov 24 08:56:33 2009 +0200 +++ b/serviceproviders/sapi_sysinfo/sysinfoservice/group/sysinfoservice.mmp Thu Dec 17 09:09:50 2009 +0200 @@ -28,7 +28,7 @@ #endif #endif -VERSION 1.1 +VERSION 1.2 SOURCEPATH ../src SOURCE sysinfoservice.cpp diff -r 50974a8b132e -r 5d0ec8b709be serviceproviders/sapi_sysinfo/tsrc/dev/providertests/manual/tsysinfoprovidergeneraltests/group/tsysinfoprovidergeneraltests.pkg --- a/serviceproviders/sapi_sysinfo/tsrc/dev/providertests/manual/tsysinfoprovidergeneraltests/group/tsysinfoprovidergeneraltests.pkg Tue Nov 24 08:56:33 2009 +0200 +++ b/serviceproviders/sapi_sysinfo/tsrc/dev/providertests/manual/tsysinfoprovidergeneraltests/group/tsysinfoprovidergeneraltests.pkg Thu Dec 17 09:09:50 2009 +0200 @@ -32,8 +32,8 @@ ;SAPI Binaries to Install ;sysinfoservice binaries -;"..\..\..\..\..\..\..\..\..\epoc32\release\armv5\urel\sysinfoservice.dll"-"C:\sys\bin\sysinfoservice.dll" -"..\..\..\..\..\..\..\..\..\epoc32\release\armv5\urel\tsysinfoprovidergeneraltests.dll"-"C:\sys\bin\tsysinfoprovidergeneraltests.dll" +;"..\..\..\..\..\..\..\..\..\..\..\epoc32\release\armv5\urel\sysinfoservice.dll"-"C:\sys\bin\sysinfoservice.dll" +"..\..\..\..\..\..\..\..\..\..\..\epoc32\release\armv5\urel\tsysinfoprovidergeneraltests.dll"-"C:\sys\bin\tsysinfoprovidergeneraltests.dll" ;ini file diff -r 50974a8b132e -r 5d0ec8b709be serviceproviders/sapi_sysinfo/tsrc/dev/providertests/manual/tsysinfoprovidernetworktests/group/tsysinfoprovidernetworktests.pkg --- a/serviceproviders/sapi_sysinfo/tsrc/dev/providertests/manual/tsysinfoprovidernetworktests/group/tsysinfoprovidernetworktests.pkg Tue Nov 24 08:56:33 2009 +0200 +++ b/serviceproviders/sapi_sysinfo/tsrc/dev/providertests/manual/tsysinfoprovidernetworktests/group/tsysinfoprovidernetworktests.pkg Thu Dec 17 09:09:50 2009 +0200 @@ -32,8 +32,8 @@ ;SAPI Binaries to Install ;Sysinfoservice binaries -;"..\..\..\..\..\..\..\..\..\epoc32\release\armv5\urel\sysinfoservice.dll"-"C:\sys\bin\sysinfoservice.dll" -"..\..\..\..\..\..\..\..\..\epoc32\release\armv5\urel\tsysinfoprovidernetworktests.dll"-"C:\sys\bin\tsysinfoprovidernetworktests.dll" +;"..\..\..\..\..\..\..\..\..\..\..\epoc32\release\armv5\urel\sysinfoservice.dll"-"C:\sys\bin\sysinfoservice.dll" +"..\..\..\..\..\..\..\..\..\..\..\epoc32\release\armv5\urel\tsysinfoprovidernetworktests.dll"-"C:\sys\bin\tsysinfoprovidernetworktests.dll" ;ini file diff -r 50974a8b132e -r 5d0ec8b709be serviceproviders/sapi_sysinfo/tsrc/dev/providertests/tsysinfoprovidernegativetests/group/tsysinfoprovidernegativetests.pkg --- a/serviceproviders/sapi_sysinfo/tsrc/dev/providertests/tsysinfoprovidernegativetests/group/tsysinfoprovidernegativetests.pkg Tue Nov 24 08:56:33 2009 +0200 +++ b/serviceproviders/sapi_sysinfo/tsrc/dev/providertests/tsysinfoprovidernegativetests/group/tsysinfoprovidernegativetests.pkg Thu Dec 17 09:09:50 2009 +0200 @@ -32,8 +32,8 @@ ;SAPI Binaries to Install ;Sysinfoservice binaries -;"..\..\..\..\..\..\..\..\..\epoc32\release\armv5\urel\sysinfoservice.dll"-"C:\sys\bin\sysinfoservice.dll" -"..\..\..\..\..\..\..\..\..\epoc32\release\armv5\urel\tsysinfoprovidernegativetests.dll"-"C:\sys\bin\tsysinfoprovidernegativetests.dll" +;"..\..\..\..\..\..\..\..\..\..\epoc32\release\armv5\urel\sysinfoservice.dll"-"C:\sys\bin\sysinfoservice.dll" +"..\..\..\..\..\..\..\..\..\..\epoc32\release\armv5\urel\tsysinfoprovidernegativetests.dll"-"C:\sys\bin\tsysinfoprovidernegativetests.dll" ;ini file diff -r 50974a8b132e -r 5d0ec8b709be serviceproviders/sapi_sysinfo/tsrc/dev/providertests/tsysinfoprovidertests/group/tsysinfoprovidertests.pkg --- a/serviceproviders/sapi_sysinfo/tsrc/dev/providertests/tsysinfoprovidertests/group/tsysinfoprovidertests.pkg Tue Nov 24 08:56:33 2009 +0200 +++ b/serviceproviders/sapi_sysinfo/tsrc/dev/providertests/tsysinfoprovidertests/group/tsysinfoprovidertests.pkg Thu Dec 17 09:09:50 2009 +0200 @@ -32,8 +32,8 @@ ;SAPI Binaries to Install ;Sysinfoservice binaries -;"..\..\..\..\..\..\..\..\..\epoc32\release\armv5\urel\sysinfoservice.dll"-"C:\sys\bin\sysinfoservice.dll" -"..\..\..\..\..\..\..\..\..\epoc32\release\armv5\urel\tsysinfoprovidertests.dll"-"C:\sys\bin\tsysinfoprovidertests.dll" +;"..\..\..\..\..\..\..\..\..\..\epoc32\release\armv5\urel\sysinfoservice.dll"-"C:\sys\bin\sysinfoservice.dll" +"..\..\..\..\..\..\..\..\..\..\epoc32\release\armv5\urel\tsysinfoprovidertests.dll"-"C:\sys\bin\tsysinfoprovidertests.dll" ;ini file diff -r 50974a8b132e -r 5d0ec8b709be serviceproviders/sapi_sysinfo/tsrc/dev/servicetests/manual/tsysinfobattery/group/tsysinfobattery.pkg --- a/serviceproviders/sapi_sysinfo/tsrc/dev/servicetests/manual/tsysinfobattery/group/tsysinfobattery.pkg Tue Nov 24 08:56:33 2009 +0200 +++ b/serviceproviders/sapi_sysinfo/tsrc/dev/servicetests/manual/tsysinfobattery/group/tsysinfobattery.pkg Thu Dec 17 09:09:50 2009 +0200 @@ -32,8 +32,8 @@ ;SAPI Binaries to Install ;Sysinfoservice binaries -;"..\..\..\..\..\..\..\..\..\epoc32\release\armv5\urel\sysinfoservice.dll"-"C:\sys\bin\sysinfoservice.dll" -"..\..\..\..\..\..\..\..\..\epoc32\release\armv5\urel\tsysinfobattery.dll"-"C:\sys\bin\tsysinfobattery.dll" +;"..\..\..\..\..\..\..\..\..\..\..\epoc32\release\armv5\urel\sysinfoservice.dll"-"C:\sys\bin\sysinfoservice.dll" +"..\..\..\..\..\..\..\..\..\..\..\epoc32\release\armv5\urel\tsysinfobattery.dll"-"C:\sys\bin\tsysinfobattery.dll" ;ini file diff -r 50974a8b132e -r 5d0ec8b709be serviceproviders/sapi_sysinfo/tsrc/dev/servicetests/manual/tsysinfogeneraltests/group/tsysinfogeneraltests.pkg --- a/serviceproviders/sapi_sysinfo/tsrc/dev/servicetests/manual/tsysinfogeneraltests/group/tsysinfogeneraltests.pkg Tue Nov 24 08:56:33 2009 +0200 +++ b/serviceproviders/sapi_sysinfo/tsrc/dev/servicetests/manual/tsysinfogeneraltests/group/tsysinfogeneraltests.pkg Thu Dec 17 09:09:50 2009 +0200 @@ -32,8 +32,8 @@ ;SAPI Binaries to Install ;Sysinfoservice binaries -;"..\..\..\..\..\..\..\..\..\epoc32\release\armv5\urel\sysinfoservice.dll"-"C:\sys\bin\sysinfoservice.dll" -"..\..\..\..\..\..\..\..\..\epoc32\release\armv5\urel\tsysinfogeneraltests.dll"-"C:\sys\bin\tsysinfogeneraltests.dll" +;"..\..\..\..\..\..\..\..\..\..\..\epoc32\release\armv5\urel\sysinfoservice.dll"-"C:\sys\bin\sysinfoservice.dll" +"..\..\..\..\..\..\..\..\..\..\..\epoc32\release\armv5\urel\tsysinfogeneraltests.dll"-"C:\sys\bin\tsysinfogeneraltests.dll" ;ini file diff -r 50974a8b132e -r 5d0ec8b709be serviceproviders/sapi_sysinfo/tsrc/dev/servicetests/manual/tsysinfonetworktests/group/tsysinfonetworktests.pkg --- a/serviceproviders/sapi_sysinfo/tsrc/dev/servicetests/manual/tsysinfonetworktests/group/tsysinfonetworktests.pkg Tue Nov 24 08:56:33 2009 +0200 +++ b/serviceproviders/sapi_sysinfo/tsrc/dev/servicetests/manual/tsysinfonetworktests/group/tsysinfonetworktests.pkg Thu Dec 17 09:09:50 2009 +0200 @@ -32,8 +32,8 @@ ;SAPI Binaries to Install ;Sysinfoservice binaries -;"..\..\..\..\..\..\..\..\..\epoc32\release\armv5\urel\sysinfoservice.dll"-"C:\sys\bin\sysinfoservice.dll" -"..\..\..\..\..\..\..\..\..\epoc32\release\armv5\urel\tsysinfonetworktests.dll"-"C:\sys\bin\tsysinfonetworktests.dll" +;"..\..\..\..\..\..\..\..\..\..\..\epoc32\release\armv5\urel\sysinfoservice.dll"-"C:\sys\bin\sysinfoservice.dll" +"..\..\..\..\..\..\..\..\..\..\..\epoc32\release\armv5\urel\tsysinfonetworktests.dll"-"C:\sys\bin\tsysinfonetworktests.dll" ;ini file diff -r 50974a8b132e -r 5d0ec8b709be serviceproviders/sapi_sysinfo/tsrc/dev/servicetests/tsysinfoservicetests/group/tsysinfoservicetests.pkg --- a/serviceproviders/sapi_sysinfo/tsrc/dev/servicetests/tsysinfoservicetests/group/tsysinfoservicetests.pkg Tue Nov 24 08:56:33 2009 +0200 +++ b/serviceproviders/sapi_sysinfo/tsrc/dev/servicetests/tsysinfoservicetests/group/tsysinfoservicetests.pkg Thu Dec 17 09:09:50 2009 +0200 @@ -32,8 +32,8 @@ ;SAPI Binaries to Install ;SysInfoservice binaries -;"..\..\..\..\..\..\..\..\..\epoc32\release\armv5\urel\sysinfoservice.dll"-"C:\sys\bin\sysinfoservice.dll" -"..\..\..\..\..\..\..\..\..\epoc32\release\armv5\urel\tsysinfoservicetests.dll"-"C:\sys\bin\tsysinfoservicetests.dll" +;"..\..\..\..\..\..\..\..\..\..\epoc32\release\armv5\urel\sysinfoservice.dll"-"C:\sys\bin\sysinfoservice.dll" +"..\..\..\..\..\..\..\..\..\..\epoc32\release\armv5\urel\tsysinfoservicetests.dll"-"C:\sys\bin\tsysinfoservicetests.dll" ;ini file