locationmanager/server/src/clocationmanagersession.cpp
changeset 36 aa5a574040a4
parent 25 8e4539ab1889
child 43 c5e73110f733
--- a/locationmanager/server/src/clocationmanagersession.cpp	Wed Jun 23 18:41:19 2010 +0300
+++ b/locationmanager/server/src/clocationmanagersession.cpp	Tue Jul 06 14:44:37 2010 +0300
@@ -48,7 +48,12 @@
 CLocationManagerSession::~CLocationManagerSession()
     {
     LOG( "CLocationManagerSession::~CLocationManagerSession(), begin" );
-    TRAP_IGNORE(Server().StopGPSPositioningL());
+    // don't call stop GPS positioning from here...
+    // we are expecting the application to start and stop else on server terminate, we will do the same.
+    // this is not okay when user takes a photograph and then transfer photo using BT/PC .
+    // at this point, it will stop the trail for camera where as camera session is still valid.
+    // DON"T CALL StopGPSPositioningL METHOD.
+//    TRAP_IGNORE(Server().StopGPSPositioningL());
     Server().CancelNotificationRequest( iNotificationHandle );
     Server().CancelLocationRequest( iLocationHandle );
     Server().CancelTrackLogNotificationRequest( iTrackLogNotificationHandle );
@@ -86,22 +91,15 @@
 //
 void CLocationManagerSession::ServiceL( const RMessage2& aMessage )
     {
-    LOG( "CLocationManagerSession::ServiceL" );
-    _LIT( KSemaphore, "LocManSynchSemaphore" );
-    RSemaphore semaphore;
-    const TInt result = semaphore.OpenGlobal( KSemaphore );
-    LOG1( "CLocationManagerSession::ServiceL - semaphore open result: %d", result );
+    LOG( "CLocationManagerSession::ServiceL, begin" );
+    LOG1("Message id - %d", aMessage.Function());
     iMessage = RMessage2( aMessage );
-    if ( result == KErrNone )
-    	{
-    	semaphore.Signal();
-    	semaphore.Close();
-    	}
     TRAPD( err, DispatchMessageL( aMessage ) );
     if ( err != KErrNone )
         {
         aMessage.Complete( err );
         }    
+    LOG( "CLocationManagerSession::ServiceL, end" );
     }
 
 // --------------------------------------------------------------------------
@@ -180,6 +178,18 @@
         case ELocManCancelTrackLogNotify:
         	CancelTrackLogNotificationRequest( aMessage );
         	break;
+        case ELocManTagPending:
+        	Server().TagPendingRequestL(aMessage);
+        	break;
+        case ELocManStartGeoTaging:
+            Server().StartGeoTaggingL(aMessage);
+            break;
+        case ELocManCancelTagPendingReq:
+            Server().CancelTagPendingRequest(aMessage);
+			break;
+		case ELocManCancelGeoTaggingReq:
+            Server().CancelGeoTaggingRequest(aMessage);
+            break;
         default:
             aMessage.Complete( KErrArgument );
             break;
@@ -494,7 +504,7 @@
 	}
 
 // --------------------------------------------------------------------------
-// CLocationManagerSession::GpsQualityChange
+// CLocationManagerSession::RegisterTrackLogObserver
 // --------------------------------------------------------------------------
 //  
 void CLocationManagerSession::RegisterTrackLogObserver( const RMessage2& aMessage )
@@ -503,6 +513,11 @@
 	TRAP_IGNORE( Server().AddTrackLogNotificationRequestL( aMessage ) );
 	}
 
+
+// --------------------------------------------------------------------------
+// CLocationManagerSession::GetCaptureSettingL
+// --------------------------------------------------------------------------
+//
 void CLocationManagerSession::GetCaptureSettingL( const RMessage2& aMessage )
 	{
 	TInt KParamCaptureSetting = 0;