diff -r 5d0ec8b709be -r 02682e02e51f serviceproviders/jsapi/platformservices/lib/platformservices.js --- a/serviceproviders/jsapi/platformservices/lib/platformservices.js Thu Dec 17 09:09:50 2009 +0200 +++ b/serviceproviders/jsapi/platformservices/lib/platformservices.js Mon Jan 18 21:02:57 2010 +0200 @@ -1,5 +1,5 @@ /* -* Copyright (c) 2005 Nokia Corporation and/or its subsidiary(-ies). +* 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" @@ -11,208 +11,40 @@ * * Contributors: * -* Description: This is a top level bld file to generate all sapi libraries. +* Description: Defination of class CCalendarInterface * */ - -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); +var MapErrorCode={1016:100,1012:101,1010:102,1009:103,1005:104,1000:105,1011:106,1007:107,1003:1,1002:2,1004:3}; +function __device_debug(_1){ +}; +function __device_handle_exception(e,_3){ +__device_debug(_3); throw (e); }; -function __device_typeof(_3c){ -if(_3c==undefined){ +function __device_typeof(_4){ +if(_4==undefined){ return "undefined"; } -if(_3c instanceof Object){ -if(_3c instanceof String){ +if(_4 instanceof Object){ +if(_4 instanceof String){ return "String"; }else{ -if(_3c instanceof Array){ +if(_4 instanceof Array){ return "Array"; } } } -if(typeof _3c){ -if(typeof _3c=="object"){ -if(typeof _3c=="object"&&!_3c){ +if(typeof _4){ +if(typeof _4=="object"){ +if(typeof _4=="object"&&!_4){ return "null"; } }else{ -if(typeof _3c=="string"){ +if(typeof _4=="string"){ return "string"; } } @@ -243,26 +75,26 @@ } __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(); +var _5=device.getServiceObject("Service.ServiceRegistry","IService"); +var _6={ServiceName:"Service.Calendar",InterfaceName:"IDataSource"}; +var _7=_5.IService.GetList(_6); +if(_7.ErrorCode==0){ +var _8=_7.ReturnValue; +if(_8){ +var _9=_8.getNext(); +if(_9){ +var _a=_9.VersionList; +var _b; +for(_b in _a){ +if(_a[_b]>__Service_Interface_Ver){ +__Service_Interface_Ver=_a[_b]; +} +} +} +} +_8.close(); +} +_5.close(); } catch(e){ __Service_Interface_Ver=1; @@ -332,7 +164,7 @@ function __device_get_descriptor(i){ return new i.descriptor(new (i.providers[0].descriptor)); }; -function __device_get_interface(s,_47,_48){ +function __device_get_interface(s,_f,_10){ var i=s.interfaces; for(var d in i){ if(i[d].name==null){ @@ -341,9 +173,9 @@ if(i[d].name==undefined){ continue; } -if(i[d].name==_47){ -if(_48){ -if(i[d].version>=_48){ +if(i[d].name==_f){ +if(_10){ +if(i[d].version>=_10){ return __device_get_implementation(i[d]); } }else{ @@ -353,23 +185,23 @@ } 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"); +function __device_service_load(_13,_14){ +var _15=new DeviceException("dummy",0); +if(_13){ +if(typeof _13!="string"){ +throw new DeviceException(_15.INVALID_ARG_ERR,"nokia.device.load:Invalid type interfaceName"); +} +}else{ +throw new DeviceException(_15.MISSING_ARG_ERR,"nokia.device.load:interfaceName param expected"); +} +if(_14){ +if(typeof _14!="number"){ +throw new DeviceException(_15.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); +var i=__device_get_interface(__device_services[s],_13,_14); if(i!=null){ return i; } @@ -382,7 +214,7 @@ i.version=d.version; }; function __device_interface_list(s){ -var _53=new Array(); +var _1b=new Array(); for(var i in s.interfaces){ if(s.interfaces[i].name==null){ __device_update_descriptor(s.interfaces[i]); @@ -390,11 +222,11 @@ 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; +_1b[i]=new Object(); +_1b[i].name=s.interfaces[i].name; +_1b[i].version=s.interfaces[i].version; +} +return _1b; }; function __device_service_descriptor(s){ this.name=s.name; @@ -412,8 +244,8 @@ 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); +var _20=__device_interface_list(__device_services[s]); +return new __FWIter(_20); } return null; }; @@ -443,273 +275,21 @@ } } }; -var _infinity=Infinity; -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=null; -this.timeout=null; -this.maximumAge=null; -}; -function TransIdCbMap(){ -this.TransactionID=null; -this.success_callback=null; -this.error_callback=null; -}; -function __device_geolocation_descriptor(_5b){ -this.interfaceName=_5b.interfaceName; -this.version=_5b.version; -}; -function __device_geolocation_getCurrentPosition(_5c,_5d,_5e){ -return this.provider.getLocation(_5c,_5d,_5e); -}; -function __device_geolocation_watchPosition(_5f,_60,_61){ -return this.provider.traceLocation(_5f,_60,_61); -}; -function __device_geolocation_clearWatch(_62){ -this.provider.clearTrace(_62); -}; -function __device_geolocation(_63){ -this.provider=_63; -this.interfaceName=_63.descriptor.interfaceName; -this.version=_63.descriptor.version; -this.getCurrentPosition=__device_geolocation_getCurrentPosition; -this.watchPosition=__device_geolocation_watchPosition; -this.clearWatch=__device_geolocation_clearWatch; -}; -var __device_geolocation_service_entry={"name":null,"version":null,"proto":__device_geolocation,"descriptor":__device_geolocation_descriptor,"providers":[{"descriptor":__sp_location_descriptor,"instance":__sp_location_instance}]}; -function __device_media_descriptor(_64){ -this.interfaceName=_64.interfaceName; -this.version=_64.version; -}; -function __device_media_getList(_65,_66,_67){ -return this.provider.getList(_65,_66,_67); -}; -function __device_media_getThumbnail(_68,_69,_6a){ -return this.provider.getThumbnail(_68,_69,_6a); -}; -function __device_media_addStreamUri(uri){ -return this.provider.addStreamUri(uri); -}; -function __device_media_deleteStreamUri(uri){ -return this.provider.deleteStreamUri(uri); -}; -function __device_media_cancel(_6d){ -this.provider.cancel(_6d); -}; -function __device_media_refreshMediaDb(uri){ -this.provider.refreshMediaDb(uri); -}; -function __device_media(_6f){ -this.provider=_6f; -this.interfaceName=_6f.descriptor.interfaceName; -this.version=_6f.descriptor.version; -this.SORT_ASCENDING=0; -this.SORT_DESCENDING=1; -this.getList=__device_media_getList; -this.getThumbnail=__device_media_getThumbnail; -this.addStreamUri=__device_media_addStreamUri; -this.deleteStreamUri=__device_media_deleteStreamUri; -this.refreshMediaDb=__device_media_refreshMediaDb; -this.cancel=__device_media_cancel; -}; -var __device_media_service_entry={"name":null,"version":null,"proto":__device_media,"descriptor":__device_media_descriptor,"providers":[{"descriptor":__sp_media_descriptor,"instance":__sp_media_instance}]}; -function __device_messaging_descriptor(_70){ -this.interfaceName=_70.interfaceName; -this.version=_70.version; -}; -function __device_messaging_startEditor(_71){ -return this.provider.startEditor(_71); -}; -function __device_messaging_getList(_72,_73,_74,_75,_76){ -return this.provider.getList(_72,_73,_74,_75,_76); -}; -function __device_messaging_send(_77,_78,id,_7a){ -return this.provider.send(_77,_78,id,_7a); -}; -function __device_messaging_setNotifier(_7b,_7c){ -return this.provider.setNotifier(_7b,_7c); -}; -function __device_messaging_cancelNotifier(){ -return this.provider.cancelNotifier(); -}; -function __device_messaging_getMessage(id){ -return this.provider.getMessage(id); -}; -function __device_messaging_delete(id){ -return this.provider.deleteMessage(id); -}; -function __device_messaging_setStatus(id,_80){ -return this.provider.setStatus(id,_80); -}; -function __device_messaging_cancel(_81){ -return this.provider.cancel(_81); -}; -function __device_messaging(_82){ -this.provider=_82; -this.interfaceName=_82.descriptor.interfaceName; -this.version=_82.descriptor.version; -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; -this.startEditor=__device_messaging_startEditor; -this.getList=__device_messaging_getList; -this.send=__device_messaging_send; -this.setNotifier=__device_messaging_setNotifier; -this.cancelNotifier=__device_messaging_cancelNotifier; -this.getMessage=__device_messaging_getMessage; -this.deleteMessage=__device_messaging_delete; -this.setStatus=__device_messaging_setStatus; -this.cancel=__device_messaging_cancel; -}; -var __device_messaging_service_entry={"name":null,"version":null,"proto":__device_messaging,"descriptor":__device_messaging_descriptor,"providers":[{"descriptor":__sp_messaging_descriptor,"instance":__sp_messaging_instance}]}; -var __device_sensors_service_entry={"name":null,"version":null,"proto":__device_sensors,"descriptor":__device_sensors_descriptor,"providers":[{"descriptor":__sp_sensors_descriptor,"instance":__sp_sensors_instance}]}; -function __device_sensors(_83){ -this.provider=_83; -this.interfaceName=_83.descriptor.interfaceName; -this.version=_83.descriptor.version; -this.getChannels=__device_sensors_getChannels; -this.startChannel=__device_sensors_setNotifier; -this.stopChannel=__device_sensors_cancelNotifier; -this.getScaleFactor=__device_sensors_getScaleFactor; -}; -function __device_sensors_descriptor(_84){ -this.interfaceName=_84.interfaceName; -this.version=_84.version; -}; -function __device_sensors_getChannels(){ -return this.provider.getChannels(); -}; -function __device_sensors_setNotifier(_85,_86,_87){ -return this.provider.startChannel(_85,_86,_87); -}; -function __device_sensors_cancelNotifier(_88){ -return this.provider.stopChannel(_88); -}; -function __device_sensors_getScaleFactor(_89){ -return this.provider.getScaleFactor(_89); -}; -var __device_sysinfo_service_entry={"name":null,"version":null,"proto":__device_sysinfo,"descriptor":__device_sysinfo_descriptor,"providers":[{"descriptor":__sp_sysinfo_descriptor,"instance":__sp_sysinfo_instance}]}; -function __device_sysinfo(_8a){ -this.provider=_8a; -this.interfaceName=_8a.descriptor.interfaceName; -this.version=_8a.descriptor.version; -this.getChannelList=__device_channels_get; -this.getChannel=__device_sysinfo_get; -this.startChannel=__device_sysinfo_setNotifier; -this.stopChannel=__device_sysinfo_cancelNotifier; -this.cancel=__device_sysinfo_cancel; -}; -function __device_sysinfo_descriptor(_8b){ -this.interfaceName=_8b.interfaceName; -this.version=_8b.version; -}; -function __device_channels_get(){ -return this.provider.getChannelList(); -}; -function __device_sysinfo_get(_8c,_8d,_8e){ -return this.provider.getChannel(_8c,_8d,_8e); -}; -function __device_sysinfo_setNotifier(_8f,_90,_91,_92){ -return this.provider.startChannel(_8f,_90,_91,_92); -}; -function __device_sysinfo_cancelNotifier(_93){ -return this.provider.stopChannel(_93); -}; -function __device_sysinfo_cancel(id){ -return this.provider.cancel(id); -}; -var __device_landmarks_service_entry={"name":null,"version":null,"proto":__device_landmarks,"descriptor":__device_landmarks_descriptor,"providers":[{"descriptor":__sp_landmarks_descriptor,"instance":__sp_landmarks_instance}]}; -function __device_landmarks(_95){ -this.provider=_95; -this.interfaceName=_95.descriptor.interfaceName; -this.version=_95.descriptor.version; -this.startEditor=__device_landmarks_startEditor; -this.getCategories=__device_landmarks_getCategories; -this.getLandmarks=__device_landmarks_getLandmarks; -this.addCategory=__device_landmarks_add_category; -this.updateCategory=__device_landmarks_update_category; -this.updateLandmark=__device_landmarks_update_landmark; -this.addLandmark=__device_landmarks_add_landmark; -this.deleteCategory=__device_landmarks_delete_category; -this.deleteLandmark=__device_landmarks_delete_landmark; -this.importLandmarks=__device_landmarks_import_landmarks; -this.exportLandmarks=__device_landmarks_export_landmarks; -this.organizeLandmarks=__device_landmarks_organize_landmarks; -this.cancel=__device_landmarks_cancel; -}; -function __device_landmarks_descriptor(_96){ -this.interfaceName=_96.interfaceName; -this.version=_96.version; -}; -function __device_landmarks_startEditor(_97,_98){ -this.provider.startEditor(_97,_98); -}; -function __device_landmarks_getCategories(_99,_9a,_9b){ -return this.provider.getCategories(_99,_9a,_9b); -}; -function __device_landmarks_getLandmarks(_9c,_9d,_9e){ -return this.provider.getLandmarks(_9c,_9d,_9e); -}; -function __device_landmarks_add_category(_9f,_a0,_a1){ -return this.provider.addCategory(_9f,_a0,_a1); -}; -function __device_landmarks_add_landmark(_a2,_a3,_a4){ -return this.provider.addLandmark(_a2,_a3,_a4); -}; -function __device_landmarks_delete_category(_a5,_a6,_a7){ -return this.provider.deleteCategory(_a5,_a6,_a7); -}; -function __device_landmarks_delete_landmark(_a8,_a9,_aa){ -return this.provider.deleteLandmark(_a8,_a9,_aa); -}; -function __device_landmarks_update_landmark(_ab,_ac,_ad){ -return this.provider.updateLandmark(_ab,_ac,_ad); -}; -function __device_landmarks_update_category(_ae,_af,_b0){ -return this.provider.updateCategory(_ae,_af,_b0); -}; -function __device_landmarks_import_landmarks(_b1,_b2,_b3,_b4){ -return this.provider.importLandmarks(_b1,_b2,_b3,_b4); -}; -function __device_landmarks_export_landmarks(_b5,_b6,_b7,_b8,_b9){ -return this.provider.exportLandmarks(_b5,_b6,_b7,_b8,_b9); -}; -function __device_landmarks_organize_landmarks(_ba,_bb,_bc,_bd,_be){ -return this.provider.organizeLandmarks(_ba,_bb,_bc,_bd,_be); -}; -function __device_landmarks_cancel(_bf){ -return this.provider.cancel(_bf); -}; +var glob_obj=null; +var temp_scb=null; +var temp_ecb=null; +glob_obj=new Object(); +glob_obj.glob_cb_arr=new Array(); +glob_obj.addToGlobalArray=addToGlobalArray; +glob_obj.removeFromArray=removeFromArray; +glob_obj.getFromArray=getFromArray; DeviceAPIError.prototype=new Error(); DeviceAPIError.prototype.constructor=DeviceAPIError; -function DeviceAPIError(_c0,_c1){ +function DeviceAPIError(_23,_24){ this.toString=concatenate; -this.code=_c0; +this.code=_23; this.name="DeviceError"; -this.message=_c1; +this.message=_24; this.MISSING_ARG_ERR=1; this.INVALID_ARG_ERR=2; this.NOT_SUPPORTED_ERR=3; @@ -728,11 +308,11 @@ }; DeviceException.prototype=new Error(); DeviceException.prototype.constructor=DeviceException; -function DeviceException(_c2,_c3){ +function DeviceException(_25,_26){ this.toString=concatenate; -this.code=_c2; +this.code=_25; this.name="DeviceException"; -this.message=_c3; +this.message=_26; this.MISSING_ARG_ERR=1; this.INVALID_ARG_ERR=2; this.NOT_SUPPORTED_ERR=3; @@ -752,16 +332,16 @@ function concatenate(){ return (this.name+": errcode: "+this.code+"\nline: "+this.lineNumber+"\nfileName: "+this.fileName+"\nerrmsg: "+this.message); }; -function splitErrorMessage(_c4){ -if(_c4.search(/:/)!=-1){ -if((_c4.split(":").length)==2){ -return _c4.split(":")[1]; -} -if((_c4.split(":").length)>2){ -return _c4.split(":")[2]; -} -} -return _c4; +function splitErrorMessage(_27){ +if(_27.search(/:/)!=-1){ +if((_27.split(":").length)==2){ +return _27.split(":")[1]; +} +if((_27.split(":").length)>2){ +return _27.split(":")[2]; +} +} +return _27; }; var __s60_start_and_wait_cb; function __s60_on_app_exit(){ @@ -774,1593 +354,1936 @@ widget.onhide=null; widget.onshow=__s60_on_app_exit; }; -function __s60_start_and_wait(id,_c6,_c7){ -__s60_start_and_wait_cb=_c7; +function __s60_start_and_wait(id,_29,_2a){ +__s60_start_and_wait_cb=_2a; widget.onhide=__s60_on_app_start; -widget.openApplication(id,_c6); +widget.openApplication(id,_29); }; function __s60_api_not_supported(){ throw (err_ServiceNotSupported); }; -function __s60_enumerate_object(_c8,_c9,_ca,_cb){ +function __s60_enumerate_object(_2b,_2c,_2d,_2e){ 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"; +for(key in _2b){ +var _30; +if(_2c){ +_30=_2c+"."+key; +}else{ +_30=key; +} +var _31=_2b[key]; +if(typeof _31=="object"){ +__s60_enumerate_object(_31,_30,_2d,_2e); +}else{ +_2d(_30,_31,_2e); +} +} +}; +function removeFromArray(_32){ +for(i=0;i<(glob_obj.glob_cb_arr.length);i++){ +if(glob_obj.glob_cb_arr[i].transactionId==_32){ +glob_obj.glob_cb_arr.splice(i,1); +} +} +}; +function addToGlobalArray(_33,sCb,_35){ +var obj=new Object(); +obj.success_cb=sCb; +obj.transactionId=_33; +obj.error_cb=_35; +glob_obj.glob_cb_arr.push(obj); +}; +function getFromArray(tid){ +var i; +for(i=0;i<(glob_obj.glob_cb_arr.length);i++){ +if(glob_obj.glob_cb_arr[i].transactionId==tid){ +return glob_obj.glob_cb_arr[i]; +} +} +if(temp_scb){ +var obj=new Object(); +obj.success_cb=temp_scb; +obj.error_cb=temp_ecb; +temp_ecb=temp_scb=null; +return obj; +} +return null; +}; +var __device_landmarks_service_entry={"name":null,"version":null,"proto":__device_landmarks,"descriptor":__device_landmarks_descriptor,"providers":[{"descriptor":__sp_landmarks_descriptor,"instance":__sp_landmarks_instance}]}; +function __device_landmarks(_3a){ +this.provider=_3a; +this.interfaceName=_3a.descriptor.interfaceName; +this.version=_3a.descriptor.version; +this.startEditor=__device_landmarks_startEditor; +this.getCategories=__device_landmarks_getCategories; +this.getLandmarks=__device_landmarks_getLandmarks; +this.addCategory=__device_landmarks_add_category; +this.updateCategory=__device_landmarks_update_category; +this.updateLandmark=__device_landmarks_update_landmark; +this.addLandmark=__device_landmarks_add_landmark; +this.deleteCategory=__device_landmarks_delete_category; +this.deleteLandmark=__device_landmarks_delete_landmark; +this.importLandmarks=__device_landmarks_import_landmarks; +this.exportLandmarks=__device_landmarks_export_landmarks; +this.organizeLandmarks=__device_landmarks_organize_landmarks; +this.cancel=__device_landmarks_cancel; +}; +function __device_landmarks_descriptor(_3b){ +this.interfaceName=_3b.interfaceName; +this.version=_3b.version; +}; +function __device_landmarks_startEditor(_3c,_3d){ +this.provider.startEditor(_3c,_3d); +}; +function __device_landmarks_getCategories(_3e,_3f,_40){ +return this.provider.getCategories(_3e,_3f,_40); +}; +function __device_landmarks_getLandmarks(_41,_42,_43){ +return this.provider.getLandmarks(_41,_42,_43); +}; +function __device_landmarks_add_category(_44,_45,_46){ +return this.provider.addCategory(_44,_45,_46); +}; +function __device_landmarks_add_landmark(_47,_48,_49){ +return this.provider.addLandmark(_47,_48,_49); +}; +function __device_landmarks_delete_category(_4a,_4b,_4c){ +return this.provider.deleteCategory(_4a,_4b,_4c); +}; +function __device_landmarks_delete_landmark(_4d,_4e,_4f){ +return this.provider.deleteLandmark(_4d,_4e,_4f); +}; +function __device_landmarks_update_landmark(_50,_51,_52){ +return this.provider.updateLandmark(_50,_51,_52); +}; +function __device_landmarks_update_category(_53,_54,_55){ +return this.provider.updateCategory(_53,_54,_55); +}; +function __device_landmarks_import_landmarks(_56,_57,_58,_59){ +return this.provider.importLandmarks(_56,_57,_58,_59); +}; +function __device_landmarks_export_landmarks(_5a,_5b,_5c,_5d,_5e){ +return this.provider.exportLandmarks(_5a,_5b,_5c,_5d,_5e); +}; +function __device_landmarks_organize_landmarks(_5f,_60,_61,_62,_63){ +return this.provider.organizeLandmarks(_5f,_60,_61,_62,_63); +}; +function __device_landmarks_cancel(_64){ +return this.provider.cancel(_64); +}; +var err_missing_argument=1003; +var err_bad_argument=1002; +var err_ServiceNotSupported=1004; +var err_InvalidService_Argument=1000; +function convertFromPS2JS(_65){ +var _66=new DeviceAPIError(0,"dummy"); +var _67; +switch(_65){ +case 1016: +_67=_66.TIMEOUT_ERR; +break; +case 1012: +_67=_66.DATA_NOT_FOUND_ERR; +break; +case 1010: +_67=_66.DATA_ALREADY_EXISTS_ERR; +break; +case 1009: +_67=_66.SERVICE_BUSY_ERR; +break; +case 1005: +_67=_66.SERVICE_IN_USE_ERR; +break; +default: +_67=1001; +} +return _67; +}; +function __sp_landmarks_descriptor(){ +this.interfaceName="landmarks"; 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; -} +function __sp_landmarks_instance(){ +this.descriptor=new __sp_landmarks_descriptor(); +this.startEditor=__sp_landmarks_startEditor; +this.getCategories=__sp_landmarks_category_getList; +this.getCategoriesCb=__sp_landmarks_category_getList_cb; +this.addCategory=__sp_landmarks_category_add; +this.addCategoryCb=__sp_landmarks_category_add_cb; +this.updateCategory=__sp_landmarks_category_update; +this.updateCategoryCb=__sp_landmarks_category_update_cb; +this.deleteCategory=__sp_landmarks_category_delete; +this.deleteCategoryCb=__sp_landmarks_category_delete_cb; +this.getLandmarks=__sp_landmarks_getList; +this.getLandmarksCb=__sp_landmarks_getList_cb; +this.addLandmark=__sp_landmarks_add; +this.addLandmarkCb=__sp_landmarks_add_cb; +this.updateLandmark=__sp_landmarks_update; +this.updateLandmarkCb=__sp_landmarks_update_cb; +this.deleteLandmark=__sp_landmarks_delete; +this.deleteLandmarkCb=__sp_landmarks_delete_cb; +this.importLandmarks=__sp_landmarks_import; +this.importLandmarksCb=__sp_landmarks_import_cb; +this.exportLandmarks=__sp_landmarks_export; +this.exportLandmarksCb=__sp_landmarks_export_cb; +this.organizeLandmarks=__sp_landmarks_organize; +this.organizeLandmarksCb=__sp_landmarks_organize_cb; +this.temporarySCb=null; +this.temporaryECb=null; +this.cancel=__sp_landmarks_cancel; 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; +this.so=device.getServiceObject("Service.Landmarks","IDataSource"); } 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; -} -} +__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(_68){ +this.iter=_68; +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 _69=new Object(); +_69=this.catItem; +this.catItem=this.iter.getNext(); +if(typeof (this.catItem)=="undefined"){ +this.catItem=null; +} +return new __sp_device_category_obj(_69); +}else{ +this.catItem=this.iter.getNext(); +if(typeof this.catItem=="undefined"){ +this.hasElement=true; +this.catItem=null; 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){ +}else{ +this.hasElement=true; +var _6a=new Object(); +_6a=this.lmItem; +this.catItem=this.iter.getNext(); +if(typeof (this.catItem)=="undefined"){ +this.catItem=null; +} +return new __sp_device_category_obj(_6a); +} +} +}; +function __sp_landmarks_iterator(_6b){ +this.iter=_6b; +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(_6c){ +this.longitude=(_6c.Longitude==undefined)?null:_6c.Longitude; +this.latitude=(_6c.Latitude==undefined)?null:_6c.Latitude; +if(_6c.Altitude){ +this.altitude=_6c.Altitude; +} +if(_6c.HAccuracy){ +this.hAccuracy=_6c.HAccuracy; +} +if(_6c.VAccuracy){ +this.vAccuracy=_6c.VAccuracy; +} +}; +function __sp_landmark_position_obj(_6d){ +if((_6d.longitude!==undefined)&&(_6d.longitude!==null)&&(_6d.longitude!=="")){ +this.Longitude=_6d.longitude; +} +if((_6d.latitude!==undefined)&&(_6d.latitude!==null)&&(_6d.latitude!=="")){ +this.Latitude=_6d.latitude; +} +}; +function __sp_landmark_position_obj_fromJS_2LIW(_6e){ +var _6f=new DeviceAPIError(0,"dummy"); +if(typeof (_6e)!="object"){ +throw new DeviceAPIError(_6f.INVALID_ARG_ERR,"position must be of type object"); +} +var _70=false; +var _71=false; +if((_6e.longitude!==undefined)&&(_6e.longitude!==null)&&(_6e.longitude!=="")){ +this.Longitude=_6e.longitude; +_70=true; +} +if((_6e.latitude!==undefined)&&(_6e.latitude!==null)&&(_6e.latitude!=="")){ +this.Latitude=_6e.latitude; +_71=true; +} +if(!(_70&&_71)){ +throw new DeviceAPIError(_6f.MISSING_ARG_ERR,"missing position field"); +} +if(_6e.altitude){ +this.Altitude=_6e.altitude; +} +if(_6e.hAccuracy){ +this.HAccuracy=_6e.hAccuracy; +} +if(_6e.vAccuracy){ +this.VAccuracy=_6e.vAccuracy; +} +}; +function __sp_landmark_bounded_area_obj(_72){ +var _73=new DeviceAPIError(0,"dummy"); +var _74=false; +var _75=false; +if((_72.coordinate1!==undefined)&&(_72.coordinate1!==null)&&(_72.coordinate1!=="")){ +if(typeof (_72.coordinate1)!="object"){ +throw new DeviceAPIError(_73.INVALID_ARG_ERR,"coordinate1 must be an object"); +}else{ +var _76=false; +var _77=false; +if((_72.coordinate1.latitude!==undefined)&&(_72.coordinate1.latitude!==null)&&(_72.coordinate1.latitude!=="")){ +this.NorthLatitude=_72.coordinate1.latitude; +_76=true; +} +if((_72.coordinate1.longitude!==undefined)&&(_72.coordinate1.longitude!==null)&&(_72.coordinate1.longitude!=="")){ +this.EastLongitude=_72.coordinate1.longitude; +_77=true; +} +if(!(_76&&_77)){ +throw new DeviceAPIError(_73.MISSING_ARG_ERR,"missing position field"); +} +_74=true; +} +} +if((_72.coordinate2!==undefined)&&(_72.coordinate2!==null)&&(_72.coordinate2!=="")){ +if(typeof (_72.coordinate2)!="object"){ +throw new DeviceAPIError(_73.INVALID_ARG_ERR,"coordinate2 must be an object"); +}else{ +var _76=false; +var _77=false; +if((_72.coordinate2.latitude!==undefined)&&(_72.coordinate2.latitude!==null)&&(_72.coordinate2.latitude!=="")){ +this.SouthLatitude=_72.coordinate2.latitude; +_76=true; +} +if((_72.coordinate2.longitude!==undefined)&&(_72.coordinate2.longitude!==null)&&(_72.coordinate2.longitude!=="")){ +this.WestLongitude=_72.coordinate2.longitude; +_77=true; +} +if(!(_76&&_77)){ +throw new DeviceAPIError(_73.MISSING_ARG_ERR,"missing position field"); +} +_75=true; +} +} +if(!(_74&&_75)){ +throw new DeviceAPIError(_73.MISSING_ARG_ERR,"missing position field"); +} +}; +function __sp_device_landmark_address_obj(_78){ +if(_78.Street){ +this.street=_78.Street; +} +if(_78.City){ +this.city=_78.City; +} +if(_78.state){ +this.state=_78.state; +} +if(_78.AreaCode){ +this.postalCode=_78.AreaCode; +} +if(_78.Country){ +this.country=_78.Country; +} +if(_78.BuildingName){ +this.building=_78.BuildingName; +} +if(_78.Telephone){ +this.phone=_78.Telephone; +} +}; +function __sp_landmark_address_obj(_79){ +var _7a=new DeviceAPIError(0,"dummy"); +if(typeof (_79)!="object"){ +throw new DeviceAPIError(_7a.MISSING_ARG_ERR,"address must be of type object"); +} +if(_79.street!==undefined){ +if(_79.street===null){ +this.Street=""; +}else{ +this.Street=_79.street; +} +} +if(_79.city!==undefined){ +if(_79.city===null){ +this.City=""; +}else{ +this.City=_79.city; +} +} +if(_79.state!==undefined){ +if(_79.state===null){ +this.state=""; +}else{ +this.state=_79.state; +} +} +if(_79.postalCode!==undefined){ +if(_79.postalCode===null){ +this.AreaCode=""; +}else{ +this.AreaCode=_79.postalCode; +} +} +if(_79.country!==undefined){ +if(_79.country===null){ +this.Country=""; +}else{ +this.Country=_79.country; +} +} +if(_79.building!==undefined){ +if(_79.building===null){ +this.BuildingName=""; +}else{ +this.BuildingName=_79.building; +} +} +if(_79.phone!==undefined){ +if(_79.phone===null){ +this.Telephone=""; +}else{ +this.Telephone=_79.phone; +} +} +}; +function __sp_add_category_ids_for_names(_7b){ +var _7c=new DeviceAPIError(0,"dummy"); +var _7d=new Array(); +for(var i in _7b){ +if((_7b[i]!==undefined)&&(_7b[i]!=="")&&(_7b[i]!==null)){ +if(typeof (_7b[i])!="string"){ +throw new DeviceAPIError(_7c.INVALID_ARG_ERR,"category should be of type string"); +}else{ +_7d.push(_7b[i].toString()); +} +} +} +return _7d; +}; +function __sp_get_category_ids_for_names(_7f){ +var _80=new DeviceAPIError(0,"dummy"); +var _81=new Array(); +var _82=0; +for(var i in _7f){ +if(typeof (_7f[i])!="string"){ +throw new DeviceAPIError(_80.INVALID_ARG_ERR,"category should be of type string"); +} +for(var ii in __sp_category_list){ +if(__sp_category_list[ii].name.toLowerCase()==_7f[i].toLowerCase()){ +_81.push(__sp_category_list[ii].id.toString()); +_82=1; +} +} +if(_82==0){ 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)){ +_82=0; +} +return _81; +}; +function __sp_device_landmark_obj(_85){ +this.landmarkId=_85.id; +if(_85.LandmarkName){ +this.name=_85.LandmarkName; +} +if(_85.LandmarkDesc){ +this.description=_85.LandmarkDesc; +} +if(_85.CoverageRadius){ +this.coverageRadius=_85.CoverageRadius; +} +if(_85.LandmarkPosition){ +this.position=new __sp_device_landmark_location_obj(_85.LandmarkPosition); +} +if(_85.CategoryInfo){ +this.categoryIds=_85.CategoryInfo; +} +if(_85.LandmarkFields){ +this.address=new __sp_device_landmark_address_obj(_85.LandmarkFields); +} +}; +function __sp_landmarks_addLocality(add){ +var _87=new DeviceAPIError(0,"dummy"); +if(typeof (add)!="object"){ +throw new DeviceAPIError(_87.INVALID_ARG_ERR,"address should be of type object"); +} +if((add.street!==undefined)&&(add.street!==null)&&(add.street!=="")){ +this.Street=add.street; +} +if((add.city!==undefined)&&(add.city!==null)&&(add.city!=="")){ +this.City=add.city; +} +if((add.state!==undefined)&&(add.state!==null)&&(add.state!=="")){ +this.state=add.state; +} +if((add.postalCode!==undefined)&&(add.postalCode!==null)&&(add.postalCode!=="")){ +this.AreaCode=add.postalCode; +} +if((add.country!==undefined)&&(add.country!==null)&&(add.country!=="")){ +this.Country=add.country; +} +if((add.building!==undefined)&&(add.building!==null)&&(add.building!=="")){ +this.BuildingName=add.building; +} +if((add.phone!==undefined)&&(add.phone!==null)&&(add.phone!=="")){ +this.Telephone=add.phone; +} +}; +function __sp_landmarks_addPosition(pos){ +var _89=new DeviceAPIError(0,"dummy"); +if(typeof (pos)!="object"){ +throw new DeviceAPIError(_89.INVALID_ARG_ERR,"position should be of type object"); +} +if((pos.longitude!==undefined)&&(pos.longitude!==null)&&(pos.longitude!=="")){ +this.Longitude=pos.longitude; +} +if((pos.latitude!==undefined)&&(pos.latitude!==null)&&(pos.latitude!=="")){ +this.Latitude=pos.latitude; +} +if((pos.altitude!==undefined)&&(pos.altitude!==null)&&(pos.altitude!=="")){ +this.Altitude=pos.altitude; +} +if((pos.hAccuracy!==undefined)&&(pos.hAccuracy!==null)&&(pos.hAccuracy!=="")){ +this.HAccuracy=pos.hAccuracy; +} +if((pos.vAccuracy!==undefined)&&(pos.vAccuracy!==null)&&(pos.vAccuracy!=="")){ +this.VAccuracy=pos.vAccuracy; +} +}; +function __sp_landmarks_addLmObject(lm){ +var _8b=false; +var _8c=new DeviceAPIError(0,"dummy"); +if((lm.name!==undefined)&&(lm.name!==null)&&(lm.name!=="")){ +this.LandmarkName=lm.name; +} +if((lm.description!==undefined)&&(lm.description!==null)&&(lm.description!=="")){ +this.LandmarkDesc=lm.description; +} +if((lm.position!==undefined)&&(lm.position!==null)&&(lm.position!=="")){ +this.LandmarkPosition=new __sp_landmarks_addPosition(lm.position); +_8b=true; +} +if((lm.coverageRadius!==undefined)&&(lm.coverageRadius!==null)&&(lm.coverageRadius!=="")){ +if(_8b){ +this.CoverageRadius=lm.coverageRadius; +}else{ +throw new DeviceAPIError(_8c.MISSING_ARG_ERR,"missing position"); +} +} +if((lm.categoryIds!==undefined)&&(lm.categoryIds!==null)&&(lm.categoryIds!=="")){ +if(typeof (lm.categoryIds)!="object"){ +throw new DeviceAPIError(_8c.INVALID_ARG_ERR,"categoryids should be of type object"); +} +this.CategoryInfo=__sp_add_category_ids_for_names(lm.categoryIds); +if(!this.CategoryInfo){ +throw new DeviceAPIError(_8c.MISSING_ARG_ERR,"invalid category"); +} +} +if((lm.address!==undefined)&&(lm.address!==null)&&(lm.address!=="")){ +this.LandmarkFields=new __sp_landmarks_addLocality(lm.address); +} +this.dummyField="dummyfield"; +}; +function __sp_landmark_obj(_8d,str){ +var _8f=new DeviceAPIError(0,"dummy"); +if(_8d.name!==undefined){ +if(_8d.name===null){ +this.LandmarkName=""; +}else{ +this.LandmarkName=_8d.name; +} +} +if((_8d.landmarkId===undefined)||(_8d.landmarkId===null)||(_8d.landmarkId==="")){ +throw new DeviceAPIError(_8f.MISSING_ARG_ERR,"for updating; id must be supplied"); +}else{ +this.id=_8d.landmarkId; +} +if(_8d.description!==undefined){ +if(_8d.description===null){ +this.LandmarkDesc=""; +}else{ +this.LandmarkDesc=_8d.description; +} +} +if(_8d.position){ +this.LandmarkPosition=new __sp_landmark_position_obj_fromJS_2LIW(_8d.position); +} +if(_8d.coverageRadius){ +this.CoverageRadius=_8d.coverageRadius; +} +if(_8d.categories){ +this.CategoryInfo=__sp_get_category_ids_for_names(_8d.categories); +if(!this.CategoryInfo){ +throw new DeviceError("Landmarks: "+str+"Category is invalid",err_bad_argument); +} +} +if(_8d.address){ +this.LandmarkFields=new __sp_landmark_address_obj(_8d.address); +} +this.temp="dummy"; +}; +function __sp_landmarks_iterator_has_next(){ +if(this.hasElement){ +if(this.lmItem!==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); +}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 _90=new Object(); +_90=this.lmItem; +this.lmItem=this.iter.getNext(); +if(typeof (this.lmItem)=="undefined"){ +this.lmItem=null; +} +return new __sp_device_landmark_obj(_90); +}else{ +this.lmItem=this.iter.getNext(); +if(typeof this.lmItem=="undefined"){ +this.hasElement=true; +this.lmItem=null; +return null; +}else{ +this.hasElement=true; +var _91=new Object(); +_91=this.lmItem; +this.lmItem=this.iter.getNext(); +if(typeof (this.lmItem)=="undefined"){ +this.lmItem=null; +} +return new __sp_device_landmark_obj(_91); +} +} +}; +function __sp_category_obj(_92){ +if(_92.name){ +this.CategoryName=_92.name; +} +if(_92.categoryId){ +this.id=_92.categoryId; +} +}; +function __sp_device_category_obj(_93){ +this.categoryId=_93.id; +this.name=_93.CategoryName; +}; +var LANDMARKS_APP_ID=270501282; +function __sp_landmarks_startEditor(_94,_95,_96){ +error=new DeviceAPIError(0,"dummy"); +if((_94===undefined)||(_94===null)||(_94==="")){ +throw new DeviceAPIError(error.MISSING_ARG_ERR,"StartEditor:Missing Success Callback"); +} +if((typeof _94)!="function"){ +throw new DeviceAPIError(error.INVALID_ARG_ERR,"StartEditor:Success Callback must be of type function"); +} +if(_95!==undefined){ +if((_95!==null)&&(_95!=="")){ +throw new DeviceAPIError(error.NOT_SUPPORTED_ERR,"startEditor:landmark item is not supported"); +} +} +if((_96!==undefined)&&(_96!==null)&&(_96!=="")){ +if((typeof _96)!="function"){ +throw new DeviceAPIError(error.INVALID_ARG_ERR,"StartEditor:error callback must be of type function"); +} +} +var _97=270501282; +var _98; +function __s60_on_app_exit(){ +window.xwidget.onshow=null; +if(_98){ +_98(); +} +}; +var _99=function(_9a,_9b,_9c){ +_94(_9a,_9b,_9c); +}; +__s60_start_and_wait(_97,"",_99); +}; +function __sp_landmarks_category_getList_cb(_9d,_9e,_9f){ +var _a0; +var _a1; +var _a2; +if(this.temporarySCb){ +_a1=this.temporarySCb; +_a2=this.temporaryECb; +this.temporarySCb=null; +this.temporaryECb=null; +}else{ +_a0=glob_obj.getFromArray(_9d); +if(_a0){ +_a1=_a0.success_cb; +_a2=_a0.error_cb; +}else{ +alert("Landmarks: __sp_landmarks_category_getList_cb: Callback not found "); 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"); -} -} -} +} +} +var _a3=null; +if(_9f.ErrorCode||(_9e==4)){ +var _a4=convertFromPS2JS(_9f.ErrorCode); +var _a5=new DeviceAPIError(_a4,_9f.ErrorMessage); +if(_a2){ +_a2(_a5); +} +}else{ +if(_9f.ReturnValue){ +_a3=new __sp_landmarks_category_iterator(_9f.ReturnValue); +_a1(_a3); +} +} +glob_obj.removeFromArray(_9d); +}; +function __sp_landmarks_category_getList(_a6,_a7,_a8){ +try{ +var _a9=new DeviceAPIError(0,"dummy"); +if((_a6===undefined)||(_a6==="")||(_a6===null)){ +throw new DeviceAPIError(_a9.MISSING_ARG_ERR,"callback is missing"); +} +if(typeof (_a6)!="function"){ +throw new DeviceAPIError(_a9.INVALID_ARG_ERR,"invalid callback argument"); +} +var _aa=false; +if((_a8!==undefined)&&(_a8!==null)&&(_a8!=="")){ +if(typeof (_a8)!="function"){ +throw new DeviceAPIError(_a9.INVALID_ARG_ERR,"invalid error callback argument"); +}else{ +_aa=true; +} +} +var _ab=new Object(); +modifyObjectBaseProp(_ab); +_ab.Type="Category"; +if((_a7!==undefined)&&(_a7!==null)&&(_a7!=="")){ +if(typeof (_a7)!="string"){ +throw new DeviceAPIError(_a9.INVALID_ARG_ERR,"name must be a string"); +} +} +if(_a7){ +_ab.Filter=new Object(); +modifyObjectBaseProp(_ab.Filter); +_ab.Filter.CategoryName=_a7; +_ab.Filter.PreviousMatchesOnly=false; +} +this.temporarySCb=_a6; +this.temporaryECb=_a8; +var _ac=this.so.IDataSource.GetList(_ab,this.getCategoriesCb); +if(_ac.TransactionID){ +glob_obj.addToGlobalArray(_ac.TransactionID,_a6,_a8); +} +if(_ac.ErrorCode!=0){ +switch(_ac.ErrorCode){ +case 1003: +throw new DeviceAPIError(_a9.MISSING_ARG_ERR,_ac.ErrorMessage); +break; +case 1002: +throw new DeviceAPIError(_a9.INVALID_ARG_ERR,_ac.ErrorMessage); +break; +case 1004: +throw new DeviceAPIError(_a9.NOT_SUPPORTED_ERR,_ac.ErrorMessage); +break; +case 1000: +throw new DeviceAPIError(_a9.INVALID_ARG_ERR,_ac.ErrorMessage); +break; +default: +throw new DeviceAPIError(-101,"unknown error message"); +} +} +return _ac.TransactionID; +} +catch(e){ +throw e; +} +}; +function __sp_landmarks_category_add_cb(_ad,_ae,_af){ +var _b0; +var _b1; +var _b2; +if(this.temporarySCb){ +category_cb=this.temporarySCb; +_b2=this.temporaryECb; +this.temporarySCb=null; +this.temporaryECb=null; +}else{ +_b0=glob_obj.getFromArray(_ad); +if(_b0){ +_b1=_b0.success_cb; +_b2=_b0.error_cb; +}else{ +alert("Landmarks: __sp_landmarks_category_add_cb: Callback not found "); +return; +} +} +var id=null; +if(_ae==4||_af.ErrorCode){ +var _b4=convertFromPS2JS(_af.ErrorCode); +var _b5=new DeviceAPIError(_b4,_af.ErrorMessage); +if(_b2){ +_b2(_b5); +} +}else{ +if(_af.ReturnValue){ +id=_af.ReturnValue; +} +_b1(id); +} +glob_obj.removeFromArray(_ad); +}; +function __sp_landmarks_category_add(_b6,_b7,_b8){ +try{ +var _b9=new DeviceAPIError(0,"dummy"); +var _ba=true; +if(_b6===undefined){ +throw new DeviceAPIError(_b9.MISSING_ARG_ERR,"AddSucessCallback is missing"); +}else{ +if(((_b6===null)||(_b6===""))&&(typeof (_b6)!="number")){ +throw new DeviceAPIError(_b9.MISSING_ARG_ERR,"AddSucessCallback is missing"); +}else{ +if(typeof (_b6)!="function"){ +throw new DeviceAPIError(_b9.INVALID_ARG_ERR,"invalid AddSucessCallback argument"); +} +} +} +if(_b7===undefined||_b7===null){ +throw new DeviceAPIError(_b9.MISSING_ARG_ERR,"CategoryItem is missing"); +}else{ +if(typeof (_b7)!=="object"){ +throw new DeviceAPIError(_b9.INVALID_ARG_ERR,"invalid CategoryItem argument"); +} +} +if((_b8!=undefined)){ +if((!_b8)&&(typeof (_b8)!="number")){ +_ba=false; +}else{ +if((typeof (_b8)!="function")){ +throw new DeviceAPIError(_b9.INVALID_ARG_ERR,"invalid ErrorCallback callback"); +} +} +}else{ +_ba=false; +} +var _bb=new Object(); +modifyObjectBaseProp(_bb); +_bb.Type="Category"; +_bb.Data=new __sp_category_obj(_b7); +this.temporarySCb=_b6; +this.temporaryECb=_b8; +var _bc=this.so.IDataSource.Add(_bb,this.addCategoryCb); +if(_bc.TransactionID){ +glob_obj.addToGlobalArray(_bc.TransactionID,_b6,_b8); +} +if(_bc.ErrorCode!=0){ +switch(_bc.ErrorCode){ +case err_missing_argument: +throw new DeviceAPIError(_b9.MISSING_ARG_ERR,_bc.ErrorMessage); +break; +case err_bad_argument: +throw new DeviceAPIError(_b9.INVALID_ARG_ERR,_bc.ErrorMessage); +break; +case err_ServiceNotSupported: +throw new DeviceAPIError(_b9.NOT_SUPPORTED_ERR,_bc.ErrorMessage); +break; +case err_InvalidService_Argument: +throw new DeviceAPIError(_b9.INVALID_ARG_ERR,_bc.ErrorMessage); +break; +default: +throw new DeviceAPIError(-101,"unknown error message"); +} +} +return _bc.TransactionID; +} +catch(e){ +throw e; +} +}; +function __sp_landmarks_add_cb(_bd,_be,_bf){ +var id=null; +var _c1; +var _c2; +var _c3; +if(this.temporarySCb){ +category_cb=this.temporarySCb; +_c3=this.temporaryECb; +this.temporarySCb=null; +this.temporaryECb=null; +}else{ +_c1=glob_obj.getFromArray(_bd); +if(_c1){ +_c2=_c1.success_cb; +_c3=_c1.error_cb; +}else{ +alert("Landmarks: __sp_landmarks_add_cb: Callback not found "); +return; +} +} +if(_be==4||_bf.ErrorCode){ +var _c4=convertFromPS2JS(_bf.ErrorCode); +var _c5=new DeviceAPIError(_c4,_bf.ErrorMessage); +if(_c3){ +_c3(_c5); +} +}else{ +if(_bf.ReturnValue){ +id=_bf.ReturnValue; +} +_c2(id); +} +glob_obj.removeFromArray(_bd); +}; +function __sp_landmarks_add(_c6,_c7,_c8){ 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); +var _c9=new DeviceAPIError(0,"dummy"); +var _ca=true; +if(_c6===undefined){ +throw new DeviceAPIError(_c9.MISSING_ARG_ERR,"AddSucessCallback is missing"); +}else{ +if(((_c6===null)||(_c6===""))&&(typeof (_c6)!="number")){ +throw new DeviceAPIError(_c9.MISSING_ARG_ERR,"AddSucessCallback is missing"); +}else{ +if(typeof (_c6)!="function"){ +throw new DeviceAPIError(_c9.INVALID_ARG_ERR,"invalid AddSucessCallback argument"); +} +} +} +if((_c7===undefined)||(_c7===null)||(_c7==="")){ +throw new DeviceAPIError(_c9.MISSING_ARG_ERR,"LandmarkItem is missing"); +}else{ +if(typeof (_c7)!=="object"){ +throw new DeviceAPIError(_c9.INVALID_ARG_ERR,"invalid LandmarkItem argument"); +} +} +if((_c8!=undefined)){ +if((!_c8)&&(typeof (_c8)!="number")){ +_ca=false; +}else{ +if((typeof (_c8)!="function")){ +throw new DeviceAPIError(_c9.INVALID_ARG_ERR,"invalid ErrorCallback callback"); +} +} +}else{ +_ca=false; +} +var str="addLandmark: "; +var _cc=new Object(); +modifyObjectBaseProp(_cc); +_cc.Type="Landmark"; +_cc.Data=new __sp_landmarks_addLmObject(_c7); +this.temporarySCb=_c6; +this.temporaryECb=_c8; +var _cd=this.so.IDataSource.Add(_cc,this.addLandmarkCb); +if(_cd.TransactionID){ +glob_obj.addToGlobalArray(_cd.TransactionID,_c6,_c8); +} +if(_cd.ErrorCode!=0){ +switch(_cd.ErrorCode){ +case err_missing_argument: +throw new DeviceAPIError(_c9.MISSING_ARG_ERR,_cd.ErrorMessage); +break; +case err_bad_argument: +throw new DeviceAPIError(_c9.INVALID_ARG_ERR,_cd.ErrorMessage); +break; +case err_ServiceNotSupported: +throw new DeviceAPIError(_c9.NOT_SUPPORTED_ERR,_cd.ErrorMessage); +break; +case err_InvalidService_Argument: +throw new DeviceAPIError(_c9.INVALID_ARG_ERR,_cd.ErrorMessage); +break; +default: +throw new DeviceAPIError(-101,"unknown error message"); +} +} +return _cd.TransactionID; +} +catch(e){ +throw e; +} +}; +function __sp_landmarks_delete_cb(_ce,_cf,_d0){ +var _d1; +var _d2; +var _d3; +if(this.temporarySCb){ +category_cb=this.temporarySCb; +_d2=this.temporaryECb; +this.temporarySCb=null; +this.temporaryECb=null; +}else{ +_d3=glob_obj.getFromArray(_ce); +if(_d3){ +_d1=_d3.success_cb; +_d2=_d3.error_cb; +}else{ +alert("Landmarks: __sp_landmarks_delete_cb: Callback not found "); 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); +} +} +if(_cf==4||_d0.ErrorCode){ +var _d4=convertFromPS2JS(_d0.ErrorCode); +var _d5=new DeviceAPIError(_d4,_d0.ErrorMessage); +if(_d2){ +_d2(_d5); +} +}else{ +_d1(); +} +glob_obj.removeFromArray(_ce); +}; +function __sp_landmarks_delete(_d6,_d7,_d8){ +try{ +var _d9=new DeviceAPIError(0,"dummy"); +var _da=true; +if(_d6===undefined){ +throw new DeviceAPIError(_d9.MISSING_ARG_ERR,"SucessCallback is missing"); +}else{ +if(((_d6===null)||(_d6===""))&&(typeof (_d6)!="number")){ +throw new DeviceAPIError(_d9.MISSING_ARG_ERR,"SucessCallback is missing"); +}else{ +if(typeof (_d6)!="function"){ +throw new DeviceAPIError(_d9.INVALID_ARG_ERR,"invalid SucessCallback argument"); +} +} +} +if(_d7===undefined||_d7===null){ +throw new DeviceAPIError(_d9.MISSING_ARG_ERR,"landmarkId is missing"); +}else{ +if(typeof (_d7)!=="string"){ +throw new DeviceAPIError(_d9.INVALID_ARG_ERR,"invalid landmarkId argument"); +} +} +if((_d8!=undefined)){ +if((!_d8)&&(typeof (_d8)!="number")){ +_da=false; +}else{ +if((typeof (_d8)!="function")){ +throw new DeviceAPIError(_d9.INVALID_ARG_ERR,"invalid ErrorCallback callback"); +} +} +}else{ +_da=false; +} +var _db=new Object(); +modifyObjectBaseProp(_db); +_db.Type="Landmark"; +_db.Data=new Object(); +modifyObjectBaseProp(_db.Data); +_db.Data.id=_d7; +this.temporarySCb=_d6; +this.temporaryECb=_d8; +var _dc=this.so.IDataSource.Delete(_db,this.deleteLandmarkCb); +if(_dc.TransactionID){ +glob_obj.addToGlobalArray(_dc.TransactionID,_d6,_d8); +} +if(_dc.ErrorCode!=0){ +switch(_dc.ErrorCode){ +case err_missing_argument: +throw new DeviceAPIError(_d9.MISSING_ARG_ERR,_dc.ErrorMessage); +break; +case err_bad_argument: +throw new DeviceAPIError(_d9.INVALID_ARG_ERR,_dc.ErrorMessage); +break; +case err_ServiceNotSupported: +throw new DeviceAPIError(_d9.NOT_SUPPORTED_ERR,_dc.ErrorMessage); +break; +case err_InvalidService_Argument: +throw new DeviceAPIError(_d9.INVALID_ARG_ERR,_dc.ErrorMessage); +break; +default: +throw new DeviceAPIError(-101,"unknown error message"); +} +} +return _dc.TransactionID; +} +catch(e){ +throw e; +} +}; +function __sp_landmarks_update_cb(_dd,_de,_df){ +var _e0; +var _e1; +var _e2; +if(this.temporarySCb){ +category_cb=this.temporarySCb; +_e1=this.temporaryECb; +this.temporarySCb=null; +this.temporaryECb=null; +}else{ +_e2=glob_obj.getFromArray(_dd); +if(_e2){ +_e0=_e2.success_cb; +_e1=_e2.error_cb; +}else{ +alert("Landmarks: __sp_landmarks_update_cb: Callback not found "); 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; +} +} +if(_de==4||_df.ErrorCode){ +var _e3=convertFromPS2JS(_df.ErrorCode); +var _e4=new DeviceAPIError(_e3,_df.ErrorMessage); +if(_e1){ +_e1(_e4); +} +}else{ +_e0(); +} +glob_obj.removeFromArray(_dd); +}; +function __sp_landmarks_update(_e5,_e6,_e7){ +try{ +var _e8=new DeviceAPIError(0,"dummy"); +var _e9=true; +if(_e5===undefined){ +throw new DeviceAPIError(_e8.MISSING_ARG_ERR,"SuccessCallback is missing"); +}else{ +if(((_e5===null)||(_e5===""))&&(typeof (_e5)!="number")){ +throw new DeviceAPIError(_e8.MISSING_ARG_ERR,"SuccessCallback is missing"); +}else{ +if(typeof (_e5)!="function"){ +throw new DeviceAPIError(_e8.INVALID_ARG_ERR,"invalid SuccessCallback argument"); +} +} +} +if(_e6===undefined||_e6===null||_e6===""){ +throw new DeviceAPIError(_e8.MISSING_ARG_ERR,"LandmarkItem is missing"); +}else{ +if(typeof (_e6)!=="object"){ +throw new DeviceAPIError(_e8.INVALID_ARG_ERR,"invalid LandmarkItem argument"); +} +} +if((_e7!=undefined)){ +if((!_e7)&&(typeof (_e7)!="number")){ +_e9=false; +}else{ +if((typeof (_e7)!="function")){ +throw new DeviceAPIError(_e8.INVALID_ARG_ERR,"invalid ErrorCallback callback"); +} +} +}else{ +_e9=false; +} +var str="updateLandmark: "; +var _eb=new Object(); +modifyObjectBaseProp(_eb); +_eb.Type="Landmark"; +_eb.Data=new __sp_landmark_obj(_e6,str); +this.temporarySCb=_e5; +this.temporaryECb=_e7; +var _ec=this.so.IDataSource.Add(_eb,this.updateLandmarkCb); +if(_ec.TransactionID){ +glob_obj.addToGlobalArray(_ec.TransactionID,_e5,_e7); +} +if(_ec.ErrorCode!=0){ +switch(_ec.ErrorCode){ +case err_missing_argument: +throw new DeviceAPIError(_e8.MISSING_ARG_ERR,_ec.ErrorMessage); +break; +case err_bad_argument: +throw new DeviceAPIError(_e8.INVALID_ARG_ERR,_ec.ErrorMessage); +break; +case err_ServiceNotSupported: +throw new DeviceAPIError(_e8.NOT_SUPPORTED_ERR,_ec.ErrorMessage); +break; +case err_InvalidService_Argument: +throw new DeviceAPIError(_e8.INVALID_ARG_ERR,_ec.ErrorMessage); +break; +default: +throw new DeviceAPIError(-101,"unknown error message"); +} +} +return _ec.TransactionID; +} +catch(e){ +throw e; +} +}; +function __sp_landmarks_category_update_cb(_ed,_ee,_ef){ +var _f0; +var _f1; +var _f2; +if(this.temporarySCb){ +category_cb=this.temporarySCb; +_f1=this.temporaryECb; +this.temporarySCb=null; +this.temporaryECb=null; +}else{ +_f2=glob_obj.getFromArray(_ed); +if(_f2){ +_f0=_f2.success_cb; +_f1=_f2.error_cb; +}else{ +alert("Landmarks: __sp_landmarks_category_update_cb: Callback not found "); +return; +} +} +if(_ee==4||_ef.ErrorCode){ +var _f3=convertFromPS2JS(_ef.ErrorCode); +var _f4=new DeviceAPIError(_f3,_ef.ErrorMessage); +if(_f1){ +_f1(_f4); +} +}else{ +_f0(); +} +glob_obj.removeFromArray(_ed); +}; +function __sp_landmarks_category_update(_f5,_f6,_f7){ +try{ +var _f8=new DeviceAPIError(0,"dummy"); +var _f9=true; +if(_f5===undefined){ +throw new DeviceAPIError(_f8.MISSING_ARG_ERR,"SucessCallback is missing"); +}else{ +if(((_f5===null)||(_f5===""))&&(typeof (_f5)!="number")){ +throw new DeviceAPIError(_f8.MISSING_ARG_ERR,"SucessCallback is missing"); +}else{ +if(typeof (_f5)!="function"){ +throw new DeviceAPIError(_f8.INVALID_ARG_ERR,"invalid SucessCallback argument"); +} +} +} +if(_f6===undefined||_f6===null||_f6===""){ +throw new DeviceAPIError(_f8.MISSING_ARG_ERR,"CategoryItem is missing"); +}else{ +if(typeof (_f6)!=="object"){ +throw new DeviceAPIError(_f8.INVALID_ARG_ERR,"invalid CategoryItem argument"); +} +} +if((_f6.categoryId===undefined)||(_f6.categoryId===null)||(_f6.categoryId==="")){ +throw new DeviceAPIError(_f8.MISSING_ARG_ERR,"categoryId is missing"); +} +if(typeof (_f6.categoryId)!="string"){ +throw new DeviceAPIError(_f8.INVALID_ARG_ERR,"category Id must be a string"); +} +if((_f7!=undefined)){ +if((!_f7)&&(typeof (_f7)!="number")){ +_f9=false; +}else{ +if((typeof (_f7)!="function")){ +throw new DeviceAPIError(_f8.INVALID_ARG_ERR,"invalid ErrorCallback callback"); +} +} +}else{ +_f9=false; +} +var _fa=new Object(); +modifyObjectBaseProp(_fa); +_fa.Type="Category"; +_fa.Data=new __sp_category_obj(_f6); +this.temporarySCb=_f5; +this.temporaryECb=_f7; +var _fb=this.so.IDataSource.Add(_fa,this.updateCategoryCb); +if(_fb.TransactionID){ +glob_obj.addToGlobalArray(_fb.TransactionID,_f5,_f7); +} +if(_fb.ErrorCode!=0){ +switch(_fb.ErrorCode){ +case err_missing_argument: +throw new DeviceAPIError(_f8.MISSING_ARG_ERR,_fb.ErrorMessage); +break; +case err_bad_argument: +throw new DeviceAPIError(_f8.INVALID_ARG_ERR,_fb.ErrorMessage); +break; +case err_ServiceNotSupported: +throw new DeviceAPIError(_f8.NOT_SUPPORTED_ERR,_fb.ErrorMessage); +break; +case err_InvalidService_Argument: +throw new DeviceAPIError(_f8.INVALID_ARG_ERR,_fb.ErrorMessage); +break; +default: +throw new DeviceAPIError(-101,"unknown error message"); +} +} +return _fb.TransactionID; +} +catch(e){ +throw e; +} +}; +function __sp_landmarks_category_delete_cb(_fc,_fd,_fe){ +var _ff; +var _100; +var _101; +if(this.temporarySCb){ +category_cb=this.temporarySCb; +_100=this.temporaryECb; +this.temporarySCb=null; +this.temporaryECb=null; +}else{ +_101=glob_obj.getFromArray(_fc); +if(_101){ +_ff=_101.success_cb; +_100=_101.error_cb; +}else{ +alert("Landmarks: __sp_landmarks_category_delete_cb: Callback not found "); +return; +} +} +if(_fd==4||_fe.ErrorCode){ +var _102=convertFromPS2JS(_fe.ErrorCode); +var _103=new DeviceAPIError(_102,_fe.ErrorMessage); +if(_100){ +_100(_103); +} +}else{ +_ff(); +} +glob_obj.removeFromArray(_fc); +}; +function __sp_landmarks_category_delete(_104,_105,_106){ +try{ +var _107=new DeviceAPIError(0,"dummy"); +var _108=true; +if(_104===undefined){ +throw new DeviceAPIError(_107.MISSING_ARG_ERR,"SucessCallback is missing"); +}else{ +if(((_104===null)||(_104===""))&&(typeof (_104)!="number")){ +throw new DeviceAPIError(_107.MISSING_ARG_ERR,"SucessCallback is missing"); +}else{ +if(typeof (_104)!="function"){ +throw new DeviceAPIError(_107.INVALID_ARG_ERR,"invalid SucessCallback argument"); +} +} +} +if(_105===undefined||_105===null){ +throw new DeviceAPIError(_107.MISSING_ARG_ERR,"categoryId is missing"); +}else{ +if(typeof (_105)!=="string"){ +throw new DeviceAPIError(_107.INVALID_ARG_ERR,"invalid categoryId argument"); +} +} +if((_106!=undefined)){ +if((!_106)&&(typeof (_106)!="number")){ +_108=false; +}else{ +if((typeof (_106)!="function")){ +throw new DeviceAPIError(_107.INVALID_ARG_ERR,"invalid ErrorCallback callback"); +} +} +}else{ +_108=false; +} +var _109=new Object(); +modifyObjectBaseProp(_109); +_109.Type="Category"; +_109.Data=new Object(); +modifyObjectBaseProp(_109.Data); +_109.Data.id=_105; +this.temporarySCb=_104; +this.temporaryECb=_106; +var rval=this.so.IDataSource.Delete(_109,this.deleteCategoryCb); +if(rval.TransactionID){ +glob_obj.addToGlobalArray(rval.TransactionID,_104,_106); +} +if(rval.ErrorCode!=0){ +switch(rval.ErrorCode){ +case err_missing_argument: +throw new DeviceAPIError(_107.MISSING_ARG_ERR,rval.ErrorMessage); +break; +case err_bad_argument: +throw new DeviceAPIError(_107.INVALID_ARG_ERR,rval.ErrorMessage); +break; +case err_ServiceNotSupported: +throw new DeviceAPIError(_107.NOT_SUPPORTED_ERR,rval.ErrorMessage); +break; +case err_InvalidService_Argument: +throw new DeviceAPIError(_107.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_cb(arg1,arg2,arg3){ 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); +var _10f; +var _110; +var _111; +if(this.temporarySCb){ +category_cb=this.temporarySCb; +_110=this.temporaryECb; +this.temporarySCb=null; +this.temporaryECb=null; +}else{ +_111=glob_obj.getFromArray(arg1); +if(_111){ +_10f=_111.success_cb; +_110=_111.error_cb; +}else{ +alert("Landmarks: __sp_landmarks_getList_cb: Callback not found "); return; } +} +if(arg3.ErrorCode||(arg2==4)){ +var _112=convertFromPS2JS(arg3.ErrorCode); +var _113=new DeviceAPIError(_112,arg3.ErrorMessage); +if(_110){ +_110(_113); +} }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); +iter=new __sp_landmarks_iterator(arg3.ReturnValue); +} +_10f(iter); +} +glob_obj.removeFromArray(arg1); +}; +function __sp_landmarks_getList(_114,_115,_116){ +try{ +var _117=new DeviceAPIError(0,"dummy"); +var _118=false; +var _119=false; +var _11a=false; +if((_114===undefined)||(_114===null)||(_114==="")){ +throw new DeviceAPIError(_117.MISSING_ARG_ERR,"SucessCallback is missing"); +} +if(typeof (_114)!="function"){ +throw new DeviceAPIError(_117.INVALID_ARG_ERR,"invalid SucessCallback argument"); +} +if((_116!==undefined)&&(_116!=="")&&(_116!==null)){ +if((typeof (_116)!="function")){ +throw new DeviceAPIError(_117.INVALID_ARG_ERR,"invalid error callback"); +}else{ +_118=true; +} +} +var _11b=new Object(); +modifyObjectBaseProp(_11b); +_11b.Type="Landmark"; +_11b.Filter=new Object(); +if((_115===undefined)||(_115===null)||(_115==="")){ +_11b.Filter.dummy="dummy"; +}else{ +if(typeof (_115)=="string"){ +_11b.Filter.LandmarkName=_115; +}else{ +if(typeof (_115)!="object"){ +throw new DeviceAPIError(_117.INVALID_ARG_ERR,"invalid match criteria"); +}else{ +if((_115.name!==undefined)&&(_115.name!==null)&&(_115.name!=="")){ +_11b.Filter.LandmarkName=_115.name; +} +if((_115.description!==undefined)&&(_115.description!==null)&&(_115.description!=="")){ +_11b.Filter.LandmarkDesc=_115.description; +} +if((_115.categoryId!==undefined)&&(_115.categoryId!==null)&&(_115.categoryId!=="")){ +_11b.Filter.categoryId=_115.categoryId; +} +if((_115.position!==undefined)&&(_115.position!==null)&&(_115.position!=="")){ +if(typeof (_115.position)!="object"){ +throw new DeviceAPIError(_117.INVALID_ARG_ERR,"position must be an object"); +}else{ +_11b.Filter.LandmarkPosition=new __sp_landmark_position_obj(_115.position); +} +} +if((_115.coverageRadiusUsed!==undefined)&&(_115.coverageRadiusUsed!==null)&&(_115.coverageRadiusUsed!=="")){ +if(typeof (_115.coverageRadiusUsed)!="number"){ +throw new DeviceAPIError(_117.INVALID_ARG_ERR,"coverageRadiusUsed should be number"); +}else{ +_11b.Filter.CoverageRadiusOption=_115.coverageRadiusUsed; +} +} +if((_115.searchRadius!==undefined)&&(_115.searchRadius!==null)&&(_115.searchRadius!=="")){ +if(typeof (_115.searchRadius)!="number"){ +throw new DeviceAPIError(_117.INVALID_ARG_ERR,"searchRadius should be number"); +}else{ +_11b.Filter.MaximumDistance=_115.searchRadius; +} +} +if((_115.area!==undefined)&&(_115.area!==null)&&(_115.area!=="")){ +if(typeof (_115.area)!="object"){ +throw new DeviceAPIError(_117.INVALID_ARG_ERR,"area must be an object"); +}else{ +_11b.Filter.BoundedArea=new __sp_landmark_bounded_area_obj(_115.area); +} +} +} +} +} +this.temporarySCb=_114; +this.temporaryECb=_116; +var rval=this.so.IDataSource.GetList(_11b,this.getLandmarksCb); +if(rval.TransactionID){ +glob_obj.addToGlobalArray(rval.TransactionID,_114,_116); +} +if(rval.ErrorCode!=0){ +switch(rval.ErrorCode){ +case 1003: +throw new DeviceAPIError(_117.MISSING_ARG_ERR,rval.ErrorMessage); +break; +case 1002: +throw new DeviceAPIError(_117.INVALID_ARG_ERR,rval.ErrorMessage); +break; +case 1004: +throw new DeviceAPIError(_117.NOT_SUPPORTED_ERR,rval.ErrorMessage); +break; +case 1000: +throw new DeviceAPIError(_117.INVALID_ARG_ERR,rval.ErrorMessage); 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; +throw new DeviceAPIError(-101,"unknown error message"); +} +} +return rval.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)); +throw e; +} +}; +function __sp_landmarks_import_cb(arg1,arg2,arg3){ +var iter=null; +var _121; +var _122; +var _123; +if(this.temporarySCb){ +category_cb=this.temporarySCb; +_122=this.temporaryECb; +this.temporarySCb=null; +this.temporaryECb=null; +}else{ +_123=glob_obj.getFromArray(arg1); +if(_123){ +_121=_123.success_cb; +_122=_123.error_cb; +}else{ +alert("Landmarks: __sp_landmarks_import_cb: Callback not found "); return; } +} +if(arg2==4||arg3.ErrorCode){ +var _124=convertFromPS2JS(arg3.ErrorCode); +var _125=new DeviceAPIError(_124,arg3.ErrorMessage); +if(_122){ +_122(_125); +} }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); +iter=new __sp_landmarks_iterator(arg3.ReturnValue); +} +_121(iter); +} +glob_obj.removeFromArray(arg1); +}; +function __sp_landmarks_import(_126,_127,_128,_129){ +try{ +var _12a=new DeviceAPIError(0,"dummy"); +var _12b=true; +if(_126===undefined){ +throw new DeviceAPIError(_12a.MISSING_ARG_ERR,"LandmarksItrCallback is missing"); +}else{ +if(((_126===null)||(_126===""))&&(typeof (_126)!="number")){ +throw new DeviceAPIError(_12a.MISSING_ARG_ERR,"LandmarksItrCallback is missing"); +}else{ +if(typeof (_126)!="function"){ +throw new DeviceAPIError(_12a.INVALID_ARG_ERR,"invalid LandmarksItrCallback argument"); +} +} +} +if(_127===undefined||_127===null){ +throw new DeviceAPIError(_12a.MISSING_ARG_ERR,"sourceFileUri is missing"); +}else{ +if(typeof (_127)!=="string"){ +throw new DeviceAPIError(_12a.INVALID_ARG_ERR,"invalid sourceFileUri argument"); +} +} +if(_128===undefined||_128===null){ +throw new DeviceAPIError(_12a.MISSING_ARG_ERR,"mimetype is missing"); +}else{ +if(typeof (_128)!=="string"){ +throw new DeviceAPIError(_12a.INVALID_ARG_ERR,"invalid mimetype argument"); +} +} +if((_129!=undefined)){ +if((!_129)&&(typeof (_129)!="number")){ +_12b=false; +}else{ +if((typeof (_129)!="function")){ +throw new DeviceAPIError(_12a.INVALID_ARG_ERR,"invalid ErrorCallback callback"); +} +} +}else{ +_12b=false; +} +var _12c=new Object(); +modifyObjectBaseProp(_12c); +_12c.Type="Landmark"; +_12c.Data=new Object(); +modifyObjectBaseProp(_12c.Data); +if(_127.slice(0,7)=="file://"){ +_127=_127.slice(7); +}else{ +if(_127.slice(0,8)=="file:///"){ +_127=_127.slice(8); +}else{ +throw new DeviceAPIError(_12a.INVALID_ARG_ERR,"sourceFileUri is not in URI format"); +} +} +while(_127.search("/")!=-1){ +_127=_127.replace("/","\\"); +} +_12c.Data.SourceFile=_127; +_12c.Data.MimeType=_128; +this.temporarySCb=_126; +this.temporaryECb=_129; +var rval=this.so.IDataSource.Import(_12c,this.importLandmarksCb); +if(rval.TransactionID){ +glob_obj.addToGlobalArray(rval.TransactionID,_126,_129); +} +if(rval.ErrorCode!=0){ +switch(rval.ErrorCode){ +case err_missing_argument: +throw new DeviceAPIError(_12a.MISSING_ARG_ERR,rval.ErrorMessage); +break; +case err_bad_argument: +throw new DeviceAPIError(_12a.INVALID_ARG_ERR,rval.ErrorMessage); +break; +case err_ServiceNotSupported: +throw new DeviceAPIError(_12a.NOT_SUPPORTED_ERR,rval.ErrorMessage); +break; +case err_InvalidService_Argument: +throw new DeviceAPIError(_12a.INVALID_ARG_ERR,rval.ErrorMessage); 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; +throw new DeviceAPIError(-101,"unknown error message"); +} +} +return rval.TransactionID; +} +catch(e){ +throw e; +} +}; +function __sp_landmarks_export_cb(arg1,arg2,arg3){ +var _131; +var _132; +var _133; +if(this.temporarySCb){ +category_cb=this.temporarySCb; +_132=this.temporaryECb; +this.temporarySCb=null; +this.temporaryECb=null; +}else{ +_133=glob_obj.getFromArray(arg1); +if(_133){ +_131=_133.success_cb; +_132=_133.error_cb; +}else{ +alert("Landmarks: __sp_landmarks_export_cb: Callback not found "); +return; +} +} +if(arg2==4||arg3.ErrorCode){ +var _134=convertFromPS2JS(arg3.ErrorCode); +var _135=new DeviceAPIError(_134,arg3.ErrorMessage); +if(_132){ +_132(_135); +} +}else{ +_131(); +} +glob_obj.removeFromArray(arg1); +}; +function __sp_landmarks_export(_136,_137,_138,_139,_13a){ try{ -this.so=device.getServiceObject("Service.Logging","IDataSource"); +var _13b=new DeviceAPIError(0,"dummy"); +var _13c=true; +if(_136===undefined){ +throw new DeviceAPIError(_13b.MISSING_ARG_ERR,"SuccessCallback is missing"); +}else{ +if(((_136===null)||(_136===""))&&(typeof (_136)!="number")){ +throw new DeviceAPIError(_13b.MISSING_ARG_ERR,"SuccessCallback is missing"); +}else{ +if(typeof (_136)!="function"){ +throw new DeviceAPIError(_13b.INVALID_ARG_ERR,"invalid SuccessCallback argument"); +} +} +} +if(_137===undefined||_137===null){ +throw new DeviceAPIError(_13b.MISSING_ARG_ERR,"landmarkIdList is missing"); +}else{ +if(typeof (_137)!=="object"){ +throw new DeviceAPIError(_13b.INVALID_ARG_ERR,"invalid landmarkIdList argument"); +} +} +if(_138===undefined||_138===null){ +throw new DeviceAPIError(_13b.MISSING_ARG_ERR,"destFileUri is missing"); +}else{ +if(typeof (_138)!=="string"){ +throw new DeviceAPIError(_13b.INVALID_ARG_ERR,"invalid destFileUri argument"); +} +} +if(_139===undefined||_139===null){ +throw new DeviceAPIError(_13b.MISSING_ARG_ERR,"mimetype is missing"); +}else{ +if(typeof (_139)!=="string"){ +throw new DeviceAPIError(_13b.INVALID_ARG_ERR,"invalid mimetype argument"); +} +} +if((_13a!=undefined)){ +if((!_13a)&&(typeof (_13a)!="number")){ +_13c=false; +}else{ +if((typeof (_13a)!="function")){ +throw new DeviceAPIError(_13b.INVALID_ARG_ERR,"invalid ErrorCallback callback"); +} +} +}else{ +_13c=false; +} +var _13d=new Object(); +modifyObjectBaseProp(_13d); +_13d.Type="Landmark"; +_13d.Data=new Object(); +modifyObjectBaseProp(_13d.Data); +if(_138.slice(0,7)=="file://"){ +_138=_138.slice(7); +}else{ +if(_138.slice(0,8)=="file:///"){ +_138=_138.slice(8); +}else{ +throw new DeviceAPIError(_13b.INVALID_ARG_ERR,"destFileUri is not in URI format"); +} +} +while(_138.search("/")!=-1){ +_138=_138.replace("/","\\"); +} +_13d.Data.DestinationFile=_138; +_13d.Data.IdList=_137; +_13d.Data.MimeType=_139; +this.temporarySCb=_136; +this.temporaryECb=_13a; +var rval=this.so.IDataSource.Export(_13d,this.exportLandmarksCb); +if(rval.TransactionID){ +glob_obj.addToGlobalArray(rval.TransactionID,_136,_13a); +} +if(rval.ErrorCode!=0){ +switch(rval.ErrorCode){ +case err_missing_argument: +throw new DeviceAPIError(_13b.MISSING_ARG_ERR,rval.ErrorMessage); +break; +case err_bad_argument: +throw new DeviceAPIError(_13b.INVALID_ARG_ERR,rval.ErrorMessage); +break; +case err_ServiceNotSupported: +throw new DeviceAPIError(_13b.NOT_SUPPORTED_ERR,rval.ErrorMessage); +break; +case err_InvalidService_Argument: +throw new DeviceAPIError(_13b.INVALID_ARG_ERR,rval.ErrorMessage); +break; +default: +throw new DeviceAPIError(-101,"unknown error message"); +} +} +return rval.TransactionID; } 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){ +throw e; +} +}; +function __sp_landmarks_organize_cb(arg1,arg2,arg3){ +var _142; +var _143; +if(this.temporarySCb){ +category_cb=this.temporarySCb; +_143=this.temporaryECb; +this.temporarySCb=null; +this.temporaryECb=null; +}else{ +CbObj=glob_obj.getFromArray(arg1); +if(CbObj){ +_142=CbObj.success_cb; +_143=CbObj.error_cb; +}else{ +alert("Landmarks: __sp_landmarks_organize_cb: Callback not found "); +return; +} +} +if(arg2==4||arg3.ErrorCode){ +var _144=convertFromPS2JS(arg3.ErrorCode); +var _145=new DeviceAPIError(_144,arg3.ErrorMessage); +if(_143){ +_143(_145); +} +}else{ +_142(); +} +glob_obj.removeFromArray(arg1); +}; +function __sp_landmarks_organize(_146,_147,_148,_149,_14a){ 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); -} -} +var _14b=new DeviceAPIError(0,"dummy"); +var _14c=true; +if(_146===undefined){ +throw new DeviceAPIError(_14b.MISSING_ARG_ERR,"SuccessCallback is missing"); +}else{ +if(((_146===null)||(_146===""))&&(typeof (_146)!="number")){ +throw new DeviceAPIError(_14b.MISSING_ARG_ERR,"SuccessCallback is missing"); +}else{ +if(typeof (_146)!="function"){ +throw new DeviceAPIError(_14b.INVALID_ARG_ERR,"invalid SuccessCallback argument"); +} +} +} +if(_147===undefined||_147===null){ +throw new DeviceAPIError(_14b.MISSING_ARG_ERR,"landmarkIdList is missing"); +}else{ +if(typeof (_147)!=="object"){ +throw new DeviceAPIError(_14b.INVALID_ARG_ERR,"invalid LandmarkItem argument"); +} +} +if(_148===undefined||_148===null){ +throw new DeviceAPIError(_14b.MISSING_ARG_ERR,"categoryId is missing"); +}else{ +if(typeof (_148)!=="string"){ +throw new DeviceAPIError(_14b.INVALID_ARG_ERR,"invalid categoryId argument"); +} +} +if(_149===undefined||_149===null){ +_149=true; +}else{ +if(typeof (_149)!=="boolean"){ +throw new DeviceAPIError(_14b.INVALID_ARG_ERR,"invalid associate argument"); +} +} +if((_14a!=undefined)){ +if((!_14a)&&(typeof (_14a)!="number")){ +_14c=false; +}else{ +if((typeof (_14a)!="function")){ +throw new DeviceAPIError(_14b.INVALID_ARG_ERR,"invalid ErrorCallback callback"); +} +} +}else{ +_14c=false; +} +var _14d=new Object(); +modifyObjectBaseProp(_14d); +_14d.Type="Landmark"; +_14d.Data=new Object(); +modifyObjectBaseProp(_14d.Data); +_14d.Data.id=_148; +_14d.Data.IdList=_147; +if(_149){ +_14d.OperationType="Associate"; +}else{ +_14d.OperationType="Disassociate"; +} +this.temporarySCb=_146; +this.temporaryECb=_14a; +var rval=this.so.IDataSource.Organise(_14d,this.organizeLandmarksCb); +if(rval.TransactionID){ +glob_obj.addToGlobalArray(rval.TransactionID,_146,_14a); +} +if(rval.ErrorCode!=0){ +switch(rval.ErrorCode){ +case err_missing_argument: +throw new DeviceAPIError(_14b.MISSING_ARG_ERR,rval.ErrorMessage); +break; +case err_bad_argument: +throw new DeviceAPIError(_14b.INVALID_ARG_ERR,rval.ErrorMessage); +break; +case err_ServiceNotSupported: +throw new DeviceAPIError(_14b.NOT_SUPPORTED_ERR,rval.ErrorMessage); +break; +case err_InvalidService_Argument: +throw new DeviceAPIError(_14b.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(_14f){ +try{ +var _150=new DeviceAPIError(0,"dummy"); +if((_14f===undefined)||(_14f===null)||(_14f==="")){ +throw new DeviceAPIError(_150.MISSING_ARG_ERR,"transactionId is missing"); +} +if(typeof (_14f)!="number"){ +throw new DeviceAPIError(_150.INVALID_ARG_ERR,"invalid transactionId argument"); +} +if(_14f<0){ +throw new DeviceAPIError(_150.DATA_NOT_FOUND_ERR,"non-existent transactionId"); +} +var _151=new Object(); +modifyObjectBaseProp(_151); +_151.TransactionID=_14f; +var rval=this.so.IDataSource.Cancel(_151); +if(rval.ErrorCode!=0){ +switch(rval.ErrorCode){ +case err_missing_argument: +throw new DeviceAPIError(_150.MISSING_ARG_ERR,rval.ErrorMessage); +break; +case err_bad_argument: +throw new DeviceAPIError(_150.INVALID_ARG_ERR,rval.ErrorMessage); +break; +case err_ServiceNotSupported: +throw new DeviceAPIError(_150.NOT_SUPPORTED_ERR,rval.ErrorMessage); +break; +case err_InvalidService_Argument: +throw new DeviceAPIError(_150.INVALID_ARG_ERR,rval.ErrorMessage); +break; +default: +throw new DeviceAPIError(-101,"unknown error message"); } } } @@ -2368,1957 +2291,78 @@ 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"); -} -}; +function __device_media_descriptor(_153){ +this.interfaceName=_153.interfaceName; +this.version=_153.version; +}; +function __device_media_getList(_154,_155,_156,_157){ +return this.provider.getList(_154,_155,_156,_157); +}; +function __device_media_getThumbnail(_158,_159,_15a){ +return this.provider.getThumbnail(_158,_159,_15a); +}; +function __device_media_addStreamUri(uri){ +return this.provider.addStreamUri(uri); +}; +function __device_media_deleteStreamUri(uri){ +return this.provider.deleteStreamUri(uri); +}; +function __device_media_cancel(_15d){ +this.provider.cancel(_15d); +}; +function __device_media_refreshMediaDb(uri){ +this.provider.refreshMediaDb(uri); +}; +function __device_media(_15f){ +this.provider=_15f; +this.interfaceName=_15f.descriptor.interfaceName; +this.version=_15f.descriptor.version; +this.SORT_ASCENDING=0; +this.SORT_DESCENDING=1; +this.getList=__device_media_getList; +this.getThumbnail=__device_media_getThumbnail; +this.addStreamUri=__device_media_addStreamUri; +this.deleteStreamUri=__device_media_deleteStreamUri; +this.refreshMediaDb=__device_media_refreshMediaDb; +this.cancel=__device_media_cancel; +}; +var __device_media_service_entry={"name":null,"version":null,"proto":__device_media,"descriptor":__device_media_descriptor,"providers":[{"descriptor":__sp_media_descriptor,"instance":__sp_media_instance}]}; +function __device_media_descriptor(_160){ +this.interfaceName=_160.interfaceName; +this.version=_160.version; +}; +function __device_media_getList(_161,_162,_163,_164){ +return this.provider.getList(_161,_162,_163,_164); +}; +function __device_media_getThumbnail(_165,_166,_167){ +return this.provider.getThumbnail(_165,_166,_167); +}; +function __device_media_addStreamUri(uri){ +return this.provider.addStreamUri(uri); +}; +function __device_media_deleteStreamUri(uri){ +return this.provider.deleteStreamUri(uri); +}; +function __device_media_cancel(_16a){ +this.provider.cancel(_16a); +}; +function __device_media_refreshMediaDb(uri){ +this.provider.refreshMediaDb(uri); +}; +function __device_media(_16c){ +this.provider=_16c; +this.interfaceName=_16c.descriptor.interfaceName; +this.version=_16c.descriptor.version; +this.SORT_ASCENDING=0; +this.SORT_DESCENDING=1; +this.getList=__device_media_getList; +this.getThumbnail=__device_media_getThumbnail; +this.addStreamUri=__device_media_addStreamUri; +this.deleteStreamUri=__device_media_deleteStreamUri; +this.refreshMediaDb=__device_media_refreshMediaDb; +this.cancel=__device_media_cancel; +}; +var __device_media_service_entry={"name":null,"version":null,"proto":__device_media,"descriptor":__device_media_descriptor,"providers":[{"descriptor":__sp_media_descriptor,"instance":__sp_media_instance}]}; var FILESCHMLEN=7; function __sp_media_descriptor(){ this.interfaceName="media"; @@ -4328,84 +2372,88 @@ this.version=1; } }; -function __sp_device_media_item_build(_264){ -if(!_264){ +function __sp_device_media_item_build(_16d){ +if(!_16d){ 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){ +var _16e={}; +modifyObjectBaseProp(_16e); +if(_16d.FileNameAndPath){ +var _16f=_16d.FileNameAndPath.replace(/\\/g,"/"); +var _170="file://"; +_16e.uri=_170+_16f; +} +if(_16d.MediaType){ +var _171=_16d.MediaType; +switch(_171){ case 1: case 2: -_265.type="audio"; +_16e.type="audio"; break; case 3: -_265.type="image"; +_16e.type="image"; break; case 4: -_265.type="video"; +_16e.type="video"; break; case 5: -_265.type="stream"; +_16e.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; +if(_16d.FileName){ +if(_16d.MediaType==3){ +_16e.title=_16d.FileName; +} +} +if(_16d.FileDate){ +_16e.date=new Date(Date.parse(_16d.FileDate)); +} +if(_16d.FileSize){ +_16e.size=_16d.FileSize; +} +if(_16d.SongName){ +_16e.title=_16d.SongName; +} +if(_16d.Artist){ +_16e.artist=_16d.Artist; +} +if(_16d.Album){ +_16e.album=_16d.Album; +} +if(_16d.Genre){ +_16e.genre=_16d.Genre; +} +if(_16d.TrackNumber){ +_16e.track=_16d.TrackNumber; +} +if(_16d.Composer){ +_16e.composer=_16d.Composer; +} +return _16e; }; 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); +var _173=__sp_device_media_item_build(item); item.close(); -return _26a; -}; -function __sp_media_iterator(_26b){ -this.iter=_26b; +return _173; +}; +function __sp_media_iterator(_174){ +this.iter=_174; this.next=__sp_media_iterator_get_next; +this.close=function(){ +this.iter.close(); +}; }; function __sp_media_get_field_name(name,type){ +this.error=new DeviceException(0,"Dummy"); if(typeof name!="string"){ -throw new DeviceException(INVALID_ARG_ERR,"Media:getList:field is of invalid type"); +throw new DeviceException(this.error.INVALID_ARG_ERR,"Media:getList:field is of invalid type"); } switch(name.toLowerCase()){ case "title": @@ -4429,64 +2477,63 @@ } }; function __sp_media_get_sortfield_name(name,type){ +this.error=new DeviceException(0,"Dummy"); if(typeof name!="string"){ -throw new DeviceException(INVALID_ARG_ERR,"Media:getList:sortBy is of invalid type"); -} -var _270=name.toLowerCase(); -if(_270=="date"){ +throw new DeviceException(this.error.INVALID_ARG_ERR,"Media:getList:sortBy is of invalid type"); +} +var _179=name.toLowerCase(); +if(_179=="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(); +var _17b=""; +_17b=date.getFullYear().toString(); if(date.getMonth()<10){ -_272=_272+("0")+(date.getMonth().toString()); -}else{ -_272=_272+(date.getMonth().toString()); +_17b=_17b+("0")+(date.getMonth().toString()); +}else{ +_17b=_17b+(date.getMonth().toString()); } var day=date.getDate()-1; if(day<10){ -_272=_272+("0")+(day.toString()); -}else{ -_272=_272+(day.toString()); -} -_272=_272+(":"); +_17b=_17b+("0")+(day.toString()); +}else{ +_17b=_17b+(day.toString()); +} +_17b=_17b+(":"); if(date.getHours()<10){ -_272=_272+("0")+(date.getHours().toString()); -}else{ -_272=_272+(date.getHours().toString()); +_17b=_17b+("0")+(date.getHours().toString()); +}else{ +_17b=_17b+(date.getHours().toString()); } if(date.getMinutes()<10){ -_272=_272+("0")+(date.getMinutes().toString()); -}else{ -_272=_272+(date.getMinutes().toString()); +_17b=_17b+("0")+(date.getMinutes().toString()); +}else{ +_17b=_17b+(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")); +_17b=_17b+("0")+(date.getSeconds().toString()); +}else{ +_17b=_17b+(date.getSeconds().toString()); +} +return _17b; +}; +function __sp_media_getList_cb(arg1,arg2,arg3){ +var _180; +var _181; +var _182; +_182=glob_obj.getFromArray(arg1); +if(_182){ +_180=_182.success_cb; +_181=_182.error_cb; +}else{ +alert("Media : __sp_media_getList_cb: Callback not found "); +return; +} +if(arg3.ErrorCode!=0&&arg3.ErrorCode!=1010){ +_181(new DeviceException(arg3.ErrorCode,"Media: getList: Operation Failed")); return; } if(arg2!=event_cancelled){ @@ -4494,120 +2541,163 @@ 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()){ +_180(iter); +} +glob_obj.removeFromArray(arg1); +}; +function __sp_media_getList(_184,_185,_186,_187){ +if(!_184){ +throw new DeviceException(this.error.MISSING_ARG_ERR,"Media:getList:Callback is missing"); +}else{ +if(typeof _184!="function"){ +throw new DeviceException(this.error.INVALID_ARG_ERR,"Media:getList:Callback is of invalid type"); +} +} +if(_187){ +if(typeof _187!="function"){ +throw new DeviceException(this.error.INVALID_ARG_ERR,"Media: getList: error callback is invalid"); +} +} +if((typeof _185)!="object"){ +throw new DeviceException(this.error.INVALID_ARG_ERR,"Invalid Argument:"+_185); +} +if(_185){ +if(("sortBy" in _185)&&(_185.sortBy==undefined||_185.sortBy==null||_185.sortBy=="")){ +throw new DeviceException(this.error.INVALID_ARG_ERR,"Media: getList: sortby is invalid"); +} +} +var _188={}; +modifyObjectBaseProp(_188); +_188.Type="FileInfo"; +_188.Filter={}; +modifyObjectBaseProp(_188.Filter); +_188.Sort={}; +modifyObjectBaseProp(_188.Sort); +if(_185){ +if(_185.type){ +if(typeof _185.type!="string"){ +throw new DeviceException(this.error.INVALID_ARG_ERR,"Media:getList:type is of invalid type"); +} +switch(_185.type.toLowerCase()){ case "audio": -_27d.Filter.FileType="audio"; +_188.Filter.FileType="audio"; break; case "image": -_27d.Filter.FileType="Image"; +_188.Filter.FileType="Image"; break; case "video": -_27d.Filter.FileType="Video"; +_188.Filter.FileType="Video"; break; case "stream": -_27d.Filter.FileType="StreamingURL"; +_188.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"; +throw new DeviceException(this.error.INVALID_ARG_ERR,"Media:getList: type is invalid"); +} +if(("field" in _185)&&(_185.field==undefined||_185.field==null)){ +throw new DeviceException(this.error.INVALID_ARG_ERR,"Media:getList:field is invalid"); +} +if(_185.field!=null){ +_188.Filter.Key=__sp_media_get_field_name(_185.field.name,_188.Filter.FileType); +if(_188.Filter.Key==null){ +throw new DeviceException(this.error.INVALID_ARG_ERR,"Media:getList:key is invalid"); +} +if(_185.field.value){ +_188.Filter.StartRange=_185.field.value; +if(_188.Filter.Key=="TrackNumber"){ +_188.Filter.EndRange=_185.field.value; +} +} +}else{ +if(_185.dateRange){ +if(typeof _185.dateRange!="object"){ +throw new DeviceException(this.error.INVALID_ARG_ERR,"Media:getList:dateRange is of invalid type"); +} +_188.Filter.Key="FileDate"; +if((typeof _185.dateRange.start!="undefined")&&(typeof _185.dateRange.end!="undefined")){ +if((typeof _185.dateRange.start!="object")||(_185.dateRange.start=="")||(_185.dateRange.start==null)){ +throw new DeviceException(this.error.INVALID_ARG_ERR,"Media:getList:dateRange:start is of invalid type"); +}else{ +_188.Filter.StartRange=__sp_media_get_date_objct(_185.dateRange.start); +} +if((typeof _185.dateRange.end!="object")||(_185.dateRange.end=="")||(_185.dateRange.end==null)){ +throw new DeviceException(this.error.INVALID_ARG_ERR,"Media:getList:dateRange:end is of invalid type"); +}else{ +_188.Filter.EndRange=__sp_media_get_date_objct(_185.dateRange.end); +} +}else{ +throw new DeviceException(this.error.INVALID_ARG_ERR,"Media:getList:start or end of dateRange is missing"); +} +}else{ +if(("dateRange" in _185)&&(_185.dateRange==0||_185.dateRange==null||_185.dateRange=="")){ +throw new DeviceException(this.error.INVALID_ARG_ERR,"Media:getList: dateRange is Invalid"); +} +} +} +if(_185.sortBy){ +_188.Sort.Key=__sp_media_get_sortfield_name(_185.sortBy,_188.Filter.FileType); +if(_188.Sort.Key==null){ +throw new DeviceException(this.error.INVALID_ARG_ERR,"Media:getList:sortBy is invalid"); +} +}else{ +_188.Sort.Key="FileDate"; +} +if(_186){ +if(_186==this.SORT_ASCENDING){ +_188.Sort.Order="Ascending"; +}else{ +if(_186==this.SORT_DESCENDING){ +_188.Sort.Order="Descending"; +}else{ +if((_186!=this.SORT_ASCENDING)||(_186!=this.SORT_DESCENDING)){ +throw new DeviceException(this.error.INVALID_ARG_ERR,"Media:getList:sortBy is invalid"); +} +} +} +}else{ +_188.Sort.Order="Ascending"; +} +}else{ +throw new DeviceException(this.error.MISSING_ARG_ERR,"Media:type is missing"); +} +}else{ +_188.Filter.FileType="all"; +_188.Sort.Key="FileDate"; +_188.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; +temp_scb=_184; +temp_ecb=_187; +var rval=this.so.IDataSource.GetList(_188,this.getListMediaCb); +if(rval.TransactionID){ +glob_obj.addToGlobalArray(rval.TransactionID,_184,_187); +} +if(_188.Sort){ +delete _188.Sort; +} +if(_188.Filter.StartRange){ +delete _188.Filter.StartRange; +} +if(_188.Filter.EndRange){ +delete _188.Filter.EndRange; +} +if(_188.Filter){ +delete _188.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: +case this.error.MISSING_ARG_ERR: +case this.error.INVALID_ARG_ERR: +case this.error.NOT_SUPPORTED_ERR: if(rval.ErrorMessage){ -var _27f=splitErrorMessage(rval.ErrorMessage); -throw new DeviceException(MapErrorCode[rval.ErrorCode],"Media:getList:"+_27f); +var _18a=splitErrorMessage(rval.ErrorMessage); +throw new DeviceException(MapErrorCode[rval.ErrorCode],"Media:getList:"+_18a); }else{ throw new DeviceException(MapErrorCode[rval.ErrorCode],"Media:getList:Operation failed"); } break; default: -_274(iter); +_187(new DeviceException(MapErrorCode[rval.ErrorCode],"Media: getList: Operation Failed")); } } return rval.TransactionID; @@ -4616,98 +2706,116 @@ __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")); +function __sp_media_getThumbnail_cb(arg1,arg2,arg3){ +var _18e; +var _18f; +var _190; +_190=glob_obj.getFromArray(arg1); +if(_190){ +_18f=_190.success_cb; +_18e=_190.error_cb; +}else{ +alert("Media : __sp_media_getThumbnail_cb: Callback not found "); +return; +} +if(arg3.ErrorCode!=0&&arg3.ErrorCode!=1010){ +_18e(new DeviceException(arg3.ErrorCode,"Media: getThumbnail: Operation Failed")); return; } if(arg2!=event_cancelled){ -var _288=null; +var _191=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; +_191=arg3.ReturnValue.replace(/\\/g,"/"); +var _192="file://"; +_191=_192+_191; +} +_18f(_191); +} +glob_obj.removeFromArray(arg1); +}; +function __sp_media_getThumbnail(_193,_194,_195){ +if(!_193){ +throw new DeviceException(this.error.MISSING_ARG_ERR,"Media:getThumbnail:Callback is missing"); +}else{ +if(typeof _193!="function"){ +throw new DeviceException(this.error.INVALID_ARG_ERR,"Media:getList:Callback is invalid"); +} +} +if(_195){ +var _196=_195; +if(typeof _195!="function"){ +throw new DeviceException(this.error.INVALID_ARG_ERR,"Media: getThumbnail: error callback is invalid"); +} +} +var _197={}; +modifyObjectBaseProp(_197); +if(_194){ +if(typeof _194!="object"){ +throw new DeviceException(this.error.INVALID_ARG_ERR,"Media:getThumbnail:thumbnailInfo is of invalid type object"); +} +if(_194.uri){ +if(typeof _194.uri!="string"){ +throw new DeviceException(this.error.INVALID_ARG_ERR,"Media:getThumbnail:uri is not of type string"); +} +if(_194.uri.search("file://")==0){ +url=_194.uri.slice(FILESCHMLEN); +_197.Url=url.replace(/\//g,"\\"); +}else{ +throw new DeviceException(this.error.INVALID_ARG_ERR,"Media:getThumbnail:uri is not in file protocol"); +} +}else{ +throw new DeviceException(this.error.MISSING_ARG_ERR,"Media:getThumbnail:uri is missing"); +} +}else{ +throw new DeviceException(this.error.MISSING_ARG_ERR,"Media:thumbnailInfo is missing"); +} +if(_194.size==null||_194.size==""){ +throw new DeviceException(this.error.INVALID_ARG_ERR,"Media:getThumbnail:size is not of type Object"); +} +if(_194.size){ +if(typeof _194.size!="object"){ +throw new DeviceException(this.error.INVALID_ARG_ERR,"Media:getThumbnail:size is not of type Object"); +} +if((typeof _194.size.width=="undefined")&&(typeof _194.size.height=="undefined")){ +throw new DeviceException(this.error.MISSING_ARG_ERR,"Media:thumbnailInfo should have atleast width or height"); +}else{ +var _198={}; +modifyObjectBaseProp(_198); +if(typeof _194.size.width!="undefined"){ +_198.width=_194.size.width; +} +if(typeof _194.size.height!="undefined"){ +_198.height=_194.size.height; +} +_197.ThumbnailSize=_198; +delete _198; } } try{ -var rval=this.so.IDataSource.GetThumbnail(_28a,_284); -delete _28a; +temp_scb=_193; +temp_ecb=_195; +var rval=this.so.IDataSource.GetThumbnail(_197,this.getThumbnailCb); +if(rval.TransactionID){ +glob_obj.addToGlobalArray(rval.TransactionID,_193,_195); +} +delete _197; 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); +case this.error.MISSING_ARG_ERR: +_195(new DeviceException(this.error.MISSING_ARG_ERR,"Media: getThumbnail: Operation Failed")); +break; +case this.error.NOT_SUPPORTED_ERR: +_195(new DeviceException(MapErrorCode[rval.ErrorCode],"Media:getThumbnail:Operation failed")); +break; +case this.error.INVALID_ARG_ERR: +throw new DeviceException(MapErrorCode[rval.ErrorCode],"Media:getThumbnail:Operation failed"); +break; +default: +if(_195){ +_195(new DeviceException(MapErrorCode[rval.ErrorCode],"Media:getThumbnail:Operation failed")); }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; @@ -4724,23 +2832,23 @@ }; function __sp_media_refreshMediaDb(uri){ }; -function __sp_media_cancel(_291){ +function __sp_media_cancel(_19d){ try{ -var rval=this.so.IDataSource.Cancel(_291); +var rval=this.so.IDataSource.Cancel(_19d); if(rval.ErrorCode!=0){ switch(rval.ErrorCode){ -case err_missing_argument: -case err_bad_argument: -case err_InvalidService_Argument: -case err_ServiceNotSupported: +case this.error.MISSING_ARG_ERR: +case this.error.INVALID_ARG_ERR: +case this.error.NOT_SUPPORTED_ERR: if(rval.ErrorMessage){ -var _293=splitErrorMessage(rval.ErrorMessage); -throw new DeviceException(MapErrorCode[rval.ErrorCode],"Media:cancel:"+_293); +var _19f=splitErrorMessage(rval.ErrorMessage); +throw new DeviceException(MapErrorCode[rval.ErrorCode],"Media:cancel:"+_19f); }else{ throw new DeviceException(MapErrorCode[rval.ErrorCode],"Media:cancel:Operation failed"); } break; default: +throw new DeviceException(MapErrorCode[rval.ErrorCode],"Media:cancel:Operation failed"); } } } @@ -4750,12 +2858,17 @@ }; function __sp_media_instance(){ this.descriptor=new __sp_media_descriptor(); +this.SORT_ASCENDING=0; +this.SORT_DESCENDING=1; this.getList=__sp_media_getList; +this.getListMediaCb=__sp_media_getList_cb; this.getThumbnail=__sp_media_getThumbnail; +this.getThumbnailCb=__sp_media_getThumbnail_cb; this.addStreamUri=__sp_media_addStreamUri; this.deleteStreamUri=__sp_media_deleteStreamUri; this.refreshMediaDb=__sp_media_refreshMediaDb; this.cancel=__sp_media_cancel; +this.error=new DeviceException(0,"Dummy"); try{ this.so=device.getServiceObject("Service.MediaManagement","IDataSource"); } @@ -4764,836 +2877,31 @@ __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); -} +var __device_sensors_service_entry={"name":null,"version":null,"proto":__device_sensors,"descriptor":__device_sensors_descriptor,"providers":[{"descriptor":__sp_sensors_descriptor,"instance":__sp_sensors_instance}]}; +function __device_sensors(_1a0){ +this.provider=_1a0; +this.interfaceName=_1a0.descriptor.interfaceName; +this.version=_1a0.descriptor.version; +this.getChannels=__device_sensors_getChannels; +this.startChannel=__device_sensors_setNotifier; +this.stopChannel=__device_sensors_cancelNotifier; +this.getScaleFactor=__device_sensors_getScaleFactor; +}; +function __device_sensors_descriptor(_1a1){ +this.interfaceName=_1a1.interfaceName; +this.version=_1a1.version; +}; +function __device_sensors_getChannels(){ +return this.provider.getChannels(); +}; +function __device_sensors_setNotifier(_1a2,_1a3,_1a4){ +return this.provider.startChannel(_1a2,_1a3,_1a4); +}; +function __device_sensors_cancelNotifier(_1a5){ +return this.provider.stopChannel(_1a5); +}; +function __device_sensors_getScaleFactor(_1a6){ +return this.provider.getScaleFactor(_1a6); }; function __sp_sensors_descriptor(){ this.interfaceName="sensors"; @@ -5622,161 +2930,161 @@ var __orientation_channel={ucb:null,tids:null}; function __rotation_cb(arg1,arg2,arg3){ if(arg2!=event_cancelled){ -var _2fe=null; +var _1aa=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); +_1aa={}; +modifyObjectBaseProp(_1aa); +_1aa.timeStamp=time; +_1aa.rotationAboutXAxis=xrot; +_1aa.rotationAboutYAxis=yrot; +_1aa.rotationAboutZAxis=zrot; +} +__rotation_channel.ucb(_1aa); } }; function __XYZ_cb(arg1,arg2,arg3){ if(arg2!=event_cancelled){ -var _306=null; +var _1b2=null; if(arg3.ReturnValue){ var time=arg3.ReturnValue.TimeStamp; -var _308=arg3.ReturnValue.XAxisData; -var _309=arg3.ReturnValue.YAxisData; -var _30a=arg3.ReturnValue.ZAxisData; +var _1b4=arg3.ReturnValue.XAxisData; +var _1b5=arg3.ReturnValue.YAxisData; +var _1b6=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); +_1b2={}; +modifyObjectBaseProp(_1b2); +_1b2.timeStamp=time; +_1b2.axisX=_1b4; +_1b2.axisY=_1b5; +_1b2.axisZ=_1b6; +} +__XYZ_channel.ucb(_1b2); } }; function __orientation_cb(arg1,arg2,arg3){ if(arg2!=event_cancelled){ -var _30e=null; +var _1ba=null; if(arg3.ReturnValue){ var time=arg3.ReturnValue.TimeStamp; -var _310=arg3.ReturnValue.DeviceOrientation; +var _1bc=arg3.ReturnValue.DeviceOrientation; arg3.ReturnValue.close(); -_30e={}; -modifyObjectBaseProp(_30e); -_30e.timeStamp=time; -_30e.deviceOrientation=_310; -} -__orientation_channel.ucb(_30e); +_1ba={}; +modifyObjectBaseProp(_1ba); +_1ba.timeStamp=time; +_1ba.deviceOrientation=_1bc; +} +__orientation_channel.ucb(_1ba); } }; 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"); +function __sp_sensors_setNotifier(_1bd,_1be,_1bf){ +var _1c0=new DeviceException(0,"dummy"); +if(!_1bd){ +throw new DeviceAPIError(_1c0.MISSING_ARG_ERR,"Callback is missing"); +} +if((typeof _1bd)!="function"){ +throw new DeviceAPIError(_1c0.INVALID_ARG_ERR,"Callback is of invalid type"); +} +if(_1bf&&((typeof _1bf)!="function")){ +throw new DeviceAPIError(_1c0.INVALID_ARG_ERR,"InValid error Callback"); +} +if(!_1be){ +throw new DeviceAPIError(_1c0.MISSING_ARG_ERR,"Channel is missing"); +} +if((typeof _1be)!="string"){ +throw new DeviceAPIError(_1c0.INVALID_ARG_ERR,"Channel is of invalid type"); } var rval; var cb; -var _317={}; -modifyObjectBaseProp(_317); -switch(_312){ +var _1c3={}; +modifyObjectBaseProp(_1c3); +switch(_1be){ case "Rotation": -_317.SearchCriterion="Rotation"; +_1c3.SearchCriterion="Rotation"; cb=__rotation_cb; -__rotation_channel.ucb=_311; +__rotation_channel.ucb=_1bd; break; case "AccelerometerAxis": -_317.SearchCriterion="AccelerometerAxis"; +_1c3.SearchCriterion="AccelerometerAxis"; cb=__XYZ_cb; -__XYZ_channel.ucb=_311; +__XYZ_channel.ucb=_1bd; break; case "Orientation": -_317.SearchCriterion="Orientation"; +_1c3.SearchCriterion="Orientation"; cb=__orientation_cb; -__orientation_channel.ucb=_311; +__orientation_channel.ucb=_1bd; break; default: -throw new DeviceAPIError(_314.NOT_SUPPORTED_ERR,"Unsupported input channel"); +throw new DeviceAPIError(_1c0.NOT_SUPPORTED_ERR,"Unsupported input channel"); } try{ -rval=this.so.ISensor.FindSensorChannel(_317); -if(_317){ -delete _317.SearchCriterion; +rval=this.so.ISensor.FindSensorChannel(_1c3); +if(_1c3){ +delete _1c3.SearchCriterion; } if(rval.ErrorCode!=0){ -throw new DeviceAPIError(_314.NOT_SUPPORTED_ERR,"StartChannel:Operation Failed"); +throw new DeviceAPIError(_1c0.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; +var _1c5=[]; +var _1c6=rval["ReturnValue"]; +var _1c7=_1c6.length; +cmap=_1c6[0]; +var _1c8={}; +modifyObjectBaseProp(_1c8); +_1c8.ListeningType="ChannelData"; +_1c8.ChannelInfoMap=cmap; +var _1c9=this.so.ISensor.RegisterForNotification(_1c8,cb); +if(_1c8){ +delete _1c8.ChannelInfoMap; +delete _1c8.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")); +_1c5[0]=_1c9["TransactionID"]; +if(_1c9.ErrorCode!=0){ +if(_1c9.ErrorCode==1005){ +_1bf(new DeviceAPIError(_1c0.SERVICE_IN_USE_ERR,"Not Allowed Operation")); return; }else{ -throw new DeviceAPIError(_314.NOT_SUPPORTED_ERR,"StartChannel:Operation Failed"); +throw new DeviceAPIError(_1c0.NOT_SUPPORTED_ERR,"StartChannel:Operation Failed"); } } } catch(e2){ __device_handle_exception(e2,"__sp_sensors_setNotifier: RegisterForNotification: "+e2); } -switch(_312){ +switch(_1be){ case "Rotation": -__rotation_channel.tid=_319; +__rotation_channel.tid=_1c5; break; case "AccelerometerAxis": -__XYZ_channel.tid=_319; +__XYZ_channel.tid=_1c5; 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"); +__orientation_channel.tid=_1c5; +break; +} +return _1c5; +}; +function __sp_sensors_cancelNotifier(_1ca){ +var _1cb=new DeviceException(0,"dummy"); +if(!_1ca){ +throw new DeviceAPIError(_1cb.MISSING_ARG_ERR,"Channel is missing"); +} +if((typeof _1ca)!="string"){ +throw new DeviceAPIError(_1cb.INVALID_ARG_ERR,"Channel is of invalid type"); } var id; -switch(_31e){ +switch(_1ca){ case "Rotation": id=__rotation_channel.tid; __rotation_channel.tid=null; @@ -5790,22 +3098,22 @@ __orientation_channel.tid=null; break; default: -throw new DeviceAPIError(_31f.NOT_SUPPORTED_ERR,"Unsupported input channel"); +throw new DeviceAPIError(_1cb.NOT_SUPPORTED_ERR,"Unsupported input channel"); } if(!id){ -throw new DeviceAPIError(_31f.DATA_NOT_FOUND_ERR,"Stop Channel:Operation Failed"); -} -var _321={}; -modifyObjectBaseProp(_321); +throw new DeviceAPIError(_1cb.DATA_NOT_FOUND_ERR,"Stop Channel:Operation Failed"); +} +var _1cd={}; +modifyObjectBaseProp(_1cd); for(var i in id){ -_321.TransactionID=id[i]; +_1cd.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"); +var _1cf=this.so.ISensor.Cancel(_1cd); +if(_1cd){ +delete _1cd.TransactionID; +} +if(_1cf.ErrorCode!=0){ +throw new DeviceAPIError(_1cb.DATA_NOT_FOUND_ERR,"Stop Channel:Operation Failed"); } } catch(e1){ @@ -5813,55 +3121,81 @@ } } }; -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"); +function __sp_sensors_getScaleFactor(_1d0){ +var _1d1=new DeviceException(0,"dummy"); +if(!_1d0){ +throw new DeviceAPIError(_1d1.MISSING_ARG_ERR,"Channel is missing"); +} +if((typeof _1d0)!="string"){ +throw new DeviceAPIError(_1d1.INVALID_ARG_ERR,"Channel is of invalid type"); +} +if(_1d0!="AccelerometerAxis"){ +throw new DeviceAPIError(_1d1.NOT_SUPPORTED_ERR,"Unsupported input channel"); } try{ -var _326={}; -_326.SearchCriterion="AccelerometerAxis"; -var rval=this.so.ISensor.FindSensorChannel(_326); -if(_326){ -delete _326.SearchCriterion; +var _1d2={}; +_1d2.SearchCriterion="AccelerometerAxis"; +var rval=this.so.ISensor.FindSensorChannel(_1d2); +if(_1d2){ +delete _1d2.SearchCriterion; } if(rval.ErrorCode!=0){ -throw new DeviceAPIError(_325.NOT_SUPPORTED_ERR,"getScaleFactor:Operation Failed"); +throw new DeviceAPIError(_1d1.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; +var _1d5=rval["ReturnValue"]; +cmap=_1d5[0]; +var _1d6={}; +modifyObjectBaseProp(_1d6); +_1d6.ListeningType="ChannelData"; +_1d6.ChannelInfoMap=cmap; +var _1d7=this.so.ISensor.GetScaleFactor(_1d6); +if(_1d6){ +delete _1d6.ChannelInfoMap; +delete _1d6.ListeningType; } if(cmap){ delete cmap.index; } -if(_32b.ErrorCode!=0){ -throw new DeviceAPIError(_325.NOT_SUPPORTED_ERR,"getScaleFactor:Operation Failed"); +if(_1d7.ErrorCode!=0){ +throw new DeviceAPIError(_1d1.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(); +return _1d7["ReturnValue"]; +}; +var __device_sysinfo_service_entry={"name":null,"version":null,"proto":__device_sysinfo,"descriptor":__device_sysinfo_descriptor,"providers":[{"descriptor":__sp_sysinfo_descriptor,"instance":__sp_sysinfo_instance}]}; +function __device_sysinfo(_1d8){ +this.provider=_1d8; +this.interfaceName=_1d8.descriptor.interfaceName; +this.version=_1d8.descriptor.version; +this.getChannelList=__device_channels_get; +this.getChannel=__device_sysinfo_get; +this.startChannel=__device_sysinfo_setNotifier; +this.stopChannel=__device_sysinfo_cancelNotifier; +this.cancel=__device_sysinfo_cancel; +}; +function __device_sysinfo_descriptor(_1d9){ +this.interfaceName=_1d9.interfaceName; +this.version=_1d9.version; +}; +function __device_channels_get(){ +return this.provider.getChannelList(); +}; +function __device_sysinfo_get(_1da,_1db,_1dc){ +return this.provider.getChannel(_1da,_1db,_1dc); +}; +function __device_sysinfo_setNotifier(_1dd,_1de,_1df,_1e0){ +return this.provider.startChannel(_1dd,_1de,_1df,_1e0); +}; +function __device_sysinfo_cancelNotifier(_1e1){ +return this.provider.stopChannel(_1e1); +}; +function __device_sysinfo_cancel(id){ +return this.provider.cancel(id); +}; function __sp_sysinfo_descriptor(){ this.interfaceName="sysinfo"; if(window.__Service_Interface_Ver){ @@ -5874,9 +3208,11 @@ this.descriptor=new __sp_sysinfo_descriptor(); this.getChannelList=__sp_channel_descriptors_get; this.getChannel=__sp_sysinfo_get; +this.getChannelCb=__sp_sysinfo_get_cb; this.startChannel=__sp_sysinfo_setNotifier; this.stopChannel=__sp_sysinfo_cancelNotifier; this.cancel=__sp_sysinfo_cancel; +this.error=new DeviceException(0,"Dummy"); try{ this.so=device.getServiceObject("Service.SysInfo","ISysInfo"); } @@ -5886,76 +3222,76 @@ } }; 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 _1e3=[{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 _1e3; }; 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){ +function __sp_device_sysinfo_toDecibel(_1e4){ +var _1e5=_1e4/100; +var _1e6=max-(_1e5*diff); +_1e6=Math.round(_1e6); +return _1e6; +}; +function __sp_device_sysinfo_toPercentage(_1e7){ +if(_1e7==0){ +return _1e7; +}else{ +var _1e8=max-_1e7; +var _1e9=_1e8/diff; +_1e9*=100; +_1e9=Math.round(_1e9); +return _1e9; +} +}; +function __sp_device_sysinfo_toBool(_1ea){ +if(_1ea==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){ +function mappingVerification(_1eb){ +if(_1eb==1016||_1eb==1012||_1eb==1010||_1eb==1009||_1eb==1005||_1eb==1000||_1eb==1011||_1eb==1007||_1eb==1003||_1eb==1002){ return true; }else{ return false; } }; -function __sp_device_sysinfo_extract(_335){ -var _336=_335.Key; -var _337={}; -modifyObjectBaseProp(_337); +function __sp_device_sysinfo_extract(_1ec){ +var _1ed=_1ec.Key; +var _1ee={}; +modifyObjectBaseProp(_1ee); try{ -switch(_336){ +switch(_1ed){ case "ChargingStatus": -_337.chargingStatus=__sp_device_sysinfo_toBool(_335.Status); +_1ee.chargingStatus=__sp_device_sysinfo_toBool(_1ec.Status); break; case "BatteryStrength": -_337.batteryLevel=_335.Status; +_1ee.batteryLevel=_1ec.Status; break; case "SignalStrength": -_337.signalStrength=__sp_device_sysinfo_toPercentage(_335.Status); +_1ee.signalStrength=__sp_device_sysinfo_toPercentage(_1ec.Status); break; case "CurrentNetwork": -var _338; +var _1ef; var mode; -switch(_335.NetworkStatus){ +switch(_1ec.NetworkStatus){ case 0: -_338="Available"; +_1ef="Available"; break; case 1: -_338="Current"; +_1ef="Current"; break; case 2: -_338="Forbidden"; +_1ef="Forbidden"; break; default: -_338="Unknown"; -break; -} -switch(_335.NetworkMode){ +_1ef="Unknown"; +break; +} +switch(_1ec.NetworkMode){ case 1: mode="ModeGsm"; break; @@ -5970,163 +3306,178 @@ 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; +_1ee.networkName=_1ec.NetworkName; +_1ee.networkStatus=_1ef; +_1ee.networkMode=mode; +_1ee.mobileCountryCode=_1ec.CountryCode; +_1ee.mobileNetworkCode=_1ec.NetworkCode; +_1ee.locationStatus=_1ec.LocationStatus; +_1ee.areaCode=_1ec.AreaCode; +_1ee.cellID=_1ec.CellId; break; case "DisplayLanguage": -_337.phoneLanguage=_335.StringData; +_1ee.phoneLanguage=_1ec.StringData; break; case "BlueTooth": -_337.btOn=__sp_device_sysinfo_toBool(_335.Status); +_1ee.btOn=__sp_device_sysinfo_toBool(_1ec.Status); break; case "ProductType": -_337.productType=_335.StringData; +_1ee.productType=_1ec.StringData; break; case "FirmwareVersion": -_337.firmwareVersion=_335.StringData; +_1ee.firmwareVersion=_1ec.StringData; break; case "DeviceInputMethod": -_337.deviceInputMethod=_335.StringData; +_1ee.deviceInputMethod=_1ec.StringData; break; default: -_337=_335; -break; -} -return _337; +_1ee=_1ec; +break; +} +return _1ee; } 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; +function __sp_sysinfo_get_cb(arg1,arg2,arg3){ +var _1f4; +var _1f5; +var _1f6; +_1f6=glob_obj.getFromArray(arg1); +if(_1f6){ +_1f4=_1f6.success_cb; +_1f5=_1f6.error_cb; +}else{ +alert("Sysinfo: __sp_sysinfo_get_cb: Callback not found "); +return; +} var op=null; if(arg3.ErrorCode!=0){ -var _346=splitErrorMessage(arg3.ErrorMessage); -_344(new DeviceException(MapErrorCode[arg3.ErrorCode],"SysInfo:getChannel: "+_346)); +var _1f8=splitErrorMessage(arg3.ErrorMessage); +_1f5(new DeviceException(MapErrorCode[arg3.ErrorCode],"SysInfo:getChannel: "+_1f8)); }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); +_1f4(op); +} +} +glob_obj.removeFromArray(arg1); +}; +function __sp_sysinfo_get(_1f9,_1fa,_1fb){ +var so; +var rval; +var _1fe=false; +var _1ff="Status"; +var _200; +var _201={}; +modifyObjectBaseProp(_201); try{ -switch(_33a){ +switch(_1f9){ case "Charging": -_34a.Entity="Battery"; -_34a.Key="ChargingStatus"; +_201.Entity="Battery"; +_201.Key="ChargingStatus"; break; case "BatteryLevel": -_34a.Entity="Battery"; -_34a.Key="BatteryStrength"; -_347=true; +_201.Entity="Battery"; +_201.Key="BatteryStrength"; +_1fe=true; break; case "SignalStrength": -_34a.Entity="Network"; -_34a.Key="SignalStrength"; -_347=true; +_201.Entity="Network"; +_201.Key="SignalStrength"; +_1fe=true; break; case "Network": -_34a.Entity="Network"; -_34a.Key="CurrentNetwork"; -_347=true; +_201.Entity="Network"; +_201.Key="CurrentNetwork"; +_1fe=true; break; case "PhoneLanguage": -_34a.Entity="General"; -_34a.Key="DisplayLanguage"; +_201.Entity="General"; +_201.Key="DisplayLanguage"; break; case "BluetoothOn": -_34a.Entity="Connectivity"; -_34a.Key="BlueTooth"; +_201.Entity="Connectivity"; +_201.Key="BlueTooth"; break; case "ProductType": -_34a.Entity="Device"; -_34a.Key="ProductType"; +_201.Entity="Device"; +_201.Key="ProductType"; break; case "FirmwareVersion": -_34a.Entity="Device"; -_34a.Key="FirmwareVersion"; +_201.Entity="Device"; +_201.Key="FirmwareVersion"; break; case "DeviceInputMethod": -_34a.Entity="Device"; -_34a.Key="DeviceInputMethod"; +_201.Entity="Device"; +_201.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(_1f9==null){ +throw new DeviceException(this.error.MISSING_ARG_ERR,"SysInfo:getChannel:channel is missing"); +}else{ +if(typeof _1f9!="string"){ +throw new DeviceException(this.error.INVALID_ARG_ERR,"SysInfo:getChannel:channel is of invalid type"); +}else{ +throw new DeviceException(this.error.INVALID_ARG_ERR,"SysInfo:getChannel:channel is invalid"); +} +} +} +if(_1fe){ +if(_1fa==null){ +throw new DeviceException(this.error.MISSING_ARG_ERR,"SysInfo:getChannel:callback is missing"); +} +if(typeof _1fa!="function"){ +throw new DeviceException(this.error.INVALID_ARG_ERR,"SysInfo:getChannel:callback is invalid"); +} +if(_1fb){ +if(typeof (_1fb)!="function"){ +throw new DeviceException(this.error.INVALID_ARG_ERR,"SysInfo:getChannel: ErrorCallback is invalid"); +} +} +temp_scb=_1fa; +temp_ecb=_1fb; +rval=this.so.ISysInfo.GetInfo(_201,this.getChannelCb); +if(rval.TransactionID){ +glob_obj.addToGlobalArray(rval.TransactionID,_1fa,_1fb); +} if(rval.ErrorCode!=0){ -var _34b=mappingVerification(rval.ErrorCode); -if(_34b){ +var _202=mappingVerification(rval.ErrorCode); +if(_202){ switch(MapErrorCode[rval.ErrorCode]){ -case MISSING_ARG_ERR: -case INVALID_ARG_ERR: +case this.error.MISSING_ARG_ERR: +case this.error.INVALID_ARG_ERR: if(rval.ErrorMessage){ -var _34c=splitErrorMessage(rval.ErrorMessage); -throw new DeviceException(MapErrorCode[rval.ErrorCode],"SysInfo: getChannel: "+_34c); +var _203=splitErrorMessage(rval.ErrorMessage); +throw new DeviceException(MapErrorCode[rval.ErrorCode],"SysInfo: getChannel: "+_203); }else{ throw new DeviceException(MapErrorCode[rval.ErrorCode],"SysInfo:getChannel:Operation Failed"); } break; default: -_33b(0); -} -}else{ -_33b(0); +_1fa(0); +} +}else{ +_1fa(0); } } return rval.TransactionID; }else{ -rval=this.so.ISysInfo.GetInfo(_34a); +rval=this.so.ISysInfo.GetInfo(_201); if(rval.ErrorCode!=0){ if(rval.ErrorMessage){ -var _34d=splitErrorMessage(rval.ErrorMessage); -throw new DeviceException(MapErrorCode[rval.ErrorCode],"SysInfo: getChannel: "+_34d); +var _204=splitErrorMessage(rval.ErrorMessage); +throw new DeviceException(MapErrorCode[rval.ErrorCode],"SysInfo: getChannel: "+_204); }else{ throw new DeviceException(MapErrorCode[rval.ErrorCode],"SysInfo:getChannel:Operation Failed"); } } -_349=__sp_device_sysinfo_extract(rval.ReturnValue); -return _349; -} -delete _34a; +_200=__sp_device_sysinfo_extract(rval.ReturnValue); +return _200; +} +delete _201; } catch(e){ __device_handle_exception(e,"__sp_sysinfo_get: getChannel: "+e); @@ -6210,130 +3561,132 @@ } } }; -function __sp_sysinfo_setNotifier(_366,_367,_368,_369){ +function __sp_sysinfo_setNotifier(_21d,_21e,_21f,_220){ var rval; -var _36b=null; +var _222=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); +var _224={}; +if(_21d==null){ +throw new DeviceException(this.error.MISSING_ARG_ERR,"SysInfo:startChannel:callback is missing"); +} +if(typeof _21d!="function"){ +throw new DeviceException(this.error.INVALID_ARG_ERR,"SysInfo:startChannel:callback is invalid"); +} +modifyObjectBaseProp(_224); try{ -switch(_367){ +switch(_21e){ case "Charging": -_36d.Entity="Battery"; -_36d.Key="ChargingStatus"; -_36b=__charging_status_channel; +_224.Entity="Battery"; +_224.Key="ChargingStatus"; +_222=__charging_status_channel; cb=__charging_status_channel_cb; break; case "Network": -_36d.Entity="Network"; -_36d.Key="CurrentNetwork"; -_36b=__net_coverage_channel; +_224.Entity="Network"; +_224.Key="CurrentNetwork"; +_222=__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; +_224.Entity="Battery"; +_224.Key="BatteryStrength"; +_224.SystemData={}; +modifyObjectBaseProp(_224.SystemData); +if(_21f==null){ +_21f=50; +} +if(!(_21f>=0&&_21f<=100)){ +throw new DeviceException(this.error.DATA_OUT_OF_RANGE_ERR,"SysInfo:startChannel:trigger is out of range"); +} +if(typeof _21f!="number"){ +throw new DeviceException(this.error.INVALID_ARG_ERR,"SysInfo:startChannel:trigger is of invalid type"); +} +_224.SystemData.Status=_21f; +_222=__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; +_224.Entity="Network"; +_224.Key="SignalStrength"; +_224.SystemData={}; +modifyObjectBaseProp(_224.SystemData); +if(_21f!=null){ +if(!(_21f>=0&&_21f<=100)){ +throw new DeviceException(this.error.DATA_OUT_OF_RANGE_ERR,"SysInfo:startChannel:trigger is out of range"); +} +if(typeof _21f!="number"){ +throw new DeviceException(this.error.INVALID_ARG_ERR,"SysInfo:startChannel:trigger is of invalid type"); +} +_224.SystemData.Status=__sp_device_sysinfo_toDecibel(_21f); +} +_222=__signal_channel; cb=__signal_channel_cb; break; case "BluetoothOn": -_36d.Entity="Connectivity"; -_36d.Key="BlueTooth"; -_36b=__bluetooth_on_channel; +_224.Entity="Connectivity"; +_224.Key="BlueTooth"; +_222=__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; +var _225; +if(_21e==null){ +throw new DeviceException(this.error.MISSING_ARG_ERR,"SysInfo:startChannel:channel is missing"); +}else{ +if(typeof _21e!="string"){ +throw new DeviceException(this.error.INVALID_ARG_ERR,"SysInfo:startChannel:channel is of invalid type"); +}else{ +throw new DeviceException(this.error.INVALID_ARG_ERR,"SysInfo:startChannel:channel is invalid"); +} +} +if(_224.SystemData){ +delete _224.SystemData; +} +} +_222.scb=_21d; +_222.ecb=_220; +if(_222.ecb){ +if(typeof (_222.ecb)!="function"){ +throw new DeviceException(this.error.INVALID_ARG_ERR,"SysInfo:startChannel: ErrorCallback is invalid"); +} +} +if(_222.cancel_id){ +var _226={}; +modifyObjectBaseProp(_226); +_226.TransactionID=_222.cancel_id; +this.so.ISysInfo.Cancel(_226); +_222.cancel_id=null; +delete _226; +} +temp_scb=_21d; +temp_ecb=_220; +rval=this.so.ISysInfo.GetNotification(_224,cb); +delete _224; if(rval.ErrorCode!=0){ switch(MapErrorCode[rval.ErrorCode]){ -case MISSING_ARG_ERR: -case INVALID_ARG_ERR: +case this.error.MISSING_ARG_ERR: +case this.error.INVALID_ARG_ERR: if(rval.ErrorMessage){ -var _370=splitErrorMessage(rval.ErrorMessage); -throw new DeviceException(MapErrorCode[rval.ErrorCode],"SysInfo: startChannel: "+_370); +var _227=splitErrorMessage(rval.ErrorMessage); +throw new DeviceException(MapErrorCode[rval.ErrorCode],"SysInfo: startChannel: "+_227); }else{ throw new DeviceException(MapErrorCode[rval.ErrorCode],"SysInfo:startChannel:Operation Failed"); } break; default: -_366(0); -} -} -_36b.cancel_id=rval.TransactionID; -return _36b.cancel_id; +_21d(0); +} +} +_222.cancel_id=rval.TransactionID; +return _222.cancel_id; } catch(e){ __device_handle_exception(e,"__sp_sysinfo_startChannel: "+e); } }; -function __sp_sysinfo_cancelNotifier(_371){ +function __sp_sysinfo_cancelNotifier(_228){ try{ -switch(_371){ +switch(_228){ case "CellId": channel=__cell_id_channel; break; @@ -6353,1443 +3706,5006 @@ 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"); +var _229; +if(_228==null){ +throw new DeviceException(this.error.MISSING_ARG_ERR,"SysInfo:stopChannel:channel is missing"); +}else{ +if(typeof _228!="string"){ +throw new DeviceException(this.error.INVALID_ARG_ERR,"SysInfo:stopChannel:channel is of invalid type"); +}else{ +throw new DeviceException(this.error.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"); +var _22a={}; +modifyObjectBaseProp(_22a); +_22a.TransactionID=channel.cancel_id; +var _22b=this.so.ISysInfo.Cancel(_22a); +delete _22a; +if(_22b.ErrorCode!=0){ +if(_22b.ErrorMessage){ +var _22c=splitErrorMessage(_22b.ErrorMessage); +throw new DeviceException(MapErrorCode[_22b.ErrorCode],"SysInfo: stopChannel: "+_22c); +}else{ +throw new DeviceException(MapErrorCode[_22b.ErrorCode],"SysInfo:stopChannel:Operation Failed"); } } channel.cancel_id=null; }else{ -throw new DeviceException(DATA_NOT_FOUND_ERR,"SysInfo:stopChannel:channel not started"); +throw new DeviceException(this.error.DATA_NOT_FOUND_ERR,"SysInfo:stopChannel:channel not started"); } } catch(e){ __device_handle_exception(e,"__sp_sysinfo_stopChannel: "+e); } }; -function __sp_sysinfo_cancel(_376){ +function __sp_sysinfo_cancel(_22d){ 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 "); +var _22e=0; +if(_22d==null){ +throw new DeviceException(this.error.MISSING_ARG_ERR,"SysInfo:cancel:Id is missing"); +} +if(typeof _22d!="number"){ +throw new DeviceException(this.error.INVALID_ARG_ERR,"SysInfo:cancel:Id is of invalid type"); +} +if(_22d==__charging_status_channel.cancel_id||_22d==__net_coverage_channel.cancel_id||_22d==__battery_level_channel.cancel_id||_22d==__bluetooth_on_channel.cancel_id||_22d==__signal_channel.cancel_id){ +_22e=1; +} +if(_22e!=1){ +var _22f={TransactionID:_22d}; +var _230=this.so.ISysInfo.Cancel(_22f); +if(_230.ErrorCode!=0){ +if(_230.ErrorMessage){ +var _231=splitErrorMessage(_230.ErrorMessage); +throw new DeviceException(this.error.INVALID_ARG_ERR,"SysInfo:cancel: "+_231); +}else{ +throw new DeviceException(MapErrorCode[_230.ErrorCode],"SysInfo:cancel:Operation Failed"); +} +} +}else{ +_22e=0; +throw new DeviceException(this.error.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; +function __device_camera_descriptor(_232){ +this.interfaceName=_232.interfaceName; +this.version=_232.version; +}; +function __device_camera_startCamera(_233,_234){ +return this.provider.startCamera(_233,_234); +}; +function __device_camera_stopViewfinder(){ +this.provider.stopViewfinder(); +}; +function __device_camera_takePicture(_235){ +this.provider.takePicture(_235); +}; +function __device_camera(_236){ +this.provider=_236; +this.interfaceName=_236.descriptor.interfaceName; +this.version=_236.descriptor.version; +this.supportedMediaTypes=_236.supportedMediaTypes; +this.supportedSizes=_236.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 __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(_237,_238){ +if(_237==null){ +throw new DeviceException(this.error.MISSING_ARG_ERR,"Camera:startCamera:callback is missing"); +} +if(_237==undefined){ +throw new DeviceException(this.error.INVALID_ARG_ERR,"Camera:startCamera:callback is a non-function"); +} +if(typeof (_237)!="function"){ +throw new DeviceException(this.error.INVALID_ARG_ERR,"Camera:startCamera:callback is a non-function"); +} +if(_238){ +if(typeof _238!="function"){ +throw new DeviceException(this.error.INVALID_ARG_ERR,"Camera:startCamera:callback is invalid"); +} +} +var _239=function(){ +var _23a=function(arg1,arg2,arg3){ +var it=arg3.ReturnValue; +var item; +var _240=[]; +if(arg3.ErrorCode!=0){ +_238(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 _242={}; +modifyObjectBaseProp(_242); +var _243=item.FileNameAndPath.replace(/\\/g,"/"); +var _244="file:///"; +var _245=""; +_245=_245.concat(_244,_243); +_242.uri=_245; +var _246={}; +_246.height=item.XPixels; +_246.width=item.YPixels; +_246.type=item.MimeType; +_242.format=_246; +_240.unshift(_242); +if(_246){ +} +} +} +var _247=0; +var _248=0; +_237(_240); +}; +try{ +var mso=device.getServiceObject("Service.MediaManagement","IDataSource"); +} +catch(e){ +__device_handle_exception(e,"media service not available : "+e); +} +var _24a={}; +modifyObjectBaseProp(_24a); +_24a.Type="FileInfo"; +_24a.Filter={}; +modifyObjectBaseProp(_24a.Filter); +_24a.Filter.FileType="Image"; +_24a.Sort={}; +modifyObjectBaseProp(_24a.Sort); +_24a.Sort.Key="FileDate"; +_24a.Sort.Order="Descending"; +try{ +var rval=mso.IDataSource.GetList(_24a,_23a); +} +catch(error){ +__device_handle_exception(error,"media service GetList failed: "+error); +} +}; +__sp_camera_start_date=new Date(); +__s60_start_and_wait(CAMERA_APP_ID,"",_239); +var _24c=0; +return _24c; +}; +function __sp_supportedSizes(){ +try{ +var _24d=device.getServiceObject("Service.SysInfo","ISysInfo"); +} +catch(e){ +__device_handle_exception(e,"SysInfo Service not available : "+e); +} +var _24e={}; +modifyObjectBaseProp(_24e); +_24e.Entity="Camera"; +_24e.Key="CameraProperties"; +try{ +var rval=_24d.ISysInfo.GetInfo(_24e); +if(_24e){ +delete _24e.Entity; +delete _24e.Key; +} +} +catch(error){ +__device_handle_exception(error,"Camera : Failed to fetch supported size Info: "+error); +} +var _250=rval.ReturnValue; +var _251=[]; +var _252=[]; +_251=_250.ResolutionList; +for(var i=0;i<_251.length;i++){ +var _254=""; +_254=_254.concat(_251[i].height,"X",_251[i].width); +_252.push(_254); +} +return _252; +}; +function __sp_supportedMediaTypes(){ +try{ +var _255=device.getServiceObject("Service.SysInfo","ISysInfo"); +} +catch(e){ +__device_handle_exception(e,"SysInfo Service not available : "+e); +} +var _256={}; +modifyObjectBaseProp(_256); +_256.Entity="Camera"; +_256.Key="CameraProperties"; +try{ +var rval=_255.ISysInfo.GetInfo(_256); +if(_256){ +delete _256.Entity; +delete _256.Key; +} +} +catch(error){ +__device_handle_exception(error,"Camera :Failed to fetch supported media type Info: "+error); +} +var _258=rval.ReturnValue; +var _259=[]; +_259=_258.MimeTypeList; +return _259; +}; +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; +this.error=new DeviceException(0,"Dummy"); +}; +var _infinity=Infinity; +function TransIdCbMap(){ +this.TransactionID=null; +this.success_callback=null; +this.error_callback=null; +}; +function __device_geolocation_descriptor(_25a){ +this.interfaceName=_25a.interfaceName; +this.version=_25a.version; +}; +function __device_geolocation_getCurrentPosition(_25b,_25c,_25d){ +return this.provider.getLocation(_25b,_25c,_25d); +}; +function __device_geolocation_watchPosition(_25e,_25f,_260){ +return this.provider.traceLocation(_25e,_25f,_260); +}; +function __device_geolocation_clearWatch(_261){ +this.provider.clearTrace(_261); +}; +function __device_geolocation(_262){ +this.provider=_262; +this.interfaceName=_262.descriptor.interfaceName; +this.version=_262.descriptor.version; +this.getCurrentPosition=__device_geolocation_getCurrentPosition; +this.watchPosition=__device_geolocation_watchPosition; +this.clearWatch=__device_geolocation_clearWatch; +}; +var __device_geolocation_service_entry={"name":null,"version":null,"proto":__device_geolocation,"descriptor":__device_geolocation_descriptor,"providers":[{"descriptor":__sp_location_descriptor,"instance":__sp_location_instance}]}; +function Location_PositionError(){ +this.UNKNOWN_ERROR=0; +this.PERMISSION_DENIED=1; +this.POSITION_UNAVAILABLE=2; +this.TIMEOUT=3; +this.code; +this.message; +}; +function Location_Coordinates(){ +this.latitude=null; +this.longitude=null; +this.altitude=null; +this.accuracy=null; +this.altitudeAccuracy=null; +this.heading=null; +this.speed=null; +}; +function Location_Position(){ +this.coords=null; +this.timestamp=null; +}; +function Location_PositionOptions(){ +this.enableHighAccuracy; +this.timeout; +this.maximumAge; +}; +var __sp_location_trace_transactionId=-1; +function __sp_location_handle_error(_263,_264,_265){ +if((_263!=undefined)&&(typeof _263=="function")&&(_263!=null)){ +var _266=new Location_PositionError(); +if((-21)==_264){ +_266.code=_266.PERMISSION_DENIED; +_266.message="permission denied"; +}else{ +if((-33)==_264){ +_266.code=_266.TIMEOUT; +_266.message="request timed out"; +}else{ +_266.code=_266.UNKNOWN_ERROR; +_266.message="UnKnown Error"; +} +} +_263(_266); +}else{ +var _266=new Location_PositionError(); +_266.code=_266.UNKNOWN_ERROR; +_266.message="UnKnown Error"; +throw _266; +} +}; +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_cb(arg1,arg2,arg3){ +var _26a; +_26a=glob_obj.getFromArray(arg1); +if(_26a){ +success_cb1=_26a.success_cb; +error_cb=_26a.error_cb; +}else{ +alert("Geolocation: __sp_getLocation_cb: Callback not found "); +return; +} +if(arg3.ErrorCode){ +__sp_location_handle_error(error_cb,arg3.ErrorCode,arg3.ErrorMessage); +return; +}else{ +var _26b=new Location_Coordinates(); +_26b.longitude=(arg3.ReturnValue.Longitude==undefined)?null:arg3.ReturnValue.Longitude; +_26b.latitude=(arg3.ReturnValue.Latitude==undefined)?null:arg3.ReturnValue.Latitude; +_26b.altitude=(arg3.ReturnValue.Altitude==undefined)?null:arg3.ReturnValue.Altitude; +_26b.accuracy=(arg3.ReturnValue.HorizontalAccuracy==undefined)?null:arg3.ReturnValue.HorizontalAccuracy; +_26b.altitudeAccuracy=(arg3.ReturnValue.VerticalAccuracy==undefined)?null:arg3.ReturnValue.VerticalAccuracy; +_26b.heading=(arg3.ReturnValue.Heading==undefined)?null:arg3.ReturnValue.Heading; +_26b.speed=(arg3.ReturnValue.HorizontalSpeed==undefined)?null:arg3.ReturnValue.HorizontalSpeed; +var _26c=new Location_Position(); +_26c.coords={}; +modifyObjectBaseProp(_26c.coords); +_26c.coords=_26b; +_26c.timestamp=new Date(); +success_cb1(_26c); +delete _26c.timestamp; +delete _26c; +delete _26b; +} +glob_obj.removeFromArray(arg1); +}; +function __sp_getLocation(_26d,_26e,_26f){ +if((_26d==undefined)||(_26d==null)||(typeof (_26d)!="function")){ +var _270="Wrong callback type"; +__sp_location_handle_error(_26e,0,_270); +} +if((_26e!=undefined)){ +if((_26e!=null)&&(_26e!="")&&(typeof (_26e)!="function")){ +var _271=new Location_PositionError(); +_271.code=-1; +throw _271; +} +} +var _272; +var _273={}; +modifyObjectBaseProp(_273); +_273.LocationInformationClass="GenericLocationInfo"; +var _274={}; +modifyObjectBaseProp(_274); +_274.UpdateInterval=0; +if(_26f!=undefined&&_26f!=null){ +if((typeof (_26f)!="object")){ +var _275="Wrong posOptions type"; +__sp_location_handle_error(_26e,0,_275); +return; +} +} +if(_26f!=undefined){ +if(_26f.maximumAge!=undefined){ +if(_26f.maximumAge){ +if((_26f.maximumAge==Infinity)){ +if((_26f.enableHighAccuracy==undefined)||(typeof (_26f.enableHighAccuracy)=="boolean")){ +var arg3=this.so.ILocation.GetLastPosition(); +if(arg3.ErrorCode<0){ +var _275="Invalid input type"; +__sp_location_handle_error(_26e,0,_275); +return; +} +var _277=new Location_Coordinates(); +_277.longitude=(arg3.ReturnValue.Longitude==undefined)?null:arg3.ReturnValue.Longitude; +_277.latitude=(arg3.ReturnValue.Latitude==undefined)?null:arg3.ReturnValue.Latitude; +_277.altitude=(arg3.ReturnValue.Altitude==undefined)?null:arg3.ReturnValue.Altitude; +_277.accuracy=(arg3.ReturnValue.HorizontalAccuracy==undefined)?null:arg3.ReturnValue.HorizontalAccuracy; +_277.altitudeAccuracy=(arg3.ReturnValue.VerticalAccuracy==undefined)?null:arg3.ReturnValue.VerticalAccuracy; +_277.heading=(arg3.ReturnValue.Heading==undefined)?null:arg3.ReturnValue.Heading; +_277.speed=(arg3.ReturnValue.HorizontalSpeed==undefined)?null:arg3.ReturnValue.HorizontalSpeed; +var _278=new Location_Position(); +_278.coords={}; +modifyObjectBaseProp(_278.coords); +_278.coords=_277; +_278.timestamp=new Date(); +_26d(_278); +delete _278.timestamp; +delete _278; +delete _277; +return; +} +} +if(!(isNaN(parseInt(_26f.maximumAge)))){ +if((_26f.maximumAge==0)){ +var _275="Invalid input type"; +__sp_location_handle_error(_26e,0,_275); +return; +} +_274.UpdateMaxAge=_26f.maximumAge; +}else{ +var _275="Invalid input type"; +__sp_location_handle_error(_26e,0,_275); +return; +} +}else{ +if((_26f.maximumAge==null)||(_26f.maximumAge=="")){ +} +} +} +if((_26f.enableHighAccuracy!==undefined)){ +if(_26f.enableHighAccuracy==true){ +_273.EnableHighAccuracy=_26f.enableHighAccuracy; +}else{ +if(_26f.enableHighAccuracy==false){ +_273.EnableHighAccuracy=_26f.enableHighAccuracy; +}else{ +if((_26f.enableHighAccuracy==null)||(_26f.enableHighAccuracy=="")){ +}else{ +if((typeof (_26f.enableHighAccuracy)!="boolean")){ +var _279="Wrong value for enableHighAccuracy param"; +__sp_location_handle_error(_26e,0,_279); +return; +} +} +} +} +} +if(_26f.timeout!==undefined){ +if((_26f.timeout!==null)||((_26f.timeout!==""))){ +if((_26f.timeout==Infinity)){ +var _275="Invalid input type"; +__sp_location_handle_error(_26e,0,_275); +return; +}else{ +if(!(isNaN(parseInt(_26f.timeout)))){ +if((_26f.timeout<=2147483647)){ +if((_26f.timeout==0)){ +var _275="Invalid input type"; +__sp_location_handle_error(_26e,0,_275); +return; +} +_274.UpdateTimeOut=_26f.timeout; +}else{ +var _275="Invalid input type"; +__sp_location_handle_error(_26e,0,_275); +return; +} +} +} +}else{ +if((_26f.timeout===null)||((_26f.timeout===""))){ +}else{ +var _275="Invalid input type"; +__sp_location_handle_error(_26e,0,_275); +return; +} +} +} +} +_274.PartialUpdates=false; +_273.Updateoptions=_274; +try{ +temp_scb=_26d; +temp_ecb=_26e; +var rval=this.so.ILocation.GetLocation(_273,this.getLocationCb); +if(rval.TransactionID){ +glob_obj.addToGlobalArray(rval.TransactionID,_26d,_26e); +} +delete _274; +delete _273; +if(rval.ErrorCode!=0){ +__sp_location_handle_error(_26e,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_cb(arg1,arg2,arg3){ +var _27e; +_27e=glob_obj.getFromArray(arg1); +if(_27e){ +success_cb=_27e.success_cb; +error_cb=_27e.error_cb; +}else{ +alert("Geolocation: __sp_traceLocation_cb: Callback not found "); +return; +} +if(arg3.ErrorCode){ +__sp_location_handle_error(error_cb,arg3.ErrorCode,arg3.ErrorMessage); +}else{ +var _27f=new Location_Coordinates(); +_27f.longitude=(arg3.ReturnValue.Longitude==undefined)?null:arg3.ReturnValue.Longitude; +_27f.latitude=(arg3.ReturnValue.Latitude==undefined)?null:arg3.ReturnValue.Latitude; +_27f.altitude=(arg3.ReturnValue.Altitude==undefined)?null:arg3.ReturnValue.Altitude; +_27f.accuracy=(arg3.ReturnValue.HorizontalAccuracy==undefined)?null:arg3.ReturnValue.HorizontalAccuracy; +_27f.altitudeAccuracy=(arg3.ReturnValue.VerticalAccuracy==undefined)?null:arg3.ReturnValue.VerticalAccuracy; +_27f.heading=(arg3.ReturnValue.Heading==undefined)?null:arg3.ReturnValue.Heading; +_27f.speed=(arg3.ReturnValue.HorizontalSpeed==undefined)?null:arg3.ReturnValue.HorizontalSpeed; +var _280=new Location_Position(); +_280.coords={}; +modifyObjectBaseProp(_280.coords); +_280.coords=_27f; +_280.timestamp=new Date(); +success_cb(_280); +delete _280.timestamp; +delete _280; +delete _27f; +return; +} +glob_obj.removeFromArray(arg1); +}; +function __sp_traceLocation(_281,_282,_283){ +if((_281==undefined)||(_281==null)||(typeof (_281)!="function")){ +var _284="Wrong callback type"; +__sp_location_handle_error(_282,0,_284); +return; +} +if((typeof _281!="function")){ +var _284="Wrong callback type"; +__sp_location_handle_error(_282,0,_284); +return; +} +if((_282!=undefined)){ +if((_282!=null)&&(_282!="")&&(typeof (_282)!="function")){ +var _285=new Location_PositionError(); +_285.code=-1; +throw _285; +} +} +var _286=this; +var _287={}; +modifyObjectBaseProp(_287); +_287.UpdateInterval=0; +var _288={}; +modifyObjectBaseProp(_288); +_288.LocationInformationClass="GenericLocationInfo"; +if(_283!=undefined&&_283!=null){ +if((typeof (_283)!="object")){ +var _284="Wrong posOptions type"; +__sp_location_handle_error(_282,0,_284); +return; +} +} +if(_283!=undefined){ +if((_283.enableHighAccuracy!==undefined)){ +if(_283.enableHighAccuracy==true){ +_288.EnableHighAccuracy=_283.enableHighAccuracy; +}else{ +if(_283.enableHighAccuracy==false){ +_288.EnableHighAccuracy=_283.enableHighAccuracy; +}else{ +if((_283.enableHighAccuracy==null)||(_283.enableHighAccuracy=="")){ +}else{ +if((typeof (_283.enableHighAccuracy)!="boolean")){ +var _289="Wrong value for enableHighAccuracy param"; +__sp_location_handle_error(_282,0,_289); +return; +} +} +} +} +} +if(_283.timeout!==undefined){ +if((_283.timeout!==null)||((_283.timeout!==""))){ +if((_283.timeout==Infinity)){ +var _284="Invalid input type"; +__sp_location_handle_error(_282,0,_284); +return; +}else{ +if(!(isNaN(parseInt(_283.timeout)))){ +if((_283.timeout==0)){ +var _284="Invalid input type"; +__sp_location_handle_error(_282,0,_284); +return; +} +_287.UpdateTimeOut=_283.timeout; +} +} +}else{ +if((_283.timeout===null)||((_283.timeout===""))){ +}else{ +var _284="Invalid input type"; +__sp_location_handle_error(_282,0,_284); +return; +} +} +} +if(typeof _283.maximumAge!="undefined"){ +if(_283.maximumAge==_infinity){ +_287.UpdateTimeOut=0; +_287.UpdateMaxAge=2147483647; +}else{ +if(!(isNaN(parseInt(_283.maximumAge)))){ +_287.UpdateMaxAge=_283.maximumAge; +}else{ +if((_283.maximumAge===null)||((_283.maximumAge===""))){ +}else{ +var _284="Invalid input type"; +__sp_location_handle_error(_282,0,_284); +return; +} +} +} +} +} +_287.PartialUpdates=false; +_288.Updateoptions=_287; +try{ +temp_scb=_281; +temp_ecb=_282; +var rval=this.so.ILocation.Trace(_288,this.traceCb); +if(rval.TransactionID){ +glob_obj.addToGlobalArray(rval.TransactionID,_281,_282); +} +delete _287; +delete _288; +if(rval.ErrorCode!=0){ +__sp_location_handle_error(_282,rval.ErrorCode,rval.ErrorMessage); +return; +} +return rval.TransactionID; +} +catch(e){ +__device_handle_exception(e,"__sp_traceLocation: "+e); +} +}; +function __sp_clearTrace(_28b){ +if(typeof _28b!="number"){ +var _28c="Invalid input type"; +__sp_location_handle_error(fail_cb,0,_28c); +} +var _28d={TransactionID:_28b}; +try{ +var _28e=this.so.ILocation.Cancel(_28d); +} +catch(e){ +__device_handle_exception(e,"__sp_clearTrace: "+e); +} +}; +function __sp_location_instance(){ +this.descriptor=new __sp_location_descriptor(); +this.getLocation=__sp_getLocation; +this.getLocationCb=__sp_getLocation_cb; +this.traceLocation=__sp_traceLocation; +this.traceCb=__sp_traceLocation_cb; +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"); +} +}; +function __device_commlog_descriptor(_28f){ +this.interfaceName=_28f.interfaceName; +this.version=_28f.version; +}; +function __device_commlog_getList(_290,_291,_292){ +return this.provider.getList(_290,_291,_292); +}; +function __device_commlog_setNotification(_293,_294){ +return this.provider.setNotification(_293,_294); +}; +function __device_commlog_cancelNotification(){ +return this.provider.cancelNotification(); +}; +function __device_commlog_cancel(_295){ +return this.provider.cancel(_295); +}; +function __device_commlog_deleteLogEntry(_296){ +return this.provider.deleteLogEntry(_296); +}; +function __device_commlog(_297){ +this.provider=_297; +this.interfaceName=_297.descriptor.interfaceName; +this.version=_297.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}]}; +var invoker_notification; +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(_298,_299){ +this.connectionId=_298; +this.callback=_299; +}; +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(_29f){ +if(!_29f){ +return null; +} +var evt={}; +evt.type=__get_const_string(__sp_commlog_type_constants,_29f.EventType); +if(evt.type==null||evt.type==undefined){ +return null; +} +evt.phoneNumber=_29f.PhoneNumber; +if(evt.phoneNumber==null||evt.phoneNumber==undefined||evt.phoneNumber.length==0){ +evt.phoneNumber="private number"; +} +evt.time=_29f.EventTime; +evt.flag=(_29f.Direction==undefined)?null:__get_const_string(__sp_commlog_constants_output,_29f.Direction); +evt.summary=_29f.Description; +evt.logId=Number(_29f.id); +evt.contactName=_29f.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 _2a2=new __device_commlog_item(b1); +return _2a2; +}else{ +var _2a3; +if(this.iter!=undefined&&this.iter!=null){ +while(_2a3=this.iter.getNext()){ +if(_2a3.EventType==0||_2a3.EventType==3){ +break; +} +} +} +if(typeof _2a3=="undefined"){ +return null; +} +var rval=new __device_commlog_item(_2a3); +_2a3.close(); +return rval; +} +}; +function __sp_commlog_iterator_has_next(){ +if(__nofLogs<=0){ +return false; +} +if(this.iter!=undefined&&this.iter!=null){ +while(this.buffer=this.iter.getNext()){ +if(this.buffer.EventType==0||this.buffer.EventType==3){ +break; +} +} +} +if((typeof this.buffer=="object")&&(this.buffer!=null)){ +return true; +}else{ +return false; +} +}; +function __sp_commlog_iterator_close(){ +this.iter.close(); +}; +function __sp_commlog_iterator(_2a5){ +this.iter=_2a5; +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_cb(arg1,arg2,arg3){ +var _2a9; +var _2aa; +var iter=null; +var _2ac=null; +var _2ad; +_2ad=glob_obj.getFromArray(arg1); +if(_2ad){ +_2a9=_2ad.success_cb; +_2aa=_2ad.error_cb; +}else{ +alert("Commlog: __sp_commlog_getList_cb : Callback not found "); +return; +} +if(arg3.ErrorCode!=0){ +if(arg3.ErrorMessage){ +_2ac=splitErrorMessage(arg3.ErrorMessage); +}else{ +_2ac="operation failed"; +} +if(_2aa){ +setTimeout(function(){ +_2aa(new DeviceException(MapErrorCode[arg3.ErrorCode],"Commlog: getList: "+_2ac)); +},1000); +return; +} +}else{ +if(arg3.ReturnValue){ +iter=new __sp_commlog_iterator(arg3.ReturnValue); +} +} +if(arg2!=event_cancelled){ +_2a9(iter); +} +glob_obj.removeFromArray(arg1); +}; +function __sp_commlog_getList(_2ae,_2af,_2b0){ +if(_2ae==null||_2ae==undefined){ +throw new DeviceException(this.error.MISSING_ARG_ERR,"CommLog:getList:callback is Required"); +}else{ +if(typeof _2ae!="function"){ +throw new DeviceException(this.error.INVALID_ARG_ERR,"CommLog:getList:Invalid Callback"); +} +} +if(_2b0){ +if(typeof (_2b0)!="function"){ +throw new DeviceException(this.error.INVALID_ARG_ERR,"CommLog: getList: ErrorCallback is invalid"); +} +} +if(_2af!=null&&_2af!=undefined){ +if(typeof _2af!="object"||__device_typeof(_2af)=="Array"){ +throw new DeviceException(this.error.INVALID_ARG_ERR,"CommLog: getList: Match is not an object"); +} +if(_2af.type!=null&&_2af.type!=undefined){ +if(typeof _2af.type!="string"){ +throw new DeviceException(this.error.INVALID_ARG_ERR,"CommLog: getList: Type is not a string"); +} +} +if(_2af.flag!=null&&_2af.flag!=undefined){ +if(typeof _2af.flag!="string"){ +throw new DeviceException(this.error.INVALID_ARG_ERR,"CommLog: getList: Flag is not a string"); +} +if(_2af.type){ +if(_2af.type.toLowerCase()=="sms"&&_2af.flag.toLowerCase()=="missed"){ +if(_2b0){ +_2b0(new DeviceException(this.error.DATA_OUT_OF_RANGE_ERR,"commlogs: getList: Missed is not supported for sms")); +return; +}else{ +throw new DeviceException(this.error.DATA_OUT_OF_RANGE_ERR,"commlogs: getList: Missed is not supported for sms"); +} +} +} +} +if(_2af.nofLogs!=null&&_2af.nofLogs!=undefined){ +if(typeof _2af.nofLogs!="number"){ +throw new DeviceException(this.error.INVALID_ARG_ERR,"CommLog: getList: nofLogs is invalid"); +} +} +} +try{ +var _2b1={}; +modifyObjectBaseProp(_2b1); +_2b1.Type="Log"; +_2b1.Filter={}; +modifyObjectBaseProp(_2b1.Filter); +if(_2af){ +if(_2af.type){ +var _2b2; +_2b2=__get_const_val(__sp_commlog_type_constants,_2af.type.toLowerCase()); +if(_2b2!=undefined){ +_2b1.Filter.EventType=_2b2; +}else{ +if(_2b0){ +_2b0(new DeviceException(this.error.DATA_OUT_OF_RANGE_ERR,"CommLog: getList: Type is out of range")); +return; +}else{ +throw new DeviceException(this.error.DATA_OUT_OF_RANGE_ERR,"CommLog: getList: Type is out of range"); +} +} +} +if(_2af.nofLogs!=null&&_2af.nofLogs!=undefined){ +if((_2af.nofLogs<0)||(_2af.nofLogs!=(_2af.nofLogs|0))){ +if(_2b0){ +_2b0(new DeviceException(this.error.DATA_OUT_OF_RANGE_ERR,"CommLog: getList: nofLogs is out of range")); +return; +}else{ +throw new DeviceException(this.error.DATA_OUT_OF_RANGE_ERR,"CommLog: getList: nofLogs is out of range"); +} +} +__nofLogs=_2af.nofLogs; +} +if(_2af.flag){ +var _2b3; +_2b3=__get_const_val(__sp_commlog_constants,_2af.flag.toLowerCase()); +if(_2b3!=undefined){ +_2b1.Filter.Direction=_2b3; +}else{ +if(_2b0){ +_2b0(new DeviceException(this.error.DATA_OUT_OF_RANGE_ERR,"CommLog: getList: Flag is out of range")); +}else{ +throw new DeviceException(this.error.DATA_OUT_OF_RANGE_ERR,"CommLog: getList: Flag is out of range"); +} +} +} +if(_2af.phoneNumber!=null&&_2af.phoneNumber!=undefined){ +if(_2af.phoneNumber!=""){ +_2b1.Filter.PhoneNumber=_2af.phoneNumber; +} +} +if(_2af.contactName!=null&&_2af.contactName!=undefined){ +if(_2af.contactName!=""){ +_2b1.Filter.RemoteParty=_2af.contactName; +} +} +if(_2af.startTime!=null&&_2af.startTime!=undefined){ +_2b1.Filter.StartTime=_2af.startTime; +} +if(_2af.endTime!=null&&_2af.endTime!=undefined){ +_2b1.Filter.EndTime=_2af.endTime; +} +} +temp_scb=_2ae; +temp_ecb=_2b0; +var _2b4=this.so.IDataSource.GetList(_2b1,this.getListCb); +if(_2b4.TransactionID){ +glob_obj.addToGlobalArray(_2b4.TransactionID,_2ae,_2b0); +} +if(_2b1.Filter){ +delete _2b1.Filter.Direction; +delete _2b1.Filter.EventType; +delete _2b1.Filter.PhoneNumber; +} +if(_2b1){ +delete _2b1.Filter; +delete _2b1.Type; +} +if(_2b4.ErrorCode!=0){ +var _2b5="operation failed"; +if(_2b4.ErrorMessage){ +_2b5=splitErrorMessage(_2b4.ErrorMessage); +} +switch(MapErrorCode[_2b4.ErrorCode]){ +case this.error.INVALID_ARG_ERR: +case this.error.MISSING_ARG_ERR: +case this.error.NOT_SUPPORTED_ERR: +throw new DeviceException(MapErrorCode[_2b4.ErrorCode],"CommLog:getList:"+_2b5); break; default: -_37d=1001; -} -return _37d; -}; -function __sp_landmarks_descriptor(){ -this.interfaceName="landmarks"; +if(_2b0){ +_2b0(new DeviceException(MapErrorCode[_2b4.ErrorCode],"CommLog:getList:"+_2b5)); +return; +}else{ +throw new DeviceException(MapErrorCode[_2b4.ErrorCode],"CommLog:getList:"+_2b5); +} +} +} +return _2b4.TransactionID; +} +catch(e){ +__device_handle_exception(e,"__sp_commlog_Input_validation: "+e); +} +}; +function __sp_commlog_setNotification_cb(arg1,arg2,arg3){ +var _2b9; +var _2ba; +var _2bb=null; +var _2bc; +_2bc=glob_obj.getFromArray(arg1); +if(_2bc){ +_2b9=_2bc.success_cb; +_2ba=_2bc.error_cb; +}else{ +alert("Commlog: __sp_commlog_setNotification_cb : Callback not found "); +return; +} +if(arg3.ErrorCode!=0){ +if(arg3.ErrorMessage){ +err_msg=splitErrorMessage(arg3.ErrorMessage); +}else{ +err_msg="operation failed"; +} +if(_2ba){ +_2ba(new DeviceException(MapErrorCode[arg3.ErrorCode],"CommLog: getList: "+err_msg)); +return; +} +}else{ +if(arg3.ReturnValue){ +_2bb=new __device_commlog_item(arg3.ReturnValue); +} +} +if(arg2!=event_cancelled){ +for(i in __notifArr){ +if(arg1==__notifArr[i].connectionId){ +var _2bd=__notifArr[i]; +break; +} +} +if(_2bd){ +_2bd.callback(_2bb); +} +} +glob_obj.removeFromArray(arg1); +}; +function __sp_commlog_setNotification(_2be,_2bf){ +if(!_2be){ +throw new DeviceException(this.error.MISSING_ARG_ERR,"CommLog:setNotification:callback is missing"); +} +if(typeof _2be!="function"){ +throw new DeviceException(this.error.INVALID_ARG_ERR,"CommLog:setNotification:callback is invalid"); +} +if(_2bf){ +if(typeof (_2bf)!="function"){ +throw new DeviceException(this.error.INVALID_ARG_ERR,"CommLog: setNotification: ErrorCallback is invalid"); +} +} +for(i in __notifArr){ +var _2c0=__notifArr[i]; +__notifArr.splice(i,1); +__notifCount=__notifArr.length; +this.so.IDataSource.Cancel({TransactionID:_2c0.connectionId}); +break; +} +var _2c1={}; +modifyObjectBaseProp(_2c1); +_2c1.Type="Log"; +_2c1.Filter={DelayTime:0}; +temp_scb=_2be; +temp_ecb=_2bf; +var _2c2=this.so.IDataSource.RequestNotification(_2c1,this.setNotificationCb); +if(_2c2.TransactionID){ +glob_obj.addToGlobalArray(_2c2.TransactionID,_2be,_2bf); +} +__notifArr[__notifCount++]=new __Notification(_2c2.TransactionID,_2be); +if(_2c1){ +delete _2c1.Type; +} +if(_2c2.ErrorCode!=0){ +var _2c3="operation failed"; +if(_2c2.ErrorMessage){ +_2c3=splitErrorMessage(_2c2.ErrorMessage); +} +switch(MapErrorCode[_2c2.ErrorCode]){ +case this.error.INVALID_ARG_ERR: +case this.error.MISSING_ARG_ERR: +case this.error.NOT_SUPPORTED_ERR: +throw new DeviceException(MapErrorCode[_2c2.ErrorCode],"CommLog:setNotification:"+_2c3); +break; +default: +if(_2bf){ +setTimeout(function(){ +_2bf(new DeviceException(MapErrorCode[_2c2.ErrorCode],"CommLog:setNotification:"+_2c3)); +},1000); +}else{ +throw new DeviceException(MapErrorCode[_2c2.ErrorCode],"CommLog:setNotification:"+_2c3); +} +} +} +}; +function __sp_commlog_cancelNotification(){ +for(i in __notifArr){ +if(__notifArr[i].connectionId){ +var _2c4=__notifArr[i]; +__notifArr.splice(i,1); +__notifCount=__notifArr.length; +break; +} +} +if(_2c4){ +var _2c5=this.so.IDataSource.Cancel({TransactionID:_2c4.connectionId}); +if(_2c5.ErrorCode!=0){ +var _2c6="operation failed"; +if(_2c5.ErrorMessage){ +_2c6=splitErrorMessage(_2c5.ErrorMessage); +} +} +} +}; +function __sp_commlog_cancel(_2c7){ +if(!_2c7){ +throw new DeviceException(this.error.MISSING_ARG_ERR,"CommLog:cancel:transactionId is missing"); +} +if(typeof _2c7!="number"){ +throw new DeviceException(this.error.INVALID_ARG_ERR,"CommLog:cancel:transactionId is invalid"); +} +var _2c8=this.so.IDataSource.Cancel({TransactionID:_2c7}); +if(_2c8.ErrorCode!=0){ +var _2c9="operation failed"; +if(_2c8.ErrorMessage){ +_2c9=splitErrorMessage(_2c8.ErrorMessage); +} +throw new DeviceException(MapErrorCode[_2c8.ErrorCode],"CommLog:cancel:"+_2c9); +} +}; +function __sp_commlog_deleteLogEntry(_2ca){ +if(_2ca==null||_2ca==undefined){ +throw new DeviceException(this.error.MISSING_ARG_ERR,"CommLog:deleteLogEntry:logId is missing"); +} +if(typeof _2ca!="number"){ +throw new DeviceException(this.error.INVALID_ARG_ERR,"CommLog:deleteLogEntry:logId is invalid"); +} +var _2cb={}; +modifyObjectBaseProp(_2cb); +_2cb.Type="Log"; +_2cb.Data={id:_2ca.toString()}; +modifyObjectBaseProp(_2cb.Data); +var _2cc=this.so.IDataSource.Delete(_2cb); +if(_2cc.ErrorCode!=0){ +var _2cd="operation failed"; +if(_2cc.ErrorMessage){ +_2cd=splitErrorMessage(_2cc.ErrorMessage); +} +throw new DeviceException(MapErrorCode[_2cc.ErrorCode],"CommLog:deleteLogEntry:"+_2cd); +} +}; +function __sp_commlog_instance(){ +this.descriptor=new __sp_commlog_descriptor(); +this.getList=__sp_commlog_getList; +this.getListCb=__sp_commlog_getList_cb; +this.setNotification=__sp_commlog_setNotification; +this.setNotificationCb=__sp_commlog_setNotification_cb; +this.cancelNotification=__sp_commlog_cancelNotification; +this.cancel=__sp_commlog_cancel; +this.deleteLogEntry=__sp_commlog_deleteLogEntry; +this.error=new DeviceException(0,"Dummy"); +try{ +this.so=device.getServiceObject("Service.Logging","IDataSource"); +} +catch(e){ +this.so=null; +__device_handle_exception(e,"commlog service not available"); +} +}; +function __device_messaging_descriptor(_2ce){ +this.interfaceName=_2ce.interfaceName; +this.version=_2ce.version; +}; +function __device_messaging_startEditor(_2cf){ +return this.provider.startEditor(_2cf); +}; +function __device_messaging_getList(_2d0,_2d1,_2d2,_2d3,_2d4){ +return this.provider.getList(_2d0,_2d1,_2d2,_2d3,_2d4); +}; +function __device_messaging_send(_2d5,_2d6,id,_2d8){ +return this.provider.send(_2d5,_2d6,id,_2d8); +}; +function __device_messaging_setNotifier(_2d9,_2da){ +return this.provider.setNotifier(_2d9,_2da); +}; +function __device_messaging_cancelNotifier(){ +return this.provider.cancelNotifier(); +}; +function __device_messaging_getMessage(id){ +return this.provider.getMessage(id); +}; +function __device_messaging_delete(id){ +return this.provider.deleteMessage(id); +}; +function __device_messaging_setStatus(id,_2de){ +return this.provider.setStatus(id,_2de); +}; +function __device_messaging_cancel(_2df){ +return this.provider.cancel(_2df); +}; +function __device_messaging(_2e0){ +this.provider=_2e0; +this.interfaceName=_2e0.descriptor.interfaceName; +this.version=_2e0.descriptor.version; +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; +this.startEditor=__device_messaging_startEditor; +this.getList=__device_messaging_getList; +this.send=__device_messaging_send; +this.setNotifier=__device_messaging_setNotifier; +this.cancelNotifier=__device_messaging_cancelNotifier; +this.getMessage=__device_messaging_getMessage; +this.deleteMessage=__device_messaging_delete; +this.setStatus=__device_messaging_setStatus; +this.cancel=__device_messaging_cancel; +}; +var __device_messaging_service_entry={"name":null,"version":null,"proto":__device_messaging,"descriptor":__device_messaging_descriptor,"providers":[{"descriptor":__sp_messaging_descriptor,"instance":__sp_messaging_instance}]}; +var FILE_SCHEME="file://"; +function __sp_messaging_descriptor(){ +this.interfaceName="messaging"; 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; +function __sp_messaging_instance(){ +this.descriptor=new __sp_messaging_descriptor(); +this.startEditor=__sp_messaging_startEditor; +this.getList=__sp_messaging_getList; +this.getListcB=__sp_message_getListcB; +this.send=__sp_messaging_send; +this.sendcb=__sp_message_sendcb; +this.setNotifier=__sp_messaging_setNotifier; +this.setNotifierCb=__sp_messaging_setNotifier_cb; +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; +this.error=new DeviceException(0,"Dummy"); try{ -this.so=device.getServiceObject("Service.Landmarks","IDataSource"); +this.so=device.getServiceObject("Service.Messaging","IMessaging"); } 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; +this.so=null; +__device_handle_exception(e,"Messaging service not available"); +} +}; +function __sp_attachment_build(_2e1){ +if(!_2e1){ +return null; +} +var _2e2={}; +modifyObjectBaseProp(_2e2); +if(_2e1.uri){ +if(typeof _2e1.uri!="string"){ +throw new DeviceException(this.error.INVALID_ARG_ERR,"uri is invalid"); +} +if(_2e1.uri.slice(0,7)==FILE_SCHEME){ +if(_2e1.uri.charAt(7)=="/"){ +if(_2e1.uri.charAt(9)!=":"){ +throw new DeviceException(this.error.URI_NOT_FOUND_ERR,"specified uri not found"); +} +_2e2.FileName=_2e1.uri.slice(8).replace(/\057/g,"\\"); +if(_2e2.FileName.length>256){ +throw new DeviceException(this.error.DATA_OUT_OF_RANGE_ERR,"uri is out of range"); +} +}else{ +if(_2e1.uri.charAt(8)!=":"){ +throw new DeviceException(this.error.URI_NOT_FOUND_ERR,"specified uri not found"); +} +_2e2.FileName=_2e1.uri.slice(7).replace(/\057/g,"\\"); +if(_2e2.FileName.length>256){ +throw new DeviceException(this.error.DATA_OUT_OF_RANGE_ERR,"uri is out of range"); +} +} +}else{ +throw new DeviceException(this.error.INVALID_URI_ERR,"uri is invalid"); +} +} +return _2e2; +}; +function __sp_message_build(_2e3,id){ +if(!_2e3){ 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){ +} +var _2e5={}; +modifyObjectBaseProp(_2e5); +var _2e6=0; +_2e5.MessageParam={}; +modifyObjectBaseProp(_2e5.MessageParam); +_2e5.MessageParam.LaunchEditor=false; +_2e5.MessageType=(_2e3.type==undefined||_2e3.type==null)?"SMS":_2e3.type; +if(_2e3.to){ +if(typeof (_2e3.to)=="string"){ +_2e5.To=_2e3.to; +}else{ +if(__device_typeof(_2e3.to)=="Array"&&_2e3.to.length>0){ +if(_2e3.to[0]){ +_2e5.To=_2e3.to[0]; +} +if(_2e3.to.length>1){ +if(_2e3.to.slice(1)){ +_2e5.MessageParam.To=_2e3.to.slice(1); +} +} +}else{ +_2e5.To=_2e3.to; +} +} +} +if(_2e3.cc){ +_2e5.MessageParam.Cc=_2e3.cc; +} +if(id){ +if((typeof (id)=="string")&&!(isNaN(id))){ +id=Number(id); +} +_2e5.MessageParam.TemplateId=id; +} +if(_2e5.MessageType=="SMS"){ +if(_2e3.body){ +_2e5.BodyText=_2e3.body; +} +} +if(_2e5.MessageType=="MMS"){ +if(_2e3.body){ +_2e5.BodyText=_2e3.body; +} +if(_2e3.subject){ +if(typeof _2e3.subject=="string"&&_2e3.subject.length>256){ +throw new DeviceException(this.error.DATA_OUT_OF_RANGE_ERR,"subject length is greater than 256 characters"); +} +_2e5.Subject=_2e3.subject; +} +if(_2e3.attachments){ +_2e5.MessageParam.AttachmentList=[]; +for(var a in _2e3.attachments){ +if(typeof _2e3.attachments[a]=="object"&&__device_typeof(_2e3.attachments[a])!="Array"){ +_2e5.MessageParam.AttachmentList.push(__sp_attachment_build(_2e3.attachments[a])); +_2e6=1; +} +} +if(_2e6==0){ +throw new DeviceException(this.error.INVALID_ARG_ERR,"uri is invalid"); +} +} +} +return _2e5; +}; +function __sp_device_attachment_build(_2e8){ +if(!_2e8){ +return null; +} +var _2e9={}; +_2e9.uri=FILE_SCHEME+_2e8.FileName; +return _2e9; +}; +function __sp_device_message_build(_2ea){ +if(!_2ea){ +return null; +} +var _2eb={}; +_2eb.body=null; +_2eb.subject=null; +_2eb.attachments=null; +_2eb.to=null; +_2eb.cc=null; +_2eb.type=_2ea.MessageType; +if(_2ea.BodyText){ +_2eb.body=_2ea.BodyText; +} +if(_2ea.to){ +_2eb.to=_2ea.To; +} +if(_2ea.Subject){ +_2eb.subject=_2ea.Subject; +} +_2eb.attachment=false; +if(_2eb.type=="MMS"){ +if(_2ea.Cc){ +_2eb.cc=_2ea.Cc; +} +if(_2ea.AttachmentList){ +_2eb.attachment=true; +_2eb.attachments=[]; +for(var a in _2ea.AttachmentList){ +if(_2ea.AttachmentList.hasOwnProperty("a")){ +_2eb.attachments.push(__sp_device_attachment_build(_2ea.AttachmentList[a])); +} +} +} +} +return _2eb; +}; +function __sp_device_message_info_build_notifier(_2ed){ +if(!_2ed){ +return null; +} +var _2ee={}; +_2ee.message={}; +_2ee.message.type=_2ed.MessageType; +_2ee.sender=_2ed.Sender; +_2ee.message.subject=_2ed.Subject; +_2ee.time=_2ed.Time; +_2ee.attachments=(_2ed.Attachments==undefined||_2ed.Attachments==null)?(!(_2ed.AttachmentList==undefined||_2ed.AttachmentList==null)):_2ed.Attachments; +_2ee.unread=_2ed.Unread; +_2ee.id=(_2ed.MessageId).toString(); +return _2ee; +}; +function __sp_device_message_info_build(_2ef){ +if(!_2ef){ +return null; +} +var _2f0={}; +_2f0.message=__sp_device_message_build(_2ef); +_2f0.sender=_2ef.Sender; +_2f0.time=_2ef.Time; +_2f0.unread=_2ef.Unread; +_2f0.id=(_2ef.MessageId).toString(); +return _2f0; +}; +function __sp_message_iterator_get_next(){ +var _2f1=this.iter.getNext(); +if(typeof _2f1=="undefined"){ 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){ +var _2f2=__sp_device_message_info_build(_2f1); +_2f1.close(); +return _2f2; +}; +function __sp_message_iterator(_2f3){ +this.iter=_2f3; +this.next=__sp_message_iterator_get_next; +this.close=function(){ +this.iter.close(); +}; +}; +function __sp_message_getListcB(arg1,arg2,arg3){ +var _2f7; +var _2f8; +var _2f9; +_2f9=glob_obj.getFromArray(arg1); +if(_2f9){ +_2f7=_2f9.success_cb; +_2f8=_2f9.error_cb; +}else{ +alert("Messaging: __sp_message_getListcB: Callback not found "); +return; +} +var iter=null; +if(arg3.ErrorCode!=0){ +if(arg3.ErrorMessage){ +err_msg=splitErrorMessage(arg3.ErrorMessage); +}else{ +err_msg="Operation Failed"; +} +if(_2f8){ +_2f8(new DeviceException(MapErrorCode[arg3.ErrorCode],"Messaging: getList: "+err_msg)); +return; +} +}else{ +if(arg3.ReturnValue){ +iter=new __sp_message_iterator(arg3.ReturnValue); +} +} +if(arg2!=event_cancelled){ +_2f7(iter); +} +glob_obj.removeFromArray(arg1); +}; +function __sp_messaging_getList(_2fb,_2fc,_2fd,_2fe,_2ff){ +if(!_2fb){ +throw new DeviceException(this.error.MISSING_ARG_ERR,"Messaging:getList:callback is missing"); +}else{ +if(typeof _2fb!="function"){ +throw new DeviceException(this.error.INVALID_ARG_ERR,"Messaging:getList:callback is not a function"); +} +} +if(_2fc!=null&&_2fc!=undefined&&typeof _2fc!="object"){ +throw new DeviceException(this.error.INVALID_ARG_ERR,"Messaging:getList:match is invalid"); +} +if(_2fd!=null&&_2fd!=undefined&&typeof _2fd!="number"){ +throw new DeviceException(this.error.INVALID_ARG_ERR,"Messaging:getList:sortkey is invalid"); +} +if(_2fe!=null&&_2fe!=undefined&&typeof _2fe!="number"){ +throw new DeviceException(this.error.INVALID_ARG_ERR,"Messaging:getList:sortorder is invalid"); +} +if(_2fd!=null&&_2fd!=undefined&&typeof _2fd=="number"){ +if((_2fd!=0)&&(_2fd!=1)){ +throw new DeviceException(this.error.INVALID_ARG_ERR,"Messaging:getList:sortkey is invalid"); +} +} +if(_2fe!=null&&_2fe!=undefined&&typeof _2fe=="number"){ +if((_2fe!=0)&&(_2fe!=1)){ +throw new DeviceException(this.error.INVALID_ARG_ERR,"Messaging:getList:sortorder is invalid"); +} +} +if(_2ff){ +if(typeof (_2ff)!="function"){ +throw new DeviceException(this.error.INVALID_ARG_ERR,"Messaging: startEditor: ErrorCallback is invalid"); +} +} +var _300={}; +modifyObjectBaseProp(_300); +_300.Type="Inbox"; +_300.Filter={}; +modifyObjectBaseProp(_300.Filter); +if(_2fc){ +if(_2fc.type!=null&&_2fc.type!=undefined){ +_300.Filter.MessageTypeList=_2fc.type; +} +if(_2fc.senders!=null&&_2fc.senders!=undefined){ +_300.Filter.SenderList=_2fc.senders; +} +if(_2fc.subject!=null&&_2fc.subject!=undefined){ +if(_2fc.subject.length>256){ +if(_2ff){ +_2ff(new DeviceException(this.error.DATA_OUT_OF_RANGE_ERR,"Messaging:getList:subject is out of range")); +return; +}else{ +throw new DeviceException(this.error.DATA_OUT_OF_RANGE_ERR,"Messaging:getList:subject is out of range"); +} +}else{ +_300.Filter.Subject=_2fc.subject; +} +} +if(_2fc.start!=null&&_2fc.start!=undefined){ +_300.Filter.StartDate=_2fc.start; +} +if(_2fc.end!=null&&_2fc.end!=undefined){ +_300.Filter.EndDate=_2fc.end; +} +} +if(_2fd||_2fe){ +_300.SortOrder={}; +modifyObjectBaseProp(_300.SortOrder); +if(_2fd){ +if((_2fd==this.SORT_BY_DATE)){ +_300.SortOrder.Key="Date"; +}else{ +if((_2fd==this.SORT_BY_SENDER)){ +_300.SortOrder.Key="Sender"; +} +} +}else{ +_300.SortOrder.Key="Date"; +} +if(_2fe){ +if((_2fe==this.SORT_ASCENDING)){ +_300.SortOrder.Order="Ascending"; +}else{ +if((_2fe==this.SORT_DESCENDING)){ +_300.SortOrder.Order="Descending"; +} +} +}else{ +_300.SortOrder.Order="Ascending"; +} +} 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){ +temp_scb=_2fb; +temp_ecb=_2ff; +var _301=this.so.IMessaging.GetList(_300,this.getListcB); +if(_301.TransactionID){ +glob_obj.addToGlobalArray(_301.TransactionID,_2fb,_2ff); +} +if(_300){ +delete _300.Filter; +delete _300.SortOrder; +delete _300.Type; +} +if(_301.ErrorCode!=0){ +var _302="operation failed"; +if(_301.ErrorMessage){ +_302=splitErrorMessage(_301.ErrorMessage); +} +switch(MapErrorCode[_301.ErrorCode]){ +case this.error.INVALID_ARG_ERR: +case this.error.MISSING_ARG_ERR: +case this.error.NOT_SUPPORTED_ERR: +throw new DeviceException(MapErrorCode[_301.ErrorCode],"Messaging:getList:"+_302); +break; +default: +if(_2ff){ +setTimeout(function(){ +_2ff(new DeviceException(MapErrorCode[_301.ErrorCode],"Messaging:getList:"+_302)); +},500); +}else{ +throw new DeviceException(MapErrorCode[_301.ErrorCode],"Messaging:getList:"+_302); +} +} +} +return _301.TransactionID; +} +catch(e){ +__device_handle_exception(e,"__sp_messaging_getList: "+e); +} +}; +function __sp_message_sendcb(arg1,arg2,arg3){ +var _306; +var eCB; +var _308=glob_obj.getFromArray(arg1); +if(_308){ +_306=_308.success_cb; +eCB=_308.error_cb; +}else{ +alert("Messaging : __sp_message_sendcb : Callback not found"); +return; +} +if(_306){ +var _309="operation failed"; +if(arg3.ErrorCode!=0){ +if(arg3.ErrorMessage){ +_309=splitErrorMessage(arg3.ErrorMessage); +} +if(eCB){ +setTimeout(function(){ +eCB(new DeviceException(MapErrorCode[arg3.ErrorCode],"Messaging: send: "+_309)); +},500); +return; +} +} +if(arg2!=event_cancelled){ +_306(); +} +} +glob_obj.removeFromArray(arg1); +}; +function __sp_messaging_send_common(_30a,_30b,_30c,id,eCB){ +var _30f=__sp_message_build(_30a,id); +_30f.MessageParam.LaunchEditor=_30b; +var _310; +if(_30b==false){ +temp_scb=_30c; +temp_ecb=eCB; +_310=this.so.IMessaging.Send(_30f,this.sendcb); +if(_310.TransactionID){ +glob_obj.addToGlobalArray(_310.TransactionID,_30c,eCB); +} +if(_310.ErrorCode!=0){ +var _311="operation failed"; +if(_310.ErrorMessage){ +_311=splitErrorMessage(_310.ErrorMessage); +} +switch(MapErrorCode[_310.ErrorCode]){ +case this.error.INVALID_ARG_ERR: +case this.error.MISSING_ARG_ERR: +case this.error.NOT_SUPPORTED_ERR: +throw new DeviceException(MapErrorCode[_310.ErrorCode],_311); +break; +default: +if(eCB){ +setTimeout(function(){ +eCB(new DeviceException(MapErrorCode[_310.ErrorCode],_311)); +},500); +return; +}else{ +throw new DeviceException(MapErrorCode[_310.ErrorCode],_311); +} +} +} +var _312=_310.TransactionID; +return _312; +}else{ +_310=this.so.IMessaging.Send(_30f); +if(_310.ErrorCode!=0){ +if(_310.ErrorMessage){ +var _313=splitErrorMessage(_310.ErrorMessage); +throw new DeviceException(MapErrorCode[_310.ErrorCode],"Messaging:startEditor"+_313); +}else{ +throw new DeviceException(MapErrorCode[_310.ErrorCode],"Messaging:startEditor:operation failed"); +} +} +} +if(_30f){ +delete _30f.MessageParam; +} +}; +function __sp_messaging_startEditor(_314){ +if(!_314){ +throw new DeviceException(this.error.MISSING_ARG_ERR,"Messaging:startEditor:message is missing"); +}else{ +if(typeof _314!="object"){ +throw new DeviceException(this.error.INVALID_ARG_ERR,"Messaging:startEditor:message is invalid"); +} +} +if((_314.subject)){ +if((_314.subject).length>256){ +throw new DeviceException(this.error.DATA_OUT_OF_RANGE_ERR,"Messaging:startEditor:subject is too lengthy"); +} +} +if(_314.to==undefined||_314.to==null){ +throw new DeviceException(this.error.MISSING_ARG_ERR,"Messaging:startEditor:to field is missing"); +} +if(_314.attachments!=undefined&&_314.attachments!=null&&typeof _314.attachments!="object"){ +throw new DeviceException(this.error.INVALID_ARG_ERR,"Messaging:startEditor:attachment is invalid"); +} +if(_314){ +if(_314.body){ +if(typeof (_314.body)!="string"){ +throw new DeviceException(this.error.INVALID_ARG_ERR,"Messaging:startEditor:body is invalid"); +} +} +} +try{ +this.sendCommon(_314,true,null); +} +catch(e){ +var _315=null; +if(e.message){ +_315=new DeviceException(e.code,"Messaging:startEditor:"+e.message); +}else{ +_315=new DeviceException(e.code,"Messaging:startEditor:operation failed"); +} +__device_handle_exception(_315,"__sp_messaging_startEditor: "+_315); +} +}; +function __sp_messaging_send(_316,_317,id,_319){ +if(!_317){ +throw new DeviceException(this.error.MISSING_ARG_ERR,"Messaging:send:message is missing"); +}else{ +if(typeof _317!="object"){ +throw new DeviceException(this.error.INVALID_ARG_ERR,"Messaging:send:message is invalid"); +} +} +if(!_316){ +throw new DeviceException(this.error.MISSING_ARG_ERR,"Messaging:send:callback is missing"); +}else{ +if(typeof _316!="function"){ +throw new DeviceException(this.error.INVALID_ARG_ERR,"Messaging:send:callback is invalid"); +} +} +if(_317.to==undefined||_317.to==null){ +throw new DeviceException(this.error.MISSING_ARG_ERR,"Messaging:send:to field is missing"); +} +if(_317.attachments!=undefined&&_317.attachments!=null&&typeof _317.attachments!="object"){ +throw new DeviceException(this.error.INVALID_ARG_ERR,"Messaging:send:attachment is invalid"); +} +if(!id){ +id=""; +} +if((typeof id)=="function"){ +var _31a=id; +id=""; +_319=_31a; +} +if((typeof _319)=="undefined"||_319==null){ +_319=null; +}else{ +if((typeof _319)!="function"){ +throw new DeviceException(this.error.INVALID_ARG_ERR,"Messaging:send:errorCallback is not a function"); +} +} +var _31b=function(arg1,arg2,arg3){ +var _31f=_316; +var _320=_319; var iter=null; -if(arg3.ErrorCode||(arg2==4)){ -var _3a7=convertFromPS2JS(arg3.ErrorCode); -var _3a8=new DeviceAPIError(_3a7,arg3.ErrorMessage); -if(_3a1){ -_39f(_3a8); +if(arg3.ErrorCode!=0){ +var _322; +if(arg3.ErrorMessage){ +_322=splitErrorMessage(arg3.ErrorMessage); +}else{ +_322="Operation Failed"; +} +_320(new DeviceException(MapErrorCode[arg3.ErrorCode],"Messaging:startEditor: "+_322)); +return; +}else{ +if(arg3.ReturnValue){ +iter=new __sp_message_iterator(arg3.ReturnValue); +_31f(iter); +} +} +if(arg2!=event_cancelled){ +_31f(iter); +} +}; +try{ +var _323=this.sendCommon(_317,false,_316,id,_319); +return _323; +} +catch(e){ +var _324=null; +switch(e.code){ +case this.error.INVALID_ARG_ERR: +case this.error.MISSING_ARG_ERR: +case this.error.NOT_SUPPORTED_ERR: +throw new DeviceException(e.code,"Messaging:send:"+e.message); +break; +default: +if(_319){ +setTimeout(function(){ +_319(new DeviceException(e.code,"Messaging:send:"+e.message)); +},1000); +}else{ +throw new DeviceException(e.code,"Messaging:send:"+e.message); +} +} +} +}; +function __sp_messaging_setNotifier_cb(arg1,arg2,arg3){ +var _328; +var _329; +var _32a=null; +var _32b=null; +var _32c; +_32c=glob_obj.getFromArray(arg1); +if(_32c){ +_328=_32c.success_cb; +_329=_32c.error_cb; +}else{ +alert("Messaging: __sp_messaging_setNotifier_cb : Callback not found "); +return; +} +if(arg3.ErrorCode!=0){ +if(arg3.ErrorMessage){ +_32b=splitErrorMessage(arg3.ErrorMessage); +}else{ +_32b="operation failed"; +} +if(_329){ +_329(new DeviceException(MapErrorCode[arg3.ErrorCode],"Messaging:setNotifier: "+_32b)); +return; } }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); +_32a=new __sp_device_message_info_build_notifier(arg3.ReturnValue); +arg3.ReturnValue.close(); +} +} +if(arg2!=event_cancelled){ +_328(_32a.id); +} +glob_obj.removeFromArray(arg1); +}; +function __sp_messaging_setNotifier(_32d,_32e){ +if(!_32d){ +throw new DeviceException(this.error.MISSING_ARG_ERR,"Messaging:setNotifier:callback is missing"); +}else{ +if(typeof _32d!="function"){ +throw new DeviceException(this.error.INVALID_ARG_ERR,"Messaging:setNotifier:callback is invalid"); +} +} +if(_32e){ +if(typeof (_32e)!="function"){ +throw new DeviceException(this.error.INVALID_ARG_ERR,"Messaging:setNotifier: ErrorCallback is invalid"); +} +} +var _32f={}; +modifyObjectBaseProp(_32f); +_32f.Type="NewMessage"; +try{ +temp_scb=_32d; +temp_ecb=_32e; +var _330=this.so.IMessaging.RegisterNotification(_32f,this.setNotifierCb); +if(_330.TransactionID){ +glob_obj.addToGlobalArray(_330.TransactionID,_32d,_32e); +} +if(_32f){ +delete _32f.Type; +} +if(_330.ErrorCode!=0){ +var _331="operation failed"; +if(_330.ErrorMessage){ +_331=splitErrorMessage(_330.ErrorMessage); +} +switch(MapErrorCode[_330.ErrorCode]){ +case this.error.INVALID_ARG_ERR: +case this.error.MISSING_ARG_ERR: +case this.error.NOT_SUPPORTED_ERR: +throw new DeviceException(MapErrorCode[_330.ErrorCode],"Messaging:setNotifier:"+_331); break; default: -throw new DeviceAPIError(-101,"unknown error message"); -} -} -return rval.TransactionID; +if(_32e){ +setTimeout(function(){ +_32e(new DeviceException(MapErrorCode[_330.ErrorCode],"Messaging:setNotifier:"+_331)); +},1000); +}else{ +throw new DeviceException(MapErrorCode[_330.ErrorCode],"Messaging:setNotifier:"+_331); +} +} +} +var _332=_330.TransactionID; +return _332; +} +catch(e){ +__device_handle_exception(e,"__sp_messaging_setNotifier: "+e.toString()); +} +}; +function __sp_messaging_cancelNotifier(){ +var _333={}; +modifyObjectBaseProp(_333); +_333.Type="NewMessage"; +try{ +var _334=this.so.IMessaging.CancelNotification(_333); +if(_333){ +delete _333.Type; +} +if(_334.ErrorCode!=0){ +if(_334.ErrorMessage){ +var _335=splitErrorMessage(_334.ErrorMessage); +throw new DeviceException(MapErrorCode[_334.ErrorCode],"Messaging:cancelNotifier"+_335); +}else{ +throw new DeviceException(MapErrorCode[_334.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(this.error.MISSING_ARG_ERR,"Messaging:getMessage:id is missing"); +}else{ +if((typeof id)!="string"){ +throw new DeviceException(this.error.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(this.error.DATA_NOT_FOUND_ERR,"Messaging:getMessage:id not found"); +} +if(id<0){ +throw new DeviceException(this.error.DATA_OUT_OF_RANGE_ERR,"Messaging:getMessage:id is out of range"); +} +} +var _337={}; +modifyObjectBaseProp(_337); +_337.Type="Inbox"; +_337.Filter={}; +modifyObjectBaseProp(_337.Filter); +_337.Filter.MessageId=id; +try{ +var _338=this.so.IMessaging.GetList(_337); +if(_337){ +delete _337.Filter; +delete _337.Type; +} +if(_338.ErrorCode!=0){ +if(_338.ErrorMessage){ +var _339=splitErrorMessage(_338.ErrorMessage); +throw new DeviceException(MapErrorCode[_338.ErrorCode],"Messaging:getMessage"+_339); +}else{ +throw new DeviceException(MapErrorCode[_338.ErrorCode],"Messaging:getMessage:operation failed"); +} +} +if(_338.ReturnValue){ +var iter=new __sp_message_iterator(_338.ReturnValue); +var _33b=iter.next(); +if(_33b){ +return _33b; +}else{ +throw new DeviceException(this.error.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(this.error.MISSING_ARG_ERR,"Messaging:delete:id is missing"); +}else{ +if((typeof id)!="string"){ +throw new DeviceException(this.error.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(this.error.DATA_NOT_FOUND_ERR,"Messaging:delete:id not found"); +} +if(id<0){ +throw new DeviceException(this.error.DATA_OUT_OF_RANGE_ERR,"Messaging:delete:id is out of range"); +} +} +var _33d={}; +modifyObjectBaseProp(_33d); +_33d.MessageId=id; +try{ +var _33e=this.so.IMessaging.Delete(_33d); +a("MapErrorCode[ result.ErrorCode ]"+MapErrorCode[_33e.ErrorCode]); +if(_33d){ +delete _33d.MessageId; +} +if(_33e.ErrorCode!=0){ +if(_33e.ErrorMessage){ +var _33f=splitErrorMessage(_33e.ErrorMessage); +throw new DeviceException(MapErrorCode[_33e.ErrorCode],"Messaging:delete"+_33f); +}else{ +throw new DeviceException(MapErrorCode[_33e.ErrorCode],"Messaging:delete:operation failed"); +} +} +} +catch(e){ +__device_handle_exception(e,"__sp_messaging_delete: "+e); +} +}; +function __sp_messaging_setStatus(id,_341){ +if(id==null||id==undefined||(id.length)<=0){ +throw new DeviceException(this.error.MISSING_ARG_ERR,"Messaging:setStatus:id is missing"); +} +if((typeof id)!="string"){ +throw new DeviceException(this.error.INVALID_ARG_ERR,"Messaging:setStatus:id should be string"); +} +if(_341==null||_341==undefined){ +throw new DeviceException(this.error.MISSING_ARG_ERR,"Messaging:setStatus:status is missing"); +} +if(typeof _341!="number"){ +throw new DeviceException(this.error.INVALID_ARG_ERR,"Messaging:setStatus:status is invalid"); +} +if(typeof _341=="number"&&_341!=0&&_341!=1){ +throw new DeviceException(this.error.INVALID_ARG_ERR,"Messaging:setStatus:status is invalid"); +} +if((typeof id=="string")&&!(isNaN(id))){ +id=Number(id); +if(id==0){ +throw new DeviceException(this.error.DATA_NOT_FOUND_ERR,"Messaging:setStatus:id not found"); +} +if(id<0){ +throw new DeviceException(this.error.DATA_OUT_OF_RANGE_ERR,"Messaging:setStatus:id is out of range"); +} +} +var _342={}; +modifyObjectBaseProp(_342); +_342.MessageId=id; +if((_341==this.STATUS_UNREAD)){ +_342.Status="Unread"; +}else{ +if((_341==this.STATUS_READ)){ +a("in read"); +_342.Status="Read"; +} +} +try{ +var _343=this.so.IMessaging.ChangeStatus(_342); +if(_342){ +delete _342.MessageId; +delete _342.Status; +} +if(_343.ErrorCode!=0){ +if(_343.ErrorMessage){ +var _344=splitErrorMessage(_343.ErrorMessage); +throw new DeviceException(MapErrorCode[_343.ErrorCode],"Messaging:setStatus"+_344); +}else{ +throw new DeviceException(MapErrorCode[_343.ErrorCode],"Messaging:setStatus:operation failed"); +} +} +} +catch(e){ +__device_handle_exception(e,"__sp_messaging_setStatus: "+e); +} +}; +function __sp_messaging_cancel(_345){ +if(_345==null||_345==undefined){ +throw new DeviceException(this.error.MISSING_ARG_ERR,"Messaging:setStatus:id is missing"); +} +if(typeof _345!="number"){ +throw new DeviceException(this.error.INVALID_ARG_ERR,"Messaging:cancel:id is invalid"); +} +var _346={}; +modifyObjectBaseProp(_346); +_346.TransactionID=_345; +try{ +var _347=this.so.IMessaging.Cancel(_346); +if(_346){ +delete _346.TransactionID; +} +if(_347.ErrorCode!=0){ +var err; +if(_347.ErrorCode==1000){ +err=this.error.DATA_NOT_FOUND_ERR; +}else{ +err=MapErrorCode[_347.ErrorCode]; +} +if(_347.ErrorMessage){ +var _349=splitErrorMessage(_347.ErrorMessage); +throw new DeviceException(err,"Messaging:cancel"+_349); +}else{ +throw new DeviceException(err,"Messaging:cancel:operation failed"); +} +} +} +catch(e){ +__device_handle_exception(e,"__sp_messaging_setStatus: "+e); +} +}; +function __device_calendar_descriptor(_34a){ +this.interfaceName=_34a.interfaceName; +this.version=_34a.version; +}; +function __device_calendar_startEditor(_34b,_34c,_34d){ +this.provider.startEditor(_34b,_34c,_34d); +}; +function __device_calendar_getList(_34e,_34f,_350){ +return this.provider.getList(_34e,_34f,_350); +}; +function __device_calendar_add(_351){ +return this.provider.addEntry(_351); +}; +function __device_calendar_update(_352){ +return this.provider.updateEntry(_352); +}; +function __device_calendar_delete(data){ +this.provider.deleteEntry(data); +}; +function __device_calendar_cancel(_354){ +this.provider.cancel(_354); +}; +function __device_calendar(_355){ +this.provider=_355; +this.interfaceName=_355.descriptor.interfaceName; +this.version=_355.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}]}; +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(_356,end,_358){ +if(_356){ +var st=new Date(_356); +this.begin=st; +} +if(end){ +var en=new Date(end); +this.end=en; +} +if(_358){ +var al=new Date(_358); +this.alarm=al; +} +}; +function __sp_calendar_isInputValid(_35c){ +if(_35c){ +if(_35c.id){ +if(typeof (_35c.id)!="string"){ +return false; +} +} +if(_35c.type){ +if((typeof (_35c.type)!="string")||!__sp_calendar_entry_types.match(_35c.type)){ +return false; +} +} +if(_35c.text){ +if(typeof (_35c.text)!="string"){ +return false; +} +} +if(_35c.range){ +if(typeof (_35c.range)!="object"){ +return false; +} +if(_35c.range.begin){ +if(typeof (_35c.range.begin)!="object"){ +return false; +} +} +if(_35c.range.end){ +if(typeof (_35c.range.end)!="object"){ +return false; +} +} +} +if(_35c.summary){ +if(typeof (_35c.summary)!="string"){ +return false; +} +} +if(_35c.description){ +if(typeof (_35c.description)!="string"){ +return false; +} +} +if(_35c.status){ +if(typeof (_35c.status)!="string"){ +return false; +} +} +if(_35c.location){ +if(typeof (_35c.location)!="string"){ +return false; +} +} +if(_35c.priority){ +if(typeof (_35c.priority)!="number"){ +return false; +} +} +if(_35c.instanceStartTime){ +if(typeof (_35c.instanceStartTime)!="object"){ +return false; +} +} +if(_35c.exceptionDates){ +if(typeof (_35c.exceptionDates)!="object"){ +return false; +} +} +if(_35c.time){ +if(typeof _35c.time!="object"){ +return false; +} +if(_35c.time.begin){ +if(typeof (_35c.time.begin)!="object"){ +return false; +} +if(_35c.time.begin=="Invalid Date"){ +return false; +} +try{ +(_35c.time.begin).getTime(); +} +catch(e){ +return false; +} +} +if(_35c.time.end){ +if(typeof (_35c.time.end)!="object"){ +return false; +} +if(_35c.time.end=="Invalid Date"){ +return false; +} +try{ +(_35c.time.end).getTime(); +} +catch(e){ +return false; +} +} +if(_35c.time.begin&&_35c.time.end){ +if(_35c.time.begin>_35c.time.end){ +return false; +} +} +if(_35c.time.alarm){ +if(typeof (_35c.time.alarm)!="object"){ +return false; +} +try{ +(_35c.time.alarm).getTime(); +} +catch(e){ +return false; +} +} +} +if(_35c.repeatRule){ +if(typeof _35c.repeatRule!="object"){ +return false; +} +if(_35c.repeatRule.frequency){ +if(typeof (_35c.repeatRule.frequency)!="string"){ +return false; +} +} +if(_35c.repeatRule.startDate){ +if(typeof (_35c.repeatRule.startDate)!="object"){ +return false; +} +if((_35c.repeatRule.startDate)=="Invalid Date"){ +return false; +} +try{ +(_35c.repeatRule.startDate).getTime(); +} +catch(e){ +return false; +} +} +if(_35c.repeatRule.untilDate){ +if(typeof (_35c.repeatRule.untilDate)!="object"){ +return false; +} +if((_35c.repeatRule.untilDate)=="Invalid Date"){ +return false; +} +try{ +(_35c.repeatRule.untilDate).getTime(); } catch(e){ -throw e; -} -}; -function __sp_landmarks_category_add(_3aa,_3ab,_3ac){ +return false; +} +} +if(_35c.repeatRule.startDate&&_35c.repeatRule.untilDate){ +if(_35c.repeatRule.startDate>_35c.repeatRule.untilDate){ +return false; +} +} +if(_35c.repeatRule.interval){ +if(typeof (_35c.repeatRule.interval)!="number"){ +return false; +} +} +if(_35c.repeatRule.month){ +if(typeof (_35c.repeatRule.month)!="number"){ +return false; +} +} +if(_35c.repeatRule.weekDays){ +if(typeof (_35c.repeatRule.weekDays)!="object"){ +return false; +} +} +if(_35c.repeatRule.daysOfMonth){ +if(typeof (_35c.repeatRule.daysOfMonth)!="object"){ +return false; +} +} +if(_35c.repeatRule.monthDates){ +if(typeof (_35c.repeatRule.monthDates)!="object"){ +return false; +} +} +} +} +return true; +}; +function __sp_calendar_getList_repeatRule(_35d){ +var _35e; +switch(_35d.Type){ +case 1: +_35e="daily"; +this.frequency=_35e.toString(); +break; +case 2: +_35e="weekly"; +this.frequency=_35e.toString(); +break; +case 3: +_35e="monthly"; +this.frequency=_35e.toString(); +break; +case 4: +_35e="yearly"; +this.frequency=_35e.toString(); +break; +default: +throw new DeviceException(this.error.INVALID_ARG_ERR,"Calendar: Repeat Rule Type is Invalid"); +} +if(_35d.StartDate){ +this.startDate=new Date(_35d.StartDate); +} +if(_35d.UntilDate){ +this.untilDate=new Date(_35d.UntilDate); +} +if(_35d.Interval){ +this.interval=_35d.Interval; +} +if(_35d.DaysInWeek){ +this.weekDays=[]; +for(var a in _35d.DaysInWeek){ +if(_35d.DaysInWeek[a]==6){ +_35d.DaysInWeek[a]=0; +}else{ +_35d.DaysInWeek[a]=_35d.DaysInWeek[a]+1; +} +this.weekDays.push(_35d.DaysInWeek[a]); +} +} +if(_35d.Month){ +this.month=_35d.Month; +} +if(_35d.DaysOfMonth){ +if(_35d.DaysOfMonth.Day){ +if(_35d.DaysOfMonth.Day==6){ +_35d.DaysOfMonth.Day=0; +}else{ +_35d.DaysOfMonth.Day=_35d.DaysOfMonth.Day+1; +} +this.daysOfMonth.day=_35d.DaysOfMonth.Day; +} +if(_35d.DaysOfMonth.WeekNum){ +this.daysOfMonth.weekInMonth=_35d.DaysOfMonth.WeekNum; +} +} +if(_35d.MonthDays){ +this.monthDates=[]; +for(var i=0;i<_35d.MonthDays.length;i++){ +this.monthDates.push(_35d.MonthDays[i]-1); +} +} +}; +function __sp_device_calendar_entry(_361){ +if(_361.id){ +this.id=_361.id; +} +if(_361.type){ +this.type=_361.Type; +} +if(_361.Summary){ +this.summary=_361.Summary; +} +if(_361.Description){ +this.description=_361.Description; +} +if(_361.Location){ +this.location=_361.Location; +} +if(_361.InstanceStartTime){ +this.instanceStartTime=_361.InstanceStartTime; +} +if(_361.Priority>=0||_361.Priority<=255){ +this.priority=_361.Priority; +} +if(_361.Status){ +this.status=_361.Status; +} +if(_361.ExDates){ +this.exceptionDates=_361.ExDates; +} +if(_361.RepeatRule){ +this.repeatRule=new __sp_calendar_getList_repeatRule(_361.RepeatRule); +} +if(dataGetList==0){ +this.time=new __sp_calendar_entry_time(_361.InstanceStartTime,_361.InstanceEndTime,_361.AlarmTime); +}else{ +this.time=new __sp_calendar_entry_time(_361.StartTime,_361.EndTime,_361.AlarmTime); +} +}; +function __sp_daysOfMonth_build(_362){ +if(_362.day){ +if(_362.day==0){ +_362.day=6; +}else{ +_362.day=_362.day-1; +} +this.Day=_362.day; +} +if(_362.weekInMonth){ +this.WeekNum=_362.weekInMonth; +} +}; +function __sp_calendar_addEntry_repeatRule(_363,str){ +try{ +if(!(_363.frequency)){ +throw new DeviceException(this.error.MISSING_ARG_ERR,"Calendar: addEntry: frequency is missing"); +}else{ +var _365=_363.frequency; +switch(_365){ +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(this.error.INVALID_ARG_ERR,"Calendar: "+str+" Repeat Rule Type is Invalid"); +} +if(_363.startDate){ +this.StartDate=_363.startDate; +} +if(_363.untilDate){ +this.UntilDate=_363.untilDate; +} +if(_363.interval){ +this.Interval=_363.interval; +} +if(_363.weekDays){ +this.DaysInWeek=[]; +for(var a in _363.weekDays){ +if(_363.weekDays[a]==0){ +_363.weekDays[a]=6; +}else{ +_363.weekDays[a]=_363.weekDays[a]-1; +} +this.DaysInWeek.push(_363.weekDays[a]); +} +} +if(_363.month){ +this.Month=_363.month; +} +if(_363.monthDates){ +this.MonthDays=[]; +for(var i=0;i<_363.monthDates.length;i++){ +this.MonthDays.push(_363.monthDates[i]-1); +} +} +if(_363.daysOfMonth){ +this.DaysOfMonth=new Array(); +for(var a in _363.daysOfMonth){ +var _368=new __sp_daysOfMonth_build(_363.daysOfMonth[a]); +(this.DaysOfMonth).push(_368); +} +} +} +} +catch(e){ +__device_handle_exception(e,"__sp_calendar_addEntry_repeatRule: "+e); +} +}; +function __sp_calendar_entry(_369,str){ 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(_369.type){ +this.Type=_369.type; +} +if(_369.id){ +this.id=_369.id; +if(isUpdate){ +if(_369.time){ +if(_369.time.begin){ +this.StartTime=_369.time.begin; +} +if(_369.time.end){ +this.EndTime=_369.time.end; +} +} +} +} +if(_369.instanceStartTime){ +this.InstanceStartTime=_369.instanceStartTime; +} +if(_369.description){ +this.Description=_369.description; +}else{ +if(isUpdate&&(_369.description==null)){ +this.Description=" "; +} +} +if(_369.summary){ +this.Summary=_369.summary; +}else{ +if(isUpdate&&(_369.summary==null)){ +this.Summary=" "; +} +} +if(_369.location){ +this.Location=_369.location; +}else{ +if(isUpdate&&(_369.location==null)){ +this.Location=" "; +} +} +if(_369.priority){ +if((_369.priority<0)||(_369.priority>255)){ +throw new DeviceException(this.error.INVALID_ARG_ERR,"Calendar: "+str+" Priority is Invalid"); +}else{ +this.Priority=_369.priority; +} +}else{ +if(isUpdate&&(_369.priority==null)){ +this.Priority=0; +} +} +if(_369.status){ +if(this.Type=="ToDo"){ +this.Status="Todo"+_369.status; +}else{ +this.Status=_369.status; +} +}else{ +if(isUpdate&&(_369.status==null)){ +this.Status="Tentative"; +} +} +if(_369.exceptionDates){ +this.ExDates=_369.exceptionDates; +} +if(_369.repeatRule){ +this.RepeatRule=new __sp_calendar_addEntry_repeatRule(_369.repeatRule,str); +} +if(_369.type!=undefined&&_369.type!=null){ +if(typeof this.Type!="string"){ +throw new DeviceException(this.error.INVALID_ARG_ERR,"Calendar: "+str+" Type is not a string"); +} +switch(this.Type){ +case "Meeting": +if(_369.time){ +if(_369.time.begin){ +this.StartTime=_369.time.begin; +} +if(_369.time.end){ +this.EndTime=_369.time.end; +} +} +break; +case "Reminder": +case "Anniversary": +if(_369.time){ +if(_369.time.begin){ +this.StartTime=_369.time.begin; +} +} +break; +case "ToDo": +if(_369.time){ +if(_369.time.end){ +this.EndTime=_369.time.end; +} +} +break; +case "DayEvent": +if(_369.time){ +if(_369.time.begin){ +this.StartTime=_369.time.begin; +} +} +break; +default: +throw new DeviceException(this.error.INVALID_ARG_ERR,"Calendar: "+str+" Type is Invalid"); +} +} +if(_369.time){ +if(_369.time.alarm){ +this.AlarmTime=_369.time.alarm; +} +} +} +catch(e){ +__device_handle_exception(e,"__sp_calendar_entry: "+e); +} +}; +function __sp_calendar_iterator_get_next(){ +var _36b=this.iter.getNext(); +if(typeof _36b=="undefined"){ +return null; +} +var _36c=new __sp_device_calendar_entry(_36b); +_36b.close(); +return _36c; +}; +function __sp_calendar_iterator(_36d){ +this.iter=_36d; +this.next=__sp_calendar_iterator_get_next; +this.close=function(){ +this.iter.close(); +}; +}; +var CALENDAR_APP_ID=268458241; +function __sp_calendar_startEditor(_36e,_36f,_370){ +try{ +if(!_36e){ +throw new DeviceException(this.error.MISSING_ARG_ERR,"Calendar: startEditor: callback is missing"); +}else{ +if(typeof _36e!="function"){ +throw new DeviceException(this.error.INVALID_ARG_ERR,"Calendar: startEditor: callback is invalid"); +} +} +if(_370){ +if(typeof _370!="function"){ +throw new DeviceException(this.error.INVALID_ARG_ERR,"Calendar: startEditor: error callback is invalid"); +} +} +if(_36f==null||_36f==undefined){ +throw new DeviceException(this.error.INVALID_ARG_ERR,"Calendar: startEditor: entry is invalid"); +} +var _371=function(arg1,arg2,arg3){ +var iter=null; +_36e(iter); +if(arg2!=event_cancelled){ +var iter=null; 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); +iter=new __sp_calendar_iterator(arg3.ReturnValue); +} +_36e(iter); +} +if(arg3.ErrorCode!=0){ +switch(arg3.ErrorCode){ +case this.error.MISSING_ARG_ERR: +case this.error.INVALID_ARG_ERR: +case this.error.NOT_SUPPORTED_ERR: +if(arg3.ErrorMessage){ +var _376=splitErrorMessage(arg3.ErrorMessage); +throw new DeviceException(MapErrorCode[arg3.ErrorCode],"Calendar: startEditor: "+_376); +}else{ +throw new DeviceException(MapErrorCode[arg3.ErrorCode],"Calendar: startEditor: Operation Failed"); +} +break; +default: +_370(new DeviceException(MapErrorCode[arg3.ErrorCode],"Calendar: startEditor: Operation Failed")); +} +} +}; +__s60_start_and_wait(CALENDAR_APP_ID,"",_371); +return 0; +} +catch(e){ +__device_handle_exception(e,"__sp_calendar_startEditor: "+e); +} +}; +var __sp_calendar_entry_types="MeetingReminderToDoAnniversaryDayEvent"; +function __sp_calendar_getList_cb(arg1,arg2,arg3){ +var _37a; +var _37b; +var _37c; +_37a=glob_obj.getFromArray(arg1); +if(_37a){ +_37b=_37a.success_cb; +_37c=_37a.error_cb; +}else{ +alert("Calendar: __sp_calendar_getList_cb: Callback not found "); +return; +} +if(arg3.ErrorCode!=0){ +_37c(new DeviceException(arg3.ErrorCode,"Calendar: getList: Operation Failed")); +return; +} +if(arg2!=event_cancelled){ +var iter=null; +if(arg3.ReturnValue){ +iter=new __sp_calendar_iterator(arg3.ReturnValue); +} +_37b(iter); +} +glob_obj.removeFromArray(arg1); +}; +function __sp_calendar_getList(_37e,_37f,_380){ +try{ +if(_37f){ +if(typeof _37f!="object"){ +throw new DeviceException(this.error.INVALID_ARG_ERR,"Calendar: getList: match is invalid"); +} +if(_37f.id){ +dataGetList=1; +if(typeof _37f.id!="string"){ +throw new DeviceException(this.error.INVALID_ARG_ERR,"Calendar: getList: match is invalid"); +} +}else{ +dataGetList=0; +} +} +if(!_37e){ +throw new DeviceException(this.error.MISSING_ARG_ERR,"Calendar: getList: callback is missing"); +}else{ +if(typeof _37e!="function"){ +throw new DeviceException(this.error.INVALID_ARG_ERR,"Calendar: getList: callback is invalid"); +} +} +if(_380){ +if(typeof _380!="function"){ +throw new DeviceException(this.error.INVALID_ARG_ERR,"Calendar: getList: error callback is invalid"); +} +if(_380==undefined||_380==null){ +throw new DeviceException(this.error.MISSING_ARG_ERR,"Calendar: getList: error callback is missing"); +} +} +var _381={}; +modifyObjectBaseProp(_381); +_381.Type="IncludeAll"; +if(_37f){ +if(_37f.id){ +_381.id=_37f.id; +} +if((_37f.type)&&__sp_calendar_entry_types.match(_37f.type)){ +_381.Type=_37f.type; +}else{ +if((_37f.type)&&typeof _37f.type!="string"){ +throw new DeviceException(this.error.INVALID_ARG_ERR,"Calendar: getList: match is invalid"); +} +} +if(_37f.range){ +if(_37f.range.begin){ +if(typeof (_37f.range.begin)!="object"){ +throw new DeviceException(this.error.INVALID_ARG_ERR,"Calendar: getList: match is invalid"); +}else{ +if((_37f.range.begin)=="Invalid Date"){ +throw new DeviceException(this.error.INVALID_ARG_ERR,"Calendar: getList: match is invalid"); +}else{ +_381.StartRange=_37f.range.begin; +} +} +} +if(_37f.range.end){ +if(typeof (_37f.range.end)!="object"){ +throw new DeviceException(this.error.INVALID_ARG_ERR,"Calendar: getList: match is invalid"); +}else{ +if((_37f.range.end)=="Invalid Date"){ +throw new DeviceException(this.error.INVALID_ARG_ERR,"Calendar: getList: match is invalid"); +}else{ +_381.EndRange=_37f.range.end; +} +} +} +if((_37f.range.begin)&&(_37f.range.end)){ +if((_37f.range.begin)>(_37f.range.end)){ +throw new DeviceException(this.error.INVALID_ARG_ERR,"Calendar: getList: match is invalid"); +} +} +} +if(_37f.text){ +if(typeof (_37f.text)!="string"){ +throw new DeviceException(this.error.INVALID_ARG_ERR,"Calendar: getList: match is invalid"); +}else{ +_381.SearchText=_37f.text; +} +} +} +var _382={}; +modifyObjectBaseProp(_382); +_382.Type="CalendarEntry"; +_382.Filter=_381; +temp_scb=_37e; +temp_ecb=_380; +var rval=this.so.IDataSource.GetList(_382,this.getListCb); +if(rval.TransactionID){ +glob_obj.addToGlobalArray(rval.TransactionID,_37e,_380); +} +if(_382){ +delete _382.Type; +delete _382.Filter; +} 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); +case this.error.MISSING_ARG_ERR: +case this.error.INVALID_ARG_ERR: +case this.error.NOT_SUPPORTED_ERR: +if(rval.ErrorMessage){ +var _384=splitErrorMessage(rval.ErrorMessage); +throw new DeviceException(MapErrorCode[rval.ErrorCode],"Calendar: getList: "+_384); +}else{ +throw new DeviceException(MapErrorCode[rval.ErrorCode],"Calendar: getList: Operation Failed"); +} 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"); +_380(new DeviceException(MapErrorCode[rval.ErrorCode],"Calendar: getList: Operation Failed")); } } return rval.TransactionID; } catch(e){ -throw e; -} -}; -function __sp_landmarks_delete(_3c5,_3c6,_3c7){ +__device_handle_exception(e,"sp_calendar_getList: "+e); +} +}; +function __sp_calendar_add(_385){ +if(_385){ +if(typeof _385!="object"){ +throw new DeviceException(this.error.INVALID_ARG_ERR,"Calendar: addEntry: calendarEntry param is invalid"); +} +if(_385.id){ +_385.id=undefined; +} +if(!_385.type||!_385.time){ +throw new DeviceException(this.error.MISSING_ARG_ERR,"Calendar: addEntry: mandatory param missing"); +}else{ +if(typeof _385.type!="string"||typeof _385.time!="object"){ +throw new DeviceException(this.error.INVALID_ARG_ERR,"Calendar: addEntry: mandatory param missing"); +} +} +if((_385.type!="ToDo")&&!_385.time.begin){ +throw new DeviceException(this.error.MISSING_ARG_ERR,"Calendar: addEntry: mandatory param StartTime missing"); +} +if(!_385.time.end&&(_385.type=="ToDo"||_385.type=="Meeting")){ +throw new DeviceException(this.error.MISSING_ARG_ERR,"Calendar: addEntry: mandatory param EndTime missing"); +} +if(_385.time.end&&_385.time.alarm){ +if(_385.time.end<_385.time.alarm){ +throw new DeviceException(this.error.NOT_SUPPORTED_ERR,"Calendar: addEntry: alarm time greater than end time:Not supported"); +} +} +if(_385.type=="ToDo"){ +if(_385.status==0){ +if(typeof (_385.status)!="string"){ +throw new DeviceException(this.error.INVALID_ARG_ERR,"Calendar: addEntry: mandatory param missing"); +} +} +} +if(_385.repeatRule){ +if(typeof _385.repeatRule!="object"){ +throw new DeviceException(this.error.INVALID_ARG_ERR,"Calendar: addEntry: repeatRule param type is invalid"); +} +if(!_385.repeatRule.frequency||_385.repeatRule.frequency==null){ +throw new DeviceException(this.error.MISSING_ARG_ERR,"Calendar: addEntry: mandatory param Frequency missing"); +} +} +var _386=__sp_calendar_isInputValid(_385); +if(!_386){ +throw new DeviceException(this.error.INVALID_ARG_ERR,"Calendar: addEntry: calendarEntry param is invalid"); +} +}else{ +throw new DeviceException(this.error.MISSING_ARG_ERR,"Calendar: addEntry: mandatory param missing"); +} +try{ +var str="addEntry:"; +var _388={}; +modifyObjectBaseProp(_388); +_388.Type="CalendarEntry"; +_388.Item=new __sp_calendar_entry(_385,str); +var _389=this.so.IDataSource.Add(_388); +if(_388){ +delete _388.Type; +delete _388.Item; +} +var _38a="Operation Failed"; +if(_389.ErrorMessage){ +_38a=splitErrorMessage(_389.ErrorMessage); +} +if(_389.ErrorCode!=0){ +throw new DeviceException(MapErrorCode[_389.ErrorCode],"Calendar: addEntry: Operation Failed"); +return; +}else{ +var _38b=_389.ReturnValue; +return _38b; +} +} +catch(e){ +__device_handle_exception(e,"__sp_calendar_add: "+e); +} +}; +function __sp_calendar_update(_38c){ +isUpdate=1; +if(_38c){ +if(typeof _38c!="object"){ +throw new DeviceException(this.error.INVALID_ARG_ERR,"Calendar: updateEntry: calendarEntry param is invalid"); +} +if(!_38c.id){ +throw new DeviceException(this.error.MISSING_ARG_ERR,"Calendar: updateEntry: mandatory param - Id missing"); +} +if(_38c.repeatRule){ +if(typeof _38c.repeatRule!="object"){ +throw new DeviceException(this.error.INVALID_ARG_ERR,"Calendar: updateEntry: repeatRule param type is invalid"); +} +if((_38c.repeatRule.frequency==null||_38c.repeatRule.frequency==undefined)){ +throw new DeviceException(this.error.INVALID_ARG_ERR,"Calendar: updateEntry: repeatRule param type is invalid"); +} +if(_38c.repeatRule.startDate&&(_38c.repeatRule.startDate==null||_38c.repeatRule.startDate==undefined)){ +throw new DeviceException(this.error.INVALID_ARG_ERR,"Calendar: updateEntry: repeatRule param type is invalid"); +} +if(_38c.repeatRule.untilDate&&(_38c.repeatRule.untilDate==null||_38c.repeatRule.untilDate==undefined)){ +throw new DeviceException(this.error.INVALID_ARG_ERR,"Calendar: updateEntry: repeatRule param type is invalid"); +} +} +if(_38c.time){ +if(_38c.time.end&&_38c.time.alarm){ +if(_38c.time.alarm>_38c.time.end){ +throw new DeviceException(this.error.NOT_SUPPORTED_ERR,"Calendar: updateEntry: alarm time greater than end time is not supported"); +} +} +} +var _38d=__sp_calendar_isInputValid(_38c); +if(!_38d){ +throw new DeviceException(this.error.INVALID_ARG_ERR,"Calendar: updateEntry: calendarEntry param is invalid"); +} +}else{ +throw new DeviceException(this.error.MISSING_ARG_ERR,"Calendar: updateEntry: mandatory param missing"); +} +try{ +var str="updateEntry:"; +var _38f={}; +modifyObjectBaseProp(_38f); +_38f.Type="CalendarEntry"; +_38f.Item=new __sp_calendar_entry(_38c,str); +isUpdate=0; +var _390=this.so.IDataSource.Add(_38f); +if(_38f){ +delete _38f.Type; +delete _38f.Item; +} +var _391="Operation Failed"; +if(_390.ErrorMessage){ +_391=splitErrorMessage(_390.ErrorMessage); +} +if(_390.ErrorCode!=0){ +throw new DeviceException(MapErrorCode[_390.ErrorCode],"Calendar: addEntry: Operation Failed"); +return; +}else{ +var _392=_390.ReturnValue; +return _392; +} +} +catch(e){ +__device_handle_exception(e,"__sp_calendar_add: "+e); +} +}; +function __sp_calendar_delete(data){ 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(data){ +if(typeof data!="object"){ +throw new DeviceException(this.error.INVALID_ARG_ERR,"Calendar: deleteEntry: data is invalid"); +} +if(!data.id){ +throw new DeviceException(this.error.MISSING_ARG_ERR,"Calendar: deleteEntry: id is missing"); +} +var _394=__sp_calendar_isInputValid(data); +if(!_394){ +throw new DeviceException(this.error.INVALID_ARG_ERR,"Calendar: deleteEntry: delete data is invalid"); +} +}else{ +throw new DeviceException(this.error.MISSING_ARG_ERR,"Calendar: deleteEntry: data is missing"); +} +var _395={}; +modifyObjectBaseProp(_395); +_395.Type="CalendarEntry"; +_395.Data={}; +modifyObjectBaseProp(_395.Data); +_395.Data.IdList=[]; +var list=[data.id]; +_395.Data.IdList=list; +if(data.range){ +if(data.range.begin){ +_395.Data.StartRange=data.range.begin; +} +if(data.range.end){ +_395.Data.EndRange=data.range.end; +} +} +var rval=this.so.IDataSource.Delete(_395); +if(_395){ +delete _395.Type; +delete _395.Data.IdList; +delete _395.Data.StartRange; +delete _395.Data.EndRange; +} +if(list){ +delete list.id; +} 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; +if(rval.ErrorMessage){ +var _398=splitErrorMessage(rval.ErrorMessage); +throw new DeviceException(MapErrorCode[rval.ErrorCode],"Calendar: deleteEntry: "+_398); +}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(_399){ +try{ +if(!_399||_399==null||_399==undefined){ +throw new DeviceException(this.error.MISSING_ARG_ERR,"Calendar: cancel: id is missing"); +} +if(_399){ +if(typeof _399!="number"){ +throw new DeviceException(this.error.INVALID_ARG_ERR,"Calendar: cancel: id is missing"); +} +} +var _39a={}; +modifyObjectBaseProp(_39a); +_39a.TransactionID=_399; +var _39b=this.so.IDataSource.Cancel(_39a); +if(_39a){ +delete _39a.TransactionID; +} +if(_39b.ErrorCode!=0){ +if(_39b.ErrorMessage){ +var _39c=splitErrorMessage(_39b.ErrorMessage); +throw new DeviceException(MapErrorCode[_39b.ErrorCode],"Calendar: cancel: "+_39c); +}else{ +throw new DeviceException(MapErrorCode[_39b.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.getListCb=__sp_calendar_getList_cb; +this.addEntry=__sp_calendar_add; +this.updateEntry=__sp_calendar_update; +this.deleteEntry=__sp_calendar_delete; +this.cancel=__sp_calendar_cancel; +this.error=new DeviceException(0,"Dummy"); +this.so=null; +try{ +this.so=device.getServiceObject("Service.Calendar","IDataSource"); +} +catch(e){ +__device_handle_exception(e,"Calendar service not available"); +} +}; +function __device_contacts_descriptor(_39d){ +this.interfaceName=_39d.interfaceName; +this.version=_39d.version; +}; +function __device_contacts_startEditor(_39e,_39f,_3a0){ +return this.provider.startEditor(_39e,_39f,_3a0); +}; +function __device_contacts_getContacts(_3a1,_3a2,_3a3,_3a4){ +return this.provider.getContacts(_3a1,_3a2,_3a3,_3a4); +}; +function __device_contacts_add(_3a5){ +return this.provider.addContact(_3a5); +}; +function __device_contacts_update(_3a6){ +this.provider.updateContact(_3a6); +}; +function __device_contacts_delete(id){ +this.provider.deleteContacts(id); +}; +function __device_contacts_getContactInfo(id){ +return this.provider.getContactInfo(id); +}; +function __device_contacts_addGroup(_3a9){ +return this.provider.addGroup(_3a9); +}; +function __device_contacts_getGroups(_3aa,_3ab){ +return this.provider.getGroups(_3aa,_3ab); +}; +function __device_contacts_deleteGroups(id){ +this.provider.deleteGroups(id); +}; +function __device_contacts_addContactsToGroup(_3ad,id){ +this.provider.addContactsToGroup(_3ad,id); +}; +function __device_contacts_getContactIds(_3af,_3b0,_3b1,_3b2){ +return this.provider.getContactIds(_3af,_3b0,_3b1,_3b2); +}; +function __device_contacts_getGroupIds(_3b3,_3b4){ +return this.provider.getGroupIds(_3b3,_3b4); +}; +function __device_contacts_removeContactsFromGroup(_3b5,id){ +this.provider.removeContactsFromGroup(_3b5,id); +}; +function __device_contacts_cancel(_3b7){ +this.provider.cancel(_3b7); +}; +function __device_contacts_updateGroup(_3b8){ +this.provider.updateGroup(_3b8); +}; +function __device_contacts_getGroupInfo(_3b9){ +return this.provider.getGroupInfo(_3b9); +}; +function __device_contacts(_3ba){ +this.provider=_3ba; +this.interfaceName=_3ba.descriptor.interfaceName; +this.version=_3ba.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}]}; +nokia.device.contacts.SORT_ASCENDING=0; +nokia.device.contacts.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(_3bb,_3bc,func,_3be){ +try{ +var key; +for(key in _3bb){ +var _3c0; +if(_3bc){ +_3c0=_3bc+"."+key; +}else{ +_3c0=key; +} +var _3c1=_3bb[key]; +if(_3c1 instanceof Array){ +func(_3c0,_3c1,_3be); +}else{ +if(_3c1 instanceof Date){ +func(_3c0,_3c1,_3be); +}else{ +if(typeof _3c1=="object"){ +__s60_enumerate_contact_object(_3c1,_3c0,func,_3be); +}else{ +func(_3c0,_3c1,_3be); +} +} +} +} } catch(e){ throw e; } }; -function __sp_landmarks_update(_3d1,_3d2,_3d3){ +function __sp_contact_extract(name,_3c3,_3c4){ +switch(name){ +case "name.last": +_3c4.LastName={}; +modifyObjectBaseProp(_3c4.LastName); +_3c4.LastName.Label="Last name"; +_3c4.LastName.Value=_3c3; +break; +case "name.first": +_3c4.FirstName={}; +modifyObjectBaseProp(_3c4.FirstName); +_3c4.FirstName.Label="First name"; +_3c4.FirstName.Value=_3c3; +break; +case "name.middle": +_3c4.MiddleName={}; +modifyObjectBaseProp(_3c4.MiddleName); +_3c4.MiddleName.Label="Middle name"; +_3c4.MiddleName.Value=_3c3; +break; +case "name.prefix": +_3c4.Prefix={}; +modifyObjectBaseProp(_3c4.Prefix); +_3c4.Prefix.Label="Prefix"; +_3c4.Prefix.Value=_3c3; +break; +case "name.suffix": +_3c4.Suffix={}; +modifyObjectBaseProp(_3c4.Suffix); +_3c4.Suffix.Label="Suffix"; +_3c4.Suffix.Value=_3c3; +break; +case "tel.land": +_3c4.LandPhoneGen={}; +modifyObjectBaseProp(_3c4.LandPhoneGen); +_3c4.LandPhoneGen.Label="Landline"; +_3c4.LandPhoneGen.Value=_3c3; +break; +case "tel.mobile": +_3c4.MobilePhoneGen={}; +modifyObjectBaseProp(_3c4.MobilePhoneGen); +_3c4.MobilePhoneGen.Label="Mobile"; +_3c4.MobilePhoneGen.Value=_3c3; +break; +case "tel.video": +_3c4.VideoNumberGen={}; +modifyObjectBaseProp(_3c4.VideoNumberGen); +_3c4.VideoNumberGen.Label="Video"; +_3c4.VideoNumberGen.Value=_3c3; +break; +case "tel.fax": +_3c4.FaxNumberGen={}; +modifyObjectBaseProp(_3c4.FaxNumberGen); +_3c4.FaxNumberGen.Label="Fax"; +_3c4.FaxNumberGen.Value=_3c3; +break; +case "tel.voip": +_3c4.VOIPGen={}; +modifyObjectBaseProp(_3c4.VOIPGen); +_3c4.VOIPGen.Label="Voip"; +_3c4.VOIPGen.Value=_3c3; +break; +case "tel.home.land": +_3c4.LandPhoneHome={}; +modifyObjectBaseProp(_3c4.LandPhoneHome); +_3c4.LandPhoneHome.Label="Home Landline"; +_3c4.LandPhoneHome.Value=_3c3; +break; +case "tel.home.mobile": +_3c4.MobilePhoneHome={}; +modifyObjectBaseProp(_3c4.MobilePhoneHome); +_3c4.MobilePhoneHome.Label="Home Mobile"; +_3c4.MobilePhoneHome.Value=_3c3; +break; +case "tel.home.video": +_3c4.VideoNumberHome={}; +modifyObjectBaseProp(_3c4.VideoNumberHome); +_3c4.VideoNumberHome.Label="Home Video"; +_3c4.VideoNumberHome.Value=_3c3; +break; +case "tel.home.fax": +_3c4.FaxNumberHome={}; +modifyObjectBaseProp(_3c4.FaxNumberHome); +_3c4.FaxNumberHome.Label="Home Fax"; +_3c4.FaxNumberHome.Value=_3c3; +break; +case "tel.home.voip": +_3c4.VoipHome={}; +modifyObjectBaseProp(_3c4.VoipHome); +_3c4.VoipHome.Label="Home Voip"; +_3c4.VoipHome.Value=_3c3; +break; +case "tel.work.land": +_3c4.LandPhoneWork={}; +modifyObjectBaseProp(_3c4.LandPhoneWork); +_3c4.LandPhoneWork.Label="Work Landline"; +_3c4.LandPhoneWork.Value=_3c3; +break; +case "tel.work.mobile": +_3c4.MobilePhoneWork={}; +modifyObjectBaseProp(_3c4.MobilePhoneWork); +_3c4.MobilePhoneWork.Label="Work Mobile"; +_3c4.MobilePhoneWork.Value=_3c3; +break; +case "tel.work.video": +_3c4.VideoNumberWork={}; +modifyObjectBaseProp(_3c4.VideoNumberWork); +_3c4.VideoNumberWork.Label="Work Video"; +_3c4.VideoNumberWork.Value=_3c3; +break; +case "tel.work.fax": +_3c4.FaxNumberWork={}; +modifyObjectBaseProp(_3c4.FaxNumberWork); +_3c4.FaxNumberWork.Label="Work Fax"; +_3c4.FaxNumberWork.Value=_3c3; +break; +case "tel.work.voip": +_3c4.VoipWork={}; +modifyObjectBaseProp(_3c4.VoipWork); +_3c4.VoipWork.Label="Work Voip"; +_3c4.VoipWork.Value=_3c3; +break; +case "address.street": +_3c4.AddrStreetGen={}; +modifyObjectBaseProp(_3c4.AddrStreetGen); +_3c4.AddrStreetGen.Label="Street Address"; +_3c4.AddrStreetGen.Value=_3c3; +break; +case "address.local": +_3c4.AddrLocalGen={}; +modifyObjectBaseProp(_3c4.AddrLocalGen); +_3c4.AddrLocalGen.Label="City"; +_3c4.AddrLocalGen.Value=_3c3; +break; +case "address.region": +_3c4.AddrRegionGen={}; +modifyObjectBaseProp(_3c4.AddrRegionGen); +_3c4.AddrRegionGen.Label="State/Province"; +_3c4.AddrRegionGen.Value=_3c3; +break; +case "address.code": +_3c4.AddrPostCodeGen={}; +modifyObjectBaseProp(_3c4.AddrPostCodeGen); +_3c4.AddrPostCodeGen.Label="Postal code"; +_3c4.AddrPostCodeGen.Value=_3c3; +break; +case "address.country": +_3c4.AddrCountryGen={}; +modifyObjectBaseProp(_3c4.AddrCountryGen); +_3c4.AddrCountryGen.Label="Country"; +_3c4.AddrCountryGen.Value=_3c3; +break; +case "address.email": +_3c4.EmailGen={}; +modifyObjectBaseProp(_3c4.EmailGen); +_3c4.EmailGen.Label="EMail"; +_3c4.EmailGen.Value=_3c3; +break; +case "address.uri": +_3c4.URLGen={}; +modifyObjectBaseProp(_3c4.URLGen); +_3c4.URLGen.Label="Website"; +_3c4.URLGen.Value=_3c3; +break; +case "address.home.street": +_3c4.AddrStreetHome={}; +modifyObjectBaseProp(_3c4.AddrStreetHome); +_3c4.AddrStreetHome.Label="Home Address"; +_3c4.AddrStreetHome.Value=_3c3; +break; +case "address.home.local": +_3c4.AddrLocalHome={}; +modifyObjectBaseProp(_3c4.AddrLocalHome); +_3c4.AddrLocalHome.Label="City"; +_3c4.AddrLocalHome.Value=_3c3; +break; +case "address.home.region": +_3c4.AddrRegionHome={}; +modifyObjectBaseProp(_3c4.AddrRegionHome); +_3c4.AddrRegionHome.Label="State/Province"; +_3c4.AddrRegionHome.Value=_3c3; +break; +case "address.home.code": +_3c4.AddrPostCodeHome={}; +modifyObjectBaseProp(_3c4.AddrPostCodeHome); +_3c4.AddrPostCodeHome.Label="Postal code"; +_3c4.AddrPostCodeHome.Value=_3c3; +break; +case "address.home.country": +_3c4.AddrCountryHome={}; +modifyObjectBaseProp(_3c4.AddrCountryHome); +_3c4.AddrCountryHome.Label="Country"; +_3c4.AddrCountryHome.Value=_3c3; +break; +case "address.home.email": +_3c4.EmailHome={}; +modifyObjectBaseProp(_3c4.EmailHome); +_3c4.EmailHome.Label="Home EMail"; +_3c4.EmailHome.Value=_3c3; +break; +case "address.home.uri": +_3c4.URLHome={}; +modifyObjectBaseProp(_3c4.URLHome); +_3c4.URLHome.Label="Home Website"; +_3c4.URLHome.Value=_3c3; +break; +case "address.work.street": +_3c4.AddrStreetWork={}; +modifyObjectBaseProp(_3c4.AddrStreetWork); +_3c4.AddrStreetWork.Label="Work Address"; +_3c4.AddrStreetWork.Value=_3c3; +break; +case "address.work.local": +_3c4.AddrLocalWork={}; +modifyObjectBaseProp(_3c4.AddrLocalWork); +_3c4.AddrLocalWork.Label="City"; +_3c4.AddrLocalWork.Value=_3c3; +break; +case "address.work.region": +_3c4.AddrRegionWork={}; +modifyObjectBaseProp(_3c4.AddrRegionWork); +_3c4.AddrRegionWork.Label="State/Province"; +_3c4.AddrRegionWork.Value=_3c3; +break; +case "address.work.code": +_3c4.AddrPostCodeWork={}; +modifyObjectBaseProp(_3c4.AddrPostCodeWork); +_3c4.AddrPostCodeWork.Label="Postal code"; +_3c4.AddrPostCodeWork.Value=_3c3; +break; +case "address.work.country": +_3c4.AddrCountryWork={}; +modifyObjectBaseProp(_3c4.AddrCountryWork); +_3c4.AddrCountryWork.Label="Country"; +_3c4.AddrCountryWork.Value=_3c3; +break; +case "address.work.email": +_3c4.EmailWork={}; +modifyObjectBaseProp(_3c4.EmailWork); +_3c4.EmailWork.Label="Work EMail"; +_3c4.EmailWork.Value=_3c3; +break; +case "address.work.uri": +_3c4.URLWork={}; +modifyObjectBaseProp(_3c4.URLWork); +_3c4.URLWork.Label="Work Website"; +_3c4.URLWork.Value=_3c3; +break; +case "company.name": +_3c4.CompanyName={}; +modifyObjectBaseProp(_3c4.CompanyName); +_3c4.CompanyName.Label="Company"; +_3c4.CompanyName.Value=_3c3; +break; +case "company.title": +_3c4.JobTitle={}; +modifyObjectBaseProp(_3c4.JobTitle); +_3c4.JobTitle.Label="Title"; +_3c4.JobTitle.Value=_3c3; +break; +case "id": +_3c4.id=_3c3; +break; +case "notes": +_3c4.Note={}; +modifyObjectBaseProp(_3c4.Note); +_3c4.Note.Label="Note"; +_3c4.Note.Value=_3c3; +break; +case "anniversary": +_3c4.Anniversary={}; +modifyObjectBaseProp(_3c4.Anniversary); +_3c4.Anniversary.Label="Anniversary"; +_3c4.Anniversary.Value=_3c3; +break; +case "birthday": +_3c4.Date={}; +modifyObjectBaseProp(_3c4.Date); +_3c4.Date.Label="BirthDay"; +_3c4.Date.Value=_3c3; +break; +case "nickName": +_3c4.SecondName={}; +modifyObjectBaseProp(_3c4.SecondName); +_3c4.SecondName.Label="NickName"; +_3c4.SecondName.Value=_3c3; +break; +case "photo": +_3c4.CallerObjImg={}; +modifyObjectBaseProp(_3c4.CallerObjImg); +_3c4.CallerObjImg.Label="CallerObjImg"; +_3c4.CallerObjImg.Value=_3c3; +break; +case "xspid": +_3c4.IMPP={}; +modifyObjectBaseProp(_3c4.IMPP); +_3c4.IMPP.Label="IMPP"; +_3c4.IMPP.Value=_3c3; +break; +} +}; +function __s60_enumerate_build_contact_object(_3c5,_3c6,func,_3c8){ +var key; +for(key in _3c5){ +var _3ca; +if(_3c6){ +_3ca=_3c6+"."+key; +}else{ +_3ca=key; +} +var _3cb=_3c5[key]; +if(_3ca=="IMPP"){ +func(_3ca,_3cb,_3c8); +} +if(typeof _3cb=="object"){ +__s60_enumerate_build_contact_object(_3cb,_3ca,func,_3c8); +}else{ +func(_3ca,_3cb,_3c8); +} +} +}; +function __sp_device_contact_extract(name,_3cd,_3ce){ +if(name=="id"){ +_3ce.id=_3cd; +return; +} +if(!name.match(".Value")){ +return; +} 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; +if(name.match("IMPP.Value.0")){ +_3ce.xspid=[]; +} +if(name.match("Name")){ +if(name.match("CompanyName")){ +if(!_3ce.company){ +_3ce.company={}; +} +}else{ +if(!_3ce.name){ +_3ce.name={}; +} +} +}else{ +if(name.match("Phone")||name.match("Number")||name.match("VOIP")||name.match("Voip")){ +if(!_3ce.tel){ +_3ce.tel={}; +} +if(name.match("Home")){ +if(!_3ce.tel.home){ +_3ce.tel.home={}; +} +}else{ +if(name.match("Work")){ +if(!_3ce.tel.work){ +_3ce.tel.work={}; +} +} +} +}else{ +if(name.match("Addr")||name.match("Email")||name.match("URL")){ +if(!_3ce.address){ +_3ce.address={}; +} +if(name.match("Home")){ +if(!_3ce.address.home){ +_3ce.address.home={}; +} +}else{ +if(name.match("Work")){ +if(!_3ce.address.work){ +_3ce.address.work={}; +} +} +} +}else{ +if(name.match("JobTitle")){ +if(!_3ce.company){ +_3ce.company={}; +} +} +} +} +} } 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); +__device_handle_exception(e,"__sp_device_contact_extract: "+e); +} +if(name.match("IMPP.Value")){ +var _3cf=name.split("."); +var _3d0=_3cf[2]; +if(_3d0!=undefined){ +_3ce.xspid[_3cf[2]]=_3cd; +return; +} +} +switch(name){ +case "LastName.Value": +_3ce.name.last=_3cd; +break; +case "FirstName.Value": +_3ce.name.first=_3cd; +break; +case "MiddleName.Value": +_3ce.name.middle=_3cd; +break; +case "Prefix.Value": +_3ce.name.prefix=_3cd; +break; +case "Suffix.Value": +_3ce.name.suffix=_3cd; +break; +case "LandPhoneGen.Value": +_3ce.tel.land=_3cd; +break; +case "MobilePhoneGen.Value": +_3ce.tel.mobile=_3cd; +break; +case "VideoNumberGen.Value": +_3ce.tel.video=_3cd; +break; +case "FaxNumberGen.Value": +_3ce.tel.fax=_3cd; +break; +case "VOIPGen.Value": +_3ce.tel.voip=_3cd; +break; +case "LandPhoneHome.Value": +_3ce.tel.home.land=_3cd; +break; +case "MobilePhoneHome.Value": +_3ce.tel.home.mobile=_3cd; +break; +case "VideoNumberHome.Value": +_3ce.tel.home.video=_3cd; +break; +case "FaxNumberHome.Value": +_3ce.tel.home.fax=_3cd; +break; +case "VoipHome.Value": +_3ce.tel.home.voip=_3cd; +break; +case "LandPhoneWork.Value": +_3ce.tel.work.land=_3cd; +break; +case "MobilePhoneWork.Value": +_3ce.tel.work.mobile=_3cd; +break; +case "VideoNumberWork.Value": +_3ce.tel.work.video=_3cd; +break; +case "FaxNumberWork.Value": +_3ce.tel.work.fax=_3cd; +break; +case "VoipWork.Value": +_3ce.tel.work.voip=_3cd; +break; +case "AddrStreetGen.Value": +_3ce.address.street=_3cd; +break; +case "AddrLocalGen.Value": +_3ce.address.local=_3cd; +break; +case "AddrRegionGen.Value": +_3ce.address.region=_3cd; +break; +case "AddrPostCodeGen.Value": +_3ce.address.code=_3cd; +break; +case "AddrCountryGen.Value": +_3ce.address.country=_3cd; +break; +case "EmailGen.Value": +_3ce.address.email=_3cd; +break; +case "URLGen.Value": +_3ce.address.uri=_3cd; +break; +case "AddrStreetHome.Value": +_3ce.address.home.street=_3cd; +break; +case "AddrLocalHome.Value": +_3ce.address.home.local=_3cd; +break; +case "AddrRegionHome.Value": +_3ce.address.home.region=_3cd; +break; +case "AddrPostCodeHome.Value": +_3ce.address.home.code=_3cd; +break; +case "AddrCountryHome.Value": +_3ce.address.home.country=_3cd; +break; +case "EmailHome.Value": +_3ce.address.home.email=_3cd; +break; +case "URLHome.Value": +_3ce.address.home.uri=_3cd; +break; +case "AddrStreetWork.Value": +_3ce.address.work.street=_3cd; +break; +case "AddrLocalWork.Value": +_3ce.address.work.local=_3cd; +break; +case "AddrRegionWork.Value": +_3ce.address.work.region=_3cd; +break; +case "AddrPostCodeWork.Value": +_3ce.address.work.code=_3cd; +break; +case "AddrCountryWork.Value": +_3ce.address.work.country=_3cd; +break; +case "EmailWork.Value": +_3ce.address.work.email=_3cd; +break; +case "URLWork.Value": +_3ce.address.work.uri=_3cd; +break; +case "CompanyName.Value": +_3ce.company.name=_3cd; +break; +case "JobTitle.Value": +_3ce.company.title=_3cd; +break; +case "Note.Value": +_3ce.notes=_3cd; +break; +case "Anniversary.Value": +_3ce.anniversary=_3cd; +break; +case "Date.Value": +_3ce.birthday=_3cd; +break; +case "SecondName.Value": +_3ce.nickName=_3cd; +break; +case "CallerObjImg.Value": +_3ce.photo=_3cd; break; default: -throw new DeviceAPIError(-101,"unknown error message"); -} -} -return rval.TransactionID; -} -catch(e){ -throw e; -} -}; -function __sp_landmarks_category_delete(_3ea,_3eb,_3ec){ +} +}; +function __sp_device_contact_build(_3d1,_3d2){ +__s60_enumerate_build_contact_object(_3d1,null,__sp_device_contact_extract,_3d2); +}; +function __sp_contact_iterator_get_next(){ +var _3d3=this.iter.getNext(); +if(typeof _3d3=="undefined"){ +return null; +} +var rval={}; +__sp_device_contact_build(_3d3,rval); +_3d3.close(); +return rval; +}; +function __sp_contact_iterator(_3d5){ +this.iter=_3d5; +this.next=__sp_contact_iterator_get_next; +this.close=function(){ +this.iter.close(); +}; +}; +function __s60_enumerate_group_object(_3d6,func,_3d8){ +var key; +for(key in _3d6){ +var _3da=key; +var _3db=_3d6[key]; +func(_3da,_3db,_3d8); +} +}; +function __sp_device_groupinfo_extract(name,_3dd,_3de){ +if(_3de.group==undefined){ +_3de.group={}; +} +if(name=="id"){ +_3de.group.groupId=_3dd; +}else{ +if(name=="GroupLabel"){ +_3de.group.groupName=_3dd; +}else{ +if(name=="Contents"){ +_3de.contents=_3dd; +} +} +} +return; +}; +function __sp_device_groupinfo_build(_3df,_3e0){ +__s60_enumerate_group_object(_3df,__sp_device_groupinfo_extract,_3e0); +}; +function __sp_device_group_extract(name,_3e2,_3e3){ +if(name=="id"){ +_3e3.groupId=_3e2; +return; +} +if(name=="GroupLabel"){ +_3e3.groupName=_3e2; +return; +} +}; +function __sp_device_group_build(_3e4,_3e5){ +__s60_enumerate_object(_3e4,null,__sp_device_group_extract,_3e5); +}; +function __sp_group_iterator_get_next(){ +var _3e6=this.iter.getNext(); +if(typeof _3e6=="undefined"){ +return null; +} +var rval={}; +__sp_device_group_build(_3e6,rval); +_3e6.close(); +return rval; +}; +function __sp_group_iterator(_3e8){ +this.iter=_3e8; +this.next=__sp_group_iterator_get_next; +this.close=function(){ +this.iter.close(); +}; +}; +var CONTACTS_APP_ID=270486734; +function __sp_contacts_startEditor(_3e9,_3ea,_3eb){ +if(!_3e9){ +throw new DeviceException(this.error.MISSING_ARG_ERR,"Contacts: StartEditor:Missing Success Callback"); +} +if((typeof _3e9)!="function"){ +throw new DeviceException(this.error.INVALID_ARG_ERR,"Contacts: StartEditor:Invalid Success Callback"); +} +if((_3ea)==null){ +_3ea={}; +} +if((typeof _3ea)=="undefined"){ +_3ea={}; +} +if((_3ea)==undefined){ +_3ea={}; +} +if((typeof _3ea)!="object"){ +throw new DeviceException(this.error.INVALID_ARG_ERR,"Contacts: StartEditor:Invalid Contact Data"); +} +if(_3eb){ +if((typeof _3eb)!="function"){ +throw new DeviceException(this.error.INVALID_ARG_ERR,"Contacts :StartEditor:Invalid Error Callback"); +} +} +var _3ec=function(arg1,arg2,arg3){ +var iter=null; +_3e9(iter); +}; +__s60_start_and_wait(CONTACTS_APP_ID,"",_3ec); +return 0; +}; +function __sp_contacts_getContacts_cb(arg1,arg2,arg3){ +var iter=null; +var _3f5; +var _3f6; +var _3f7; +_3f7=glob_obj.getFromArray(arg1); +if(_3f7){ +_3f5=_3f7.success_cb; +_3f6=_3f7.error_cb; +}else{ +alert("Contacts: __sp_contacts_getContacts_cb : Callback not found "); +return; +} +if(arg3.ReturnValue){ +iter=new __sp_contact_iterator(arg3.ReturnValue); +}else{ +if(arg3.ErrorCode!=0){ +var _3f8; +if(arg3.ErrorMessage){ +_3f8=splitErrorMessage(arg3.ErrorMessage); +}else{ +_3f8="Operation Failed"; +} +_3f6(new DeviceException(MapErrorCode[arg3.ErrorCode],"Contacts: getContacts: "+_3f8)); +return; +} +} +_3f5(iter); +glob_obj.removeFromArray(arg1); +}; +function __sp_contacts_getContacts(_3f9,_3fa,_3fb,_3fc){ +var _3fd={}; +modifyObjectBaseProp(_3fd); +_3fd.Type="Contact"; +if(_3fa){ +_3fd.Filter={}; +modifyObjectBaseProp(_3fd.Filter); +_3fd.Filter.SearchVal=_3fa; +} +if(_3fb!=null&&_3fb!=undefined){ +_3fd.Sort={}; +modifyObjectBaseProp(_3fd.Sort); +if(typeof _3fb=="number"){ +if(_3fb==this.SORT_ASCENDING){ +_3fd.Sort.Order="Ascending"; +}else{ +if(_3fb==this.SORT_DESCENDING){ +_3fd.Sort.Order="Descending"; +}else{ +_3fc(new DeviceException(this.error.DATA_OUT_OF_RANGE_ERR,"Contacts: getContacts: invalid sortOrder input")); +return; +} +} +}else{ +throw new DeviceException(this.error.INVALID_ARG_ERR,"Contacts: getContacts: invalid sortOrder input"); +} +} 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(!_3f9){ +throw new DeviceException(this.error.MISSING_ARG_ERR,"Contacts: getContacts: callback is missing"); +}else{ +if(typeof _3f9!="function"){ +throw new DeviceException(this.error.INVALID_ARG_ERR,"Contacts: getContacts: callback is invalid"); +} +} +if(_3fc){ +if(typeof (_3fc)!="function"){ +throw new DeviceException(this.error.INVALID_ARG_ERR,"Contacts: getContacts: ErrorCallback is invalid"); +} +} +temp_scb=_3f9; +temp_ecb=_3fc; +var rval=this.so.IDataSource.GetList(_3fd,this.getContactsCb); +if(rval.TransactionID){ +glob_obj.addToGlobalArray(rval.TransactionID,_3f9,_3fc); +} +if(_3fd.Sort){ +delete _3fd.Sort.Order; +} +if(_3fd.Filter){ +delete _3fd.Filter.SearchVal; +} +if(_3fd){ +delete _3fd.Type; +delete _3fd.Filter; +delete _3fd.Sort; +} 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); +var _3ff=mappingVerification(rval.ErrorCode); +var _400=null; +if(rval.ErrorMessage){ +_400=splitErrorMessage(rval.ErrorMessage); +} +if(_3ff){ +switch(MapErrorCode[rval.ErrorCode]){ +case this.error.MISSING_ARG_ERR: +case this.error.INVALID_ARG_ERR: +case this.error.NOT_SUPPORTED_ERR: +if(_400){ +throw new DeviceException(MapErrorCode[rval.ErrorCode],"Contacts: getContacts: "+_400); +}else{ +throw new DeviceException(MapErrorCode[rval.ErrorCode],"Contacts: getContacts:Operation Failed"); +} break; default: -throw new DeviceAPIError(-101,"unknown error message"); +if(_3fc!=undefined){ +if(_400){ +_3fc(new DeviceException(MapErrorCode[rval.ErrorCode],"Contacts: getContacts: "+_400)); +}else{ +_3fc(new DeviceException(MapErrorCode[rval.ErrorCode],"Contacts: getContacts:Operation Failed ")); +} +}else{ +if(_400){ +throw new DeviceException(MapErrorCode[rval.ErrorCode],"Contacts: getContacts: "+_400); +}else{ +throw new DeviceException(MapErrorCode[rval.ErrorCode],"Contacts: getContacts:Operation Failed"); +} +} +} +}else{ +if(_3fc!=undefined){ +if(_400){ +_3fc(new DeviceException(rval.ErrorCode,"Contacts: getContacts: "+_400)); +}else{ +_3fc(new DeviceException(rval.ErrorCode,"getContacts:Operation Failed ")); +} +}else{ +if(_400){ +throw new DeviceException(rval.ErrorCode,"Contacts: getContacts: "+_400); +}else{ +throw new DeviceException(rval.ErrorCode,"Contacts: getContacts:Operation Failed"); +} +} } } return rval.TransactionID; } catch(e){ -throw e; -} -}; -function __sp_landmarks_getList(_3f6,_3f7,_3f8){ +__device_handle_exception(e,"__sp_contacts_getContacts: "+e); +} +}; +function __sp_contacts_add(_401){ +if((_401)==null){ +throw new DeviceException(this.error.MISSING_ARG_ERR,"addContact:Contact Data Needed"); +} +if((typeof _401)=="undefined"){ +throw new DeviceException(this.error.MISSING_ARG_ERR,"addContact:Contact Data Needed"); +} +if((_401)==undefined){ +throw new DeviceException(this.error.MISSING_ARG_ERR,"addContact:Contact Data Needed"); +} +if((typeof _401)!="object"){ +throw new DeviceException(this.error.INVALID_ARG_ERR,"addContact:Invalid Contact Data"); +} +var _402={}; +modifyObjectBaseProp(_402); +__s60_enumerate_contact_object(_401,null,__sp_contact_extract,_402); +var _403={}; +modifyObjectBaseProp(_403); +_403.Type="Contact"; +_403.Data=_402; +try{ +if(_402.id){ +throw new DeviceException(this.error.NOT_SUPPORTED_ERR,"Contacts: addContact: Id Not Supported"); +} +var _404=this.so.IDataSource.Add(_403); +if(_402){ +delete _402.id; +} +if(_403){ +delete _403.Type; +delete _403.Data; +} +var _405=_404["ReturnValue"]; +if(_404.ErrorCode!=0){ +var _406=mappingVerification(_404.ErrorCode); +if(_404.ErrorMessage){ +var _407=splitErrorMessage(_404.ErrorMessage); +if(_406){ +throw new DeviceException(MapErrorCode[_404.ErrorCode],"Contacts: addContact: "+_407); +}else{ +throw new DeviceException(_404.ErrorCode,"Contacts: addContact: "+_407); +} +}else{ +if(_406){ +throw new DeviceException(MapErrorCode[_404.ErrorCode],"Contacts: addContact: Operation Failed"); +}else{ +throw new DeviceException(_404.ErrorCode,"Contacts: addContact: Operation Failed"); +} +} +} +return _405; +} +catch(e){ +__device_handle_exception(e,"__sp_contacts_addContact: "+e); +} +}; +function __sp_contacts_update(_408){ +try{ +if(!(_408&&_408.id)){ +throw new DeviceException(this.error.MISSING_ARG_ERR,"Contacts: updateContact: contact is missing"); +} +var _409={}; +modifyObjectBaseProp(_409); +__s60_enumerate_contact_object(_408,null,__sp_contact_extract,_409); +if(_409.id==undefined){ +throw new DeviceException(this.error.INVALID_ARG_ERR,"Contacts: updateContact: Invalid id type"); +} +if(typeof _409.id!="string"){ +throw new DeviceException(this.error.INVALID_ARG_ERR,"Contacts: updateContact: Invalid id type"); +} +var _40a={}; +modifyObjectBaseProp(_40a); +_40a.Type="Contact"; +_40a.Data=_409; +var _40b=this.so.IDataSource.Add(_40a); +if(_409){ +delete _409.id; +} +if(_40a){ +delete _40a.Type; +delete _40a.Data; +} +if(_40b.ErrorCode!=0){ +var _40c=mappingVerification(_40b.ErrorCode); +if(_40b.ErrorMessage){ +var _40d=splitErrorMessage(_40b.ErrorMessage); +if(_40c){ +throw new DeviceException(MapErrorCode[_40b.ErrorCode],"Contacts: updateContact: "+_40d); +}else{ +throw new DeviceException(_40b.ErrorCode,"Contacts: updateContact: "+_40d); +} +}else{ +if(_40c){ +throw new DeviceException(MapErrorCode[_40b.ErrorCode],"Contacts: updateContact: Operation Failed"); +}else{ +throw new DeviceException(_40b.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 _40f={}; +modifyObjectBaseProp(_40f); +if(id==undefined){ +throw new DeviceException(this.error.MISSING_ARG_ERR,"Contacts: deleteContacts: idlist is missing"); +} +if(typeof id=="object"){ +_40f.IdList=id; +}else{ +_40f.IdList=[]; +_40f.IdList[0]=id; +} +var _410={}; +modifyObjectBaseProp(_410); +_410.Type="Contact"; +_410.Data=_40f; 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 _411=this.so.IDataSource.Delete(_410); +if(_40f){ +delete _40f.IdList; +} +if(_410){ +delete _410.Type; +delete _410.Data; +} +if(_411.ErrorCode!=0){ +var _412=mappingVerification(_411.ErrorCode); +if(_411.ErrorMessage){ +var _413=splitErrorMessage(_411.ErrorMessage); +if(_412){ +throw new DeviceException(MapErrorCode[_411.ErrorCode],"Contacts: deleteContacts: "+_413); +}else{ +throw new DeviceException(_411.ErrorCode,"Contacts: deleteContacts: "+_413); +} +}else{ +if(_412){ +throw new DeviceException(MapErrorCode[_411.ErrorCode],"Contacts: deleteContacts: Operation Failed"); +}else{ +throw new DeviceException(_411.ErrorCode,"Contacts: deleteContacts: Operation Failed"); +} +} +} +} +catch(e){ +__device_handle_exception(e,"__sp_contacts_deleteContacts: "+e); +} +}; +function __sp_contacts_get(id){ +var _415={}; +modifyObjectBaseProp(_415); +_415.Type="Contact"; +if(id==null){ +throw new DeviceException(this.error.MISSING_ARG_ERR,"Contacts: getContactInfo: id should not be null"); +} +if(typeof id!="string"){ +throw new DeviceException(this.error.INVALID_ARG_ERR,"Contacts: getContactInfo: id should be string"); +} +_415.Filter={}; +modifyObjectBaseProp(_415.Filter); +_415.Filter.id=id; +try{ +var rval=this.so.IDataSource.GetList(_415); +if(_415.Filter){ +delete _415.Filter.id; +} +if(_415){ +delete _415.Type; +delete _415.Filter; +} +if(rval){ +if(rval.ErrorCode!=0){ +var _417=mappingVerification(rval.ErrorCode); +if(rval.ErrorMessage){ +var _418=splitErrorMessage(rval.ErrorMessage); +if(_417){ +throw new DeviceException(MapErrorCode[rval.ErrorCode],"Contacts: getContactInfo: "+_418); +}else{ +throw new DeviceException(rval.ErrorCode,"Contacts: getContactInfo: "+_418); +} +}else{ +if(_417){ +throw new DeviceException(MapErrorCode[rval.ErrorCode],"Contacts: getContactInfo: Operation Failed"); +}else{ +throw new DeviceException(rval.ErrorCode,"Contacts: getContactInfo: Operation Failed"); +} +} +} +var _419={}; +modifyObjectBaseProp(_419); +var _41a=rval.ReturnValue.getNext(); +__sp_device_contact_build(_41a,_419); +return _419; +} +} +catch(e){ +__device_handle_exception(e,"__sp_contacts_getContactInfo:"+e); +} +}; +function __sp_contacts_addGroup(_41b){ +var _41c={}; +modifyObjectBaseProp(_41c); +_41c.GroupLabel=_41b; +if(typeof (_41c.GroupLabel)==null){ +throw new DeviceException(this.error.MISSING_ARG_ERR,"Contacts: addGroups: callback is missing"); +} +if((typeof _41c.GroupLabel)=="undefined"){ +throw new DeviceException(this.error.MISSING_ARG_ERR,"addGroup:Group Data Needed"); +} +if((_41c.GroupLabel)==undefined){ +throw new DeviceException(this.error.MISSING_ARG_ERR,"addGroup:Group Data Needed"); +} +var _41d={}; +modifyObjectBaseProp(_41d); +_41d.Type="Group"; +_41d.Data=_41c; +try{ +var _41e=this.so.IDataSource.Add(_41d); +if(_41c){ +delete _41c.GroupLabel; +} +if(_41d){ +delete _41d.Type; +delete _41d.Data; +} +var _41f=_41e["ReturnValue"]; +if(_41e.ErrorCode!=0){ +var _420=mappingVerification(_41e.ErrorCode); +if(_41e.ErrorMessage){ +var _421=splitErrorMessage(_41e.ErrorMessage); +if(_420){ +throw new DeviceException(MapErrorCode[_41e.ErrorCode],"Contacts: addGroup: "+_421); +}else{ +throw new DeviceException(_421,_41e.ErrorCode,"Contacts: addGroup: Operation Failed "); +} +}else{ +if(_420){ +throw new DeviceException(MapErrorCode[_41e.ErrorCode],"Contacts: addGroup: Operation Failed"); +}else{ +throw new DeviceException(_41e.ErrorCode,"Contacts: addGroup: Operation Failed"); +} +} +} +return _41f; +} +catch(e){ +__device_handle_exception(e,"__sp_contacts_addGroup: "+e); +} +}; +function __sp_contacts_getGroups_cb(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{ +var _426; +var _427; +var _428; +_428=glob_obj.getFromArray(arg1); +if(_428){ +_426=_428.success_cb; +_427=_428.error_cb; +}else{ +return; +} +iter=arg3.ReturnValue; if(arg3.ReturnValue){ -iter=new __sp_landmarks_iterator(arg3.ReturnValue); -} -_3f6(iter); -} -}; -var rval=this.so.IDataSource.GetList(_3fd,this.invoker); +iter=new __sp_group_iterator(arg3.ReturnValue); +}else{ +if(arg3.ErrorCode!=0){ +var _429; +if(arg3.ErrorMessage){ +_429=splitErrorMessage(arg3.ErrorMessage); +}else{ +_429="Operation Failed"; +} +_427(new DeviceException(_429,MapErrorCode[arg3.ErrorCode],"Contacts: getGroups:")); +return; +} +} +_426(iter); +glob_obj.removeFromArray(arg1); +}; +function __sp_contacts_getGroups(_42a,_42b){ +var _42c={}; +modifyObjectBaseProp(_42c); +_42c.Type="Group"; +try{ +if(!_42a){ +throw new DeviceException(this.error.MISSING_ARG_ERR,"Contacts: getGroups: callback is missing"); +}else{ +if(typeof _42a!="function"){ +throw new DeviceException(this.error.INVALID_ARG_ERR,"Contacts: getGroups: callback is invalid"); +} +} +if(_42b){ +if(typeof (_42b)!="function"){ +throw new DeviceException(this.error.INVALID_ARG_ERR,"Contacts: getGroups: ErrorCallback is invalid"); +} +} +temp_scb=_42a; +temp_ecb=_42b; +var rval=this.so.IDataSource.GetList(_42c,this.getGroupsCb); +if(rval.TransactionID){ +glob_obj.addToGlobalArray(rval.TransactionID,_42a,_42b); +} +if(_42c){ +delete _42c.Type; +} 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); +var _42e=mappingVerification(rval.ErrorCode); +var _42f=null; +if(rval.ErrorMessage){ +_42f=splitErrorMessage(rval.ErrorMessage); +} +if(_42e){ +switch(MapErrorCode[rval.ErrorCode]){ +case this.error.MISSING_ARG_ERR: +case this.error.INVALID_ARG_ERR: +case this.error.NOT_SUPPORTED_ERR: +if(_42f){ +throw new DeviceException(MapErrorCode[rval.ErrorCode],"Contacts: getGroups: "+_42f); +}else{ +throw new DeviceException(MapErrorCode[rval.ErrorCode],"Contacts: getGroups: Operation Failed"); +} break; default: -throw new DeviceAPIError(-101,"unknown error message"); +if(_42b!=undefined){ +if(_42f){ +_42b(new DeviceException(MapErrorCode[rval.ErrorCode],"Contacts: getGroups: "+_42f)); +}else{ +_42b(new DeviceException(MapErrorCode[rval.ErrorCode],"Contacts: getGroups: Operation Failed ")); +} +}else{ +if(_42f){ +throw new DeviceException(MapErrorCode[rval.ErrorCode],"Contacts: getGroups: Operation Failed"+_42f); +}else{ +throw new DeviceException(MapErrorCode[rval.ErrorCode],"Contacts: getGroups: Operation Failed"); +} +} +} +}else{ +if(_42b!=undefined){ +if(_42f){ +_42b(new DeviceException(rval.ErrorCode,"Contacts: getGroups: "+_42f)); +}else{ +_42b(new DeviceException(rval.ErrorCode,"Contacts: getGroups: Operation Failed")); +} +}else{ +if(_42f){ +throw new DeviceException(rval.ErrorCode,"Contacts: getGroups: Operation Failed"+_42f); +}else{ +throw new DeviceException(rval.ErrorCode,"Contacts: getGroups: Operation Failed"); +} +} } } return rval.TransactionID; } catch(e){ -throw e; -} -}; -function __sp_landmarks_import(_405,_406,_407,_408){ +__device_handle_exception(e,"__sp_contacts_getGroups: "+e); +} +}; +function __sp_contacts_deleteGroups(id){ +var _431={}; +modifyObjectBaseProp(_431); +var _432=[]; +if(typeof id=="object"){ +var i=0; +for(var val in id){ +_432[i]=id[val]; +i++; +} +}else{ +_432[0]=id; +} +_431.IdList=[]; +_431.IdList=_432; +var _435={}; +modifyObjectBaseProp(_435); +_435.Type="Group"; +_435.Data=_431; +try{ +var _436=this.so.IDataSource.Delete(_435); +if(_436.ErrorCode!=0){ +var _437=mappingVerification(_436.ErrorCode); +if(_436.ErrorMessage){ +var _438=splitErrorMessage(_436.ErrorMessage); +if(_437){ +throw new DeviceException(MapErrorCode[_436.ErrorCode],"Contacts: deleteGroups: "+_438); +}else{ +throw new DeviceException(_436.ErrorCode,"Contacts: deleteGroups: "+_438); +} +}else{ +if(_437){ +throw new DeviceException(MapErrorCode[_436.ErrorCode],"Contacts: deleteGroups: Operation Failed"); +}else{ +throw new DeviceException(_436.ErrorCode,"Contacts: deleteGroups: Operation Failed"); +} +} +} +} +catch(e){ +__device_handle_exception(e,"__sp_contacts_deleteGroups: "+e); +} +}; +function __sp_contacts_addContactsToGroup(_439,id1){ 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); +var _43b={}; +modifyObjectBaseProp(_43b); +var _43c=false; +_43b.Type="Group"; +var map={}; +modifyObjectBaseProp(map); +var _43e=[]; +if(typeof id1=="object"){ +var i=0; +for(var val in id1){ +_43e[i]=id1[val]; +i++; +} +}else{ +_43e[0]=id1; +} +map.IdList=_43e; +_43c=true; +delete _43e.index; +if(_439!=undefined){ +map.id=_439; +_43c=true; +} +if(_43c){ +_43b.Data=map; +} +_43b.OperationType="Associate"; +var _441=this.so.IDataSource.Organise(_43b); +if(map){ +delete map.id; +delete map.IdList; +} +if(_43b){ +delete _43b.Data; +delete _43b.OperationType; +delete _43b.Type; +} +if(_441.ErrorCode!=0){ +var _442=mappingVerification(_441.ErrorCode); +if(_441.ErrorMessage){ +var _443=splitErrorMessage(_441.ErrorMessage); +if(_442){ +throw new DeviceException(MapErrorCode[_441.ErrorCode],"Contacts: addContactsToGroup: "+_443); +}else{ +throw new DeviceException(_441.ErrorCode,"Contacts: addContactsToGroup: "+_443); +} +}else{ +if(_442){ +throw new DeviceException(MapErrorCode[_441.ErrorCode],"Contacts: addContactsToGroup: Operation Failed"); +}else{ +throw new DeviceException(_441.ErrorCode,"Contacts: addContactsToGroup: Operation Failed"); +} +} +} +} +catch(e){ +__device_handle_exception(e,"__sp_contacts_addContactsToGroup: "+e); +} +}; +function __sp_contacts_getContactIds_cb(arg1,arg2,arg3){ +var item=null; +var _448=null; +var _449; +var _44a; +var _44b; +_44b=glob_obj.getFromArray(arg1); +if(_44b){ +_449=_44b.success_cb; +_44a=_44b.error_cb; +}else{ +alert("Contacts: __sp_contacts_getContactIds_cb : Callback not found "); +return; +} +var id=null; +if(arg3["ReturnValue"]!=undefined){ +item=arg3["ReturnValue"]; +id=item["IdList"]; +_448=[]; +_448=id; +delete _448.index; +}else{ +if(arg3.ErrorCode!=0){ +var _44d; +if(arg3.ErrorMessage){ +_44d=splitErrorMessage(arg3.ErrorMessage); +}else{ +_44d="Operation Failed"; +} +_44a(new DeviceException(MapErrorCode[arg3.ErrorCode],"Contacts: getContactIds:"+_44d)); +return; +} +} +_449(_448); +glob_obj.removeFromArray(arg1); +}; +function __sp_contacts_getContactIds(_44e,_44f,_450,_451){ +var _452={}; +modifyObjectBaseProp(_452); +_452.Type="Contact"; +if(_44f){ +_452.Filter={}; +modifyObjectBaseProp(_452.Filter); +_452.Filter.SearchVal=_44f; +} +if(_450!=null&&_450!=undefined){ +_452.Sort={}; +modifyObjectBaseProp(_452.Sort); +if(typeof _450=="number"){ +if(_450==this.SORT_ASCENDING){ +_452.Sort.Order="Ascending"; +}else{ +if(_450==this.SORT_DESCENDING){ +_452.Sort.Order="Descending"; +}else{ +_451(new DeviceException(this.error.DATA_OUT_OF_RANGE_ERR,"Contacts: getContacts: invalid sortOrder input")); +return; +} +} +}else{ +throw new DeviceException(this.error.INVALID_ARG_ERR,"Contacts: getContactIds: SortOrder is Invalid"); +} +} +try{ +if(!_44e){ +throw new DeviceException(this.error.MISSING_ARG_ERR,"Contacts: getContactIds: callback is missing"); +}else{ +if(typeof _44e!="function"){ +throw new DeviceException(this.error.INVALID_ARG_ERR,"Contacts: getContactIds: callback is invalid"); +} +} +if(_451){ +if(typeof (_451)!="function"){ +throw new DeviceException(this.error.INVALID_ARG_ERR,"Contacts: getContactIds: ErrorCallback is invalid"); +} +} +temp_scb=_44e; +temp_ecb=_451; +var rval=this.so.IDataSource.GetIds(_452,this.getContactIdsCb); +if(rval.TransactionID){ +glob_obj.addToGlobalArray(rval.TransactionID,_44e,_451); +} 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); +var _454=mappingVerification(rval.ErrorCode); +var _455=null; +if(rval.ErrorMessage){ +var _455=splitErrorMessage(rval.ErrorMessage); +} +if(_454){ +switch(MapErrorCode[rval.ErrorCode]){ +case this.error.MISSING_ARG_ERR: +case this.error.INVALID_ARG_ERR: +case this.error.NOT_SUPPORTED_ERR: +if(_455){ +throw new DeviceException(MapErrorCode[rval.ErrorCode],"Contacts: getContactIds: "+_455); +}else{ +throw new DeviceException(MapErrorCode[rval.ErrorCode],"Contacts: getContactIds: Operation Failed"); +} break; default: -throw new DeviceAPIError(-101,"unknown error message"); +if(_451!=undefined){ +if(_455){ +_451(new DeviceException(MapErrorCode[rval.ErrorCode],"Contacts: getContactIds: "+_455)); +}else{ +_451(new DeviceException(MapErrorCode[rval.ErrorCode],"Contacts: getContactIds: Operation Failed ")); +} +}else{ +if(_455){ +throw new DeviceException(MapErrorCode[rval.ErrorCode],"Contacts: getContactIds:"+_455); +}else{ +throw new DeviceException(MapErrorCode[rval.ErrorCode],"Contacts: getContactIds: Operation Failed"); +} +} +} +}else{ +if(_451!=undefined){ +if(_455){ +_451(new DeviceException(rval.ErrorCode,"Contacts: getContactIds: "+_455)); +}else{ +_451(new DeviceException(rval.ErrorCode,"Contacts: getContactIds: Operation Failed ")); +} +}else{ +if(_455){ +throw new DeviceException(rval.ErrorCode,"Contacts: getContactIds:"+_455); +}else{ +throw new DeviceException(rval.ErrorCode,"Contacts: getContactIds: Operation Failed"); +} +} } } return rval.TransactionID; } catch(e){ -throw e; -} -}; -function __sp_landmarks_export(_413,_414,_415,_416,_417){ +__device_handle_exception(e,"__sp_contacts_getContactIds: "+e); +} +}; +function __sp_contacts_getGroupIds_cb(arg1,arg2,arg3){ +var _459=null; +var item=null; +var _45b=[]; +var _45c; +var _459; +var _45d; +_45d=glob_obj.getFromArray(arg1); +if(_45d){ +_45c=_45d.success_cb; +_459=_45d.error_cb; +}else{ +return; +} +if(arg3.ReturnValue){ +item=arg3["ReturnValue"]; +arg3.ReturnValue.close(); +var id=item["IdList"]; +_45b=id; +}else{ +if(arg3.ErrorCode!=0){ +var _45f; +if(rval.ErrorMessage){ +_45f=splitErrorMessage(rval.ErrorMessage); +}else{ +_45f="Operation Failed"; +} +_459(new DeviceException(MapErrorCode[arg3.ErrorCode],"Contacts: getGroupIds:"+_45f)); +return; +} +} +_45c(_45b); +delete _45b.index; +glob_obj.removeFromArray(arg1); +}; +function __sp_contacts_getGroupIds(_460,_461){ +var _462={}; +modifyObjectBaseProp(_462); +_462.Type="Group"; 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(!_460){ +throw new DeviceException(this.error.MISSING_ARG_ERR,"Contacts: getGroupIds: callback is missing"); +}else{ +if(typeof _460!="function"){ +throw new DeviceException(this.error.INVALID_ARG_ERR,"Contacts: getGroupIds: callback is invalid"); +} +} +if(_461){ +if(typeof (_461)!="function"){ +throw new DeviceException(this.error.INVALID_ARG_ERR,"Contacts: getGroupIds: ErrorCallback is invalid"); +} +} +temp_scb=_460; +temp_ecb=_461; +var rval=this.so.IDataSource.GetIds(_462,this.getGroupIdsCb); +if(rval.TransactionID){ +glob_obj.addToGlobalArray(rval.TransactionID,_460,_461); +} +if(_462){ +delete _462.Type; +} if(rval.ErrorCode!=0){ +var _464=mappingVerification(rval.ErrorCode); +var _465=null; +if(rval.ErrorMessage){ +var _465=splitErrorMessage(rval.ErrorMessage); +} +if(_464){ 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); +case this.error.MISSING_ARG_ERR: +case this.error.INVALID_ARG_ERR: +case this.error.NOT_SUPPORTED_ERR: +if(_465){ +throw new DeviceException(MapErrorCode[rval.ErrorCode],"Contacts: getGroupIds: "+_465); +}else{ +throw new DeviceException(MapErrorCode[rval.ErrorCode],"Contacts: getGroupIds: Operation Failed"); +} break; default: -throw new DeviceAPIError(-101,"unknown error message"); +if(_461!=undefined){ +if(_465){ +_461(new DeviceException(MapErrorCode[rval.ErrorCode],"Contacts: getGroupIds: "+_465)); +}else{ +_461(new DeviceException(MapErrorCode[rval.ErrorCode],"Contacts: getGroupIds: Operation Failed")); +} +}else{ +if(_465){ +throw new DeviceException(MapErrorCode[rval.ErrorCode],"Contacts: Contacts: getGroupIds:"+_465); +}else{ +throw new DeviceException(MapErrorCode[rval.ErrorCode],"Contacts: getGroupIds: Operation Failed"); +} +} +} +}else{ +if(_461!=undefined){ +if(_465){ +_461(new DeviceException(rval.ErrorCode,"Contacts: getGroupIds: "+_465)); +}else{ +_461(new DeviceException(rval.ErrorCode,"Contacts: getGroupIds: Operation Failed")); +} +}else{ +if(_465){ +throw new DeviceException(rval.ErrorCode,"Contacts: Contacts: getGroupIds:"+_465); +}else{ +throw new DeviceException(rval.ErrorCode,"Contacts: getGroupIds: Operation Failed"); +} +} } } return rval.TransactionID; } catch(e){ -throw e; -} -}; -function __sp_landmarks_organize(_421,_422,_423,_424,_425){ +__device_handle_exception(e,"__sp_contacts_getGroupIds: "+e); +} +}; +function __sp_contacts_removeContactsFromGroup(_466,id){ 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; +var _468={}; +modifyObjectBaseProp(_468); +var _469=false; +_468.Type="Group"; +var map={}; +if(id!=undefined){ +var _46b=[]; +if(typeof id=="object"){ +var i=0; +for(var val in id){ +_46b[i]=id[val]; +i++; +} +}else{ +_46b[0]=id; +} +map.IdList=_46b; +_469=true; +} +if(_466!=undefined){ +map.id=_466; +_469=true; +} +if(_469){ +_468.Data=map; +} +_468.OperationType="Disassociate"; +var _46e=this.so.IDataSource.Organise(_468); +if(map){ +delete map.IdList; +} +if(_468){ +delete _468.Data; +delete _468.OperationType; +delete _468.Type; +} +if(_46e.ErrorCode!=0){ +var _46f=mappingVerification(_46e.ErrorCode); +if(_46e.ErrorMessage){ +var _470=splitErrorMessage(_46e.ErrorMessage); +if(_46f){ +throw new DeviceException(MapErrorCode[_46e.ErrorCode],"Contacts: removeContactsFromGroup: "+_470); +}else{ +throw new DeviceException(_46e.ErrorCode,"Contacts: removeContactsFromGroup: "+_470); +} +}else{ +if(_46f){ +throw new DeviceException(MapErrorCode[_46e.ErrorCode],"Contacts: removeContactsFromGroup: Operation Failed"); +}else{ +throw new DeviceException(_46e.ErrorCode,"Contacts: removeContactsFromGroup: Operation Failed"); +} +} +} } catch(e){ -throw e; -} -}; -function __sp_landmarks_cancel(_42f){ +__device_handle_exception(e,"__sp_contacts_removeContactsFromGroup: "+e); +} +}; +function __sp_contacts_cancel(_471){ 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"); +var _472={}; +if((_471)==null){ +throw new DeviceException(this.error.MISSING_ARG_ERR,"Contacts: cancel: transactionId is missing "); +} +if((_471)==undefined){ +throw new DeviceException(this.error.MISSING_ARG_ERR,"Contacts: cancel:transactionId is undefined "); +} +if((typeof _471)=="undefined"){ +throw new DeviceException(this.error.MISSING_ARG_ERR,"Contacts: cancel: transactionId is undefined "); +} +if(((typeof _471)!="number")||(_471<=0)){ +throw new DeviceException(this.error.INVALID_ARG_ERR,"Contacts: cancel: transactionId is Invalid"); +} +modifyObjectBaseProp(_472); +_472.TransactionID=_471; +var _473=this.so.IDataSource.Cancel(_472); +if(_472){ +delete _472.TransactionID; +} +var _474=_473["ErrorCode"]; +if(_474!=0){ +var _475=mappingVerification(_473.ErrorCode); +if(_473["ErrorMessage"]){ +var _476=splitErrorMessage(_473.ErrorMessage); +if(_475){ +throw new DeviceException(MapErrorCode[_474],"Contacts: cancel: "+_476); +}else{ +throw new DeviceException(_474,"Contacts: cancel: "+_476); +} +}else{ +if(_475){ +throw new DeviceException(MapErrorCode[_474],"Contacts: cancel: Operation Failed"); +}else{ +throw new DeviceException(_474,"Contacts: cancel: Operation Failed"); +} } } } catch(e){ -throw e; +__device_handle_exception(e,"__sp_contacts_cancel: "+e); +} +}; +function __sp_contacts_updateGroup(_477){ +if(!(_477)){ +throw new DeviceException(this.error.MISSING_ARG_ERR,"Contacts: updateGroup:Group Data is missing"); +} +if((typeof _477)!="object"){ +throw new DeviceException(this.error.INVALID_ARG_ERR,"Contacts: updateGroup:Invalid Group Data"); +} +if(!(_477&&_477.groupId)){ +throw new DeviceException(this.error.MISSING_ARG_ERR,"Contacts: updateGroup: Group id is missing"); +} +if(typeof _477.groupId!="string"){ +throw new DeviceException(this.error.INVALID_ARG_ERR,"Contacts: updateGroup:Invalid Group id input"); +} +try{ +var _478={}; +modifyObjectBaseProp(_478); +_478.Type="Group"; +var _479={}; +modifyObjectBaseProp(_479); +if(_477!=undefined){ +if(_477.groupId!=undefined){ +_479["id"]=_477.groupId; +}else{ +throw new DeviceException(this.error.MISSING_ARG_ERR,"Contacts: updateGroup: Id input is mandatory"); +} +if(_477.groupName!=undefined){ +_479["GroupLabel"]=_477.groupName; +} +} +_478.Data=_479; +var _47a=this.so.IDataSource.Add(_478); +if(_479){ +delete _479.prototype; +} +if(_478){ +delete _478.Data; +delete _478.Type; +} +if(_47a.ErrorCode!=0){ +var _47b=mappingVerification(_47a.ErrorCode); +if(_47a.ErrorMessage){ +var _47c=splitErrorMessage(_47a.ErrorMessage); +if(_47b){ +throw new DeviceException(MapErrorCode[_47a.ErrorCode],"Contacts: updateGroup: "+_47c); +}else{ +throw new DeviceException(_47a.ErrorCode,"Contacts: updateGroup: "+_47c); +} +}else{ +if(_47b){ +throw new DeviceException(MapErrorCode[_47a.ErrorCode],"Contacts: updateGroup: Operation Failed"); +}else{ +throw new DeviceException(_47a.ErrorCode,"Contacts: updateGroup: Operation Failed"); +} +} +} +} +catch(e){ +__device_handle_exception(e,"__sp_contacts_updateGroup: "+e); +} +}; +function __sp_contacts_getGroupInfo(_47d){ +try{ +var _47e={}; +modifyObjectBaseProp(_47e); +_47e.Type="Group"; +_47e.Filter={}; +modifyObjectBaseProp(_47e.Filter); +if(_47d==undefined){ +throw new DeviceException(this.error.MISSING_ARG_ERR,"Contacts: getGroupInfo: Id input is mandatory"); +} +if((typeof _47d)!="string"){ +throw new DeviceException(this.error.INVALID_ARG_ERR,"Contacts: getGroupInfo: Id input is mandatory"); +} +_47e.Filter.id=_47d; +var rval=this.so.IDataSource.GetList(_47e); +if(_47e.Filter){ +delete _47e.Filter.id; +} +if(_47e){ +delete _47e.Filter; +delete _47e.Type; +} +if(rval){ +if(rval.ErrorCode!=0){ +var _480=mappingVerification(rval.ErrorCode); +if(rval.ErrorMessage){ +var _481=splitErrorMessage(rval.ErrorMessage); +if(_480){ +throw new DeviceException(MapErrorCode[rval.ErrorCode],"Contacts: getGroupInfo: "+_481); +}else{ +throw new DeviceException(rval.ErrorCode,"Contacts: getGroupInfo: "+_481); +} +}else{ +if(_480){ +throw new DeviceException(MapErrorCode[rval.ErrorCode],"Contacts: getGroupInfo: Operation Failed"); +}else{ +throw new DeviceException(rval.ErrorCode,"Contacts: getGroupInfo: Operation Failed"); +} +} +}else{ +var _482={}; +modifyObjectBaseProp(_482); +var _483=rval.ReturnValue.getNext(); +__sp_device_groupinfo_build(_483,_482); +return _482; +} +} +} +catch(e){ +__device_handle_exception(e,"__sp_contacts_getGroupInfo:"+e); +} +}; +function mappingVerification(_484){ +if(_484===1016||_484===1012||_484===1010||_484===1009||_484===1005||_484===1000||_484===1011||_484===1007||_484===1003||_484===1002){ +return true; +}else{ +return false; +} +}; +function __sp_contacts_instance(){ +this.SORT_ASCENDING=0; +this.SORT_DESCENDING=1; +this.descriptor=new __sp_contacts_descriptor(); +this.startEditor=__sp_contacts_startEditor; +this.getContacts=__sp_contacts_getContacts; +this.getContactsCb=__sp_contacts_getContacts_cb; +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.getGroupsCb=__sp_contacts_getGroups_cb; +this.deleteGroups=__sp_contacts_deleteGroups; +this.addContactsToGroup=__sp_contacts_addContactsToGroup; +this.getContactIds=__sp_contacts_getContactIds; +this.getContactIdsCb=__sp_contacts_getContactIds_cb; +this.getGroupIds=__sp_contacts_getGroupIds; +this.getGroupIdsCb=__sp_contacts_getGroupIds_cb; +this.removeContactsFromGroup=__sp_contacts_removeContactsFromGroup; +this.cancel=__sp_contacts_cancel; +this.updateGroup=__sp_contacts_updateGroup; +this.getGroupInfo=__sp_contacts_getGroupInfo; +this.error=new DeviceException(0,"Dummy"); +try{ +this.so=device.getServiceObject("Service.Contact","IDataSource"); +} +catch(e){ +__device_handle_exception(e,"Contacts service not available "+e); } };