304 // CLocationManagerServer::StartGPSPositioningL |
304 // CLocationManagerServer::StartGPSPositioningL |
305 // -------------------------------------------------------------------------- |
305 // -------------------------------------------------------------------------- |
306 // |
306 // |
307 void CLocationManagerServer::StartGPSPositioningL( RLocationTrail::TTrailCaptureSetting aCaptureSetting ) |
307 void CLocationManagerServer::StartGPSPositioningL( RLocationTrail::TTrailCaptureSetting aCaptureSetting ) |
308 { |
308 { |
|
309 LOG( "CLocationManagerServer::StartGPSPositioningL" ); |
309 if ( aCaptureSetting == RLocationTrail::EOff ) |
310 if ( aCaptureSetting == RLocationTrail::EOff ) |
310 { |
311 { |
311 return; |
312 return; |
312 } |
313 } |
313 |
314 |
333 // CLocationManagerServer::StopGPSPositioning |
334 // CLocationManagerServer::StopGPSPositioning |
334 // -------------------------------------------------------------------------- |
335 // -------------------------------------------------------------------------- |
335 // |
336 // |
336 void CLocationManagerServer::StopGPSPositioningL() |
337 void CLocationManagerServer::StopGPSPositioningL() |
337 { |
338 { |
|
339 LOG( "CLocationManagerServer::StopGPSPositioningL()" ); |
338 iCaptureSetting = RLocationTrail::EOff; |
340 iCaptureSetting = RLocationTrail::EOff; |
339 |
341 |
340 RLocationTrail::TTrailState state; |
342 RLocationTrail::TTrailState state; |
341 GetLocationTrailState( state ); |
343 GetLocationTrailState( state ); |
342 if( state == RLocationTrail::ETrailStarted || state == RLocationTrail::ETrailStarting ) |
344 |
343 { |
345 |
344 TRAPD( error, iTimer = CPeriodic::NewL( CActive::EPriorityStandard ) ); |
346 if( state != RLocationTrail::ETrailStopped && state != RLocationTrail::ETrailStopping ) |
|
347 { |
|
348 TRAPD( error, iTimer = CPeriodic::NewL( CActive::EPriorityHigh ) ); |
|
349 |
345 if ( error != KErrNone ) |
350 if ( error != KErrNone ) |
346 { |
351 { |
347 // If timer can't be created we stop the location trail immediately. |
352 // If timer can't be created we stop the location trail immediately. |
348 iLocationRecord->Stop(); |
353 iLocationRecord->Stop(); |
349 StopTrackLogL(); |
354 StopTrackLogL(); |
350 return; |
355 return; |
351 } |
356 } |
|
357 |
352 iLocationRecord->SetStateToStopping(); |
358 iLocationRecord->SetStateToStopping(); |
353 iTimer->Start( KLocationTrailRemappingCheckDelay * 1000000, 0, TCallBack( CheckForRemappingCallback, this ) ); |
359 iTimer->Start( iLocManStopDelay * 1000000, 0, TCallBack( CheckForRemappingCallback, this ) ); |
354 } |
360 } |
355 else if ( state != RLocationTrail::ETrailStopped && state != RLocationTrail::ETrailStopping ) |
|
356 { |
|
357 TInt delay( iLocManStopDelay ); |
|
358 if ( iLocationRecord->RemappingNeeded() ) |
|
359 { |
|
360 delay = iLocManStopRemapDelay; |
|
361 } |
|
362 |
|
363 TRAPD( error, iTimer = CPeriodic::NewL( CActive::EPriorityStandard ) ); |
|
364 if ( error != KErrNone ) |
|
365 { |
|
366 // If timer can't be created we stop the location trail immediately. |
|
367 iLocationRecord->Stop(); |
|
368 StopTrackLogL(); |
|
369 return; |
|
370 } |
|
371 iLocationRecord->SetStateToStopping(); |
|
372 iTimer->Start( delay * 1000000, 0, TCallBack( PositioningStopTimeout, this ) ); |
|
373 } |
|
374 |
361 |
375 // Always stop tracklog. |
362 // Always stop tracklog. |
376 StopTrackLogL(); |
363 StopTrackLogL(); |
377 } |
364 } |
378 |
365 |
391 // CLocationUtilityServer::PositioningStopTimeout |
379 // CLocationUtilityServer::PositioningStopTimeout |
392 // -------------------------------------------------------------------------- |
380 // -------------------------------------------------------------------------- |
393 // |
381 // |
394 TInt CLocationManagerServer::PositioningStopTimeout( TAny* aAny ) |
382 TInt CLocationManagerServer::PositioningStopTimeout( TAny* aAny ) |
395 { |
383 { |
|
384 LOG( "CLocationManagerServer::PositioningStopTimeout" ); |
396 CLocationManagerServer* self = STATIC_CAST( CLocationManagerServer*, aAny ); |
385 CLocationManagerServer* self = STATIC_CAST( CLocationManagerServer*, aAny ); |
397 self->StopRecording(); |
386 self->StopRecording(); |
398 |
387 |
399 return KErrNone; |
388 return KErrNone; |
400 } |
389 } |
403 // CLocationUtilityServer::PositioningStopTimeout |
392 // CLocationUtilityServer::PositioningStopTimeout |
404 // -------------------------------------------------------------------------- |
393 // -------------------------------------------------------------------------- |
405 // |
394 // |
406 TInt CLocationManagerServer::CheckForRemappingCallback( TAny* aAny ) |
395 TInt CLocationManagerServer::CheckForRemappingCallback( TAny* aAny ) |
407 { |
396 { |
|
397 LOG( "CLocationManagerServer::CheckForRemappingCallback" ); |
408 CLocationManagerServer* self = STATIC_CAST( CLocationManagerServer*, aAny ); |
398 CLocationManagerServer* self = STATIC_CAST( CLocationManagerServer*, aAny ); |
409 |
399 |
410 self->iTimer->Cancel(); |
400 self->iTimer->Cancel(); |
411 |
401 |
412 TInt delay( self->iLocManStopDelay ); |
|
413 if ( self->iLocationRecord->RemappingNeeded() ) |
402 if ( self->iLocationRecord->RemappingNeeded() ) |
414 { |
403 { |
415 delay = self->iLocManStopRemapDelay; |
404 self->iTimer->Start( self->iLocManStopRemapDelay * 1000000, 0, TCallBack( PositioningStopTimeout, self ) ); |
416 self->iTimer->Start( delay * 1000000, 0, TCallBack( PositioningStopTimeout, self ) ); |
|
417 } |
405 } |
418 else |
406 else |
419 { |
407 { |
420 delete self->iTimer; |
408 self->StopRecording(); |
421 self->iTimer = NULL; |
|
422 self->iLocationRecord->Stop(); |
|
423 } |
409 } |
424 |
410 |
425 return KErrNone; |
411 return KErrNone; |
426 } |
412 } |
427 |
413 |
487 // CLocationManagerServer::GetLocationByTimeL |
473 // CLocationManagerServer::GetLocationByTimeL |
488 // -------------------------------------------------------------------------- |
474 // -------------------------------------------------------------------------- |
489 // |
475 // |
490 void CLocationManagerServer::GetLocationByTimeL( const TTime& aTimeStamp, |
476 void CLocationManagerServer::GetLocationByTimeL( const TTime& aTimeStamp, |
491 TLocationData& aLocationData, |
477 TLocationData& aLocationData, |
492 TLocTrailState& aState ) |
478 TLocTrailState& aState ) __SOFTFP |
493 { |
479 { |
494 iLocationRecord->GetLocationByTimeL( aTimeStamp, |
480 iLocationRecord->GetLocationByTimeL( aTimeStamp, |
495 aLocationData, |
481 aLocationData, |
496 aState ); |
482 aState ); |
497 } |
483 } |
541 |
527 |
542 // -------------------------------------------------------------------------- |
528 // -------------------------------------------------------------------------- |
543 // CLocationManagerServer::GetCurrentCellId |
529 // CLocationManagerServer::GetCurrentCellId |
544 // -------------------------------------------------------------------------- |
530 // -------------------------------------------------------------------------- |
545 // |
531 // |
546 void CLocationManagerServer::GetCurrentNetworkInfo( CTelephony::TNetworkInfoV1& aNetworkInfo ) |
532 void CLocationManagerServer::GetCurrentNetworkInfo( CTelephony::TNetworkInfoV1& aNetworkInfo ) __SOFTFP |
547 { |
533 { |
548 iLocationRecord->GetNetworkInfo( aNetworkInfo ); |
534 iLocationRecord->GetNetworkInfo( aNetworkInfo ); |
549 } |
535 } |
550 |
536 |
551 // -------------------------------------------------------------------------- |
537 // -------------------------------------------------------------------------- |
552 // CLocationManagerServer::LocationTrailStateChange |
538 // CLocationManagerServer::LocationTrailStateChange |
553 // -------------------------------------------------------------------------- |
539 // -------------------------------------------------------------------------- |
554 // |
540 // |
555 void CLocationManagerServer::LocationTrailStateChange() |
541 void CLocationManagerServer::LocationTrailStateChange() __SOFTFP |
556 { |
542 { |
557 LOG( "CLocationManagerServer::LocationTrailStateChange(), begin" ); |
543 LOG( "CLocationManagerServer::LocationTrailStateChange(), begin" ); |
558 |
544 |
559 for ( TInt i = iNotifReqs.Count(); --i >= 0; ) |
545 for ( TInt i = iNotifReqs.Count(); --i >= 0; ) |
560 { |
546 { |
573 // CLocationManagerServer::CurrentLocation |
559 // CLocationManagerServer::CurrentLocation |
574 // -------------------------------------------------------------------------- |
560 // -------------------------------------------------------------------------- |
575 // |
561 // |
576 void CLocationManagerServer::CurrentLocation( const TPositionSatelliteInfo& aSatelliteInfo, |
562 void CLocationManagerServer::CurrentLocation( const TPositionSatelliteInfo& aSatelliteInfo, |
577 const CTelephony::TNetworkInfoV1& aNetworkInfo, |
563 const CTelephony::TNetworkInfoV1& aNetworkInfo, |
578 const TInt aError ) |
564 const TInt aError ) __SOFTFP |
579 { |
565 { |
580 LOG( "CLocationManagerServer::CurrentLocation(), begin" ); |
566 LOG( "CLocationManagerServer::CurrentLocation(), begin" ); |
581 const TInt KParamLocationData = 0; |
567 const TInt KParamLocationData = 0; |
582 |
568 |
583 TLocationData locationData; |
569 TLocationData locationData; |
620 iLocationReqs.Reset(); |
606 iLocationReqs.Reset(); |
621 |
607 |
622 LOG( "CLocationManagerServer::CurrentLocation(), end" ); |
608 LOG( "CLocationManagerServer::CurrentLocation(), end" ); |
623 } |
609 } |
624 |
610 |
625 void CLocationManagerServer::GPSSignalQualityChanged( const TPositionSatelliteInfo& aSatelliteInfo ) |
611 void CLocationManagerServer::GPSSignalQualityChanged( const TPositionSatelliteInfo& aSatelliteInfo ) __SOFTFP |
626 { |
612 { |
627 LOG( "CLocationManagerServer::GPSSignalQualityChanged" ); |
613 LOG( "CLocationManagerServer::GPSSignalQualityChanged" ); |
628 const TInt KFixParam = 0; |
614 const TInt KFixParam = 0; |
629 const TInt KPositionInfoParam = 1; |
615 const TInt KPositionInfoParam = 1; |
630 const TInt KEventTypeParam = 2; |
616 const TInt KEventTypeParam = 2; |
695 |
681 |
696 LOG( "CLocationManagerServer::CancelTrackLogNotificationRequest(), end" ); |
682 LOG( "CLocationManagerServer::CancelTrackLogNotificationRequest(), end" ); |
697 } |
683 } |
698 |
684 |
699 void CLocationManagerServer::CreateLocationObjectL( const TLocationData& aLocationData, |
685 void CLocationManagerServer::CreateLocationObjectL( const TLocationData& aLocationData, |
700 const TUint& aObjectId ) |
686 const TUint& aObjectId ) __SOFTFP |
701 { |
687 { |
702 if ( !IsSessionReady() ) |
688 if ( !IsSessionReady() ) |
703 { |
689 { |
704 User::Leave( KErrNotReady ); |
690 User::Leave( KErrNotReady ); |
705 } |
691 } |
1056 { |
1042 { |
1057 aRec = iTrackLog->IsRecording(); |
1043 aRec = iTrackLog->IsRecording(); |
1058 } |
1044 } |
1059 |
1045 |
1060 void CLocationManagerServer::GpxFileCreated( const TDesC& aFileName, TItemId aTagId, |
1046 void CLocationManagerServer::GpxFileCreated( const TDesC& aFileName, TItemId aTagId, |
1061 TReal32 aLength, TTime aStart, TTime aEnd ) |
1047 TReal32 aLength, TTime aStart, TTime aEnd ) __SOFTFP |
1062 { |
1048 { |
1063 TRAP_IGNORE( CreateTrackLogL( aTagId, aFileName, aLength, aStart, aEnd ) ); |
1049 TRAP_IGNORE( CreateTrackLogL( aTagId, aFileName, aLength, aStart, aEnd ) ); |
1064 } |
1050 } |
1065 |
1051 |
1066 TItemId CLocationManagerServer::CreateTrackLogTagL() |
1052 TItemId CLocationManagerServer::CreateTrackLogTagL() |