Revision: 201009 RCL_3
authorDremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
Mon, 15 Mar 2010 12:43:25 +0200
branchRCL_3
changeset 50 5dae2c62e9b6
parent 46 4ac3198c2c5b
child 52 68159986cd41
Revision: 201009 Kit: 201010
serviceproviders/jsapi/platformservices/lib/platformservices.js
serviceproviders/jsapi/platformservices/src/calendar.js
serviceproviders/jsapi/platformservices/src/camera.js
serviceproviders/jsapi/platformservices/src/commlog.js
serviceproviders/jsapi/platformservices/src/contacts.js
serviceproviders/jsapi/platformservices/src/geolocation.js
serviceproviders/jsapi/platformservices/src/landmarks.js
serviceproviders/jsapi/platformservices/src/media.js
serviceproviders/jsapi/platformservices/src/messaging.js
serviceproviders/jsapi/platformservices/src/sensors.js
serviceproviders/jsapi/platformservices/src/sysinfo.js
serviceproviders/sapi_calendar/calendarservice/src/addentry.cpp
serviceproviders/sapi_calendar/src/calendarinterface.cpp
serviceproviders/sapi_calendar/src/calendariterableimpl.cpp
serviceproviders/sapi_calendar/tsrc/dev/tcalendarprovidertest/tcalendaradditer3/group/tcalendaradditer3.mmp
serviceproviders/sapi_calendar/tsrc/dev/tcalendarprovidertest/tcalendarchangenotifyiter3/group/tcalendarchangenotifyiter3.mmp
serviceproviders/sapi_calendar/tsrc/dev/tcalendarprovidertest/tcalendardeleteiter3/group/tcalendardeleteiter3.mmp
serviceproviders/sapi_calendar/tsrc/dev/tcalendarprovidertest/tcalendarexportiter3/group/tcalendarexportiter3.mmp
serviceproviders/sapi_calendar/tsrc/dev/tcalendarprovidertest/tcalendargenerictest/group/tcalendargenerictest.mmp
serviceproviders/sapi_calendar/tsrc/dev/tcalendarprovidertest/tcalendargetlistiter3/group/tcalendargetlistiter3.mmp
serviceproviders/sapi_calendar/tsrc/dev/tcalendarprovidertest/tcalendarimportiter3/group/tcalendarimportiter3.mmp
serviceproviders/sapi_calendar/tsrc/dev/tcalendarprovidertest/tcalendarupdateiter3/group/tcalendarupdateiter3.mmp
serviceproviders/sapi_calendar/tsrc/dev/tcalendartest/tcalendaradditer1/group/tcalendaradditer1.mmp
serviceproviders/sapi_calendar/tsrc/dev/tcalendartest/tcalendarchangenotifyiter1/group/tcalendarchangenotifyiter1.mmp
serviceproviders/sapi_calendar/tsrc/dev/tcalendartest/tcalendardeleteiter1/group/tcalendardeleteiter1.mmp
serviceproviders/sapi_calendar/tsrc/dev/tcalendartest/tcalendarexportiter1/group/tcalendarexportiter1.mmp
serviceproviders/sapi_calendar/tsrc/dev/tcalendartest/tcalendargetlistiter1/group/tcalendargetlistiter1.mmp
serviceproviders/sapi_calendar/tsrc/dev/tcalendartest/tcalendarimportiter1/group/tcalendarimportiter1.mmp
serviceproviders/sapi_calendar/tsrc/dev/tcalendartest/tcalendarupdateiter1/group/tcalendarupdateiter1.mmp
serviceproviders/sapi_calendar/tsrc/testing/tcal_providertest/group/tcal_providertest.mmp
serviceproviders/sapi_calendar/tsrc/testing/tcalendarservice/tcal_add/group/tcal_add.mmp
serviceproviders/sapi_calendar/tsrc/testing/tcalendarservice/tcal_changenotify/group/tcal_changenotify.mmp
serviceproviders/sapi_calendar/tsrc/testing/tcalendarservice/tcal_delete/group/tcal_delete.mmp
serviceproviders/sapi_calendar/tsrc/testing/tcalendarservice/tcal_export/group/tcal_export.mmp
serviceproviders/sapi_calendar/tsrc/testing/tcalendarservice/tcal_getlist/group/tcal_getlist.mmp
serviceproviders/sapi_calendar/tsrc/testing/tcalendarservice/tcal_import/group/tcal_import.mmp
serviceproviders/sapi_calendar/tsrc/testing/tcalendarservice/tcal_update/group/tcal_update.mmp
serviceproviders/sapi_calendar/tsrc/testing/tcalprovider_combined/group/tcalprovider_combined.mmp
serviceproviders/sapi_location/inc/locationinterface.h
serviceproviders/sapi_location/locationservice/inc/locationservice.h
serviceproviders/sapi_location/locationservice/src/locationcoreimp.cpp
serviceproviders/sapi_location/locationservice/src/locationservice.cpp
serviceproviders/sapi_location/src/locationcallBack.cpp
serviceproviders/sapi_location/src/locationinterface.cpp
serviceproviders/sapi_logging/tsrc/dev/tloggingprovidertest/group/tloggingprovidertest.mmp
serviceproviders/sapi_logging/tsrc/dev/tloggingservice/group/tloggingservice.mmp
serviceproviders/sapi_logging/tsrc/dev/tlogtypeidtest/group/tlogtypeidtest.mmp
serviceproviders/sapi_logging/tsrc/testing/tloggingservicetest/group/tloggingservicetest.mmp
serviceproviders/sapi_logging/tsrc/testing/tlogprovidertest/group/tlogprovidertest.mmp
serviceproviders/sapi_mediamanagement/tsrc/dev/tmediathumbnailprovidertest/group/bld.inf
serviceproviders/sapi_mediamanagement/tsrc/testing/tmediaprovidertesting/src/tmediaprovidertestingImpl.cpp
serviceproviders/sapi_serviceregistry/tsrc/dev/tserviceregistryprovidertest/group/bld.inf
--- a/serviceproviders/jsapi/platformservices/lib/platformservices.js	Fri Feb 19 23:43:21 2010 +0200
+++ b/serviceproviders/jsapi/platformservices/lib/platformservices.js	Mon Mar 15 12:43:25 2010 +0200
@@ -565,7 +565,7 @@
 }else{
 this.catItem=this.iter.getNext();
 this.hasElement=true;
-if(typeof this.catItem=="undefined"){
+if(typeof this.catItem=="undefined"||this.catItem==null){
 this.catItem=null;
 return false;
 }else{
@@ -581,10 +581,14 @@
 if(typeof (this.catItem)=="undefined"){
 this.catItem=null;
 }
+if(_69){
 return new __sp_device_category_obj(_69);
 }else{
+return null;
+}
+}else{
 this.catItem=this.iter.getNext();
-if(typeof this.catItem=="undefined"){
+if(typeof this.catItem=="undefined"||this.catItem==null){
 this.hasElement=true;
 this.catItem=null;
 return null;
@@ -988,10 +992,14 @@
 if(typeof (this.lmItem)=="undefined"){
 this.lmItem=null;
 }
+if(_90){
 return new __sp_device_landmark_obj(_90);
 }else{
+return null;
+}
+}else{
 this.lmItem=this.iter.getNext();
-if(typeof this.lmItem=="undefined"){
+if(typeof this.lmItem=="undefined"||this.lmItem==null){
 this.hasElement=true;
 this.lmItem=null;
 return null;
@@ -1000,7 +1008,7 @@
 var _91=new Object();
 _91=this.lmItem;
 this.lmItem=this.iter.getNext();
-if(typeof (this.lmItem)=="undefined"){
+if(typeof (this.lmItem)=="undefined"||this.lmItem==null){
 this.lmItem=null;
 }
 return new __sp_device_landmark_obj(_91);
@@ -3252,8 +3260,8 @@
 return true;
 }
 };
-function mappingVerification(_1eb){
-if(_1eb==1016||_1eb==1012||_1eb==1010||_1eb==1009||_1eb==1005||_1eb==1000||_1eb==1011||_1eb==1007||_1eb==1003||_1eb==1002){
+function mappingVerification_sysinfo(_1eb){
+if(_1eb===1016||_1eb===1012||_1eb===1010||_1eb===1009||_1eb===1005||_1eb===1000||_1eb===1011||_1eb===1007||_1eb===1003||_1eb===1002||_1eb===1004){
 return true;
 }else{
 return false;
@@ -3444,7 +3452,7 @@
 glob_obj.addToGlobalArray(rval.TransactionID,_1fa,_1fb);
 }
 if(rval.ErrorCode!=0){
-var _202=mappingVerification(rval.ErrorCode);
+var _202=mappingVerification_sysinfo(rval.ErrorCode);
 if(_202){
 switch(MapErrorCode[rval.ErrorCode]){
 case this.error.MISSING_ARG_ERR:
@@ -4003,28 +4011,44 @@
 this.timeout;
 this.maximumAge;
 };
+function getGeoLocationPosition(_263){
+var _264=new Location_Coordinates();
+_264.longitude=(_263.Longitude==undefined)?null:_263.Longitude;
+_264.latitude=(_263.Latitude==undefined)?null:_263.Latitude;
+_264.altitude=(_263.Altitude==undefined)?null:_263.Altitude;
+_264.accuracy=(_263.HorizontalAccuracy==undefined)?null:_263.HorizontalAccuracy;
+_264.altitudeAccuracy=(_263.VerticalAccuracy==undefined)?null:_263.VerticalAccuracy;
+_264.heading=(_263.Heading==undefined)?null:_263.Heading;
+_264.speed=(_263.HorizontalSpeed==undefined)?null:_263.HorizontalSpeed;
+var _265=new Location_Position();
+_265.coords={};
+modifyObjectBaseProp(_265.coords);
+_265.coords=_264;
+_265.timestamp=(_263.timestamp==undefined)?null:_263.timestamp;
+return _265;
+};
 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_handle_error(_266,_267,_268){
+if((_266!=undefined)&&(typeof _266=="function")&&(_266!=null)){
+var _269=new Location_PositionError();
+if((-21)==_267){
+_269.code=_269.PERMISSION_DENIED;
+_269.message="permission denied";
+}else{
+if((-33)==_267){
+_269.code=_269.TIMEOUT;
+_269.message="request timed out";
+}else{
+_269.code=_269.UNKNOWN_ERROR;
+_269.message="UnKnown Error";
+}
+}
+_266(_269);
+}else{
+var _269=new Location_PositionError();
+_269.code=_269.UNKNOWN_ERROR;
+_269.message="UnKnown Error";
+throw _269;
 }
 };
 function __sp_location_descriptor(){
@@ -4037,176 +4061,146 @@
 };
 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 ");
+var _26d;
+_26d=glob_obj.getFromArray(arg1);
+if(_26d){
+success_cb1=_26d.success_cb;
+error_cb=_26d.error_cb;
+}else{
 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;
+var _26e=getGeoLocationPosition(arg3.ReturnValue);
+success_cb1(_26e);
+delete _26e;
 }
 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);
+function __sp_getLocation(_26f,_270,_271){
+if((_26f==undefined)||(_26f==null)||(typeof (_26f)!="function")){
+var _272="Wrong callback type";
+__sp_location_handle_error(_270,0,_272);
+}
+if((_270!=undefined)){
+if((_270!=null)&&(_270!="")&&(typeof (_270)!="function")){
+var _273=new Location_PositionError();
+_273.code=-1;
+throw _273;
+}
+}
+var _274;
+var _275={};
+modifyObjectBaseProp(_275);
+_275.LocationInformationClass="GenericLocationInfo";
+var _276={};
+modifyObjectBaseProp(_276);
+_276.UpdateInterval=0;
+if(_271!=undefined&&_271!=null){
+if((typeof (_271)!="object")){
+var _277="Wrong posOptions type";
+__sp_location_handle_error(_270,0,_277);
 return;
 }
 }
-if(_26f!=undefined){
-if(_26f.maximumAge!=undefined){
-if(_26f.maximumAge){
-if((_26f.maximumAge==Infinity)){
-if((_26f.enableHighAccuracy==undefined)||(typeof (_26f.enableHighAccuracy)=="boolean")){
+if(_271!=undefined){
+if(_271.maximumAge!=undefined){
+if(_271.maximumAge){
+if((_271.maximumAge==Infinity)){
+if((_271.enableHighAccuracy==undefined)||(typeof (_271.enableHighAccuracy)=="boolean")){
 var arg3=this.so.ILocation.GetLastPosition();
 if(arg3.ErrorCode<0){
-var _275="Invalid input type";
-__sp_location_handle_error(_26e,0,_275);
+var _277="Invalid input type";
+__sp_location_handle_error(_270,0,_277);
+return;
+}
+var _279=getGeoLocationPosition(arg3.ReturnValue);
+success_cb1(_279);
+return;
+}
+}
+if(!(isNaN(parseInt(_271.maximumAge)))){
+if((_271.maximumAge==0)){
+var _277="Invalid input type";
+__sp_location_handle_error(_270,0,_277);
 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;
+_276.UpdateMaxAge=_271.maximumAge*1000;
+}else{
+var _277="Invalid input type";
+__sp_location_handle_error(_270,0,_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);
+}else{
+if((_271.maximumAge==null)||(_271.maximumAge=="")){
+}
+}
+}
+if((_271.enableHighAccuracy!==undefined)){
+if(_271.enableHighAccuracy==true){
+_275.EnableHighAccuracy=_271.enableHighAccuracy;
+}else{
+if(_271.enableHighAccuracy==false){
+_275.EnableHighAccuracy=_271.enableHighAccuracy;
+}else{
+if((_271.enableHighAccuracy==null)||(_271.enableHighAccuracy=="")){
+}else{
+if((typeof (_271.enableHighAccuracy)!="boolean")){
+var _27a="Wrong value for enableHighAccuracy param";
+__sp_location_handle_error(_270,0,_27a);
 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);
+}
+}
+}
+}
+if(_271.timeout!==undefined){
+if((_271.timeout!==null)||((_271.timeout!==""))){
+if((_271.timeout==Infinity)){
+var _277="Invalid input type";
+__sp_location_handle_error(_270,0,_277);
 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);
+}else{
+if(!(isNaN(parseInt(_271.timeout)))){
+if((_271.timeout<=2147483647)){
+if((_271.timeout==0)){
+var _277="Data out of range";
+__sp_location_handle_error(_270,0,_277);
+return;
+}
+_276.UpdateTimeOut=_271.timeout*1000;
+}else{
+var _277="Invalid input type";
+__sp_location_handle_error(_270,0,_277);
 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);
+}
+}
+}
+}else{
+if((_271.timeout===null)||((_271.timeout===""))){
+}else{
+var _277="Invalid input type";
+__sp_location_handle_error(_270,0,_277);
 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;
+}
+_276.PartialUpdates=false;
+_275.Updateoptions=_276;
 try{
-temp_scb=_26d;
-temp_ecb=_26e;
-var rval=this.so.ILocation.GetLocation(_273,this.getLocationCb);
+temp_scb=_26f;
+temp_ecb=_270;
+var rval=this.so.ILocation.GetLocation(_275,this.getLocationCb);
 if(rval.TransactionID){
-glob_obj.addToGlobalArray(rval.TransactionID,_26d,_26e);
-}
-delete _274;
-delete _273;
+glob_obj.addToGlobalArray(rval.TransactionID,_26f,_270);
+}
+delete _276;
+delete _275;
 if(rval.ErrorCode!=0){
-__sp_location_handle_error(_26e,rval.ErrorCode,rval.ErrorMessage);
+__sp_location_handle_error(_270,rval.ErrorCode,rval.ErrorMessage);
 return;
 }
 }
@@ -4217,35 +4211,19 @@
 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 ");
+var _27f;
+_27f=glob_obj.getFromArray(arg1);
+if(_27f){
+success_cb=_27f.success_cb;
+error_cb=_27f.error_cb;
+}else{
 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();
+var _280=getGeoLocationPosition(arg3.ReturnValue);
 success_cb(_280);
-delete _280.timestamp;
-delete _280;
-delete _27f;
 return;
 }
 glob_obj.removeFromArray(arg1);
@@ -4261,7 +4239,7 @@
 __sp_location_handle_error(_282,0,_284);
 return;
 }
-if((_282!=undefined)){
+if((_282)){
 if((_282!=null)&&(_282!="")&&(typeof (_282)!="function")){
 var _285=new Location_PositionError();
 _285.code=-1;
@@ -4314,7 +4292,7 @@
 __sp_location_handle_error(_282,0,_284);
 return;
 }
-_287.UpdateTimeOut=_283.timeout;
+_287.UpdateTimeOut=_283.timeout*1000;
 }
 }
 }else{
@@ -4332,7 +4310,7 @@
 _287.UpdateMaxAge=2147483647;
 }else{
 if(!(isNaN(parseInt(_283.maximumAge)))){
-_287.UpdateMaxAge=_283.maximumAge;
+_287.UpdateMaxAge=_283.maximumAge*1000;
 }else{
 if((_283.maximumAge===null)||((_283.maximumAge===""))){
 }else{
@@ -5026,7 +5004,7 @@
 _2e5.MessageParam={};
 modifyObjectBaseProp(_2e5.MessageParam);
 _2e5.MessageParam.LaunchEditor=false;
-_2e5.MessageType=(_2e3.type==undefined||_2e3.type==null)?"SMS":_2e3.type;
+_2e5.MessageType=(_2e3.type==undefined||_2e3.type==null||_2e3.type=="")?"SMS":_2e3.type;
 if(_2e3.to){
 if(typeof (_2e3.to)=="string"){
 _2e5.To=_2e3.to;
@@ -5213,6 +5191,11 @@
 throw new DeviceException(this.error.INVALID_ARG_ERR,"Messaging:getList:callback is not a function");
 }
 }
+if(_2ff!=null&&typeof _2ff!="undefined"){
+if(typeof (_2ff)!="function"){
+throw new DeviceException(this.error.INVALID_ARG_ERR,"Messaging: startEditor: ErrorCallback is invalid");
+}
+}
 if(_2fc!=null&&_2fc!=undefined&&typeof _2fc!="object"){
 throw new DeviceException(this.error.INVALID_ARG_ERR,"Messaging:getList:match is invalid");
 }
@@ -5224,17 +5207,14 @@
 }
 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");
+_2ff(new DeviceException(this.error.DATA_OUT_OF_RANGE_ERR,"Messaging:getList:sortkey is out of range"));
+return;
 }
 }
 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");
+_2ff(new DeviceException(this.error.DATA_OUT_OF_RANGE_ERR,"Messaging:getList:sortorder is out of range"));
+return;
 }
 }
 var _300={};
@@ -5426,9 +5406,6 @@
 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");
 }
@@ -5697,7 +5674,6 @@
 }
 };
 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{
@@ -5719,7 +5695,6 @@
 _33d.MessageId=id;
 try{
 var _33e=this.so.IMessaging.Delete(_33d);
-a("MapErrorCode[ result.ErrorCode ]"+MapErrorCode[_33e.ErrorCode]);
 if(_33d){
 delete _33d.MessageId;
 }
@@ -5750,7 +5725,7 @@
 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");
+throw new DeviceException(this.error.DATA_OUT_OF_RANGE_ERR,"Messaging:setStatus:status is out of range");
 }
 if((typeof id=="string")&&!(isNaN(id))){
 id=Number(id);
@@ -5768,7 +5743,6 @@
 _342.Status="Unread";
 }else{
 if((_341==this.STATUS_READ)){
-a("in read");
 _342.Status="Read";
 }
 }
@@ -5958,7 +5932,8 @@
 if(typeof (_35c.time.begin)!="object"){
 return false;
 }
-if(_35c.time.begin=="Invalid Date"){
+var _35d=new Date("January 1, 1970 00:01");
+if(_35c.time.begin<_35d){
 return false;
 }
 try{
@@ -6070,128 +6045,135 @@
 }
 return true;
 };
-function __sp_calendar_getList_repeatRule(_35d){
-var _35e;
-switch(_35d.Type){
+function __sp_calendar_getList_repeatRule(_35e){
+var _35f;
+switch(_35e.Type){
 case 1:
-_35e="daily";
-this.frequency=_35e.toString();
+_35f="daily";
+this.frequency=_35f.toString();
 break;
 case 2:
-_35e="weekly";
-this.frequency=_35e.toString();
+_35f="weekly";
+this.frequency=_35f.toString();
 break;
 case 3:
-_35e="monthly";
-this.frequency=_35e.toString();
+_35f="monthly";
+this.frequency=_35f.toString();
 break;
 case 4:
-_35e="yearly";
-this.frequency=_35e.toString();
+_35f="yearly";
+this.frequency=_35f.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){
+if(_35e.StartDate){
+this.startDate=new Date(_35e.StartDate);
+}
+if(_35e.UntilDate){
+this.untilDate=new Date(_35e.UntilDate);
+}
+if(_35e.Interval){
+this.interval=_35e.Interval;
+}
+if(_35e.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){
+for(var a in _35e.DaysInWeek){
+if(_35e.DaysInWeek[a]==6){
+_35e.DaysInWeek[a]=0;
+}else{
+_35e.DaysInWeek[a]=_35e.DaysInWeek[a]+1;
+}
+this.weekDays.push(_35e.DaysInWeek[a]);
+}
+}
+if(_35e.Month){
+this.month=_35e.Month;
+}
+if(_35e.DaysOfMonth){
+if(_35e.DaysOfMonth.Day){
+if(_35e.DaysOfMonth.Day==6){
+_35e.DaysOfMonth.Day=0;
+}else{
+_35e.DaysOfMonth.Day=_35e.DaysOfMonth.Day+1;
+}
+this.daysOfMonth.day=_35e.DaysOfMonth.Day;
+}
+if(_35e.DaysOfMonth.WeekNum){
+this.daysOfMonth.weekInMonth=_35e.DaysOfMonth.WeekNum;
+}
+}
+if(_35e.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);
+for(var i=0;i<_35e.MonthDays.length;i++){
+this.monthDates.push(_35e.MonthDays[i]-1);
+}
+}
+};
+function __sp_device_calendar_entry(_362){
+if(_362.id){
+this.id=_362.id;
+}
+if(_362.Type){
+this.type=_362.Type;
+}
+if(_362.Summary){
+this.summary=_362.Summary;
+}
+if(_362.Description){
+this.description=_362.Description;
+}
+if(_362.Location){
+this.location=_362.Location;
+}
+if(_362.InstanceStartTime){
+this.instanceStartTime=_362.InstanceStartTime;
+}
+if(_362.Priority>=0||_362.Priority<=255){
+this.priority=_362.Priority;
+}
+if(_362.Status){
+this.status=_362.Status;
+}
+if(_362.Status=="TodoCompleted"){
+this.status="Completed";
+}else{
+if(_362.Status=="TodoNeedsAction"){
+this.status="NeedsAction";
+}
+}
+if(_362.ExDates){
+this.exceptionDates=_362.ExDates;
+}
+if(_362.RepeatRule){
+this.repeatRule=new __sp_calendar_getList_repeatRule(_362.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){
+this.time=new __sp_calendar_entry_time(_362.InstanceStartTime,_362.InstanceEndTime,_362.AlarmTime);
+}else{
+this.time=new __sp_calendar_entry_time(_362.StartTime,_362.EndTime,_362.AlarmTime);
+}
+};
+function __sp_daysOfMonth_build(_363){
+if(_363.day){
+if(_363.day==0){
+_363.day=6;
+}else{
+_363.day=_363.day-1;
+}
+this.Day=_363.day;
+}
+if(_363.weekInMonth){
+this.WeekNum=_363.weekInMonth;
+}
+};
+function __sp_calendar_addEntry_repeatRule(_364,str){
 try{
-if(!(_363.frequency)){
+if(!(_364.frequency)){
 throw new DeviceException(this.error.MISSING_ARG_ERR,"Calendar: addEntry: frequency is missing");
 }else{
-var _365=_363.frequency;
-switch(_365){
+var _366=_364.frequency;
+switch(_366){
 case "daily":
 this.Type=1;
 break;
@@ -6207,40 +6189,40 @@
 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){
+if(_364.startDate){
+this.StartDate=_364.startDate;
+}
+if(_364.untilDate){
+this.UntilDate=_364.untilDate;
+}
+if(_364.interval){
+this.Interval=_364.interval;
+}
+if(_364.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){
+for(var a in _364.weekDays){
+if(_364.weekDays[a]==0){
+_364.weekDays[a]=6;
+}else{
+_364.weekDays[a]=_364.weekDays[a]-1;
+}
+this.DaysInWeek.push(_364.weekDays[a]);
+}
+}
+if(_364.month){
+this.Month=_364.month;
+}
+if(_364.monthDates){
 this.MonthDays=[];
-for(var i=0;i<_363.monthDates.length;i++){
-this.MonthDays.push(_363.monthDates[i]-1);
-}
-}
-if(_363.daysOfMonth){
+for(var i=0;i<_364.monthDates.length;i++){
+this.MonthDays.push(_364.monthDates[i]-1);
+}
+}
+if(_364.daysOfMonth){
 this.DaysOfMonth=new Array();
-for(var a in _363.daysOfMonth){
-var _368=new __sp_daysOfMonth_build(_363.daysOfMonth[a]);
-(this.DaysOfMonth).push(_368);
+for(var a in _364.daysOfMonth){
+var _369=new __sp_daysOfMonth_build(_364.daysOfMonth[a]);
+(this.DaysOfMonth).push(_369);
 }
 }
 }
@@ -6249,110 +6231,105 @@
 __device_handle_exception(e,"__sp_calendar_addEntry_repeatRule: "+e);
 }
 };
-function __sp_calendar_entry(_369,str){
+function __sp_calendar_entry(_36a,str){
 try{
-if(_369.type){
-this.Type=_369.type;
-}
-if(_369.id){
-this.id=_369.id;
+if(_36a.type){
+this.Type=_36a.type;
+}
+if(_36a.id){
+this.id=_36a.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)){
+if(_36a.time){
+if(_36a.time.begin){
+this.StartTime=_36a.time.begin;
+}
+if(_36a.time.end){
+this.EndTime=_36a.time.end;
+}
+}
+}
+}
+if(_36a.instanceStartTime){
+this.InstanceStartTime=_36a.instanceStartTime;
+}
+if(_36a.description){
+this.Description=_36a.description;
+}else{
+if(isUpdate&&(_36a.description==null)){
 this.Description=" ";
 }
 }
-if(_369.summary){
-this.Summary=_369.summary;
-}else{
-if(isUpdate&&(_369.summary==null)){
+if(_36a.summary){
+this.Summary=_36a.summary;
+}else{
+if(isUpdate&&(_36a.summary==null)){
 this.Summary=" ";
 }
 }
-if(_369.location){
-this.Location=_369.location;
-}else{
-if(isUpdate&&(_369.location==null)){
+if(_36a.location){
+this.Location=_36a.location;
+}else{
+if(isUpdate&&(_36a.location==null)){
 this.Location=" ";
 }
 }
-if(_369.priority){
-if((_369.priority<0)||(_369.priority>255)){
+if(_36a.priority){
+if((_36a.priority<0)||(_36a.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=_36a.priority;
+}
+}else{
+if(isUpdate&&(_36a.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(_36a.status){
+this.Status=_36a.status;
+if(_36a.status=="NeedsAction"||_36a.status=="Completed"){
+this.Status="Todo"+_36a.status;
+}
+}
+if(_36a.exceptionDates){
+this.ExDates=_36a.exceptionDates;
+}
+if(_36a.repeatRule){
+this.RepeatRule=new __sp_calendar_addEntry_repeatRule(_36a.repeatRule,str);
+}
+if(_36a.type!=undefined&&_36a.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;
+if(_36a.time){
+if(_36a.time.begin){
+this.StartTime=_36a.time.begin;
+}
+if(_36a.time.end){
+this.EndTime=_36a.time.end;
 }
 }
 break;
 case "Reminder":
 case "Anniversary":
-if(_369.time){
-if(_369.time.begin){
-this.StartTime=_369.time.begin;
+if(_36a.time){
+if(_36a.time.begin){
+this.StartTime=_36a.time.begin;
 }
 }
 break;
 case "ToDo":
-if(_369.time){
-if(_369.time.end){
-this.EndTime=_369.time.end;
+if(_36a.time){
+if(_36a.time.end){
+this.EndTime=_36a.time.end;
 }
 }
 break;
 case "DayEvent":
-if(_369.time){
-if(_369.time.begin){
-this.StartTime=_369.time.begin;
+if(_36a.time){
+if(_36a.time.begin){
+this.StartTime=_36a.time.begin;
 }
 }
 break;
@@ -6360,9 +6337,9 @@
 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;
+if(_36a.time){
+if(_36a.time.alarm){
+this.AlarmTime=_36a.time.alarm;
 }
 }
 }
@@ -6371,48 +6348,48 @@
 }
 };
 function __sp_calendar_iterator_get_next(){
-var _36b=this.iter.getNext();
-if(typeof _36b=="undefined"){
+var _36c=this.iter.getNext();
+if(typeof _36c=="undefined"){
 return null;
 }
-var _36c=new __sp_device_calendar_entry(_36b);
-_36b.close();
-return _36c;
-};
-function __sp_calendar_iterator(_36d){
-this.iter=_36d;
+var _36d=new __sp_device_calendar_entry(_36c);
+_36c.close();
+return _36d;
+};
+function __sp_calendar_iterator(_36e){
+this.iter=_36e;
 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){
+function __sp_calendar_startEditor(_36f,_370,_371){
 try{
-if(!_36e){
+if(!_36f){
 throw new DeviceException(this.error.MISSING_ARG_ERR,"Calendar: startEditor: callback is missing");
 }else{
-if(typeof _36e!="function"){
+if(typeof _36f!="function"){
 throw new DeviceException(this.error.INVALID_ARG_ERR,"Calendar: startEditor: callback is invalid");
 }
 }
-if(_370){
-if(typeof _370!="function"){
+if(_371){
+if(typeof _371!="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){
+if(_370!=null){
+throw new DeviceException(this.error.NOT_SUPPORTED_ERR,"Calendar: startEditor: Entry should be null");
+}
+var _372=function(arg1,arg2,arg3){
 var iter=null;
-_36e(iter);
+_36f(iter);
 if(arg2!=event_cancelled){
 var iter=null;
 if(arg3.ReturnValue){
 iter=new __sp_calendar_iterator(arg3.ReturnValue);
 }
-_36e(iter);
+_36f(iter);
 }
 if(arg3.ErrorCode!=0){
 switch(arg3.ErrorCode){
@@ -6420,18 +6397,18 @@
 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);
+var _377=splitErrorMessage(arg3.ErrorMessage);
+throw new DeviceException(MapErrorCode[arg3.ErrorCode],"Calendar: startEditor: "+_377);
 }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);
+_371(new DeviceException(MapErrorCode[arg3.ErrorCode],"Calendar: startEditor: Operation Failed"));
+}
+}
+};
+__s60_start_and_wait(CALENDAR_APP_ID,"",_372);
 return 0;
 }
 catch(e){
@@ -6440,19 +6417,19 @@
 };
 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;
+var _37d;
+_37b=glob_obj.getFromArray(arg1);
+if(_37b){
+_37c=_37b.success_cb;
+_37d=_37b.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"));
+_37d(new DeviceException(arg3.ErrorCode,"Calendar: getList: Operation Failed"));
 return;
 }
 if(arg2!=event_cancelled){
@@ -6460,104 +6437,104 @@
 if(arg3.ReturnValue){
 iter=new __sp_calendar_iterator(arg3.ReturnValue);
 }
-_37b(iter);
+_37c(iter);
 }
 glob_obj.removeFromArray(arg1);
 };
-function __sp_calendar_getList(_37e,_37f,_380){
+function __sp_calendar_getList(_37f,_380,_381){
 try{
-if(_37f){
-if(typeof _37f!="object"){
+if(_380){
+if(typeof _380!="object"){
 throw new DeviceException(this.error.INVALID_ARG_ERR,"Calendar: getList: match is invalid");
 }
-if(_37f.id){
+if(_380.id){
 dataGetList=1;
-if(typeof _37f.id!="string"){
+if(typeof _380.id!="string"){
 throw new DeviceException(this.error.INVALID_ARG_ERR,"Calendar: getList: match is invalid");
 }
 }else{
 dataGetList=0;
 }
 }
-if(!_37e){
+if(!_37f){
 throw new DeviceException(this.error.MISSING_ARG_ERR,"Calendar: getList: callback is missing");
 }else{
-if(typeof _37e!="function"){
+if(typeof _37f!="function"){
 throw new DeviceException(this.error.INVALID_ARG_ERR,"Calendar: getList: callback is invalid");
 }
 }
-if(_380){
-if(typeof _380!="function"){
+if(_381){
+if(typeof _381!="function"){
 throw new DeviceException(this.error.INVALID_ARG_ERR,"Calendar: getList: error callback is invalid");
 }
-if(_380==undefined||_380==null){
+if(_381==undefined||_381==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);
+_382.Type="IncludeAll";
+if(_380){
+if(_380.id){
+_382.id=_380.id;
+}
+if((_380.type)&&__sp_calendar_entry_types.match(_380.type)){
+_382.Type=_380.type;
+}else{
+if((_380.type)&&typeof _380.type!="string"){
+throw new DeviceException(this.error.INVALID_ARG_ERR,"Calendar: getList: match is invalid");
+}
+}
+if(_380.range){
+if(_380.range.begin){
+if(typeof (_380.range.begin)!="object"){
+throw new DeviceException(this.error.INVALID_ARG_ERR,"Calendar: getList: match is invalid");
+}else{
+if((_380.range.begin)=="Invalid Date"){
+throw new DeviceException(this.error.INVALID_ARG_ERR,"Calendar: getList: match is invalid");
+}else{
+_382.StartRange=_380.range.begin;
+}
+}
+}
+if(_380.range.end){
+if(typeof (_380.range.end)!="object"){
+throw new DeviceException(this.error.INVALID_ARG_ERR,"Calendar: getList: match is invalid");
+}else{
+if((_380.range.end)=="Invalid Date"){
+throw new DeviceException(this.error.INVALID_ARG_ERR,"Calendar: getList: match is invalid");
+}else{
+_382.EndRange=_380.range.end;
+}
+}
+}
+if((_380.range.begin)&&(_380.range.end)){
+if((_380.range.begin)>(_380.range.end)){
+throw new DeviceException(this.error.INVALID_ARG_ERR,"Calendar: getList: match is invalid");
+}
+}
+}
+if(_380.text){
+if(typeof (_380.text)!="string"){
+throw new DeviceException(this.error.INVALID_ARG_ERR,"Calendar: getList: match is invalid");
+}else{
+_382.SearchText=_380.text;
+}
+}
+}
+var _383={};
+modifyObjectBaseProp(_383);
+_383.Type="CalendarEntry";
+_383.Filter=_382;
+temp_scb=_37f;
+temp_ecb=_381;
+var rval=this.so.IDataSource.GetList(_383,this.getListCb);
 if(rval.TransactionID){
-glob_obj.addToGlobalArray(rval.TransactionID,_37e,_380);
-}
-if(_382){
-delete _382.Type;
-delete _382.Filter;
+glob_obj.addToGlobalArray(rval.TransactionID,_37f,_381);
+}
+if(_383){
+delete _383.Type;
+delete _383.Filter;
 }
 if(rval.ErrorCode!=0){
 switch(rval.ErrorCode){
@@ -6565,14 +6542,14 @@
 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);
+var _385=splitErrorMessage(rval.ErrorMessage);
+throw new DeviceException(MapErrorCode[rval.ErrorCode],"Calendar: getList: "+_385);
 }else{
 throw new DeviceException(MapErrorCode[rval.ErrorCode],"Calendar: getList: Operation Failed");
 }
 break;
 default:
-_380(new DeviceException(MapErrorCode[rval.ErrorCode],"Calendar: getList: Operation Failed"));
+_381(new DeviceException(MapErrorCode[rval.ErrorCode],"Calendar: getList: Operation Failed"));
 }
 }
 return rval.TransactionID;
@@ -6581,49 +6558,49 @@
 __device_handle_exception(e,"sp_calendar_getList: "+e);
 }
 };
-function __sp_calendar_add(_385){
-if(_385){
-if(typeof _385!="object"){
+function __sp_calendar_add(_386){
+if(_386){
+if(typeof _386!="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){
+if(_386.id){
+_386.id=undefined;
+}
+if(!_386.type||!_386.time){
 throw new DeviceException(this.error.MISSING_ARG_ERR,"Calendar: addEntry: mandatory param missing");
 }else{
-if(typeof _385.type!="string"||typeof _385.time!="object"){
+if(typeof _386.type!="string"||typeof _386.time!="object"){
 throw new DeviceException(this.error.INVALID_ARG_ERR,"Calendar: addEntry: mandatory param missing");
 }
 }
-if((_385.type!="ToDo")&&!_385.time.begin){
+if((_386.type!="ToDo")&&!_386.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")){
+if(!_386.time.end&&(_386.type=="ToDo"||_386.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){
+if(_386.time.end&&_386.time.alarm){
+if(_386.time.end<_386.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"){
+if(_386.type=="ToDo"){
+if(_386.status==0){
+if(typeof (_386.status)!="string"){
 throw new DeviceException(this.error.INVALID_ARG_ERR,"Calendar: addEntry: mandatory param missing");
 }
 }
 }
-if(_385.repeatRule){
-if(typeof _385.repeatRule!="object"){
+if(_386.repeatRule){
+if(typeof _386.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){
+if(!_386.repeatRule.frequency||_386.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){
+var _387=__sp_calendar_isInputValid(_386);
+if(!_387){
 throw new DeviceException(this.error.INVALID_ARG_ERR,"Calendar: addEntry: calendarEntry param is invalid");
 }
 }else{
@@ -6631,63 +6608,63 @@
 }
 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");
+var _389={};
+modifyObjectBaseProp(_389);
+_389.Type="CalendarEntry";
+_389.Item=new __sp_calendar_entry(_386,str);
+var _38a=this.so.IDataSource.Add(_389);
+if(_389){
+delete _389.Type;
+delete _389.Item;
+}
+var _38b="Operation Failed";
+if(_38a.ErrorMessage){
+_38b=splitErrorMessage(_38a.ErrorMessage);
+}
+if(_38a.ErrorCode!=0){
+throw new DeviceException(MapErrorCode[_38a.ErrorCode],"Calendar: addEntry: Operation Failed");
 return;
 }else{
-var _38b=_389.ReturnValue;
-return _38b;
+var _38c=_38a.ReturnValue;
+return _38c;
 }
 }
 catch(e){
 __device_handle_exception(e,"__sp_calendar_add: "+e);
 }
 };
-function __sp_calendar_update(_38c){
+function __sp_calendar_update(_38d){
 isUpdate=1;
-if(_38c){
-if(typeof _38c!="object"){
+if(_38d){
+if(typeof _38d!="object"){
 throw new DeviceException(this.error.INVALID_ARG_ERR,"Calendar: updateEntry: calendarEntry param is invalid");
 }
-if(!_38c.id){
+if(!_38d.id){
 throw new DeviceException(this.error.MISSING_ARG_ERR,"Calendar: updateEntry: mandatory param - Id missing");
 }
-if(_38c.repeatRule){
-if(typeof _38c.repeatRule!="object"){
+if(_38d.repeatRule){
+if(typeof _38d.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)){
+if((_38d.repeatRule.frequency==null||_38d.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)){
+if(_38d.repeatRule.startDate&&(_38d.repeatRule.startDate==null||_38d.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)){
+if(_38d.repeatRule.untilDate&&(_38d.repeatRule.untilDate==null||_38d.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){
+if(_38d.time){
+if(_38d.time.end&&_38d.time.alarm){
+if(_38d.time.alarm>_38d.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){
+var _38e=__sp_calendar_isInputValid(_38d);
+if(!_38e){
 throw new DeviceException(this.error.INVALID_ARG_ERR,"Calendar: updateEntry: calendarEntry param is invalid");
 }
 }else{
@@ -6695,26 +6672,26 @@
 }
 try{
 var str="updateEntry:";
-var _38f={};
-modifyObjectBaseProp(_38f);
-_38f.Type="CalendarEntry";
-_38f.Item=new __sp_calendar_entry(_38c,str);
+var _390={};
+modifyObjectBaseProp(_390);
+_390.Type="CalendarEntry";
+_390.Item=new __sp_calendar_entry(_38d,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");
+var _391=this.so.IDataSource.Add(_390);
+if(_390){
+delete _390.Type;
+delete _390.Item;
+}
+var _392="Operation Failed";
+if(_391.ErrorMessage){
+_392=splitErrorMessage(_391.ErrorMessage);
+}
+if(_391.ErrorCode!=0){
+throw new DeviceException(MapErrorCode[_391.ErrorCode],"Calendar: addEntry: Operation Failed");
 return;
 }else{
-var _392=_390.ReturnValue;
-return _392;
+var _393=_391.ReturnValue;
+return _393;
 }
 }
 catch(e){
@@ -6730,43 +6707,43 @@
 if(!data.id){
 throw new DeviceException(this.error.MISSING_ARG_ERR,"Calendar: deleteEntry: id is missing");
 }
-var _394=__sp_calendar_isInputValid(data);
-if(!_394){
+var _395=__sp_calendar_isInputValid(data);
+if(!_395){
 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 _396={};
+modifyObjectBaseProp(_396);
+_396.Type="CalendarEntry";
+_396.Data={};
+modifyObjectBaseProp(_396.Data);
+_396.Data.IdList=[];
 var list=[data.id];
-_395.Data.IdList=list;
+_396.Data.IdList=list;
 if(data.range){
 if(data.range.begin){
-_395.Data.StartRange=data.range.begin;
+_396.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;
+_396.Data.EndRange=data.range.end;
+}
+}
+var rval=this.so.IDataSource.Delete(_396);
+if(_396){
+delete _396.Type;
+delete _396.Data.IdList;
+delete _396.Data.StartRange;
+delete _396.Data.EndRange;
 }
 if(list){
 delete list.id;
 }
 if(rval.ErrorCode!=0){
 if(rval.ErrorMessage){
-var _398=splitErrorMessage(rval.ErrorMessage);
-throw new DeviceException(MapErrorCode[rval.ErrorCode],"Calendar: deleteEntry: "+_398);
+var _399=splitErrorMessage(rval.ErrorMessage);
+throw new DeviceException(MapErrorCode[rval.ErrorCode],"Calendar: deleteEntry: "+_399);
 }else{
 throw new DeviceException(MapErrorCode[rval.ErrorCode],"Calendar: deleteEntry: Operation Failed");
 }
@@ -6776,29 +6753,29 @@
 __device_handle_exception(e,"__sp_calendar_delete: "+e);
 }
 };
-function __sp_calendar_cancel(_399){
+function __sp_calendar_cancel(_39a){
 try{
-if(!_399||_399==null||_399==undefined){
+if(!_39a||_39a==null||_39a==undefined){
 throw new DeviceException(this.error.MISSING_ARG_ERR,"Calendar: cancel: id is missing");
 }
-if(_399){
-if(typeof _399!="number"){
+if(_39a){
+if(typeof _39a!="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");
+var _39b={};
+modifyObjectBaseProp(_39b);
+_39b.TransactionID=_39a;
+var _39c=this.so.IDataSource.Cancel(_39b);
+if(_39b){
+delete _39b.TransactionID;
+}
+if(_39c.ErrorCode!=0){
+if(_39c.ErrorMessage){
+var _39d=splitErrorMessage(_39c.ErrorMessage);
+throw new DeviceException(MapErrorCode[_39c.ErrorCode],"Calendar: cancel: "+_39d);
+}else{
+throw new DeviceException(MapErrorCode[_39c.ErrorCode],"Calendar: cancel: Operation Failed");
 }
 }
 }
@@ -6824,21 +6801,21 @@
 __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_descriptor(_39e){
+this.interfaceName=_39e.interfaceName;
+this.version=_39e.version;
+};
+function __device_contacts_startEditor(_39f,_3a0,_3a1){
+return this.provider.startEditor(_39f,_3a0,_3a1);
+};
+function __device_contacts_getContacts(_3a2,_3a3,_3a4,_3a5){
+return this.provider.getContacts(_3a2,_3a3,_3a4,_3a5);
+};
+function __device_contacts_add(_3a6){
+return this.provider.addContact(_3a6);
+};
+function __device_contacts_update(_3a7){
+this.provider.updateContact(_3a7);
 };
 function __device_contacts_delete(id){
 this.provider.deleteContacts(id);
@@ -6846,40 +6823,40 @@
 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_addGroup(_3aa){
+return this.provider.addGroup(_3aa);
+};
+function __device_contacts_getGroups(_3ab,_3ac){
+return this.provider.getGroups(_3ab,_3ac);
 };
 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;
+function __device_contacts_addContactsToGroup(_3ae,id){
+this.provider.addContactsToGroup(_3ae,id);
+};
+function __device_contacts_getContactIds(_3b0,_3b1,_3b2,_3b3){
+return this.provider.getContactIds(_3b0,_3b1,_3b2,_3b3);
+};
+function __device_contacts_getGroupIds(_3b4,_3b5){
+return this.provider.getGroupIds(_3b4,_3b5);
+};
+function __device_contacts_removeContactsFromGroup(_3b6,id){
+this.provider.removeContactsFromGroup(_3b6,id);
+};
+function __device_contacts_cancel(_3b8){
+this.provider.cancel(_3b8);
+};
+function __device_contacts_updateGroup(_3b9){
+this.provider.updateGroup(_3b9);
+};
+function __device_contacts_getGroupInfo(_3ba){
+return this.provider.getGroupInfo(_3ba);
+};
+function __device_contacts(_3bb){
+this.provider=_3bb;
+this.interfaceName=_3bb.descriptor.interfaceName;
+this.version=_3bb.descriptor.version;
 this.SORT_ASCENDING=0;
 this.SORT_DESCENDING=1;
 this.startEditor=__device_contacts_startEditor;
@@ -6900,8 +6877,6 @@
 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){
@@ -6910,27 +6885,27 @@
 this.version=1;
 }
 };
-function __s60_enumerate_contact_object(_3bb,_3bc,func,_3be){
+function __s60_enumerate_contact_object(_3bc,_3bd,func,_3bf){
 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);
+for(key in _3bc){
+var _3c1;
+if(_3bd){
+_3c1=_3bd+"."+key;
+}else{
+_3c1=key;
+}
+var _3c2=_3bc[key];
+if(_3c2 instanceof Array){
+func(_3c1,_3c2,_3bf);
+}else{
+if(_3c2 instanceof Date){
+func(_3c1,_3c2,_3bf);
+}else{
+if(typeof _3c2=="object"){
+__s60_enumerate_contact_object(_3c2,_3c1,func,_3bf);
+}else{
+func(_3c1,_3c2,_3bf);
 }
 }
 }
@@ -6940,330 +6915,330 @@
 throw e;
 }
 };
-function __sp_contact_extract(name,_3c3,_3c4){
+function __sp_contact_extract(name,_3c4,_3c5){
 switch(name){
 case "name.last":
-_3c4.LastName={};
-modifyObjectBaseProp(_3c4.LastName);
-_3c4.LastName.Label="Last name";
-_3c4.LastName.Value=_3c3;
+_3c5.LastName={};
+modifyObjectBaseProp(_3c5.LastName);
+_3c5.LastName.Label="Last name";
+_3c5.LastName.Value=_3c4;
 break;
 case "name.first":
-_3c4.FirstName={};
-modifyObjectBaseProp(_3c4.FirstName);
-_3c4.FirstName.Label="First name";
-_3c4.FirstName.Value=_3c3;
+_3c5.FirstName={};
+modifyObjectBaseProp(_3c5.FirstName);
+_3c5.FirstName.Label="First name";
+_3c5.FirstName.Value=_3c4;
 break;
 case "name.middle":
-_3c4.MiddleName={};
-modifyObjectBaseProp(_3c4.MiddleName);
-_3c4.MiddleName.Label="Middle name";
-_3c4.MiddleName.Value=_3c3;
+_3c5.MiddleName={};
+modifyObjectBaseProp(_3c5.MiddleName);
+_3c5.MiddleName.Label="Middle name";
+_3c5.MiddleName.Value=_3c4;
 break;
 case "name.prefix":
-_3c4.Prefix={};
-modifyObjectBaseProp(_3c4.Prefix);
-_3c4.Prefix.Label="Prefix";
-_3c4.Prefix.Value=_3c3;
+_3c5.Prefix={};
+modifyObjectBaseProp(_3c5.Prefix);
+_3c5.Prefix.Label="Prefix";
+_3c5.Prefix.Value=_3c4;
 break;
 case "name.suffix":
-_3c4.Suffix={};
-modifyObjectBaseProp(_3c4.Suffix);
-_3c4.Suffix.Label="Suffix";
-_3c4.Suffix.Value=_3c3;
+_3c5.Suffix={};
+modifyObjectBaseProp(_3c5.Suffix);
+_3c5.Suffix.Label="Suffix";
+_3c5.Suffix.Value=_3c4;
 break;
 case "tel.land":
-_3c4.LandPhoneGen={};
-modifyObjectBaseProp(_3c4.LandPhoneGen);
-_3c4.LandPhoneGen.Label="Landline";
-_3c4.LandPhoneGen.Value=_3c3;
+_3c5.LandPhoneGen={};
+modifyObjectBaseProp(_3c5.LandPhoneGen);
+_3c5.LandPhoneGen.Label="Landline";
+_3c5.LandPhoneGen.Value=_3c4;
 break;
 case "tel.mobile":
-_3c4.MobilePhoneGen={};
-modifyObjectBaseProp(_3c4.MobilePhoneGen);
-_3c4.MobilePhoneGen.Label="Mobile";
-_3c4.MobilePhoneGen.Value=_3c3;
+_3c5.MobilePhoneGen={};
+modifyObjectBaseProp(_3c5.MobilePhoneGen);
+_3c5.MobilePhoneGen.Label="Mobile";
+_3c5.MobilePhoneGen.Value=_3c4;
 break;
 case "tel.video":
-_3c4.VideoNumberGen={};
-modifyObjectBaseProp(_3c4.VideoNumberGen);
-_3c4.VideoNumberGen.Label="Video";
-_3c4.VideoNumberGen.Value=_3c3;
+_3c5.VideoNumberGen={};
+modifyObjectBaseProp(_3c5.VideoNumberGen);
+_3c5.VideoNumberGen.Label="Video";
+_3c5.VideoNumberGen.Value=_3c4;
 break;
 case "tel.fax":
-_3c4.FaxNumberGen={};
-modifyObjectBaseProp(_3c4.FaxNumberGen);
-_3c4.FaxNumberGen.Label="Fax";
-_3c4.FaxNumberGen.Value=_3c3;
+_3c5.FaxNumberGen={};
+modifyObjectBaseProp(_3c5.FaxNumberGen);
+_3c5.FaxNumberGen.Label="Fax";
+_3c5.FaxNumberGen.Value=_3c4;
 break;
 case "tel.voip":
-_3c4.VOIPGen={};
-modifyObjectBaseProp(_3c4.VOIPGen);
-_3c4.VOIPGen.Label="Voip";
-_3c4.VOIPGen.Value=_3c3;
+_3c5.VOIPGen={};
+modifyObjectBaseProp(_3c5.VOIPGen);
+_3c5.VOIPGen.Label="Voip";
+_3c5.VOIPGen.Value=_3c4;
 break;
 case "tel.home.land":
-_3c4.LandPhoneHome={};
-modifyObjectBaseProp(_3c4.LandPhoneHome);
-_3c4.LandPhoneHome.Label="Home Landline";
-_3c4.LandPhoneHome.Value=_3c3;
+_3c5.LandPhoneHome={};
+modifyObjectBaseProp(_3c5.LandPhoneHome);
+_3c5.LandPhoneHome.Label="Home Landline";
+_3c5.LandPhoneHome.Value=_3c4;
 break;
 case "tel.home.mobile":
-_3c4.MobilePhoneHome={};
-modifyObjectBaseProp(_3c4.MobilePhoneHome);
-_3c4.MobilePhoneHome.Label="Home Mobile";
-_3c4.MobilePhoneHome.Value=_3c3;
+_3c5.MobilePhoneHome={};
+modifyObjectBaseProp(_3c5.MobilePhoneHome);
+_3c5.MobilePhoneHome.Label="Home Mobile";
+_3c5.MobilePhoneHome.Value=_3c4;
 break;
 case "tel.home.video":
-_3c4.VideoNumberHome={};
-modifyObjectBaseProp(_3c4.VideoNumberHome);
-_3c4.VideoNumberHome.Label="Home Video";
-_3c4.VideoNumberHome.Value=_3c3;
+_3c5.VideoNumberHome={};
+modifyObjectBaseProp(_3c5.VideoNumberHome);
+_3c5.VideoNumberHome.Label="Home Video";
+_3c5.VideoNumberHome.Value=_3c4;
 break;
 case "tel.home.fax":
-_3c4.FaxNumberHome={};
-modifyObjectBaseProp(_3c4.FaxNumberHome);
-_3c4.FaxNumberHome.Label="Home Fax";
-_3c4.FaxNumberHome.Value=_3c3;
+_3c5.FaxNumberHome={};
+modifyObjectBaseProp(_3c5.FaxNumberHome);
+_3c5.FaxNumberHome.Label="Home Fax";
+_3c5.FaxNumberHome.Value=_3c4;
 break;
 case "tel.home.voip":
-_3c4.VoipHome={};
-modifyObjectBaseProp(_3c4.VoipHome);
-_3c4.VoipHome.Label="Home Voip";
-_3c4.VoipHome.Value=_3c3;
+_3c5.VoipHome={};
+modifyObjectBaseProp(_3c5.VoipHome);
+_3c5.VoipHome.Label="Home Voip";
+_3c5.VoipHome.Value=_3c4;
 break;
 case "tel.work.land":
-_3c4.LandPhoneWork={};
-modifyObjectBaseProp(_3c4.LandPhoneWork);
-_3c4.LandPhoneWork.Label="Work Landline";
-_3c4.LandPhoneWork.Value=_3c3;
+_3c5.LandPhoneWork={};
+modifyObjectBaseProp(_3c5.LandPhoneWork);
+_3c5.LandPhoneWork.Label="Work Landline";
+_3c5.LandPhoneWork.Value=_3c4;
 break;
 case "tel.work.mobile":
-_3c4.MobilePhoneWork={};
-modifyObjectBaseProp(_3c4.MobilePhoneWork);
-_3c4.MobilePhoneWork.Label="Work Mobile";
-_3c4.MobilePhoneWork.Value=_3c3;
+_3c5.MobilePhoneWork={};
+modifyObjectBaseProp(_3c5.MobilePhoneWork);
+_3c5.MobilePhoneWork.Label="Work Mobile";
+_3c5.MobilePhoneWork.Value=_3c4;
 break;
 case "tel.work.video":
-_3c4.VideoNumberWork={};
-modifyObjectBaseProp(_3c4.VideoNumberWork);
-_3c4.VideoNumberWork.Label="Work Video";
-_3c4.VideoNumberWork.Value=_3c3;
+_3c5.VideoNumberWork={};
+modifyObjectBaseProp(_3c5.VideoNumberWork);
+_3c5.VideoNumberWork.Label="Work Video";
+_3c5.VideoNumberWork.Value=_3c4;
 break;
 case "tel.work.fax":
-_3c4.FaxNumberWork={};
-modifyObjectBaseProp(_3c4.FaxNumberWork);
-_3c4.FaxNumberWork.Label="Work Fax";
-_3c4.FaxNumberWork.Value=_3c3;
+_3c5.FaxNumberWork={};
+modifyObjectBaseProp(_3c5.FaxNumberWork);
+_3c5.FaxNumberWork.Label="Work Fax";
+_3c5.FaxNumberWork.Value=_3c4;
 break;
 case "tel.work.voip":
-_3c4.VoipWork={};
-modifyObjectBaseProp(_3c4.VoipWork);
-_3c4.VoipWork.Label="Work Voip";
-_3c4.VoipWork.Value=_3c3;
+_3c5.VoipWork={};
+modifyObjectBaseProp(_3c5.VoipWork);
+_3c5.VoipWork.Label="Work Voip";
+_3c5.VoipWork.Value=_3c4;
 break;
 case "address.street":
-_3c4.AddrStreetGen={};
-modifyObjectBaseProp(_3c4.AddrStreetGen);
-_3c4.AddrStreetGen.Label="Street Address";
-_3c4.AddrStreetGen.Value=_3c3;
+_3c5.AddrStreetGen={};
+modifyObjectBaseProp(_3c5.AddrStreetGen);
+_3c5.AddrStreetGen.Label="Street Address";
+_3c5.AddrStreetGen.Value=_3c4;
 break;
 case "address.local":
-_3c4.AddrLocalGen={};
-modifyObjectBaseProp(_3c4.AddrLocalGen);
-_3c4.AddrLocalGen.Label="City";
-_3c4.AddrLocalGen.Value=_3c3;
+_3c5.AddrLocalGen={};
+modifyObjectBaseProp(_3c5.AddrLocalGen);
+_3c5.AddrLocalGen.Label="City";
+_3c5.AddrLocalGen.Value=_3c4;
 break;
 case "address.region":
-_3c4.AddrRegionGen={};
-modifyObjectBaseProp(_3c4.AddrRegionGen);
-_3c4.AddrRegionGen.Label="State/Province";
-_3c4.AddrRegionGen.Value=_3c3;
+_3c5.AddrRegionGen={};
+modifyObjectBaseProp(_3c5.AddrRegionGen);
+_3c5.AddrRegionGen.Label="State/Province";
+_3c5.AddrRegionGen.Value=_3c4;
 break;
 case "address.code":
-_3c4.AddrPostCodeGen={};
-modifyObjectBaseProp(_3c4.AddrPostCodeGen);
-_3c4.AddrPostCodeGen.Label="Postal code";
-_3c4.AddrPostCodeGen.Value=_3c3;
+_3c5.AddrPostCodeGen={};
+modifyObjectBaseProp(_3c5.AddrPostCodeGen);
+_3c5.AddrPostCodeGen.Label="Postal code";
+_3c5.AddrPostCodeGen.Value=_3c4;
 break;
 case "address.country":
-_3c4.AddrCountryGen={};
-modifyObjectBaseProp(_3c4.AddrCountryGen);
-_3c4.AddrCountryGen.Label="Country";
-_3c4.AddrCountryGen.Value=_3c3;
+_3c5.AddrCountryGen={};
+modifyObjectBaseProp(_3c5.AddrCountryGen);
+_3c5.AddrCountryGen.Label="Country";
+_3c5.AddrCountryGen.Value=_3c4;
 break;
 case "address.email":
-_3c4.EmailGen={};
-modifyObjectBaseProp(_3c4.EmailGen);
-_3c4.EmailGen.Label="EMail";
-_3c4.EmailGen.Value=_3c3;
+_3c5.EmailGen={};
+modifyObjectBaseProp(_3c5.EmailGen);
+_3c5.EmailGen.Label="EMail";
+_3c5.EmailGen.Value=_3c4;
 break;
 case "address.uri":
-_3c4.URLGen={};
-modifyObjectBaseProp(_3c4.URLGen);
-_3c4.URLGen.Label="Website";
-_3c4.URLGen.Value=_3c3;
+_3c5.URLGen={};
+modifyObjectBaseProp(_3c5.URLGen);
+_3c5.URLGen.Label="Website";
+_3c5.URLGen.Value=_3c4;
 break;
 case "address.home.street":
-_3c4.AddrStreetHome={};
-modifyObjectBaseProp(_3c4.AddrStreetHome);
-_3c4.AddrStreetHome.Label="Home Address";
-_3c4.AddrStreetHome.Value=_3c3;
+_3c5.AddrStreetHome={};
+modifyObjectBaseProp(_3c5.AddrStreetHome);
+_3c5.AddrStreetHome.Label="Home Address";
+_3c5.AddrStreetHome.Value=_3c4;
 break;
 case "address.home.local":
-_3c4.AddrLocalHome={};
-modifyObjectBaseProp(_3c4.AddrLocalHome);
-_3c4.AddrLocalHome.Label="City";
-_3c4.AddrLocalHome.Value=_3c3;
+_3c5.AddrLocalHome={};
+modifyObjectBaseProp(_3c5.AddrLocalHome);
+_3c5.AddrLocalHome.Label="City";
+_3c5.AddrLocalHome.Value=_3c4;
 break;
 case "address.home.region":
-_3c4.AddrRegionHome={};
-modifyObjectBaseProp(_3c4.AddrRegionHome);
-_3c4.AddrRegionHome.Label="State/Province";
-_3c4.AddrRegionHome.Value=_3c3;
+_3c5.AddrRegionHome={};
+modifyObjectBaseProp(_3c5.AddrRegionHome);
+_3c5.AddrRegionHome.Label="State/Province";
+_3c5.AddrRegionHome.Value=_3c4;
 break;
 case "address.home.code":
-_3c4.AddrPostCodeHome={};
-modifyObjectBaseProp(_3c4.AddrPostCodeHome);
-_3c4.AddrPostCodeHome.Label="Postal code";
-_3c4.AddrPostCodeHome.Value=_3c3;
+_3c5.AddrPostCodeHome={};
+modifyObjectBaseProp(_3c5.AddrPostCodeHome);
+_3c5.AddrPostCodeHome.Label="Postal code";
+_3c5.AddrPostCodeHome.Value=_3c4;
 break;
 case "address.home.country":
-_3c4.AddrCountryHome={};
-modifyObjectBaseProp(_3c4.AddrCountryHome);
-_3c4.AddrCountryHome.Label="Country";
-_3c4.AddrCountryHome.Value=_3c3;
+_3c5.AddrCountryHome={};
+modifyObjectBaseProp(_3c5.AddrCountryHome);
+_3c5.AddrCountryHome.Label="Country";
+_3c5.AddrCountryHome.Value=_3c4;
 break;
 case "address.home.email":
-_3c4.EmailHome={};
-modifyObjectBaseProp(_3c4.EmailHome);
-_3c4.EmailHome.Label="Home EMail";
-_3c4.EmailHome.Value=_3c3;
+_3c5.EmailHome={};
+modifyObjectBaseProp(_3c5.EmailHome);
+_3c5.EmailHome.Label="Home EMail";
+_3c5.EmailHome.Value=_3c4;
 break;
 case "address.home.uri":
-_3c4.URLHome={};
-modifyObjectBaseProp(_3c4.URLHome);
-_3c4.URLHome.Label="Home Website";
-_3c4.URLHome.Value=_3c3;
+_3c5.URLHome={};
+modifyObjectBaseProp(_3c5.URLHome);
+_3c5.URLHome.Label="Home Website";
+_3c5.URLHome.Value=_3c4;
 break;
 case "address.work.street":
-_3c4.AddrStreetWork={};
-modifyObjectBaseProp(_3c4.AddrStreetWork);
-_3c4.AddrStreetWork.Label="Work Address";
-_3c4.AddrStreetWork.Value=_3c3;
+_3c5.AddrStreetWork={};
+modifyObjectBaseProp(_3c5.AddrStreetWork);
+_3c5.AddrStreetWork.Label="Work Address";
+_3c5.AddrStreetWork.Value=_3c4;
 break;
 case "address.work.local":
-_3c4.AddrLocalWork={};
-modifyObjectBaseProp(_3c4.AddrLocalWork);
-_3c4.AddrLocalWork.Label="City";
-_3c4.AddrLocalWork.Value=_3c3;
+_3c5.AddrLocalWork={};
+modifyObjectBaseProp(_3c5.AddrLocalWork);
+_3c5.AddrLocalWork.Label="City";
+_3c5.AddrLocalWork.Value=_3c4;
 break;
 case "address.work.region":
-_3c4.AddrRegionWork={};
-modifyObjectBaseProp(_3c4.AddrRegionWork);
-_3c4.AddrRegionWork.Label="State/Province";
-_3c4.AddrRegionWork.Value=_3c3;
+_3c5.AddrRegionWork={};
+modifyObjectBaseProp(_3c5.AddrRegionWork);
+_3c5.AddrRegionWork.Label="State/Province";
+_3c5.AddrRegionWork.Value=_3c4;
 break;
 case "address.work.code":
-_3c4.AddrPostCodeWork={};
-modifyObjectBaseProp(_3c4.AddrPostCodeWork);
-_3c4.AddrPostCodeWork.Label="Postal code";
-_3c4.AddrPostCodeWork.Value=_3c3;
+_3c5.AddrPostCodeWork={};
+modifyObjectBaseProp(_3c5.AddrPostCodeWork);
+_3c5.AddrPostCodeWork.Label="Postal code";
+_3c5.AddrPostCodeWork.Value=_3c4;
 break;
 case "address.work.country":
-_3c4.AddrCountryWork={};
-modifyObjectBaseProp(_3c4.AddrCountryWork);
-_3c4.AddrCountryWork.Label="Country";
-_3c4.AddrCountryWork.Value=_3c3;
+_3c5.AddrCountryWork={};
+modifyObjectBaseProp(_3c5.AddrCountryWork);
+_3c5.AddrCountryWork.Label="Country";
+_3c5.AddrCountryWork.Value=_3c4;
 break;
 case "address.work.email":
-_3c4.EmailWork={};
-modifyObjectBaseProp(_3c4.EmailWork);
-_3c4.EmailWork.Label="Work EMail";
-_3c4.EmailWork.Value=_3c3;
+_3c5.EmailWork={};
+modifyObjectBaseProp(_3c5.EmailWork);
+_3c5.EmailWork.Label="Work EMail";
+_3c5.EmailWork.Value=_3c4;
 break;
 case "address.work.uri":
-_3c4.URLWork={};
-modifyObjectBaseProp(_3c4.URLWork);
-_3c4.URLWork.Label="Work Website";
-_3c4.URLWork.Value=_3c3;
+_3c5.URLWork={};
+modifyObjectBaseProp(_3c5.URLWork);
+_3c5.URLWork.Label="Work Website";
+_3c5.URLWork.Value=_3c4;
 break;
 case "company.name":
-_3c4.CompanyName={};
-modifyObjectBaseProp(_3c4.CompanyName);
-_3c4.CompanyName.Label="Company";
-_3c4.CompanyName.Value=_3c3;
+_3c5.CompanyName={};
+modifyObjectBaseProp(_3c5.CompanyName);
+_3c5.CompanyName.Label="Company";
+_3c5.CompanyName.Value=_3c4;
 break;
 case "company.title":
-_3c4.JobTitle={};
-modifyObjectBaseProp(_3c4.JobTitle);
-_3c4.JobTitle.Label="Title";
-_3c4.JobTitle.Value=_3c3;
+_3c5.JobTitle={};
+modifyObjectBaseProp(_3c5.JobTitle);
+_3c5.JobTitle.Label="Title";
+_3c5.JobTitle.Value=_3c4;
 break;
 case "id":
-_3c4.id=_3c3;
+_3c5.id=_3c4;
 break;
 case "notes":
-_3c4.Note={};
-modifyObjectBaseProp(_3c4.Note);
-_3c4.Note.Label="Note";
-_3c4.Note.Value=_3c3;
+_3c5.Note={};
+modifyObjectBaseProp(_3c5.Note);
+_3c5.Note.Label="Note";
+_3c5.Note.Value=_3c4;
 break;
 case "anniversary":
-_3c4.Anniversary={};
-modifyObjectBaseProp(_3c4.Anniversary);
-_3c4.Anniversary.Label="Anniversary";
-_3c4.Anniversary.Value=_3c3;
+_3c5.Anniversary={};
+modifyObjectBaseProp(_3c5.Anniversary);
+_3c5.Anniversary.Label="Anniversary";
+_3c5.Anniversary.Value=_3c4;
 break;
 case "birthday":
-_3c4.Date={};
-modifyObjectBaseProp(_3c4.Date);
-_3c4.Date.Label="BirthDay";
-_3c4.Date.Value=_3c3;
+_3c5.Date={};
+modifyObjectBaseProp(_3c5.Date);
+_3c5.Date.Label="BirthDay";
+_3c5.Date.Value=_3c4;
 break;
 case "nickName":
-_3c4.SecondName={};
-modifyObjectBaseProp(_3c4.SecondName);
-_3c4.SecondName.Label="NickName";
-_3c4.SecondName.Value=_3c3;
+_3c5.SecondName={};
+modifyObjectBaseProp(_3c5.SecondName);
+_3c5.SecondName.Label="NickName";
+_3c5.SecondName.Value=_3c4;
 break;
 case "photo":
-_3c4.CallerObjImg={};
-modifyObjectBaseProp(_3c4.CallerObjImg);
-_3c4.CallerObjImg.Label="CallerObjImg";
-_3c4.CallerObjImg.Value=_3c3;
+_3c5.CallerObjImg={};
+modifyObjectBaseProp(_3c5.CallerObjImg);
+_3c5.CallerObjImg.Label="CallerObjImg";
+_3c5.CallerObjImg.Value=_3c4;
 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){
+_3c5.IMPP={};
+modifyObjectBaseProp(_3c5.IMPP);
+_3c5.IMPP.Label="IMPP";
+_3c5.IMPP.Value=_3c4;
+break;
+}
+};
+function __s60_enumerate_build_contact_object(_3c6,_3c7,func,_3c9){
 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){
+for(key in _3c6){
+var _3cb;
+if(_3c7){
+_3cb=_3c7+"."+key;
+}else{
+_3cb=key;
+}
+var _3cc=_3c6[key];
+if(_3cb=="IMPP"){
+func(_3cb,_3cc,_3c9);
+}
+if(typeof _3cc=="object"){
+__s60_enumerate_build_contact_object(_3cc,_3cb,func,_3c9);
+}else{
+func(_3cb,_3cc,_3c9);
+}
+}
+};
+function __sp_device_contact_extract(name,_3ce,_3cf){
 if(name=="id"){
-_3ce.id=_3cd;
+_3cf.id=_3ce;
 return;
 }
 if(!name.match(".Value")){
@@ -7271,54 +7246,54 @@
 }
 try{
 if(name.match("IMPP.Value.0")){
-_3ce.xspid=[];
+_3cf.xspid=[];
 }
 if(name.match("Name")){
 if(name.match("CompanyName")){
-if(!_3ce.company){
-_3ce.company={};
-}
-}else{
-if(!_3ce.name){
-_3ce.name={};
+if(!_3cf.company){
+_3cf.company={};
+}
+}else{
+if(!_3cf.name){
+_3cf.name={};
 }
 }
 }else{
 if(name.match("Phone")||name.match("Number")||name.match("VOIP")||name.match("Voip")){
-if(!_3ce.tel){
-_3ce.tel={};
+if(!_3cf.tel){
+_3cf.tel={};
 }
 if(name.match("Home")){
-if(!_3ce.tel.home){
-_3ce.tel.home={};
+if(!_3cf.tel.home){
+_3cf.tel.home={};
 }
 }else{
 if(name.match("Work")){
-if(!_3ce.tel.work){
-_3ce.tel.work={};
+if(!_3cf.tel.work){
+_3cf.tel.work={};
 }
 }
 }
 }else{
 if(name.match("Addr")||name.match("Email")||name.match("URL")){
-if(!_3ce.address){
-_3ce.address={};
+if(!_3cf.address){
+_3cf.address={};
 }
 if(name.match("Home")){
-if(!_3ce.address.home){
-_3ce.address.home={};
+if(!_3cf.address.home){
+_3cf.address.home={};
 }
 }else{
 if(name.match("Work")){
-if(!_3ce.address.work){
-_3ce.address.work={};
+if(!_3cf.address.work){
+_3cf.address.work={};
 }
 }
 }
 }else{
 if(name.match("JobTitle")){
-if(!_3ce.company){
-_3ce.company={};
+if(!_3cf.company){
+_3cf.company={};
 }
 }
 }
@@ -7329,280 +7304,297 @@
 __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;
+var _3d0=name.split(".");
+var _3d1=_3d0[2];
+if(_3d1!=undefined){
+_3cf.xspid[_3d0[2]]=_3ce;
 return;
 }
 }
 switch(name){
 case "LastName.Value":
-_3ce.name.last=_3cd;
+_3cf.name.last=_3ce;
 break;
 case "FirstName.Value":
-_3ce.name.first=_3cd;
+_3cf.name.first=_3ce;
 break;
 case "MiddleName.Value":
-_3ce.name.middle=_3cd;
+_3cf.name.middle=_3ce;
 break;
 case "Prefix.Value":
-_3ce.name.prefix=_3cd;
+_3cf.name.prefix=_3ce;
 break;
 case "Suffix.Value":
-_3ce.name.suffix=_3cd;
+_3cf.name.suffix=_3ce;
 break;
 case "LandPhoneGen.Value":
-_3ce.tel.land=_3cd;
+_3cf.tel.land=_3ce;
 break;
 case "MobilePhoneGen.Value":
-_3ce.tel.mobile=_3cd;
+_3cf.tel.mobile=_3ce;
 break;
 case "VideoNumberGen.Value":
-_3ce.tel.video=_3cd;
+_3cf.tel.video=_3ce;
 break;
 case "FaxNumberGen.Value":
-_3ce.tel.fax=_3cd;
+_3cf.tel.fax=_3ce;
 break;
 case "VOIPGen.Value":
-_3ce.tel.voip=_3cd;
+_3cf.tel.voip=_3ce;
 break;
 case "LandPhoneHome.Value":
-_3ce.tel.home.land=_3cd;
+_3cf.tel.home.land=_3ce;
 break;
 case "MobilePhoneHome.Value":
-_3ce.tel.home.mobile=_3cd;
+_3cf.tel.home.mobile=_3ce;
 break;
 case "VideoNumberHome.Value":
-_3ce.tel.home.video=_3cd;
+_3cf.tel.home.video=_3ce;
 break;
 case "FaxNumberHome.Value":
-_3ce.tel.home.fax=_3cd;
+_3cf.tel.home.fax=_3ce;
 break;
 case "VoipHome.Value":
-_3ce.tel.home.voip=_3cd;
+_3cf.tel.home.voip=_3ce;
 break;
 case "LandPhoneWork.Value":
-_3ce.tel.work.land=_3cd;
+_3cf.tel.work.land=_3ce;
 break;
 case "MobilePhoneWork.Value":
-_3ce.tel.work.mobile=_3cd;
+_3cf.tel.work.mobile=_3ce;
 break;
 case "VideoNumberWork.Value":
-_3ce.tel.work.video=_3cd;
+_3cf.tel.work.video=_3ce;
 break;
 case "FaxNumberWork.Value":
-_3ce.tel.work.fax=_3cd;
+_3cf.tel.work.fax=_3ce;
 break;
 case "VoipWork.Value":
-_3ce.tel.work.voip=_3cd;
+_3cf.tel.work.voip=_3ce;
 break;
 case "AddrStreetGen.Value":
-_3ce.address.street=_3cd;
+_3cf.address.street=_3ce;
 break;
 case "AddrLocalGen.Value":
-_3ce.address.local=_3cd;
+_3cf.address.local=_3ce;
 break;
 case "AddrRegionGen.Value":
-_3ce.address.region=_3cd;
+_3cf.address.region=_3ce;
 break;
 case "AddrPostCodeGen.Value":
-_3ce.address.code=_3cd;
+_3cf.address.code=_3ce;
 break;
 case "AddrCountryGen.Value":
-_3ce.address.country=_3cd;
+_3cf.address.country=_3ce;
 break;
 case "EmailGen.Value":
-_3ce.address.email=_3cd;
+_3cf.address.email=_3ce;
 break;
 case "URLGen.Value":
-_3ce.address.uri=_3cd;
+_3cf.address.uri=_3ce;
 break;
 case "AddrStreetHome.Value":
-_3ce.address.home.street=_3cd;
+_3cf.address.home.street=_3ce;
 break;
 case "AddrLocalHome.Value":
-_3ce.address.home.local=_3cd;
+_3cf.address.home.local=_3ce;
 break;
 case "AddrRegionHome.Value":
-_3ce.address.home.region=_3cd;
+_3cf.address.home.region=_3ce;
 break;
 case "AddrPostCodeHome.Value":
-_3ce.address.home.code=_3cd;
+_3cf.address.home.code=_3ce;
 break;
 case "AddrCountryHome.Value":
-_3ce.address.home.country=_3cd;
+_3cf.address.home.country=_3ce;
 break;
 case "EmailHome.Value":
-_3ce.address.home.email=_3cd;
+_3cf.address.home.email=_3ce;
 break;
 case "URLHome.Value":
-_3ce.address.home.uri=_3cd;
+_3cf.address.home.uri=_3ce;
 break;
 case "AddrStreetWork.Value":
-_3ce.address.work.street=_3cd;
+_3cf.address.work.street=_3ce;
 break;
 case "AddrLocalWork.Value":
-_3ce.address.work.local=_3cd;
+_3cf.address.work.local=_3ce;
 break;
 case "AddrRegionWork.Value":
-_3ce.address.work.region=_3cd;
+_3cf.address.work.region=_3ce;
 break;
 case "AddrPostCodeWork.Value":
-_3ce.address.work.code=_3cd;
+_3cf.address.work.code=_3ce;
 break;
 case "AddrCountryWork.Value":
-_3ce.address.work.country=_3cd;
+_3cf.address.work.country=_3ce;
 break;
 case "EmailWork.Value":
-_3ce.address.work.email=_3cd;
+_3cf.address.work.email=_3ce;
 break;
 case "URLWork.Value":
-_3ce.address.work.uri=_3cd;
+_3cf.address.work.uri=_3ce;
 break;
 case "CompanyName.Value":
-_3ce.company.name=_3cd;
+_3cf.company.name=_3ce;
 break;
 case "JobTitle.Value":
-_3ce.company.title=_3cd;
+_3cf.company.title=_3ce;
 break;
 case "Note.Value":
-_3ce.notes=_3cd;
+_3cf.notes=_3ce;
 break;
 case "Anniversary.Value":
-_3ce.anniversary=_3cd;
+_3cf.anniversary=_3ce;
 break;
 case "Date.Value":
-_3ce.birthday=_3cd;
+_3cf.birthday=_3ce;
 break;
 case "SecondName.Value":
-_3ce.nickName=_3cd;
+_3cf.nickName=_3ce;
 break;
 case "CallerObjImg.Value":
-_3ce.photo=_3cd;
+_3cf.photo=_3ce;
 break;
 default:
 }
 };
-function __sp_device_contact_build(_3d1,_3d2){
-__s60_enumerate_build_contact_object(_3d1,null,__sp_device_contact_extract,_3d2);
+function __sp_device_contact_build(_3d2,_3d3){
+__s60_enumerate_build_contact_object(_3d2,null,__sp_device_contact_extract,_3d3);
 };
 function __sp_contact_iterator_get_next(){
-var _3d3=this.iter.getNext();
-if(typeof _3d3=="undefined"){
+var _3d4=this.iter.getNext();
+if(typeof _3d4=="undefined"){
 return null;
 }
 var rval={};
-__sp_device_contact_build(_3d3,rval);
-_3d3.close();
+__sp_device_contact_build(_3d4,rval);
+_3d4.close();
 return rval;
 };
-function __sp_contact_iterator(_3d5){
-this.iter=_3d5;
+function __sp_contact_iterator(_3d6){
+this.iter=_3d6;
 this.next=__sp_contact_iterator_get_next;
 this.close=function(){
 this.iter.close();
 };
 };
-function __s60_enumerate_group_object(_3d6,func,_3d8){
+function __s60_enumerate_group_object(_3d7,func,_3d9){
 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={};
+for(key in _3d7){
+var _3db=key;
+var _3dc=_3d7[key];
+func(_3db,_3dc,_3d9);
+}
+};
+function __sp_device_groupinfo_extract(name,_3de,_3df){
+if(_3df.group==undefined){
+_3df.group={};
 }
 if(name=="id"){
-_3de.group.groupId=_3dd;
+_3df.group.groupId=_3de;
 }else{
 if(name=="GroupLabel"){
-_3de.group.groupName=_3dd;
+_3df.group.groupName=_3de;
 }else{
 if(name=="Contents"){
-_3de.contents=_3dd;
+_3df.contents=_3de;
 }
 }
 }
 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){
+function __sp_device_groupinfo_build(_3e0,_3e1){
+__s60_enumerate_group_object(_3e0,__sp_device_groupinfo_extract,_3e1);
+};
+function __sp_groupinfo_iterator_get_next(){
+var _3e2=this.iter.getNext();
+if(typeof _3e2=="undefined"){
+return null;
+}
+var rval={};
+__sp_device_groupinfo_build(_3e2,rval);
+_3e2.close();
+return rval;
+};
+function __sp_groupinfo_iterator(_3e4){
+this.iter=_3e4;
+this.next=__sp_groupinfo_iterator_get_next;
+this.close=function(){
+this.iter.close();
+};
+};
+function __sp_device_group_extract(name,_3e6,_3e7){
 if(name=="id"){
-_3e3.groupId=_3e2;
+_3e7.groupId=_3e6;
 return;
 }
 if(name=="GroupLabel"){
-_3e3.groupName=_3e2;
+_3e7.groupName=_3e6;
 return;
 }
 };
-function __sp_device_group_build(_3e4,_3e5){
-__s60_enumerate_object(_3e4,null,__sp_device_group_extract,_3e5);
+function __sp_device_group_build(_3e8,_3e9){
+__s60_enumerate_object(_3e8,null,__sp_device_group_extract,_3e9);
 };
 function __sp_group_iterator_get_next(){
-var _3e6=this.iter.getNext();
-if(typeof _3e6=="undefined"){
+var _3ea=this.iter.getNext();
+if(typeof _3ea=="undefined"){
 return null;
 }
 var rval={};
-__sp_device_group_build(_3e6,rval);
-_3e6.close();
+__sp_device_group_build(_3ea,rval);
+_3ea.close();
 return rval;
 };
-function __sp_group_iterator(_3e8){
-this.iter=_3e8;
+function __sp_group_iterator(_3ec){
+this.iter=_3ec;
 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){
+function __sp_contacts_startEditor(_3ed,_3ee,_3ef){
+if(!_3ed){
 throw new DeviceException(this.error.MISSING_ARG_ERR,"Contacts: StartEditor:Missing Success Callback");
 }
-if((typeof _3e9)!="function"){
+if((typeof _3ed)!="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"){
+if((_3ee)==null){
+_3ee={};
+}
+if((typeof _3ee)=="undefined"){
+_3ee={};
+}
+if((_3ee)==undefined){
+_3ee={};
+}
+if((typeof _3ee)!="object"){
 throw new DeviceException(this.error.INVALID_ARG_ERR,"Contacts: StartEditor:Invalid Contact Data");
 }
-if(_3eb){
-if((typeof _3eb)!="function"){
+if(_3ef){
+if((typeof _3ef)!="function"){
 throw new DeviceException(this.error.INVALID_ARG_ERR,"Contacts :StartEditor:Invalid Error Callback");
 }
 }
-var _3ec=function(arg1,arg2,arg3){
+var _3f0=function(arg1,arg2,arg3){
 var iter=null;
-_3e9(iter);
-};
-__s60_start_and_wait(CONTACTS_APP_ID,"",_3ec);
+_3ed(iter);
+};
+__s60_start_and_wait(CONTACTS_APP_ID,"",_3f0);
 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;
+var _3f9;
+var _3fa;
+var _3fb;
+_3fb=glob_obj.getFromArray(arg1);
+if(_3fb){
+_3f9=_3fb.success_cb;
+_3fa=_3fb.error_cb;
 }else{
 alert("Contacts: __sp_contacts_getContacts_cb : Callback not found ");
 return;
@@ -7611,39 +7603,39 @@
 iter=new __sp_contact_iterator(arg3.ReturnValue);
 }else{
 if(arg3.ErrorCode!=0){
-var _3f8;
+var _3fc;
 if(arg3.ErrorMessage){
-_3f8=splitErrorMessage(arg3.ErrorMessage);
-}else{
-_3f8="Operation Failed";
-}
-_3f6(new DeviceException(MapErrorCode[arg3.ErrorCode],"Contacts: getContacts: "+_3f8));
+_3fc=splitErrorMessage(arg3.ErrorMessage);
+}else{
+_3fc="Operation Failed";
+}
+_3fa(new DeviceException(MapErrorCode[arg3.ErrorCode],"Contacts: getContacts: "+_3fc));
 return;
 }
 }
-_3f5(iter);
+_3f9(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"));
+function __sp_contacts_getContacts(_3fd,_3fe,_3ff,_400){
+var _401={};
+modifyObjectBaseProp(_401);
+_401.Type="Contact";
+if(_3fe){
+_401.Filter={};
+modifyObjectBaseProp(_401.Filter);
+_401.Filter.SearchVal=_3fe;
+}
+if(_3ff!=null&&_3ff!=undefined){
+_401.Sort={};
+modifyObjectBaseProp(_401.Sort);
+if(typeof _3ff=="number"){
+if(_3ff==this.SORT_ASCENDING){
+_401.Sort.Order="Ascending";
+}else{
+if(_3ff==this.SORT_DESCENDING){
+_401.Sort.Order="Descending";
+}else{
+_400(new DeviceException(this.error.DATA_OUT_OF_RANGE_ERR,"Contacts: getContacts: invalid sortOrder input"));
 return;
 }
 }
@@ -7652,77 +7644,77 @@
 }
 }
 try{
-if(!_3f9){
+if(!_3fd){
 throw new DeviceException(this.error.MISSING_ARG_ERR,"Contacts: getContacts: callback is missing");
 }else{
-if(typeof _3f9!="function"){
+if(typeof _3fd!="function"){
 throw new DeviceException(this.error.INVALID_ARG_ERR,"Contacts: getContacts: callback is invalid");
 }
 }
-if(_3fc){
-if(typeof (_3fc)!="function"){
+if(_400){
+if(typeof (_400)!="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);
+temp_scb=_3fd;
+temp_ecb=_400;
+var rval=this.so.IDataSource.GetList(_401,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;
+glob_obj.addToGlobalArray(rval.TransactionID,_3fd,_400);
+}
+if(_401.Sort){
+delete _401.Sort.Order;
+}
+if(_401.Filter){
+delete _401.Filter.SearchVal;
+}
+if(_401){
+delete _401.Type;
+delete _401.Filter;
+delete _401.Sort;
 }
 if(rval.ErrorCode!=0){
-var _3ff=mappingVerification(rval.ErrorCode);
-var _400=null;
+var _403=mappingVerification(rval.ErrorCode);
+var _404=null;
 if(rval.ErrorMessage){
-_400=splitErrorMessage(rval.ErrorMessage);
-}
-if(_3ff){
+_404=splitErrorMessage(rval.ErrorMessage);
+}
+if(_403){
 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);
+if(_404){
+throw new DeviceException(MapErrorCode[rval.ErrorCode],"Contacts: getContacts: "+_404);
 }else{
 throw new DeviceException(MapErrorCode[rval.ErrorCode],"Contacts: getContacts:Operation Failed");
 }
 break;
 default:
-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);
+if(_400!=undefined){
+if(_404){
+_400(new DeviceException(MapErrorCode[rval.ErrorCode],"Contacts: getContacts: "+_404));
+}else{
+_400(new DeviceException(MapErrorCode[rval.ErrorCode],"Contacts: getContacts:Operation Failed "));
+}
+}else{
+if(_404){
+throw new DeviceException(MapErrorCode[rval.ErrorCode],"Contacts: getContacts: "+_404);
 }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);
+if(_400!=undefined){
+if(_404){
+_400(new DeviceException(rval.ErrorCode,"Contacts: getContacts: "+_404));
+}else{
+_400(new DeviceException(rval.ErrorCode,"getContacts:Operation Failed "));
+}
+}else{
+if(_404){
+throw new DeviceException(rval.ErrorCode,"Contacts: getContacts: "+_404);
 }else{
 throw new DeviceException(rval.ErrorCode,"Contacts: getContacts:Operation Failed");
 }
@@ -7735,102 +7727,102 @@
 __device_handle_exception(e,"__sp_contacts_getContacts: "+e);
 }
 };
-function __sp_contacts_add(_401){
-if((_401)==null){
+function __sp_contacts_add(_405){
+if((_405)==null){
 throw new DeviceException(this.error.MISSING_ARG_ERR,"addContact:Contact Data Needed");
 }
-if((typeof _401)=="undefined"){
+if((typeof _405)=="undefined"){
 throw new DeviceException(this.error.MISSING_ARG_ERR,"addContact:Contact Data Needed");
 }
-if((_401)==undefined){
+if((_405)==undefined){
 throw new DeviceException(this.error.MISSING_ARG_ERR,"addContact:Contact Data Needed");
 }
-if((typeof _401)!="object"){
+if((typeof _405)!="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;
+var _406={};
+modifyObjectBaseProp(_406);
+__s60_enumerate_contact_object(_405,null,__sp_contact_extract,_406);
+var _407={};
+modifyObjectBaseProp(_407);
+_407.Type="Contact";
+_407.Data=_406;
 try{
-if(_402.id){
+if(_406.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);
+var _408=this.so.IDataSource.Add(_407);
 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;
+delete _406.id;
+}
+if(_407){
+delete _407.Type;
+delete _407.Data;
+}
+var _409=_408["ReturnValue"];
+if(_408.ErrorCode!=0){
+var _40a=mappingVerification(_408.ErrorCode);
+if(_408.ErrorMessage){
+var _40b=splitErrorMessage(_408.ErrorMessage);
+if(_40a){
+throw new DeviceException(MapErrorCode[_408.ErrorCode],"Contacts: addContact: "+_40b);
+}else{
+throw new DeviceException(_408.ErrorCode,"Contacts: addContact: "+_40b);
+}
+}else{
+if(_40a){
+throw new DeviceException(MapErrorCode[_408.ErrorCode],"Contacts: addContact: Operation Failed");
+}else{
+throw new DeviceException(_408.ErrorCode,"Contacts: addContact: Operation Failed");
+}
+}
+}
+return _409;
 }
 catch(e){
 __device_handle_exception(e,"__sp_contacts_addContact: "+e);
 }
 };
-function __sp_contacts_update(_408){
+function __sp_contacts_update(_40c){
 try{
-if(!(_408&&_408.id)){
+if(!(_40c&&_40c.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){
+var _40d={};
+modifyObjectBaseProp(_40d);
+__s60_enumerate_contact_object(_40c,null,__sp_contact_extract,_40d);
+if(_40d.id==undefined){
 throw new DeviceException(this.error.INVALID_ARG_ERR,"Contacts: updateContact: Invalid id type");
 }
-if(typeof _409.id!="string"){
+if(typeof _40d.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");
+var _40e={};
+modifyObjectBaseProp(_40e);
+_40e.Type="Contact";
+_40e.Data=_40d;
+var _40f=this.so.IDataSource.Add(_40e);
+if(_40d){
+delete _40d.id;
+}
+if(_40e){
+delete _40e.Type;
+delete _40e.Data;
+}
+if(_40f.ErrorCode!=0){
+var _410=mappingVerification(_40f.ErrorCode);
+if(_40f.ErrorMessage){
+var _411=splitErrorMessage(_40f.ErrorMessage);
+if(_410){
+throw new DeviceException(MapErrorCode[_40f.ErrorCode],"Contacts: updateContact: "+_411);
+}else{
+throw new DeviceException(_40f.ErrorCode,"Contacts: updateContact: "+_411);
+}
+}else{
+if(_410){
+throw new DeviceException(MapErrorCode[_40f.ErrorCode],"Contacts: updateContact: Operation Failed");
+}else{
+throw new DeviceException(_40f.ErrorCode,"Contacts: updateContact: Operation Failed");
 }
 }
 }
@@ -7841,44 +7833,44 @@
 };
 function __sp_contacts_delete(id){
 __device_debug("sp_contacts_delete id: "+id);
-var _40f={};
-modifyObjectBaseProp(_40f);
+var _413={};
+modifyObjectBaseProp(_413);
 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;
+_413.IdList=id;
+}else{
+_413.IdList=[];
+_413.IdList[0]=id;
+}
+var _414={};
+modifyObjectBaseProp(_414);
+_414.Type="Contact";
+_414.Data=_413;
 try{
-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");
+var _415=this.so.IDataSource.Delete(_414);
+if(_413){
+delete _413.IdList;
+}
+if(_414){
+delete _414.Type;
+delete _414.Data;
+}
+if(_415.ErrorCode!=0){
+var _416=mappingVerification(_415.ErrorCode);
+if(_415.ErrorMessage){
+var _417=splitErrorMessage(_415.ErrorMessage);
+if(_416){
+throw new DeviceException(MapErrorCode[_415.ErrorCode],"Contacts: deleteContacts: "+_417);
+}else{
+throw new DeviceException(_415.ErrorCode,"Contacts: deleteContacts: "+_417);
+}
+}else{
+if(_416){
+throw new DeviceException(MapErrorCode[_415.ErrorCode],"Contacts: deleteContacts: Operation Failed");
+}else{
+throw new DeviceException(_415.ErrorCode,"Contacts: deleteContacts: Operation Failed");
 }
 }
 }
@@ -7888,101 +7880,101 @@
 }
 };
 function __sp_contacts_get(id){
-var _415={};
-modifyObjectBaseProp(_415);
-_415.Type="Contact";
+var _419={};
+modifyObjectBaseProp(_419);
+_419.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;
+_419.Filter={};
+modifyObjectBaseProp(_419.Filter);
+_419.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;
+var rval=this.so.IDataSource.GetList(_419);
+if(_419.Filter){
+delete _419.Filter.id;
+}
+if(_419){
+delete _419.Type;
+delete _419.Filter;
 }
 if(rval){
 if(rval.ErrorCode!=0){
-var _417=mappingVerification(rval.ErrorCode);
+var _41b=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){
+var _41c=splitErrorMessage(rval.ErrorMessage);
+if(_41b){
+throw new DeviceException(MapErrorCode[rval.ErrorCode],"Contacts: getContactInfo: "+_41c);
+}else{
+throw new DeviceException(rval.ErrorCode,"Contacts: getContactInfo: "+_41c);
+}
+}else{
+if(_41b){
 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;
+var _41d={};
+modifyObjectBaseProp(_41d);
+var _41e=rval.ReturnValue.getNext();
+__sp_device_contact_build(_41e,_41d);
+return _41d;
 }
 }
 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){
+function __sp_contacts_addGroup(_41f){
+var _420={};
+modifyObjectBaseProp(_420);
+_420.GroupLabel=_41f;
+if(typeof (_420.GroupLabel)==null){
 throw new DeviceException(this.error.MISSING_ARG_ERR,"Contacts: addGroups: callback is missing");
 }
-if((typeof _41c.GroupLabel)=="undefined"){
+if((typeof _420.GroupLabel)=="undefined"){
 throw new DeviceException(this.error.MISSING_ARG_ERR,"addGroup:Group Data Needed");
 }
-if((_41c.GroupLabel)==undefined){
+if((_420.GroupLabel)==undefined){
 throw new DeviceException(this.error.MISSING_ARG_ERR,"addGroup:Group Data Needed");
 }
-var _41d={};
-modifyObjectBaseProp(_41d);
-_41d.Type="Group";
-_41d.Data=_41c;
+var _421={};
+modifyObjectBaseProp(_421);
+_421.Type="Group";
+_421.Data=_420;
 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);
+var _422=this.so.IDataSource.Add(_421);
 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;
+delete _420.GroupLabel;
+}
+if(_421){
+delete _421.Type;
+delete _421.Data;
+}
+var _423=_422["ReturnValue"];
+if(_422.ErrorCode!=0){
+var _424=mappingVerification(_422.ErrorCode);
+if(_422.ErrorMessage){
+var _425=splitErrorMessage(_422.ErrorMessage);
+if(_424){
+throw new DeviceException(MapErrorCode[_422.ErrorCode],"Contacts: addGroup: "+_425);
+}else{
+throw new DeviceException(_425,_422.ErrorCode,"Contacts: addGroup: Operation Failed ");
+}
+}else{
+if(_424){
+throw new DeviceException(MapErrorCode[_422.ErrorCode],"Contacts: addGroup: Operation Failed");
+}else{
+throw new DeviceException(_422.ErrorCode,"Contacts: addGroup: Operation Failed");
+}
+}
+}
+return _423;
 }
 catch(e){
 __device_handle_exception(e,"__sp_contacts_addGroup: "+e);
@@ -7990,102 +7982,102 @@
 };
 function __sp_contacts_getGroups_cb(arg1,arg2,arg3){
 var iter=null;
-var _426;
-var _427;
-var _428;
-_428=glob_obj.getFromArray(arg1);
-if(_428){
-_426=_428.success_cb;
-_427=_428.error_cb;
+var _42a;
+var _42b;
+var _42c;
+_42c=glob_obj.getFromArray(arg1);
+if(_42c){
+_42a=_42c.success_cb;
+_42b=_42c.error_cb;
 }else{
 return;
 }
 iter=arg3.ReturnValue;
 if(arg3.ReturnValue){
-iter=new __sp_group_iterator(arg3.ReturnValue);
+iter=new __sp_groupinfo_iterator(arg3.ReturnValue);
 }else{
 if(arg3.ErrorCode!=0){
-var _429;
+var _42d;
 if(arg3.ErrorMessage){
-_429=splitErrorMessage(arg3.ErrorMessage);
-}else{
-_429="Operation Failed";
-}
-_427(new DeviceException(_429,MapErrorCode[arg3.ErrorCode],"Contacts: getGroups:"));
+_42d=splitErrorMessage(arg3.ErrorMessage);
+}else{
+_42d="Operation Failed";
+}
+_42b(new DeviceException(_42d,MapErrorCode[arg3.ErrorCode],"Contacts: getGroups:"));
 return;
 }
 }
-_426(iter);
+_42a(iter);
 glob_obj.removeFromArray(arg1);
 };
-function __sp_contacts_getGroups(_42a,_42b){
-var _42c={};
-modifyObjectBaseProp(_42c);
-_42c.Type="Group";
+function __sp_contacts_getGroups(_42e,_42f){
+var _430={};
+modifyObjectBaseProp(_430);
+_430.Type="Group";
 try{
-if(!_42a){
+if(!_42e){
 throw new DeviceException(this.error.MISSING_ARG_ERR,"Contacts: getGroups: callback is missing");
 }else{
-if(typeof _42a!="function"){
+if(typeof _42e!="function"){
 throw new DeviceException(this.error.INVALID_ARG_ERR,"Contacts: getGroups: callback is invalid");
 }
 }
-if(_42b){
-if(typeof (_42b)!="function"){
+if(_42f){
+if(typeof (_42f)!="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);
+temp_scb=_42e;
+temp_ecb=_42f;
+var rval=this.so.IDataSource.GetList(_430,this.getGroupsCb);
 if(rval.TransactionID){
-glob_obj.addToGlobalArray(rval.TransactionID,_42a,_42b);
-}
-if(_42c){
-delete _42c.Type;
+glob_obj.addToGlobalArray(rval.TransactionID,_42e,_42f);
+}
+if(_430){
+delete _430.Type;
 }
 if(rval.ErrorCode!=0){
-var _42e=mappingVerification(rval.ErrorCode);
-var _42f=null;
+var _432=mappingVerification(rval.ErrorCode);
+var _433=null;
 if(rval.ErrorMessage){
-_42f=splitErrorMessage(rval.ErrorMessage);
-}
-if(_42e){
+_433=splitErrorMessage(rval.ErrorMessage);
+}
+if(_432){
 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);
+if(_433){
+throw new DeviceException(MapErrorCode[rval.ErrorCode],"Contacts: getGroups: "+_433);
 }else{
 throw new DeviceException(MapErrorCode[rval.ErrorCode],"Contacts: getGroups: Operation Failed");
 }
 break;
 default:
-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);
+if(_42f!=undefined){
+if(_433){
+_42f(new DeviceException(MapErrorCode[rval.ErrorCode],"Contacts: getGroups: "+_433));
+}else{
+_42f(new DeviceException(MapErrorCode[rval.ErrorCode],"Contacts:  getGroups: Operation Failed "));
+}
+}else{
+if(_433){
+throw new DeviceException(MapErrorCode[rval.ErrorCode],"Contacts: getGroups: Operation Failed"+_433);
 }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);
+if(_42f!=undefined){
+if(_433){
+_42f(new DeviceException(rval.ErrorCode,"Contacts: getGroups: "+_433));
+}else{
+_42f(new DeviceException(rval.ErrorCode,"Contacts: getGroups: Operation Failed"));
+}
+}else{
+if(_433){
+throw new DeviceException(rval.ErrorCode,"Contacts: getGroups: Operation Failed"+_433);
 }else{
 throw new DeviceException(rval.ErrorCode,"Contacts: getGroups: Operation Failed");
 }
@@ -8099,40 +8091,40 @@
 }
 };
 function __sp_contacts_deleteGroups(id){
-var _431={};
-modifyObjectBaseProp(_431);
-var _432=[];
+var _435={};
+modifyObjectBaseProp(_435);
+var _436=[];
 if(typeof id=="object"){
 var i=0;
 for(var val in id){
-_432[i]=id[val];
+_436[i]=id[val];
 i++;
 }
 }else{
-_432[0]=id;
-}
-_431.IdList=[];
-_431.IdList=_432;
-var _435={};
-modifyObjectBaseProp(_435);
-_435.Type="Group";
-_435.Data=_431;
+_436[0]=id;
+}
+_435.IdList=[];
+_435.IdList=_436;
+var _439={};
+modifyObjectBaseProp(_439);
+_439.Type="Group";
+_439.Data=_435;
 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");
+var _43a=this.so.IDataSource.Delete(_439);
+if(_43a.ErrorCode!=0){
+var _43b=mappingVerification(_43a.ErrorCode);
+if(_43a.ErrorMessage){
+var _43c=splitErrorMessage(_43a.ErrorMessage);
+if(_43b){
+throw new DeviceException(MapErrorCode[_43a.ErrorCode],"Contacts: deleteGroups: "+_43c);
+}else{
+throw new DeviceException(_43a.ErrorCode,"Contacts: deleteGroups: "+_43c);
+}
+}else{
+if(_43b){
+throw new DeviceException(MapErrorCode[_43a.ErrorCode],"Contacts: deleteGroups: Operation Failed");
+}else{
+throw new DeviceException(_43a.ErrorCode,"Contacts: deleteGroups: Operation Failed");
 }
 }
 }
@@ -8141,59 +8133,59 @@
 __device_handle_exception(e,"__sp_contacts_deleteGroups: "+e);
 }
 };
-function __sp_contacts_addContactsToGroup(_439,id1){
+function __sp_contacts_addContactsToGroup(_43d,id1){
 try{
-var _43b={};
-modifyObjectBaseProp(_43b);
-var _43c=false;
-_43b.Type="Group";
+var _43f={};
+modifyObjectBaseProp(_43f);
+var _440=false;
+_43f.Type="Group";
 var map={};
 modifyObjectBaseProp(map);
-var _43e=[];
+var _442=[];
 if(typeof id1=="object"){
 var i=0;
 for(var val in id1){
-_43e[i]=id1[val];
+_442[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);
+_442[0]=id1;
+}
+map.IdList=_442;
+_440=true;
+delete _442.index;
+if(_43d!=undefined){
+map.id=_43d;
+_440=true;
+}
+if(_440){
+_43f.Data=map;
+}
+_43f.OperationType="Associate";
+var _445=this.so.IDataSource.Organise(_43f);
 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");
+if(_43f){
+delete _43f.Data;
+delete _43f.OperationType;
+delete _43f.Type;
+}
+if(_445.ErrorCode!=0){
+var _446=mappingVerification(_445.ErrorCode);
+if(_445.ErrorMessage){
+var _447=splitErrorMessage(_445.ErrorMessage);
+if(_446){
+throw new DeviceException(MapErrorCode[_445.ErrorCode],"Contacts: addContactsToGroup: "+_447);
+}else{
+throw new DeviceException(_445.ErrorCode,"Contacts: addContactsToGroup: "+_447);
+}
+}else{
+if(_446){
+throw new DeviceException(MapErrorCode[_445.ErrorCode],"Contacts: addContactsToGroup: Operation Failed");
+}else{
+throw new DeviceException(_445.ErrorCode,"Contacts: addContactsToGroup: Operation Failed");
 }
 }
 }
@@ -8204,14 +8196,14 @@
 };
 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;
+var _44c=null;
+var _44d;
+var _44e;
+var _44f;
+_44f=glob_obj.getFromArray(arg1);
+if(_44f){
+_44d=_44f.success_cb;
+_44e=_44f.error_cb;
 }else{
 alert("Contacts: __sp_contacts_getContactIds_cb : Callback not found ");
 return;
@@ -8220,44 +8212,44 @@
 if(arg3["ReturnValue"]!=undefined){
 item=arg3["ReturnValue"];
 id=item["IdList"];
-_448=[];
-_448=id;
-delete _448.index;
+_44c=[];
+_44c=id;
+delete _44c.index;
 }else{
 if(arg3.ErrorCode!=0){
-var _44d;
+var _451;
 if(arg3.ErrorMessage){
-_44d=splitErrorMessage(arg3.ErrorMessage);
-}else{
-_44d="Operation Failed";
-}
-_44a(new DeviceException(MapErrorCode[arg3.ErrorCode],"Contacts: getContactIds:"+_44d));
+_451=splitErrorMessage(arg3.ErrorMessage);
+}else{
+_451="Operation Failed";
+}
+_44e(new DeviceException(MapErrorCode[arg3.ErrorCode],"Contacts: getContactIds:"+_451));
 return;
 }
 }
-_449(_448);
+_44d(_44c);
 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"));
+function __sp_contacts_getContactIds(_452,_453,_454,_455){
+var _456={};
+modifyObjectBaseProp(_456);
+_456.Type="Contact";
+if(_453){
+_456.Filter={};
+modifyObjectBaseProp(_456.Filter);
+_456.Filter.SearchVal=_453;
+}
+if(_454!=null&&_454!=undefined){
+_456.Sort={};
+modifyObjectBaseProp(_456.Sort);
+if(typeof _454=="number"){
+if(_454==this.SORT_ASCENDING){
+_456.Sort.Order="Ascending";
+}else{
+if(_454==this.SORT_DESCENDING){
+_456.Sort.Order="Descending";
+}else{
+_455(new DeviceException(this.error.DATA_OUT_OF_RANGE_ERR,"Contacts: getContacts: invalid sortOrder input"));
 return;
 }
 }
@@ -8266,66 +8258,66 @@
 }
 }
 try{
-if(!_44e){
+if(!_452){
 throw new DeviceException(this.error.MISSING_ARG_ERR,"Contacts: getContactIds: callback is missing");
 }else{
-if(typeof _44e!="function"){
+if(typeof _452!="function"){
 throw new DeviceException(this.error.INVALID_ARG_ERR,"Contacts: getContactIds: callback is invalid");
 }
 }
-if(_451){
-if(typeof (_451)!="function"){
+if(_455){
+if(typeof (_455)!="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);
+temp_scb=_452;
+temp_ecb=_455;
+var rval=this.so.IDataSource.GetIds(_456,this.getContactIdsCb);
 if(rval.TransactionID){
-glob_obj.addToGlobalArray(rval.TransactionID,_44e,_451);
+glob_obj.addToGlobalArray(rval.TransactionID,_452,_455);
 }
 if(rval.ErrorCode!=0){
-var _454=mappingVerification(rval.ErrorCode);
-var _455=null;
+var _458=mappingVerification(rval.ErrorCode);
+var _459=null;
 if(rval.ErrorMessage){
-var _455=splitErrorMessage(rval.ErrorMessage);
-}
-if(_454){
+var _459=splitErrorMessage(rval.ErrorMessage);
+}
+if(_458){
 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);
+if(_459){
+throw new DeviceException(MapErrorCode[rval.ErrorCode],"Contacts: getContactIds: "+_459);
 }else{
 throw new DeviceException(MapErrorCode[rval.ErrorCode],"Contacts: getContactIds: Operation Failed");
 }
 break;
 default:
-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);
+if(_455!=undefined){
+if(_459){
+_455(new DeviceException(MapErrorCode[rval.ErrorCode],"Contacts: getContactIds: "+_459));
+}else{
+_455(new DeviceException(MapErrorCode[rval.ErrorCode],"Contacts: getContactIds: Operation Failed "));
+}
+}else{
+if(_459){
+throw new DeviceException(MapErrorCode[rval.ErrorCode],"Contacts: getContactIds:"+_459);
 }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);
+if(_455!=undefined){
+if(_459){
+_455(new DeviceException(rval.ErrorCode,"Contacts: getContactIds: "+_459));
+}else{
+_455(new DeviceException(rval.ErrorCode,"Contacts: getContactIds: Operation Failed "));
+}
+}else{
+if(_459){
+throw new DeviceException(rval.ErrorCode,"Contacts: getContactIds:"+_459);
 }else{
 throw new DeviceException(rval.ErrorCode,"Contacts: getContactIds: Operation Failed");
 }
@@ -8339,16 +8331,16 @@
 }
 };
 function __sp_contacts_getGroupIds_cb(arg1,arg2,arg3){
-var _459=null;
+var _45d=null;
 var item=null;
-var _45b=[];
-var _45c;
-var _459;
+var _45f=[];
+var _460;
 var _45d;
-_45d=glob_obj.getFromArray(arg1);
-if(_45d){
-_45c=_45d.success_cb;
-_459=_45d.error_cb;
+var _461;
+_461=glob_obj.getFromArray(arg1);
+if(_461){
+_460=_461.success_cb;
+_45d=_461.error_cb;
 }else{
 return;
 }
@@ -8356,91 +8348,91 @@
 item=arg3["ReturnValue"];
 arg3.ReturnValue.close();
 var id=item["IdList"];
-_45b=id;
+_45f=id;
 }else{
 if(arg3.ErrorCode!=0){
-var _45f;
+var _463;
 if(rval.ErrorMessage){
-_45f=splitErrorMessage(rval.ErrorMessage);
-}else{
-_45f="Operation Failed";
-}
-_459(new DeviceException(MapErrorCode[arg3.ErrorCode],"Contacts: getGroupIds:"+_45f));
+_463=splitErrorMessage(rval.ErrorMessage);
+}else{
+_463="Operation Failed";
+}
+_45d(new DeviceException(MapErrorCode[arg3.ErrorCode],"Contacts: getGroupIds:"+_463));
 return;
 }
 }
-_45c(_45b);
-delete _45b.index;
+_460(_45f);
+delete _45f.index;
 glob_obj.removeFromArray(arg1);
 };
-function __sp_contacts_getGroupIds(_460,_461){
-var _462={};
-modifyObjectBaseProp(_462);
-_462.Type="Group";
+function __sp_contacts_getGroupIds(_464,_465){
+var _466={};
+modifyObjectBaseProp(_466);
+_466.Type="Group";
 try{
-if(!_460){
+if(!_464){
 throw new DeviceException(this.error.MISSING_ARG_ERR,"Contacts: getGroupIds: callback is missing");
 }else{
-if(typeof _460!="function"){
+if(typeof _464!="function"){
 throw new DeviceException(this.error.INVALID_ARG_ERR,"Contacts: getGroupIds: callback is invalid");
 }
 }
-if(_461){
-if(typeof (_461)!="function"){
+if(_465){
+if(typeof (_465)!="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);
+temp_scb=_464;
+temp_ecb=_465;
+var rval=this.so.IDataSource.GetIds(_466,this.getGroupIdsCb);
 if(rval.TransactionID){
-glob_obj.addToGlobalArray(rval.TransactionID,_460,_461);
-}
-if(_462){
-delete _462.Type;
+glob_obj.addToGlobalArray(rval.TransactionID,_464,_465);
+}
+if(_466){
+delete _466.Type;
 }
 if(rval.ErrorCode!=0){
-var _464=mappingVerification(rval.ErrorCode);
-var _465=null;
+var _468=mappingVerification(rval.ErrorCode);
+var _469=null;
 if(rval.ErrorMessage){
-var _465=splitErrorMessage(rval.ErrorMessage);
-}
-if(_464){
+var _469=splitErrorMessage(rval.ErrorMessage);
+}
+if(_468){
 switch(rval.ErrorCode){
 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);
+if(_469){
+throw new DeviceException(MapErrorCode[rval.ErrorCode],"Contacts: getGroupIds: "+_469);
 }else{
 throw new DeviceException(MapErrorCode[rval.ErrorCode],"Contacts: getGroupIds: Operation Failed");
 }
 break;
 default:
-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);
+if(_465!=undefined){
+if(_469){
+_465(new DeviceException(MapErrorCode[rval.ErrorCode],"Contacts: getGroupIds: "+_469));
+}else{
+_465(new DeviceException(MapErrorCode[rval.ErrorCode],"Contacts: getGroupIds: Operation Failed"));
+}
+}else{
+if(_469){
+throw new DeviceException(MapErrorCode[rval.ErrorCode],"Contacts: Contacts: getGroupIds:"+_469);
 }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);
+if(_465!=undefined){
+if(_469){
+_465(new DeviceException(rval.ErrorCode,"Contacts: getGroupIds: "+_469));
+}else{
+_465(new DeviceException(rval.ErrorCode,"Contacts: getGroupIds: Operation Failed"));
+}
+}else{
+if(_469){
+throw new DeviceException(rval.ErrorCode,"Contacts: Contacts: getGroupIds:"+_469);
 }else{
 throw new DeviceException(rval.ErrorCode,"Contacts: getGroupIds: Operation Failed");
 }
@@ -8453,58 +8445,58 @@
 __device_handle_exception(e,"__sp_contacts_getGroupIds: "+e);
 }
 };
-function __sp_contacts_removeContactsFromGroup(_466,id){
+function __sp_contacts_removeContactsFromGroup(_46a,id){
 try{
-var _468={};
-modifyObjectBaseProp(_468);
-var _469=false;
-_468.Type="Group";
+var _46c={};
+modifyObjectBaseProp(_46c);
+var _46d=false;
+_46c.Type="Group";
 var map={};
 if(id!=undefined){
-var _46b=[];
+var _46f=[];
 if(typeof id=="object"){
 var i=0;
 for(var val in id){
-_46b[i]=id[val];
+_46f[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);
+_46f[0]=id;
+}
+map.IdList=_46f;
+_46d=true;
+}
+if(_46a!=undefined){
+map.id=_46a;
+_46d=true;
+}
+if(_46d){
+_46c.Data=map;
+}
+_46c.OperationType="Disassociate";
+var _472=this.so.IDataSource.Organise(_46c);
 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");
+if(_46c){
+delete _46c.Data;
+delete _46c.OperationType;
+delete _46c.Type;
+}
+if(_472.ErrorCode!=0){
+var _473=mappingVerification(_472.ErrorCode);
+if(_472.ErrorMessage){
+var _474=splitErrorMessage(_472.ErrorMessage);
+if(_473){
+throw new DeviceException(MapErrorCode[_472.ErrorCode],"Contacts: removeContactsFromGroup: "+_474);
+}else{
+throw new DeviceException(_472.ErrorCode,"Contacts: removeContactsFromGroup: "+_474);
+}
+}else{
+if(_473){
+throw new DeviceException(MapErrorCode[_472.ErrorCode],"Contacts: removeContactsFromGroup: Operation Failed");
+}else{
+throw new DeviceException(_472.ErrorCode,"Contacts: removeContactsFromGroup: Operation Failed");
 }
 }
 }
@@ -8513,42 +8505,42 @@
 __device_handle_exception(e,"__sp_contacts_removeContactsFromGroup: "+e);
 }
 };
-function __sp_contacts_cancel(_471){
+function __sp_contacts_cancel(_475){
 try{
-var _472={};
-if((_471)==null){
+var _476={};
+if((_475)==null){
 throw new DeviceException(this.error.MISSING_ARG_ERR,"Contacts: cancel: transactionId is missing ");
 }
-if((_471)==undefined){
+if((_475)==undefined){
 throw new DeviceException(this.error.MISSING_ARG_ERR,"Contacts: cancel:transactionId is undefined ");
 }
-if((typeof _471)=="undefined"){
+if((typeof _475)=="undefined"){
 throw new DeviceException(this.error.MISSING_ARG_ERR,"Contacts: cancel: transactionId is undefined ");
 }
-if(((typeof _471)!="number")||(_471<=0)){
+if(((typeof _475)!="number")||(_475<=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");
+modifyObjectBaseProp(_476);
+_476.TransactionID=_475;
+var _477=this.so.IDataSource.Cancel(_476);
+if(_476){
+delete _476.TransactionID;
+}
+var _478=_477["ErrorCode"];
+if(_478!=0){
+var _479=mappingVerification(_477.ErrorCode);
+if(_477["ErrorMessage"]){
+var _47a=splitErrorMessage(_477.ErrorMessage);
+if(_479){
+throw new DeviceException(MapErrorCode[_478],"Contacts: cancel: "+_47a);
+}else{
+throw new DeviceException(_478,"Contacts: cancel: "+_47a);
+}
+}else{
+if(_479){
+throw new DeviceException(MapErrorCode[_478],"Contacts: cancel: Operation Failed");
+}else{
+throw new DeviceException(_478,"Contacts: cancel: Operation Failed");
 }
 }
 }
@@ -8557,58 +8549,58 @@
 __device_handle_exception(e,"__sp_contacts_cancel: "+e);
 }
 };
-function __sp_contacts_updateGroup(_477){
-if(!(_477)){
+function __sp_contacts_updateGroup(_47b){
+if(!(_47b)){
 throw new DeviceException(this.error.MISSING_ARG_ERR,"Contacts: updateGroup:Group Data is missing");
 }
-if((typeof _477)!="object"){
+if((typeof _47b)!="object"){
 throw new DeviceException(this.error.INVALID_ARG_ERR,"Contacts: updateGroup:Invalid Group Data");
 }
-if(!(_477&&_477.groupId)){
+if(!(_47b&&_47b.groupId)){
 throw new DeviceException(this.error.MISSING_ARG_ERR,"Contacts: updateGroup: Group id is missing");
 }
-if(typeof _477.groupId!="string"){
+if(typeof _47b.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;
+var _47c={};
+modifyObjectBaseProp(_47c);
+_47c.Type="Group";
+var _47d={};
+modifyObjectBaseProp(_47d);
+if(_47b!=undefined){
+if(_47b.groupId!=undefined){
+_47d["id"]=_47b.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");
+if(_47b.groupName!=undefined){
+_47d["GroupLabel"]=_47b.groupName;
+}
+}
+_47c.Data=_47d;
+var _47e=this.so.IDataSource.Add(_47c);
+if(_47d){
+delete _47d.prototype;
+}
+if(_47c){
+delete _47c.Data;
+delete _47c.Type;
+}
+if(_47e.ErrorCode!=0){
+var _47f=mappingVerification(_47e.ErrorCode);
+if(_47e.ErrorMessage){
+var _480=splitErrorMessage(_47e.ErrorMessage);
+if(_47f){
+throw new DeviceException(MapErrorCode[_47e.ErrorCode],"Contacts: updateGroup: "+_480);
+}else{
+throw new DeviceException(_47e.ErrorCode,"Contacts: updateGroup: "+_480);
+}
+}else{
+if(_47f){
+throw new DeviceException(MapErrorCode[_47e.ErrorCode],"Contacts: updateGroup: Operation Failed");
+}else{
+throw new DeviceException(_47e.ErrorCode,"Contacts: updateGroup: Operation Failed");
 }
 }
 }
@@ -8617,51 +8609,51 @@
 __device_handle_exception(e,"__sp_contacts_updateGroup: "+e);
 }
 };
-function __sp_contacts_getGroupInfo(_47d){
+function __sp_contacts_getGroupInfo(_481){
 try{
-var _47e={};
-modifyObjectBaseProp(_47e);
-_47e.Type="Group";
-_47e.Filter={};
-modifyObjectBaseProp(_47e.Filter);
-if(_47d==undefined){
+var _482={};
+modifyObjectBaseProp(_482);
+_482.Type="Group";
+_482.Filter={};
+modifyObjectBaseProp(_482.Filter);
+if(_481==undefined){
 throw new DeviceException(this.error.MISSING_ARG_ERR,"Contacts: getGroupInfo: Id input is mandatory");
 }
-if((typeof _47d)!="string"){
+if((typeof _481)!="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;
+_482.Filter.id=_481;
+var rval=this.so.IDataSource.GetList(_482);
+if(_482.Filter){
+delete _482.Filter.id;
+}
+if(_482){
+delete _482.Filter;
+delete _482.Type;
 }
 if(rval){
 if(rval.ErrorCode!=0){
-var _480=mappingVerification(rval.ErrorCode);
+var _484=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){
+var _485=splitErrorMessage(rval.ErrorMessage);
+if(_484){
+throw new DeviceException(MapErrorCode[rval.ErrorCode],"Contacts: getGroupInfo: "+_485);
+}else{
+throw new DeviceException(rval.ErrorCode,"Contacts: getGroupInfo: "+_485);
+}
+}else{
+if(_484){
 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;
+var _486={};
+modifyObjectBaseProp(_486);
+var _487=rval.ReturnValue.getNext();
+__sp_device_groupinfo_build(_487,_486);
+return _486;
 }
 }
 }
@@ -8669,8 +8661,8 @@
 __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){
+function mappingVerification(_488){
+if(_488===1016||_488===1012||_488===1010||_488===1009||_488===1005||_488===1000||_488===1011||_488===1007||_488===1003||_488===1002||_488===1004){
 return true;
 }else{
 return false;
--- a/serviceproviders/jsapi/platformservices/src/calendar.js	Fri Feb 19 23:43:21 2010 +0200
+++ b/serviceproviders/jsapi/platformservices/src/calendar.js	Mon Mar 15 12:43:25 2010 +0200
@@ -78,25 +78,6 @@
 					  "providers": [{"descriptor": __sp_calendar_descriptor, "instance": __sp_calendar_instance}]
 					 };
 		   
-//alert(("after com.nokia.device.service");
-
-
-
-/*
-Copyright � 2009 Nokia. All rights reserved.
-Code licensed under the BSD License:
-Software License Agreement (BSD License) Copyright � 2009 Nokia.
-All rights reserved.
-Redistribution and use of this software in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
-
-Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. 
-Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. 
-Neither the name of Nokia Corporation. nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission of Nokia Corporation. 
-THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-version: 1.0
-*/
-
 var dataGetList = 0;
 var isUpdate = 0;
 // S60 sp-based calendar provider
@@ -215,10 +196,19 @@
 						if (typeof(match.time.begin) != "object") {
 							return false;
 						}
-						if(match.time.begin == "Invalid Date" )
+						
+						/*if(match.time.begin == "Invalid Date" )
+						{
+							return false;
+						}*/
+						
+						var validDate = new Date("January 1, 1970 00:01"); 
+						if(match.time.begin < validDate)
 						{
 							return false;
 						}
+					
+						
 						try{
 							(match.time.begin).getTime();
 						}
@@ -430,7 +420,7 @@
   //	////alert("sp_entry id" + sp_entry.id);
 	this.id = sp_entry.id;
 	}
-	if (sp_entry.type) {
+	if (sp_entry.Type ) {
 	//	////alert("sp_entry.Type" + sp_entry.type);
   this.type = sp_entry.Type;
 	}
@@ -455,6 +445,14 @@
   if (sp_entry.Status) {
   	this.status = sp_entry.Status;
   }
+  if (sp_entry.Status == "TodoCompleted") {
+  	this.status = "Completed";
+  }
+  else if(sp_entry.Status == "TodoNeedsAction"){
+  	this.status = "NeedsAction";
+  }
+  
+  
   if (sp_entry.ExDates) {
   	this.exceptionDates = sp_entry.ExDates;
   }
@@ -644,18 +642,16 @@
 	}
 	
 	if (entry.status) {
-		if (this.Type == "ToDo") {
+		this.Status = entry.status;
+		if (entry.status == "NeedsAction" || entry.status == "Completed") {
 			this.Status = "Todo"+entry.status;
 		}
-		else {
-			this.Status = entry.status;
-		}
 	}
-	else if(isUpdate && (entry.status == null))
+	/*else if(isUpdate && (entry.status == null))
 	{
 		this.Status = "Tentative";
 		//////alert("status****" + this.Status);
-	}
+	}*/
 	
 	if (entry.exceptionDates) {
 		this.ExDates = entry.exceptionDates;
@@ -776,10 +772,12 @@
 		   	throw new DeviceException( this.error.INVALID_ARG_ERR, "Calendar: startEditor: error callback is invalid");
 		}
 	}
-	if(entry == null || entry == undefined)
+	
+	if(entry != null)
 	{
-		throw new DeviceException( this.error.INVALID_ARG_ERR, "Calendar: startEditor: entry is invalid");
+		throw new DeviceException( this.error.NOT_SUPPORTED_ERR, "Calendar: startEditor: Entry should be null");
 	}
+	
 	var finished = function(arg1, arg2, arg3){
 	
 	
--- a/serviceproviders/jsapi/platformservices/src/camera.js	Fri Feb 19 23:43:21 2010 +0200
+++ b/serviceproviders/jsapi/platformservices/src/camera.js	Mon Mar 15 12:43:25 2010 +0200
@@ -61,25 +61,6 @@
 					};
 
 
-
-
-
-/*
-Copyright © 2009 Nokia. All rights reserved.
-Code licensed under the BSD License:
-Software License Agreement (BSD License) Copyright © 2009 Nokia.
-All rights reserved.
-Redistribution and use of this software in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
-
-Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. 
-Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. 
-Neither the name of Nokia Corporation. nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission of Nokia Corporation. 
-THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-version: 1.0
-*/
-
-
 // S60 sp-based camera provider
 
 function __sp_camera_descriptor(){
--- a/serviceproviders/jsapi/platformservices/src/commlog.js	Fri Feb 19 23:43:21 2010 +0200
+++ b/serviceproviders/jsapi/platformservices/src/commlog.js	Mon Mar 15 12:43:25 2010 +0200
@@ -65,26 +65,7 @@
 				      "providers": [{"descriptor": __sp_commlog_descriptor, "instance": __sp_commlog_instance}]
 				     };
 		
-
-
-
-/*
- Copyright © 2009 Nokia. All rights reserved.
- Code licensed under the BSD License:
- Software License Agreement (BSD License) Copyright © 2009 Nokia.
- All rights reserved.
- Redistribution and use of this software in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
- Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
- Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
- Neither the name of Nokia Corporation. nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission of Nokia Corporation.
- THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- version: 1.0
- */
 var invoker_notification;
-//var error = new DeviceException(0, 'dummy');
-// S60 sp-based commlog provider
-
-
 
 function __sp_commlog_descriptor(){
     //Read-only properties
--- a/serviceproviders/jsapi/platformservices/src/contacts.js	Fri Feb 19 23:43:21 2010 +0200
+++ b/serviceproviders/jsapi/platformservices/src/contacts.js	Mon Mar 15 12:43:25 2010 +0200
@@ -134,52 +134,8 @@
 					  "providers": [{"descriptor": __sp_contacts_descriptor, "instance": __sp_contacts_instance}]
 					 };
 		   
-		   
-		   
-		   
-		   
-		   
-		   
 
 
-
-
-
-
-
-
-
-
-
-/*
- Copyright © 2009 Nokia. All rights reserved.
- Code licensed under the BSD License:
- Software License Agreement (BSD License) Copyright © 2009 Nokia.
- All rights reserved.
- Redistribution and use of this software in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
- Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
- Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
- Neither the name of Nokia Corporation. nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission of Nokia Corporation.
- THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- version: 1.0
- */
-// Table of user callbacks. These are "indexed" by transaction IDs.
-// These need to be global since the actual sp callback does
-// not have the location instance object in its scope chain
-
-/*
- if((typeof (com.nokia.device.contacts) == 'undefined'))
- {
- com.nokia.device.contacts = {};
- }*/
-nokia.device.contacts.SORT_ASCENDING = 0;
-nokia.device.contacts.SORT_DESCENDING = 1;
-
-
-//nokia.devive.
-//SORT_ASCENDING = 0;
-//SORT_DESCENDING = 1;
-
 function __sp_contacts_descriptor(){
   //Read-only properties 
    this.interfaceName = "contacts";
@@ -890,6 +846,29 @@
     __s60_enumerate_group_object(sp_group, __sp_device_groupinfo_extract, groupinfo);
 }
 
+//Iterate the group data
+function __sp_groupinfo_iterator_get_next(){
+    var sp_group = this.iter.getNext();
+    if (typeof sp_group == "undefined") {
+        return null;
+    }
+    var rval = {};
+    __sp_device_groupinfo_build(sp_group, rval);
+    sp_group.close();
+    return rval;
+}
+
+function __sp_groupinfo_iterator(js_iterator){
+    this.iter = js_iterator;
+    this.next = __sp_groupinfo_iterator_get_next;
+    this.close = function(){
+        this.iter.close();
+    };
+}
+
+
+
+
 
 
 //Build group data
@@ -1485,7 +1464,9 @@
     
     iter = arg3.ReturnValue;
     if (arg3.ReturnValue) {
-        iter = new __sp_group_iterator(arg3.ReturnValue);
+//        iter = new __sp_group_iterator(arg3.ReturnValue);
+					iter = new __sp_groupinfo_iterator(arg3.ReturnValue);
+        
     }
     else 
         if (arg3.ErrorCode != 0) {
@@ -2323,7 +2304,7 @@
 
 function mappingVerification(errorCode){
     //alert ("In mappingVerification errorCode = "+errorCode);	
-    if (errorCode === 1016 || errorCode === 1012 || errorCode === 1010 || errorCode === 1009 || errorCode === 1005 || errorCode === 1000 || errorCode === 1011 || errorCode === 1007 || errorCode === 1003 || errorCode === 1002) {
+    if (errorCode === 1016 || errorCode === 1012 || errorCode === 1010 || errorCode === 1009 || errorCode === 1005 || errorCode === 1000 || errorCode === 1011 || errorCode === 1007 || errorCode === 1003 || errorCode === 1002 || errorCode === 1004 ) {
         //alert("errorCode = "+errorCode);
         return true;
     }
--- a/serviceproviders/jsapi/platformservices/src/geolocation.js	Fri Feb 19 23:43:21 2010 +0200
+++ b/serviceproviders/jsapi/platformservices/src/geolocation.js	Mon Mar 15 12:43:25 2010 +0200
@@ -16,36 +16,6 @@
 */
 
 var _infinity = 1.7976931348623157E+10308;
-/*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()
 {
@@ -106,27 +76,6 @@
 					     "providers": [{"descriptor": __sp_location_descriptor, "instance": __sp_location_instance}]
 					    };
 
-
-
-
-
-
-/*
-Copyright � 2009 Nokia. All rights reserved.
-Code licensed under the BSD License:
-Software License Agreement (BSD License) Copyright � 2009 Nokia.
-All rights reserved.
-Redistribution and use of this software in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
-
-Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. 
-Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. 
-Neither the name of Nokia Corporation. nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission of Nokia Corporation. 
-THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-version: 1.0
-*/
-
-
 // S60 sp-based location provider
  function Location_PositionError()
 	{
@@ -162,6 +111,24 @@
 
 
 
+function getGeoLocationPosition(LiwPostionInfo)
+{	   		// LIW position info
+			var _pos_coord = new Location_Coordinates();			
+			_pos_coord.longitude = (LiwPostionInfo.Longitude == undefined)?null:LiwPostionInfo.Longitude;			
+			_pos_coord.latitude = (LiwPostionInfo.Latitude == undefined)?null:LiwPostionInfo.Latitude;
+			_pos_coord.altitude = (LiwPostionInfo.Altitude == undefined)?null:LiwPostionInfo.Altitude;
+			_pos_coord.accuracy = (LiwPostionInfo.HorizontalAccuracy == undefined)?null:LiwPostionInfo.HorizontalAccuracy;			
+			_pos_coord.altitudeAccuracy = (LiwPostionInfo.VerticalAccuracy == undefined)?null:LiwPostionInfo.VerticalAccuracy;
+			_pos_coord.heading = (LiwPostionInfo.Heading == undefined)?null:LiwPostionInfo.Heading;
+			_pos_coord.speed = (LiwPostionInfo.HorizontalSpeed == undefined)?null:LiwPostionInfo.HorizontalSpeed;			
+			var _pos_data = new Location_Position();			
+			_pos_data.coords = {};
+			modifyObjectBaseProp(_pos_data.coords);
+			_pos_data.coords =_pos_coord;
+			_pos_data.timestamp = (LiwPostionInfo.timestamp == undefined) ? null : LiwPostionInfo.timestamp;		
+	         return _pos_data;
+}
+
 
 var __sp_location_trace_transactionId = -1;
 
@@ -235,7 +202,7 @@
     }
     
     else {
-        alert("Geolocation: __sp_getLocation_cb: Callback not found ");
+
 		return;
     }
     
@@ -250,28 +217,12 @@
 		//there is no error so invoke consumer supplied success callback
 		else
 		{    
-			 var _pos_coord = new Location_Coordinates();
-			_pos_coord.longitude = (arg3.ReturnValue.Longitude == undefined)?null:arg3.ReturnValue.Longitude;
-			_pos_coord.latitude = (arg3.ReturnValue.Latitude == undefined)?null:arg3.ReturnValue.Latitude;
-			_pos_coord.altitude = (arg3.ReturnValue.Altitude == undefined)?null:arg3.ReturnValue.Altitude;
-			_pos_coord.accuracy = (arg3.ReturnValue.HorizontalAccuracy == undefined)?null:arg3.ReturnValue.HorizontalAccuracy;			
-			_pos_coord.altitudeAccuracy = (arg3.ReturnValue.VerticalAccuracy == undefined)?null:arg3.ReturnValue.VerticalAccuracy;
-			_pos_coord.heading = (arg3.ReturnValue.Heading == undefined)?null:arg3.ReturnValue.Heading;
-			_pos_coord.speed = (arg3.ReturnValue.HorizontalSpeed == undefined)?null:arg3.ReturnValue.HorizontalSpeed;
+		
 			
-			//Position Object
-			var _pos_data = new Location_Position();
-
-			_pos_data.coords = {};
-			modifyObjectBaseProp(_pos_data.coords);
-			_pos_data.coords =_pos_coord;
-			_pos_data.timestamp = new Date();
-			
+			var geoPosition = getGeoLocationPosition(arg3.ReturnValue);
 			//Invoke consumer callback			
-			success_cb1( _pos_data );			
-			delete _pos_data.timestamp;
-			delete _pos_data;
-			delete _pos_coord;	
+			success_cb1( geoPosition );
+			delete geoPosition;
 		}
 		 glob_obj.removeFromArray(arg1);	
 	}
@@ -338,28 +289,10 @@
 							
 						}
 						
-						var _pos_coord = new Location_Coordinates();
-						_pos_coord.longitude = (arg3.ReturnValue.Longitude == undefined) ? null : arg3.ReturnValue.Longitude;
-						_pos_coord.latitude = (arg3.ReturnValue.Latitude == undefined) ? null : arg3.ReturnValue.Latitude;
-						_pos_coord.altitude = (arg3.ReturnValue.Altitude == undefined) ? null : arg3.ReturnValue.Altitude;
-						_pos_coord.accuracy = (arg3.ReturnValue.HorizontalAccuracy == undefined) ? null : arg3.ReturnValue.HorizontalAccuracy;
-						_pos_coord.altitudeAccuracy = (arg3.ReturnValue.VerticalAccuracy == undefined) ? null : arg3.ReturnValue.VerticalAccuracy;
-						_pos_coord.heading = (arg3.ReturnValue.Heading == undefined) ? null : arg3.ReturnValue.Heading;
-						_pos_coord.speed = (arg3.ReturnValue.HorizontalSpeed == undefined) ? null : arg3.ReturnValue.HorizontalSpeed;
 						
-						//Position Object
-						var _pos_data = new Location_Position();
-						_pos_data.coords = {};
-						modifyObjectBaseProp(_pos_data.coords);
-						_pos_data.coords = _pos_coord;
-						_pos_data.timestamp = new Date();
-						
-						//Invoke consumer callback
-						
-						success_cb(_pos_data);
-						delete _pos_data.timestamp;
-						delete _pos_data;
-						delete _pos_coord;
+						var geoPosition = getGeoLocationPosition(arg3.ReturnValue);
+						//Invoke consumer callback									
+						success_cb1( geoPosition );						
 						return;
 						
 					}
@@ -376,13 +309,11 @@
 						return;
 					}
 					
-					    //alert("number");
-						updateoptions.UpdateMaxAge = posOptions.maximumAge ;
-						//alert("updateoptions.UpdateMaxAget"+ updateoptions.UpdateMaxAge);
-					
+						updateoptions.UpdateMaxAge = posOptions.maximumAge*1000 ;
+						
 				}
 				else {
-					//alert("!number");
+					
 					var errorMessage = "Invalid input type";
 					__sp_location_handle_error(fail_cb, 0, errorMessage);
 					return;
@@ -399,15 +330,15 @@
 		if((posOptions.enableHighAccuracy !== undefined ))
 		{  
 			
-			if(posOptions.enableHighAccuracy == true) {////alert("1");
+			if(posOptions.enableHighAccuracy == true) {
 					criteria.EnableHighAccuracy = posOptions.enableHighAccuracy;
 				}				
-			else if(posOptions.enableHighAccuracy == false) {	////alert("2e");					
+			else if(posOptions.enableHighAccuracy == false) {					
 						criteria.EnableHighAccuracy = posOptions.enableHighAccuracy;
 					}				
 			else if ((posOptions.enableHighAccuracy == null) || (posOptions.enableHighAccuracy == "")) {
 							}
-			else{ ////alert("acc = else");
+			else{ 
 				if ((typeof(posOptions.enableHighAccuracy) != "boolean")) {
 					var errorFormat1 = "Wrong value for enableHighAccuracy param";
 					__sp_location_handle_error(fail_cb, 0, errorFormat1);
@@ -422,10 +353,9 @@
 			
 		if (posOptions.timeout !== undefined) {
 			if ((posOptions.timeout !== null) || ((posOptions.timeout !== ""))) {
-				//alert("12");
+				
 				if ((posOptions.timeout == Infinity)) {
-					//alert("12345");
-					//alert("infinty condition");
+					
 					var errorMessage = "Invalid input type";
 					__sp_location_handle_error(fail_cb, 0, errorMessage);
 					return;
@@ -433,17 +363,17 @@
 				
 				else 
 					if (!(isNaN(parseInt(posOptions.timeout)))) {
-						//alert("timeout = 0")
+						
 						if ((posOptions.timeout <= 2147483647)) {
 						
 						if ((posOptions.timeout == 0)) {
-							//alert("inside if int");
-							var errorMessage = "Invalid input type";
+							
+							
+							var errorMessage = "Data out of range";
 							__sp_location_handle_error(fail_cb, 0, errorMessage);
 							return;
 						}
-						//alert("true condition");
-						updateoptions.UpdateTimeOut = posOptions.timeout;
+						updateoptions.UpdateTimeOut = posOptions.timeout*1000;
 						
 					}
 					else{
@@ -458,7 +388,7 @@
 			
 			}
 			else {
-				//alert("!number");
+
 				var errorMessage = "Invalid input type";
 				__sp_location_handle_error(fail_cb, 0, errorMessage);
 				return;
@@ -523,7 +453,6 @@
 	    }
 	    
 	    else {
-	        alert("Geolocation: __sp_traceLocation_cb: Callback not found ");
 			return;
 	    }
     
@@ -540,30 +469,9 @@
 		
 		else//there is no error so invoke consumer supplied success callback
 		{   
-			
-			 var _pos_coord = new Location_Coordinates();
-			_pos_coord.longitude = (arg3.ReturnValue.Longitude == undefined)?null:arg3.ReturnValue.Longitude;
-			_pos_coord.latitude = (arg3.ReturnValue.Latitude == undefined)?null:arg3.ReturnValue.Latitude;
-			_pos_coord.altitude = (arg3.ReturnValue.Altitude == undefined)?null:arg3.ReturnValue.Altitude;
-			_pos_coord.accuracy = (arg3.ReturnValue.HorizontalAccuracy == undefined)?null:arg3.ReturnValue.HorizontalAccuracy;		
-			_pos_coord.altitudeAccuracy = (arg3.ReturnValue.VerticalAccuracy == undefined)?null:arg3.ReturnValue.VerticalAccuracy;
-			_pos_coord.heading = (arg3.ReturnValue.Heading == undefined)?null:arg3.ReturnValue.Heading;
-			_pos_coord.speed = (arg3.ReturnValue.HorizontalSpeed == undefined)?null:arg3.ReturnValue.HorizontalSpeed;
-			
-			//Position Object
-			var _pos_data = new Location_Position();
-			_pos_data.coords = {};
-			modifyObjectBaseProp(_pos_data.coords);
-			_pos_data.coords =_pos_coord;
-			_pos_data.timestamp = new Date();
-			
-			
-			//Invoke consumer callback
-			
-			success_cb( _pos_data );
-			delete _pos_data.timestamp;
-			delete _pos_data;
-			delete _pos_coord;
+			var geoPosition = getGeoLocationPosition(arg3.ReturnValue);			
+			//Invoke consumer callback			
+			success_cb( geoPosition );			
 			return;
 		}
 	 glob_obj.removeFromArray(arg1);	
@@ -583,17 +491,16 @@
 	
 	
 	if((typeof trace_cb != 'function' ))
-	{////alert("not fun");
+	{
 		var errorMessage = "Wrong callback type";
 		__sp_location_handle_error(fail_cb,0,errorMessage);
 		return;
 	}
 	
-	if ((fail_cb != undefined)) {////alert("!= fail_cb");
+	if ((fail_cb)) {
 				if ((fail_cb != null)
 				    &&(fail_cb != "")
-					&& (typeof(fail_cb) != "function")) {
-						//////alert("fail_cb fail");
+					&& (typeof(fail_cb) != "function")) {						
 					var errorObject = new Location_PositionError();
 					errorObject.code = -1;
 					throw errorObject;	
@@ -615,7 +522,7 @@
 	
 	if (posOptions != undefined && posOptions != null) {
 		if ((typeof(posOptions) != "object")) {
-			////alert("!= object");
+			
 			var errorMessage = "Wrong posOptions type";
 			__sp_location_handle_error(fail_cb, 0, errorMessage);
 			return;
@@ -627,18 +534,16 @@
 	
 		if ((posOptions.enableHighAccuracy !== undefined)) {
 		
-			if (posOptions.enableHighAccuracy == true) {////alert("1");
+			if (posOptions.enableHighAccuracy == true) {
 				criteria.EnableHighAccuracy = posOptions.enableHighAccuracy;
 			}
-			else 
-				if (posOptions.enableHighAccuracy == false) { ////alert("2e");					
+			else if (posOptions.enableHighAccuracy == false) { 				
 					criteria.EnableHighAccuracy = posOptions.enableHighAccuracy;
 				}
-				else 
-					if ((posOptions.enableHighAccuracy == null) || (posOptions.enableHighAccuracy == "")) {
+			else if ((posOptions.enableHighAccuracy == null) || (posOptions.enableHighAccuracy == "")) {
 					}
 					
-					else { 
+			else {
 						if ((typeof(posOptions.enableHighAccuracy) != "boolean")) {
 							var errorFormat = "Wrong value for enableHighAccuracy param";
 							__sp_location_handle_error(fail_cb, 0, errorFormat);
@@ -652,35 +557,34 @@
 	
 	if (posOptions.timeout !== undefined) {
 			if ((posOptions.timeout !== null)  || ((posOptions.timeout !== ""))) {
-					//alert("12");
+					
 				if ((posOptions.timeout == Infinity)) {
-					//alert("12345");
-					//alert("infinty condition");
+					
 					var errorMessage = "Invalid input type";
 					__sp_location_handle_error(fail_cb, 0, errorMessage);
 					return;
 				}
 				
-				else if (!(isNaN(parseInt(posOptions.timeout)))) {//alert("timeout = 0")
+				else if (!(isNaN(parseInt(posOptions.timeout)))) {
 					
 					if ((posOptions.timeout == 0) ) {
-						//alert("inside if int");
+						
 						var errorMessage = "Invalid input type";
 						__sp_location_handle_error(fail_cb, 0, errorMessage);
 						return;
 					}
-						//alert("true condition");
-						updateoptions.UpdateTimeOut = posOptions.timeout ;
+						
+						updateoptions.UpdateTimeOut = posOptions.timeout*1000 ;
 					
 				}	
 			}	
 				
 		else if ((posOptions.timeout === null) ||((posOptions.timeout === ""))) {
-					//alert("true condition");
+					
 					//	updateoptions.UpdateTimeOut = posOptions.timeout * 1000;
 				}
 				else {
-					//alert("!number");
+					
 					var errorMessage = "Invalid input type";
 					__sp_location_handle_error(fail_cb, 0, errorMessage);
 					return;
@@ -704,15 +608,16 @@
 			//If the param is specified and it is a number 
 			else if(!(isNaN(parseInt(posOptions.maximumAge))))
 			{
-		  		updateoptions.UpdateMaxAge = posOptions.maximumAge ;
+				
+		  		updateoptions.UpdateMaxAge = posOptions.maximumAge*1000;
 			}
 				
 			else if ((posOptions.maximumAge === null) || ((posOptions.maximumAge === ""))) {
-				//alert("true condition");
-			//	updateoptions.UpdateTimeOut = posOptions.timeout * 1000;
+								
+			  //	updateoptions.UpdateTimeOut = posOptions.timeout * 1000;
 				}
 			else {
-				//alert("!number");
+				
 				var errorMessage = "Invalid input type";
 				__sp_location_handle_error(fail_cb, 0, errorMessage);
 				return;
--- a/serviceproviders/jsapi/platformservices/src/landmarks.js	Fri Feb 19 23:43:21 2010 +0200
+++ b/serviceproviders/jsapi/platformservices/src/landmarks.js	Mon Mar 15 12:43:25 2010 +0200
@@ -113,20 +113,6 @@
 }
 
 
-
-
-/*
- Copyright � 2009 Nokia. All rights reserved.
- Code licensed under the BSD License:
- Software License Agreement (BSD License) Copyright � 2009 Nokia.
- All rights reserved.
- Redistribution and use of this software in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
- Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
- Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
- Neither the name of Nokia Corporation. nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission of Nokia Corporation.
- THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- version: 1.0
- */
 //utillity function for converting error code from PS to CJSE codes
 //this gets used in communicating errors via error callback
 var err_missing_argument = 1003;
@@ -320,7 +306,7 @@
     else {
         this.catItem = this.iter.getNext();
         this.hasElement = true;
-        if (typeof this.catItem == "undefined") {
+        if (typeof this.catItem == "undefined" || this.catItem == null) {
             this.catItem = null;
             return false;
         }
@@ -339,15 +325,20 @@
         if (typeof(this.catItem) == "undefined") {
             this.catItem = null;
         }
-        return new __sp_device_category_obj(tempitem);
+        
+        if(tempitem){
+            return new __sp_device_category_obj(tempitem);
+        }
+        else {
+            return null;
+        }
     }
     else {
         this.catItem = this.iter.getNext();
-        if (typeof this.catItem == "undefined") {
+        if (typeof this.catItem == "undefined" || this.catItem == null) {
             this.hasElement = true;
             this.catItem = null;
             return null;
-            
         }
         else {
             this.hasElement = true;
@@ -408,18 +399,6 @@
     }
     
     
-    /*if(location.altitude) 
-    
-     this.Altitude = location.altitude;
-    
-     if(location.hAccuracy)
-    
-     this.HAccuracy = location.hAccuracy;
-    
-     if(location.vAccuracy)
-    
-     this.VAccuracy = location.vAccuracy;*/
-    
 }
 
 //use this to convert from positon filed of landmarkitem to convert it to position field 
@@ -938,11 +917,16 @@
         if (typeof(this.lmItem) == "undefined") {
             this.lmItem = null;
         }
-        return new __sp_device_landmark_obj(tempitem);
+        if(tempitem){
+            return new __sp_device_landmark_obj(tempitem);
+        }
+        else{
+            return null;
+        } 
     }
     else {
         this.lmItem = this.iter.getNext();
-        if (typeof this.lmItem == "undefined") {
+        if (typeof this.lmItem == "undefined" || this.lmItem == null) {
             this.hasElement = true;
             this.lmItem = null;
             return null;
@@ -955,7 +939,7 @@
             //update 
             
             this.lmItem = this.iter.getNext();
-            if (typeof(this.lmItem) == "undefined") {
+            if (typeof(this.lmItem) == "undefined" || this.lmItem == null) {
                 this.lmItem = null;
             }
             return new __sp_device_landmark_obj(tempObject);
--- a/serviceproviders/jsapi/platformservices/src/media.js	Fri Feb 19 23:43:21 2010 +0200
+++ b/serviceproviders/jsapi/platformservices/src/media.js	Mon Mar 15 12:43:25 2010 +0200
@@ -90,31 +90,6 @@
 				     };
 		   
 
-
-
-
-/*
-Copyright � 2009 Nokia. All rights reserved.
-Code licensed under the BSD License:
-Software License Agreement (BSD License) Copyright � 2009 Nokia.
-All rights reserved.
-Redistribution and use of this software in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
-
-Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. 
-Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. 
-Neither the name of Nokia Corporation. nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission of Nokia Corporation. 
-THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-version: 1.0
-*/
-/*
- * Global object for Async utility functions:
- * 1)addToGlobalArray
- * 2)getFromArray
- * 3)removeFromArray
- */
-
-
 function __device_media_descriptor(provider){
   this.interfaceName = provider.interfaceName;
   this.version = provider.version;
@@ -191,26 +166,6 @@
 		   
 
 
-
-
-
-
-
-/*
-Copyright © 2009 Nokia. All rights reserved.
-Code licensed under the BSD License:
-Software License Agreement (BSD License) Copyright © 2009 Nokia.
-All rights reserved.
-Redistribution and use of this software in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
-
-Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. 
-Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. 
-Neither the name of Nokia Corporation. nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission of Nokia Corporation. 
-THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-version: 1.0
-*/
-
 // S60 sp-based media provider
 var FILESCHMLEN = 7;
 
--- a/serviceproviders/jsapi/platformservices/src/messaging.js	Fri Feb 19 23:43:21 2010 +0200
+++ b/serviceproviders/jsapi/platformservices/src/messaging.js	Mon Mar 15 12:43:25 2010 +0200
@@ -104,43 +104,10 @@
 };
 
 
-
-/*
- Copyright © 2009 Nokia. All rights reserved.
- Code licensed under the BSD License:
- Software License Agreement (BSD License) Copyright © 2009 Nokia.
- All rights reserved.
- Redistribution and use of this software in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
- Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
- Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
- Neither the name of Nokia Corporation. nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission of Nokia Corporation.
- THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- version: 1.0
- */
 // S60 sp-based messaging provider
 var FILE_SCHEME = 'file://';
-//Constant values as per the CJSE Spec
-//var INVALID_URI_ERR = 108;
-
-/*
- * Global object for Async utility functions:
- * 1)addToGlobalArray
- * 2)getFromArray
- * 3)removeFromArray
- */
 
-//var error = new DeviceError(0, 'dummy');
-/*
- if(undefined == com.nokia.device.messaging)
- {
- com.nokia.device.messaging={};
- }
- nokia.device.messaging.SORT_ASCENDING = 0;
- nokia.device.messaging.SORT_DESCENDING = 1;
- nokia.device.messaging.SORT_BY_DATE = 0;
- nokia.device.messaging.SORT_BY_SENDER = 1;
- nokia.device.messaging.STATUS_READ = 0;
- nokia.device.messaging.STATUS_UNREAD = 1;*/
+
 function __sp_messaging_descriptor(){
     //Read-only properties
     this.interfaceName = "messaging";
@@ -209,7 +176,9 @@
         }
         //device1.0: added this statement.. with out this the script will crib..also checking for proper URI
         if (attachment.uri.slice(0, 7) == FILE_SCHEME) {
+			
             if (attachment.uri.charAt(7) == "/") {
+				
                 if (attachment.uri.charAt(9) != ":") {
                     throw new DeviceException(this.error.URI_NOT_FOUND_ERR, "specified uri not found");
                 }
@@ -249,8 +218,8 @@
     var attachFlag = 0;
     sp_message.MessageParam = {};
     modifyObjectBaseProp(sp_message.MessageParam);
-    sp_message.MessageParam.LaunchEditor = false; //Defaults to no editor
-    sp_message.MessageType = (message.type == undefined || message.type == null) ? "SMS" : message.type;
+    sp_message.MessageParam.LaunchEditor = false; //Defaults to no editor    
+    sp_message.MessageType = (message.type == undefined || message.type == null || message.type == "") ? "SMS" : message.type;
     //alert(message.to[0]+" "+message.type)
     if (message.to) {
         if (typeof(message.to) == "string") {
@@ -500,6 +469,13 @@
         if (typeof msg_cb != "function") {
             throw new DeviceException(this.error.INVALID_ARG_ERR, "Messaging:getList:callback is not a function"); //BadArgumentType error
         }
+		
+        if (ErrorCallback!=null && typeof ErrorCallback!="undefined") {
+        if (typeof(ErrorCallback) != 'function') {
+            throw new DeviceException(this.error.INVALID_ARG_ERR, "Messaging: startEditor: ErrorCallback is invalid");
+        }
+    }
+
     if (match != null && match != undefined && typeof match != "object") {
         //	a("match not object")
         throw new DeviceException(this.error.INVALID_ARG_ERR, "Messaging:getList:match is invalid"); //BadArgumentType error
@@ -514,21 +490,22 @@
     }
     
     if (sortkey != null && sortkey != undefined && typeof sortkey == "number") {
-        if ((sortkey != 0) && (sortkey != 1)) 
-            throw new DeviceException(this.error.INVALID_ARG_ERR, "Messaging:getList:sortkey is invalid"); //BadArgumentType error
-    }
+        if ((sortkey != 0) && (sortkey != 1)) {
+			//alert("sortkey_2");
+			//throw new DeviceException(this.error.INVALID_ARG_ERR, "Messaging:getList:sortkey is invalid"); //BadArgumentType error
+		    ErrorCallback( new DeviceException(this.error.DATA_OUT_OF_RANGE_ERR, "Messaging:getList:sortkey is out of range")); //BadArgumentType error 
+			return;
+			}
+	}
     
     if (sortorder != null && sortorder != undefined && typeof sortorder == "number") {
-        //	a(sortorder+" "+typeof sortorder)
-        if ((sortorder != 0) && (sortorder != 1)) 
-            throw new DeviceException(this.error.INVALID_ARG_ERR, "Messaging:getList:sortorder is invalid"); //BadArgumentType error
+        	//alert(sortorder+" "+typeof sortorder)
+        if ((sortorder != 0) && (sortorder != 1)) {
+			ErrorCallback(new DeviceException(this.error.DATA_OUT_OF_RANGE_ERR, "Messaging:getList:sortorder is out of range")); //BadArgumentType error
+			return;
+		}
     }
     
-    if (ErrorCallback) {
-        if (typeof(ErrorCallback) != 'function') {
-            throw new DeviceException(this.error.INVALID_ARG_ERR, "Messaging: startEditor: ErrorCallback is invalid");
-        }
-    }
     
     
     var criteria = {};
@@ -1128,7 +1105,7 @@
 }
 
 function __sp_messaging_delete(id){
-    a("messageId" + typeof id);
+    //a("messageId" + typeof id);
     if (!id) {
         throw new DeviceException(this.error.MISSING_ARG_ERR, "Messaging:delete:id is missing");//SErrMissingArgument = 1003  
     }
@@ -1153,7 +1130,7 @@
     try {
         //		a("criteria.MessageId" + criteria.MessageId);
         var result = this.so.IMessaging.Delete(criteria);
-        a("MapErrorCode[ result.ErrorCode ]" + MapErrorCode[result.ErrorCode]);
+        //a("MapErrorCode[ result.ErrorCode ]" + MapErrorCode[result.ErrorCode]);
         if (criteria) {
             delete criteria.MessageId;
         }
@@ -1194,7 +1171,7 @@
     }
     
     if (typeof status == "number" && status != 0 && status != 1) {
-        throw new DeviceException(this.error.INVALID_ARG_ERR, "Messaging:setStatus:status is invalid"); //BadArgumentType error
+        throw new DeviceException(this.error.DATA_OUT_OF_RANGE_ERR, "Messaging:setStatus:status is out of range"); //BadArgumentType error
     }
     
     if ((typeof id == "string") && !(isNaN(id))) {
@@ -1215,7 +1192,7 @@
     }
     else 
         if ((status == this.STATUS_READ)) {
-            a("in read")
+            //a("in read")
             criteria.Status = "Read";
         }
     try {
--- a/serviceproviders/jsapi/platformservices/src/sensors.js	Fri Feb 19 23:43:21 2010 +0200
+++ b/serviceproviders/jsapi/platformservices/src/sensors.js	Mon Mar 15 12:43:25 2010 +0200
@@ -63,29 +63,7 @@
 
 
 
-
-
-
-/*
-Copyright © 2009 Nokia. All rights reserved.
-Code licensed under the BSD License:
-Software License Agreement (BSD License) Copyright © 2009 Nokia.
-All rights reserved.
-Redistribution and use of this software in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
-
-Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. 
-Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. 
-Neither the name of Nokia Corporation. nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission of Nokia Corporation. 
-THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-version: 2.7.0
-*/
-
-
 // S60 sp-based sensors provider
-
-
-
 function __sp_sensors_descriptor(){
   //Read-only properties
   this.interfaceName = "sensors";
--- a/serviceproviders/jsapi/platformservices/src/sysinfo.js	Fri Feb 19 23:43:21 2010 +0200
+++ b/serviceproviders/jsapi/platformservices/src/sysinfo.js	Mon Mar 15 12:43:25 2010 +0200
@@ -323,13 +323,13 @@
 		}
 }
 
-function mappingVerification(errorCode) {
-	if(errorCode == 1016 || errorCode == 1012 || errorCode == 1010 || errorCode == 1009 || errorCode == 1005 || errorCode == 1000 || errorCode == 1011 || errorCode == 1007 || errorCode  == 1003 || errorCode == 1002){
-		return true;
-		}
-	else{
-		return false;		
-		}
+function mappingVerification_sysinfo(errorCode) {
+    if (errorCode === 1016 || errorCode === 1012 || errorCode === 1010 || errorCode === 1009 || errorCode === 1005 || errorCode === 1000 || errorCode === 1011 || errorCode === 1007 || errorCode === 1003 || errorCode === 1002 || errorCode === 1004 ) {
+        return true;
+    }
+    else {
+        return false;
+    }
 }
 
 function __sp_device_sysinfo_extract(sysinfo){
@@ -559,7 +559,7 @@
             	glob_obj.addToGlobalArray(rval.TransactionID, sysinfo_success_cb, ErrorCallback);
         	}
             if (rval.ErrorCode != 0) {     
-						var doMap = mappingVerification(rval.ErrorCode);
+						var doMap = mappingVerification_sysinfo(rval.ErrorCode);
 						if(doMap) {
 							switch(MapErrorCode[rval.ErrorCode])
 							{						
--- a/serviceproviders/sapi_calendar/calendarservice/src/addentry.cpp	Fri Feb 19 23:43:21 2010 +0200
+++ b/serviceproviders/sapi_calendar/calendarservice/src/addentry.cpp	Mon Mar 15 12:43:25 2010 +0200
@@ -179,7 +179,7 @@
 		
 		TCalTime instanceStTime = iCalendarEntry->InstanceStartTime();
         
-		CCalInstance* instance;
+		CCalInstance* instance = NULL;
 		
 
 		// Fetch instance having start time and LocalUid specified and GlobalUid specified
@@ -262,7 +262,7 @@
 	else
 		{
 		// Fetch entry to be modified
-		CCalEntry* entry ;
+		CCalEntry* entry = NULL;
 
 		if(iCalendarEntry->ModifiedAttributes() & CEntryAttributes::ELocalUid)
             {
--- a/serviceproviders/sapi_calendar/src/calendarinterface.cpp	Fri Feb 19 23:43:21 2010 +0200
+++ b/serviceproviders/sapi_calendar/src/calendarinterface.cpp	Mon Mar 15 12:43:25 2010 +0200
@@ -1219,7 +1219,7 @@
 	
 	CleanupStack::PushL( entryAttributes );
 	
-	TBool id;
+	TBool id = EFalse;
 	
 	const TLiwGenericParam* param = NULL;
 	
--- a/serviceproviders/sapi_calendar/src/calendariterableimpl.cpp	Fri Feb 19 23:43:21 2010 +0200
+++ b/serviceproviders/sapi_calendar/src/calendariterableimpl.cpp	Mon Mar 15 12:43:25 2010 +0200
@@ -310,7 +310,7 @@
 		if ( rdates.Count() > 0 )
 			{
     		CLiwDefaultList* dateList = CCalendarInterface::GetDatesListL( rdates );
-			aMap->InsertL( KRepeatDates, TLiwVariant( dateList ) );
+			aMap->InsertL( KExceptionDates, TLiwVariant( dateList ) );
 			dateList->DecRef();
 			}
 		rdates.Reset();
@@ -484,7 +484,7 @@
 		
 	else if(  aKey.CompareF( KStatus ) == 0 )	
 		{
-		if ( ( aMap->iCalEntry->EntryTypeL() == CCalEntry::EAppt ) &&
+		if ( ( aMap->iCalEntry->EntryTypeL() == CCalEntry::EAppt ) ||
 				( aMap->iCalEntry->EntryTypeL() == CCalEntry::ETodo ))
 			{
 			aMap->InsertL( KStatus, TLiwVariant( CCalendarInterface::GetStatusL( aMap->iCalEntry->StatusL() ) ) );
--- a/serviceproviders/sapi_calendar/tsrc/dev/tcalendarprovidertest/tcalendaradditer3/group/tcalendaradditer3.mmp	Fri Feb 19 23:43:21 2010 +0200
+++ b/serviceproviders/sapi_calendar/tsrc/dev/tcalendarprovidertest/tcalendaradditer3/group/tcalendaradditer3.mmp	Mon Mar 15 12:43:25 2010 +0200
@@ -22,6 +22,10 @@
 #include <platform_paths.hrh>
 
 MW_LAYER_SYSTEMINCLUDE
+APP_LAYER_SYSTEMINCLUDE
+
+
+
 
 TARGET          tcalendaradditer3.dll
 TARGETTYPE      dll
--- a/serviceproviders/sapi_calendar/tsrc/dev/tcalendarprovidertest/tcalendarchangenotifyiter3/group/tcalendarchangenotifyiter3.mmp	Fri Feb 19 23:43:21 2010 +0200
+++ b/serviceproviders/sapi_calendar/tsrc/dev/tcalendarprovidertest/tcalendarchangenotifyiter3/group/tcalendarchangenotifyiter3.mmp	Mon Mar 15 12:43:25 2010 +0200
@@ -22,6 +22,8 @@
 #include <platform_paths.hrh>
 
 MW_LAYER_SYSTEMINCLUDE
+APP_LAYER_SYSTEMINCLUDE
+
 
 TARGET          tcalendarchangenotifyiter3.dll
 TARGETTYPE      dll
--- a/serviceproviders/sapi_calendar/tsrc/dev/tcalendarprovidertest/tcalendardeleteiter3/group/tcalendardeleteiter3.mmp	Fri Feb 19 23:43:21 2010 +0200
+++ b/serviceproviders/sapi_calendar/tsrc/dev/tcalendarprovidertest/tcalendardeleteiter3/group/tcalendardeleteiter3.mmp	Mon Mar 15 12:43:25 2010 +0200
@@ -22,6 +22,8 @@
 #include <platform_paths.hrh>
 
 MW_LAYER_SYSTEMINCLUDE
+APP_LAYER_SYSTEMINCLUDE
+
 
 TARGET          tcalendardeleteiter3.dll
 TARGETTYPE      dll
--- a/serviceproviders/sapi_calendar/tsrc/dev/tcalendarprovidertest/tcalendarexportiter3/group/tcalendarexportiter3.mmp	Fri Feb 19 23:43:21 2010 +0200
+++ b/serviceproviders/sapi_calendar/tsrc/dev/tcalendarprovidertest/tcalendarexportiter3/group/tcalendarexportiter3.mmp	Mon Mar 15 12:43:25 2010 +0200
@@ -22,6 +22,8 @@
 #include <platform_paths.hrh>
 
 MW_LAYER_SYSTEMINCLUDE
+APP_LAYER_SYSTEMINCLUDE
+
 
 TARGET          tcalendarexportiter3.dll
 TARGETTYPE      dll
--- a/serviceproviders/sapi_calendar/tsrc/dev/tcalendarprovidertest/tcalendargenerictest/group/tcalendargenerictest.mmp	Fri Feb 19 23:43:21 2010 +0200
+++ b/serviceproviders/sapi_calendar/tsrc/dev/tcalendarprovidertest/tcalendargenerictest/group/tcalendargenerictest.mmp	Mon Mar 15 12:43:25 2010 +0200
@@ -23,6 +23,8 @@
 #include <platform_paths.hrh>
 
 MW_LAYER_SYSTEMINCLUDE
+APP_LAYER_SYSTEMINCLUDE
+
 
 TARGET          tcalendargenerictest.dll
 TARGETTYPE      dll
--- a/serviceproviders/sapi_calendar/tsrc/dev/tcalendarprovidertest/tcalendargetlistiter3/group/tcalendargetlistiter3.mmp	Fri Feb 19 23:43:21 2010 +0200
+++ b/serviceproviders/sapi_calendar/tsrc/dev/tcalendarprovidertest/tcalendargetlistiter3/group/tcalendargetlistiter3.mmp	Mon Mar 15 12:43:25 2010 +0200
@@ -22,6 +22,8 @@
 #include <platform_paths.hrh>
 
 MW_LAYER_SYSTEMINCLUDE
+APP_LAYER_SYSTEMINCLUDE
+
 
 
 TARGET          tcalendargetlistiter3.dll
--- a/serviceproviders/sapi_calendar/tsrc/dev/tcalendarprovidertest/tcalendarimportiter3/group/tcalendarimportiter3.mmp	Fri Feb 19 23:43:21 2010 +0200
+++ b/serviceproviders/sapi_calendar/tsrc/dev/tcalendarprovidertest/tcalendarimportiter3/group/tcalendarimportiter3.mmp	Mon Mar 15 12:43:25 2010 +0200
@@ -22,6 +22,8 @@
 #include <platform_paths.hrh>
 
 MW_LAYER_SYSTEMINCLUDE
+APP_LAYER_SYSTEMINCLUDE
+
 
 TARGET          tcalendarimportiter3.dll
 TARGETTYPE      dll
--- a/serviceproviders/sapi_calendar/tsrc/dev/tcalendarprovidertest/tcalendarupdateiter3/group/tcalendarupdateiter3.mmp	Fri Feb 19 23:43:21 2010 +0200
+++ b/serviceproviders/sapi_calendar/tsrc/dev/tcalendarprovidertest/tcalendarupdateiter3/group/tcalendarupdateiter3.mmp	Mon Mar 15 12:43:25 2010 +0200
@@ -22,6 +22,8 @@
 #include <platform_paths.hrh>
 
 MW_LAYER_SYSTEMINCLUDE
+APP_LAYER_SYSTEMINCLUDE
+
 
 TARGET          tcalendarupdateiter3.dll
 TARGETTYPE      dll
--- a/serviceproviders/sapi_calendar/tsrc/dev/tcalendartest/tcalendaradditer1/group/tcalendaradditer1.mmp	Fri Feb 19 23:43:21 2010 +0200
+++ b/serviceproviders/sapi_calendar/tsrc/dev/tcalendartest/tcalendaradditer1/group/tcalendaradditer1.mmp	Mon Mar 15 12:43:25 2010 +0200
@@ -22,6 +22,8 @@
 #include <platform_paths.hrh>
 
 MW_LAYER_SYSTEMINCLUDE
+APP_LAYER_SYSTEMINCLUDE
+
 
 TARGET          tcalendaradditer1.dll
 TARGETTYPE      dll
--- a/serviceproviders/sapi_calendar/tsrc/dev/tcalendartest/tcalendarchangenotifyiter1/group/tcalendarchangenotifyiter1.mmp	Fri Feb 19 23:43:21 2010 +0200
+++ b/serviceproviders/sapi_calendar/tsrc/dev/tcalendartest/tcalendarchangenotifyiter1/group/tcalendarchangenotifyiter1.mmp	Mon Mar 15 12:43:25 2010 +0200
@@ -22,6 +22,8 @@
 #include <platform_paths.hrh>
 
 MW_LAYER_SYSTEMINCLUDE
+APP_LAYER_SYSTEMINCLUDE
+
 
 TARGET          tcalendarchangenotifyiter1.dll
 TARGETTYPE      dll
--- a/serviceproviders/sapi_calendar/tsrc/dev/tcalendartest/tcalendardeleteiter1/group/tcalendardeleteiter1.mmp	Fri Feb 19 23:43:21 2010 +0200
+++ b/serviceproviders/sapi_calendar/tsrc/dev/tcalendartest/tcalendardeleteiter1/group/tcalendardeleteiter1.mmp	Mon Mar 15 12:43:25 2010 +0200
@@ -22,6 +22,8 @@
 #include <platform_paths.hrh>
 
 MW_LAYER_SYSTEMINCLUDE
+APP_LAYER_SYSTEMINCLUDE
+
 
 TARGET          tcalendardeleteiter1.dll
 TARGETTYPE      dll
--- a/serviceproviders/sapi_calendar/tsrc/dev/tcalendartest/tcalendarexportiter1/group/tcalendarexportiter1.mmp	Fri Feb 19 23:43:21 2010 +0200
+++ b/serviceproviders/sapi_calendar/tsrc/dev/tcalendartest/tcalendarexportiter1/group/tcalendarexportiter1.mmp	Mon Mar 15 12:43:25 2010 +0200
@@ -22,6 +22,8 @@
 #include <platform_paths.hrh>
 
 MW_LAYER_SYSTEMINCLUDE
+APP_LAYER_SYSTEMINCLUDE
+
 
 TARGET          tcalendarexportiter1.dll
 TARGETTYPE      dll
--- a/serviceproviders/sapi_calendar/tsrc/dev/tcalendartest/tcalendargetlistiter1/group/tcalendargetlistiter1.mmp	Fri Feb 19 23:43:21 2010 +0200
+++ b/serviceproviders/sapi_calendar/tsrc/dev/tcalendartest/tcalendargetlistiter1/group/tcalendargetlistiter1.mmp	Mon Mar 15 12:43:25 2010 +0200
@@ -22,6 +22,8 @@
 #include <platform_paths.hrh>
 
 MW_LAYER_SYSTEMINCLUDE
+APP_LAYER_SYSTEMINCLUDE
+
 
 TARGET          tcalendargetlistiter1.dll
 TARGETTYPE      dll
--- a/serviceproviders/sapi_calendar/tsrc/dev/tcalendartest/tcalendarimportiter1/group/tcalendarimportiter1.mmp	Fri Feb 19 23:43:21 2010 +0200
+++ b/serviceproviders/sapi_calendar/tsrc/dev/tcalendartest/tcalendarimportiter1/group/tcalendarimportiter1.mmp	Mon Mar 15 12:43:25 2010 +0200
@@ -22,6 +22,8 @@
 #include <platform_paths.hrh>
 
 MW_LAYER_SYSTEMINCLUDE
+APP_LAYER_SYSTEMINCLUDE
+
 
 TARGET          tcalendarimportiter1.dll
 TARGETTYPE      dll
--- a/serviceproviders/sapi_calendar/tsrc/dev/tcalendartest/tcalendarupdateiter1/group/tcalendarupdateiter1.mmp	Fri Feb 19 23:43:21 2010 +0200
+++ b/serviceproviders/sapi_calendar/tsrc/dev/tcalendartest/tcalendarupdateiter1/group/tcalendarupdateiter1.mmp	Mon Mar 15 12:43:25 2010 +0200
@@ -22,6 +22,8 @@
 #include <platform_paths.hrh>
 
 MW_LAYER_SYSTEMINCLUDE
+APP_LAYER_SYSTEMINCLUDE
+
 
 TARGET          tcalendarupdateiter1.dll
 TARGETTYPE      dll
--- a/serviceproviders/sapi_calendar/tsrc/testing/tcal_providertest/group/tcal_providertest.mmp	Fri Feb 19 23:43:21 2010 +0200
+++ b/serviceproviders/sapi_calendar/tsrc/testing/tcal_providertest/group/tcal_providertest.mmp	Mon Mar 15 12:43:25 2010 +0200
@@ -39,6 +39,8 @@
 #include <platform_paths.hrh>
 
 MW_LAYER_SYSTEMINCLUDE
+APP_LAYER_SYSTEMINCLUDE
+
 
 
 TARGET          tcal_providertest.dll
--- a/serviceproviders/sapi_calendar/tsrc/testing/tcalendarservice/tcal_add/group/tcal_add.mmp	Fri Feb 19 23:43:21 2010 +0200
+++ b/serviceproviders/sapi_calendar/tsrc/testing/tcalendarservice/tcal_add/group/tcal_add.mmp	Mon Mar 15 12:43:25 2010 +0200
@@ -38,6 +38,8 @@
 #include <platform_paths.hrh>
 
 MW_LAYER_SYSTEMINCLUDE
+APP_LAYER_SYSTEMINCLUDE
+
 
 TARGET          tcal_add.dll
 TARGETTYPE      dll
--- a/serviceproviders/sapi_calendar/tsrc/testing/tcalendarservice/tcal_changenotify/group/tcal_changenotify.mmp	Fri Feb 19 23:43:21 2010 +0200
+++ b/serviceproviders/sapi_calendar/tsrc/testing/tcalendarservice/tcal_changenotify/group/tcal_changenotify.mmp	Mon Mar 15 12:43:25 2010 +0200
@@ -38,6 +38,8 @@
 #include <platform_paths.hrh>
 
 MW_LAYER_SYSTEMINCLUDE
+APP_LAYER_SYSTEMINCLUDE
+
 
 TARGET          tcal_changenotify.dll
 TARGETTYPE      dll
--- a/serviceproviders/sapi_calendar/tsrc/testing/tcalendarservice/tcal_delete/group/tcal_delete.mmp	Fri Feb 19 23:43:21 2010 +0200
+++ b/serviceproviders/sapi_calendar/tsrc/testing/tcalendarservice/tcal_delete/group/tcal_delete.mmp	Mon Mar 15 12:43:25 2010 +0200
@@ -38,6 +38,8 @@
 #include <platform_paths.hrh>
 
 MW_LAYER_SYSTEMINCLUDE
+APP_LAYER_SYSTEMINCLUDE
+
 
 
 
--- a/serviceproviders/sapi_calendar/tsrc/testing/tcalendarservice/tcal_export/group/tcal_export.mmp	Fri Feb 19 23:43:21 2010 +0200
+++ b/serviceproviders/sapi_calendar/tsrc/testing/tcalendarservice/tcal_export/group/tcal_export.mmp	Mon Mar 15 12:43:25 2010 +0200
@@ -38,6 +38,8 @@
 #include <platform_paths.hrh>
 
 MW_LAYER_SYSTEMINCLUDE
+APP_LAYER_SYSTEMINCLUDE
+
 
 
 TARGET          tcal_export.dll
--- a/serviceproviders/sapi_calendar/tsrc/testing/tcalendarservice/tcal_getlist/group/tcal_getlist.mmp	Fri Feb 19 23:43:21 2010 +0200
+++ b/serviceproviders/sapi_calendar/tsrc/testing/tcalendarservice/tcal_getlist/group/tcal_getlist.mmp	Mon Mar 15 12:43:25 2010 +0200
@@ -38,6 +38,8 @@
 #include <platform_paths.hrh>
 
 MW_LAYER_SYSTEMINCLUDE
+APP_LAYER_SYSTEMINCLUDE
+
 
 
 
--- a/serviceproviders/sapi_calendar/tsrc/testing/tcalendarservice/tcal_import/group/tcal_import.mmp	Fri Feb 19 23:43:21 2010 +0200
+++ b/serviceproviders/sapi_calendar/tsrc/testing/tcalendarservice/tcal_import/group/tcal_import.mmp	Mon Mar 15 12:43:25 2010 +0200
@@ -38,6 +38,8 @@
 #include <platform_paths.hrh>
 
 MW_LAYER_SYSTEMINCLUDE
+APP_LAYER_SYSTEMINCLUDE
+
 
 
 TARGET          tcal_import.dll
--- a/serviceproviders/sapi_calendar/tsrc/testing/tcalendarservice/tcal_update/group/tcal_update.mmp	Fri Feb 19 23:43:21 2010 +0200
+++ b/serviceproviders/sapi_calendar/tsrc/testing/tcalendarservice/tcal_update/group/tcal_update.mmp	Mon Mar 15 12:43:25 2010 +0200
@@ -38,6 +38,8 @@
 #include <platform_paths.hrh>
 
 MW_LAYER_SYSTEMINCLUDE
+APP_LAYER_SYSTEMINCLUDE
+
 
 
 TARGET          tcal_update.dll
--- a/serviceproviders/sapi_calendar/tsrc/testing/tcalprovider_combined/group/tcalprovider_combined.mmp	Fri Feb 19 23:43:21 2010 +0200
+++ b/serviceproviders/sapi_calendar/tsrc/testing/tcalprovider_combined/group/tcalprovider_combined.mmp	Mon Mar 15 12:43:25 2010 +0200
@@ -30,7 +30,8 @@
 * Description:  ?Description
 *
 */
-
+MW_LAYER_SYSTEMINCLUDE
+APP_LAYER_SYSTEMINCLUDE
 #include "../../../../../group/sapiincludes.mmpi"
 
 TARGET          tcalprovider_combined.dll
--- a/serviceproviders/sapi_location/inc/locationinterface.h	Fri Feb 19 23:43:21 2010 +0200
+++ b/serviceproviders/sapi_location/inc/locationinterface.h	Mon Mar 15 12:43:25 2010 +0200
@@ -36,7 +36,7 @@
 const TInt KLocUpdateInterval = KLocSecond;
 
 //Update time out
-const TInt KLocUpdateTimeOut = 15*KLocSecond;
+const TInt KLocUpdateTimeOut = 60*KLocSecond;
 
 //MaxAge
 const TInt KLocMaxAge = 0;
@@ -130,6 +130,7 @@
 _LIT8(KPositionFieldHeadingError , "HeadingError") ;
 _LIT8(KPositionFieldMagneticHeading , "MagneticHeading") ;
 _LIT8(KPositionFieldMagneticHeadingError , "MagneticHeadingError") ;
+_LIT8(KTime , "timestamp") ;
   
 /**
  * Direction course information which will be part of outparm list
--- a/serviceproviders/sapi_location/locationservice/inc/locationservice.h	Fri Feb 19 23:43:21 2010 +0200
+++ b/serviceproviders/sapi_location/locationservice/inc/locationservice.h	Mon Mar 15 12:43:25 2010 +0200
@@ -52,7 +52,7 @@
 const TInt KSUpdateInterval = KSSecond;
 
 //Update time out
-const TInt KSUpdateTimeOut = 15*KSSecond;
+const TInt KSUpdateTimeOut = 60*KSSecond;
 
 //MaxAge
 const TInt KSMaxAge = 0;
--- a/serviceproviders/sapi_location/locationservice/src/locationcoreimp.cpp	Fri Feb 19 23:43:21 2010 +0200
+++ b/serviceproviders/sapi_location/locationservice/src/locationcoreimp.cpp	Mon Mar 15 12:43:25 2010 +0200
@@ -172,7 +172,7 @@
 
 	    // If position server could not get position
 	    // In two minutes it will terminate the position request
-	    updateopts.SetUpdateTimeOut(TTimeIntervalMicroSeconds(KSUpdateTimeOut));
+	    // updateopts.SetUpdateTimeOut(TTimeIntervalMicroSeconds(KSUpdateTimeOut));
 
 	    // Positions which have time stamp below KMaxAge can be reused
 	    updateopts.SetMaxUpdateAge(TTimeIntervalMicroSeconds(KSMaxAge));
--- a/serviceproviders/sapi_location/locationservice/src/locationservice.cpp	Fri Feb 19 23:43:21 2010 +0200
+++ b/serviceproviders/sapi_location/locationservice/src/locationservice.cpp	Mon Mar 15 12:43:25 2010 +0200
@@ -112,7 +112,7 @@
  */
 void CLocationService::GetHighAccuracyModuleL(TPositionModuleId* aModId)
     {
-    TPositionModuleId moduleId;
+    TPositionModuleId moduleId = TUid::Null();
     TPositionModuleInfo modInfo;
     TUint numOfModules = 0;
 
--- a/serviceproviders/sapi_location/src/locationcallBack.cpp	Fri Feb 19 23:43:21 2010 +0200
+++ b/serviceproviders/sapi_location/src/locationcallBack.cpp	Mon Mar 15 12:43:25 2010 +0200
@@ -288,8 +288,14 @@
 	            	
 	            }
 
-
-
+	        
+	        
+	        
+	        TTime timeReceived = pos.Time();//this is time from Jan 1 0AD	        
+            
+            result->InsertL(KTime,TLiwVariant(timeReceived));
+                
+            
 
 	    /*if( currCapability & TPositionModuleInfo :: ECapabilityNmea ) //Extract Nmea info if any and append it 	
 	        {                                                             //as part of out param list  
--- a/serviceproviders/sapi_location/src/locationinterface.cpp	Fri Feb 19 23:43:21 2010 +0200
+++ b/serviceproviders/sapi_location/src/locationinterface.cpp	Mon Mar 15 12:43:25 2010 +0200
@@ -1571,7 +1571,7 @@
 	    }
 	 else//set the default value
 		 {
-		 aPositionUpdateoption.SetUpdateTimeOut(TTimeIntervalMicroSeconds(KLocUpdateTimeOut));
+		 //aPositionUpdateoption.SetUpdateTimeOut(TTimeIntervalMicroSeconds(KLocUpdateTimeOut));
 		 	
 		 }
 	    
--- a/serviceproviders/sapi_logging/tsrc/dev/tloggingprovidertest/group/tloggingprovidertest.mmp	Fri Feb 19 23:43:21 2010 +0200
+++ b/serviceproviders/sapi_logging/tsrc/dev/tloggingprovidertest/group/tloggingprovidertest.mmp	Mon Mar 15 12:43:25 2010 +0200
@@ -39,6 +39,8 @@
 #include <platform_paths.hrh>
 
 MW_LAYER_SYSTEMINCLUDE
+APP_LAYER_SYSTEMINCLUDE
+
 
 TARGET          tloggingprovidertest.dll
 TARGETTYPE      dll
--- a/serviceproviders/sapi_logging/tsrc/dev/tloggingservice/group/tloggingservice.mmp	Fri Feb 19 23:43:21 2010 +0200
+++ b/serviceproviders/sapi_logging/tsrc/dev/tloggingservice/group/tloggingservice.mmp	Mon Mar 15 12:43:25 2010 +0200
@@ -38,6 +38,8 @@
 #include <platform_paths.hrh>
 
 MW_LAYER_SYSTEMINCLUDE
+APP_LAYER_SYSTEMINCLUDE
+
 
 TARGET          tloggingservice.dll
 TARGETTYPE      dll
--- a/serviceproviders/sapi_logging/tsrc/dev/tlogtypeidtest/group/tlogtypeidtest.mmp	Fri Feb 19 23:43:21 2010 +0200
+++ b/serviceproviders/sapi_logging/tsrc/dev/tlogtypeidtest/group/tlogtypeidtest.mmp	Mon Mar 15 12:43:25 2010 +0200
@@ -23,6 +23,8 @@
 #include <platform_paths.hrh>
 
 MW_LAYER_SYSTEMINCLUDE
+APP_LAYER_SYSTEMINCLUDE
+
 
 TARGET          tlogtypeidtest.dll
 TARGETTYPE      dll
--- a/serviceproviders/sapi_logging/tsrc/testing/tloggingservicetest/group/tloggingservicetest.mmp	Fri Feb 19 23:43:21 2010 +0200
+++ b/serviceproviders/sapi_logging/tsrc/testing/tloggingservicetest/group/tloggingservicetest.mmp	Mon Mar 15 12:43:25 2010 +0200
@@ -38,6 +38,8 @@
 #include <platform_paths.hrh>
 
 MW_LAYER_SYSTEMINCLUDE
+APP_LAYER_SYSTEMINCLUDE
+
 
 TARGET          tloggingservicetest.dll
 TARGETTYPE      dll
--- a/serviceproviders/sapi_logging/tsrc/testing/tlogprovidertest/group/tlogprovidertest.mmp	Fri Feb 19 23:43:21 2010 +0200
+++ b/serviceproviders/sapi_logging/tsrc/testing/tlogprovidertest/group/tlogprovidertest.mmp	Mon Mar 15 12:43:25 2010 +0200
@@ -38,6 +38,9 @@
 #include <platform_paths.hrh>
 
 MW_LAYER_SYSTEMINCLUDE
+APP_LAYER_SYSTEMINCLUDE
+
+
 
 
 TARGET          tlogprovidertest.dll
--- a/serviceproviders/sapi_mediamanagement/tsrc/dev/tmediathumbnailprovidertest/group/bld.inf	Fri Feb 19 23:43:21 2010 +0200
+++ b/serviceproviders/sapi_mediamanagement/tsrc/dev/tmediathumbnailprovidertest/group/bld.inf	Mon Mar 15 12:43:25 2010 +0200
@@ -22,9 +22,9 @@
 
 
 
-PRJ_EXPORTS
+PRJ_TESTEXPORTS
 ../conf/tmediathumbnailprovidertest.cfg		/epoc32/winscw/c/testframework/tmediathumbnailprovidertest.cfg
 
-PRJ_MMPFILES
+PRJ_TESTMMPFILES
 tmediathumbnailprovidertest.mmp
 //  End of File
\ No newline at end of file
--- a/serviceproviders/sapi_mediamanagement/tsrc/testing/tmediaprovidertesting/src/tmediaprovidertestingImpl.cpp	Fri Feb 19 23:43:21 2010 +0200
+++ b/serviceproviders/sapi_mediamanagement/tsrc/testing/tmediaprovidertesting/src/tmediaprovidertestingImpl.cpp	Mon Mar 15 12:43:25 2010 +0200
@@ -489,6 +489,16 @@
     TInt expRes = expValue.AsTInt32();
     TInt resRes = resValue.AsTInt32();
     
+   TInt expMax = expRes + 200;
+           
+   if(aKey == KMgFileSize) 
+        {
+        if(resRes >= expRes &&  resRes <expMax)
+            {           
+            equal = ETrue;           
+            }
+        }
+  
     expIntStr.AppendNum(expRes);
     resIntStr.AppendNum(resRes);
     
--- a/serviceproviders/sapi_serviceregistry/tsrc/dev/tserviceregistryprovidertest/group/bld.inf	Fri Feb 19 23:43:21 2010 +0200
+++ b/serviceproviders/sapi_serviceregistry/tsrc/dev/tserviceregistryprovidertest/group/bld.inf	Mon Mar 15 12:43:25 2010 +0200
@@ -23,10 +23,10 @@
 DEFAULT
 
 
-PRJ_EXPORTS
+PRJ_TESTEXPORTS
 ../conf/tserviceregistry.cfg /epoc32/winscw/c/testframework/tserviceregistry.cfg
 
-PRJ_MMPFILES
+PRJ_TESTMMPFILES
 tserviceregistrytest.mmp
 
 //  End of File
\ No newline at end of file