locationmanager/server/src/clocationmanagerserver.cpp
branchRCL_3
changeset 14 646a02f170b9
parent 8 6752808b2036
child 15 3cebc1a84278
--- a/locationmanager/server/src/clocationmanagerserver.cpp	Fri Feb 19 23:14:48 2010 +0200
+++ b/locationmanager/server/src/clocationmanagerserver.cpp	Fri Mar 12 15:44:28 2010 +0200
@@ -306,6 +306,7 @@
 //
 void CLocationManagerServer::StartGPSPositioningL( RLocationTrail::TTrailCaptureSetting aCaptureSetting )
     {
+    LOG( "CLocationManagerServer::StartGPSPositioningL" );
     if ( aCaptureSetting == RLocationTrail::EOff )
     	{
     	return;
@@ -335,42 +336,28 @@
 //    
 void CLocationManagerServer::StopGPSPositioningL()
     {
+    LOG( "CLocationManagerServer::StopGPSPositioningL()" );
     iCaptureSetting = RLocationTrail::EOff;
     
     RLocationTrail::TTrailState state;
     GetLocationTrailState( state );
-    if( state == RLocationTrail::ETrailStarted || state == RLocationTrail::ETrailStarting )
-    	{
-        TRAPD( error, iTimer = CPeriodic::NewL( CActive::EPriorityStandard ) );
+    
+    
+    if( state != RLocationTrail::ETrailStopped && state != RLocationTrail::ETrailStopping )
+        {
+        TRAPD( error, iTimer = CPeriodic::NewL( CActive::EPriorityHigh ) );
+        
         if ( error != KErrNone )
             {
             // If timer can't be created we stop the location trail immediately.
             iLocationRecord->Stop();
             StopTrackLogL();
             return;
-            }
-        iLocationRecord->SetStateToStopping();
-        iTimer->Start( KLocationTrailRemappingCheckDelay * 1000000, 0, TCallBack( CheckForRemappingCallback, this ) );
-    	}
-    else if ( state != RLocationTrail::ETrailStopped && state != RLocationTrail::ETrailStopping )
-        {
-        TInt delay( iLocManStopDelay );
-        if ( iLocationRecord->RemappingNeeded() )
-        	{
-            delay = iLocManStopRemapDelay;
-        	}
+            }   
         
-        TRAPD( error, iTimer = CPeriodic::NewL( CActive::EPriorityStandard ) );
-        if ( error != KErrNone )
-        	{
-        	// If timer can't be created we stop the location trail immediately.
-        	iLocationRecord->Stop();
-        	StopTrackLogL();
-        	return;
-        	}
         iLocationRecord->SetStateToStopping();
-        iTimer->Start( delay * 1000000, 0, TCallBack( PositioningStopTimeout, this ) );
-        }
+        iTimer->Start( iLocManStopDelay * 1000000, 0, TCallBack( CheckForRemappingCallback, this ) );
+    	}
     
     // Always stop tracklog.
     StopTrackLogL();
@@ -382,6 +369,7 @@
 //
 void CLocationManagerServer::StopRecording()
 	{
+    LOG( "CLocationManagerServer::StopRecording()" );
 	iLocationRecord->Stop();
 	delete iTimer;
 	iTimer = NULL;
@@ -393,6 +381,7 @@
 //
 TInt CLocationManagerServer::PositioningStopTimeout( TAny* aAny )
 	{
+    LOG( "CLocationManagerServer::PositioningStopTimeout" );
 	CLocationManagerServer* self = STATIC_CAST( CLocationManagerServer*, aAny );
 	self->StopRecording();
 	
@@ -405,21 +394,18 @@
 //
 TInt CLocationManagerServer::CheckForRemappingCallback( TAny* aAny )
     {
+    LOG( "CLocationManagerServer::CheckForRemappingCallback" );
     CLocationManagerServer* self = STATIC_CAST( CLocationManagerServer*, aAny );
 
-    self->iTimer->Cancel();
+    self->iTimer->Cancel();    
     
-    TInt delay( self->iLocManStopDelay );
     if ( self->iLocationRecord->RemappingNeeded() )
-        {
-        delay = self->iLocManStopRemapDelay;
-        self->iTimer->Start( delay * 1000000, 0, TCallBack( PositioningStopTimeout, self ) );
+        {     
+        self->iTimer->Start( self->iLocManStopRemapDelay * 1000000, 0, TCallBack( PositioningStopTimeout, self ) );
         }
     else
-        {
-        delete self->iTimer;
-        self->iTimer = NULL;
-        self->iLocationRecord->Stop();
+        {        
+        self->StopRecording();
         }
     
     return KErrNone;
@@ -489,7 +475,7 @@
 //   
 void CLocationManagerServer::GetLocationByTimeL( const TTime& aTimeStamp, 
 												 TLocationData& aLocationData,
-                                                 TLocTrailState& aState )
+                                                 TLocTrailState& aState ) __SOFTFP
     {
     iLocationRecord->GetLocationByTimeL( aTimeStamp,
     									 aLocationData,
@@ -543,7 +529,7 @@
 // CLocationManagerServer::GetCurrentCellId
 // --------------------------------------------------------------------------
 //    
-void CLocationManagerServer::GetCurrentNetworkInfo( CTelephony::TNetworkInfoV1& aNetworkInfo )
+void CLocationManagerServer::GetCurrentNetworkInfo( CTelephony::TNetworkInfoV1& aNetworkInfo ) __SOFTFP
     {
     iLocationRecord->GetNetworkInfo( aNetworkInfo );
     }    
@@ -552,7 +538,7 @@
 // CLocationManagerServer::LocationTrailStateChange
 // --------------------------------------------------------------------------
 //    
-void CLocationManagerServer::LocationTrailStateChange()
+void CLocationManagerServer::LocationTrailStateChange() __SOFTFP
     {
     LOG( "CLocationManagerServer::LocationTrailStateChange(), begin" );
 
@@ -575,7 +561,7 @@
 //
 void CLocationManagerServer::CurrentLocation( const TPositionSatelliteInfo& aSatelliteInfo, 
 											  const CTelephony::TNetworkInfoV1& aNetworkInfo,
-                                              const TInt aError )
+                                              const TInt aError ) __SOFTFP
     {
     LOG( "CLocationManagerServer::CurrentLocation(), begin" );
     const TInt KParamLocationData = 0;
@@ -622,7 +608,7 @@
     LOG( "CLocationManagerServer::CurrentLocation(), end" );    
     }
 
-void CLocationManagerServer::GPSSignalQualityChanged( const TPositionSatelliteInfo& aSatelliteInfo )
+void CLocationManagerServer::GPSSignalQualityChanged( const TPositionSatelliteInfo& aSatelliteInfo ) __SOFTFP
 	{
 	LOG( "CLocationManagerServer::GPSSignalQualityChanged" );
 	const TInt KFixParam = 0;
@@ -697,7 +683,7 @@
 	}
 
 void CLocationManagerServer::CreateLocationObjectL( const TLocationData& aLocationData,
-													const TUint& aObjectId )
+													const TUint& aObjectId ) __SOFTFP
 	{
 	if ( !IsSessionReady() )
 		{
@@ -1058,7 +1044,7 @@
 	}
 
 void CLocationManagerServer::GpxFileCreated( const TDesC& aFileName, TItemId aTagId,
-		TReal32 aLength, TTime aStart, TTime aEnd )
+		TReal32 aLength, TTime aStart, TTime aEnd ) __SOFTFP
 	{
 	TRAP_IGNORE( CreateTrackLogL( aTagId, aFileName, aLength, aStart, aEnd ) );
 	}
@@ -1146,7 +1132,7 @@
     CleanupStack::PopAndDestroy( trackLog );
 	}
 
-TInt CLocationManagerServer::GetTrackLogStatus( TBool& aRecording, TPositionSatelliteInfo& aFixQuality)
+TInt CLocationManagerServer::GetTrackLogStatus( TBool& aRecording, TPositionSatelliteInfo& aFixQuality) __SOFTFP
 	{
 	if ( !iTrackLog )
 		{