basiclocationinfodisplay/blid/engine/inc/MBlidLocation.h
author Pat Downey <patd@symbian.org>
Wed, 01 Sep 2010 12:31:27 +0100
branchRCL_3
changeset 18 870918037e16
parent 0 522cd55cc3d7
permissions -rw-r--r--
Revert incorrect RCL_3 drop: Revision: 201033 Kit: 201035

/*
* Copyright (c) 2005 Nokia Corporation and/or its subsidiary(-ies).
* All rights reserved.
* This component and the accompanying materials are made available
* under the terms of "Eclipse Public License v1.0"
* which accompanies this distribution, and is available
* at the URL "http://www.eclipse.org/legal/epl-v10.html".
*
* Initial Contributors:
* Nokia Corporation - initial contribution.
*
* Contributors:
*
* Description:  Blid Location can be requested.
*
*/



#ifndef __MBLIDLOCATION_H__
#define __MBLIDLOCATION_H__

// INCLUDES
#include <lbspositioninfo.h>
#include <lbs.h>

// FORWARD DECLARATIONS
class MBlidEngObserver;
class TPosition;
class TCourse;
class RPositionServer;
// CLASS DECLARATION

/**
*  This Blid application engine API is only used by Blid application.
*  Blid location can be requested with help of this API.
*
*/
class MBlidLocation
    {
    public:  // Constructors and destructor
        /**
         * Destructor.
         */
        virtual ~MBlidLocation(){};

    public: // New functions
        /**
         * Sets location observer
		 *
         * @param aObserver A reference to observer
         */
        virtual void SetObserver(MBlidEngObserver& aObserver, TInt aViewId) = 0;

        /**
         * Removes location observer
         *
         */
        virtual void RemoveModelObserver() = 0;

        /**
         * Initialize location request, must call StartRequesting()
         * method after this.
         */
        virtual void InitialLocationRequestL( const TDesC& aSrvName ) = 0;

        /**
         * Get current position
         *
         */
        virtual TPosition& GetCurrentPosition() = 0;

        /**
         * Get position course info
         *
         */
        virtual TCourse& GetCourse() = 0;

        /**
         * Cancel request
         */
        virtual void CancelRequest() = 0;

        /**
         * Stop requesting
         */
        virtual void StopRequesting() = 0;

        /**
         * Start requesting
         */
        virtual void StartRequesting() = 0;

        /**
         * Is application online or offline mode
         * ETrue = online, EFalse = offline
         */
        virtual TBool IsOnline() = 0;

        /**
         * Is PSY capable of returning satellite information
         * ETrue if can, EFalse id can't
         */
        virtual TBool SatelliteCapability() = 0;

        /**
         * Return speed average
         * @return speed average
         */
        virtual TReal SpeedAverage() = 0;

        /**
         * Return status of position query
         * @return istatus
         */
        virtual TInt GetPositionInfoStatus() = 0;

        /**
         * Return status of the PSY
         * @return istatus
         */
        virtual void GetModuleInfoStatus(TPositionModuleStatusBase& aPosModuleStatus) = 0;

        /**
         * Returns number of satellites
         * @return istatus
         */
        virtual void GetNumOfSatellitesL(TInt& anumSatellites) = 0;
        
        /**
         * Return max speed
         * @returns max speed
         */
        virtual TReal MaxSpeed() = 0;

	    /**
         * Resets max speed variable
         * 
         */
        virtual void ResetMaxSpeed() = 0;

	    /**
         * Resets avg speed variable
         * 
         */
        virtual void ResetAvgSpeed()=0;
        
        /**
         * Set the trip start variable
         */
        virtual void SetTripStartL( )=0 ;
        
        /**
         * Return the iIsTripStart variable
         */
        virtual TBool HasTripStarted( )=0 ;
        
        /**
         * Set the trip stop variable
         */
        virtual void SetTripStop()=0 ;
        
        /**
         * Return the iIsTripNotStart variable
         */
        virtual TBool HasTripNotStarted( ) =0 ;

    	/**
    	 * All the display for the current trip are
    	 * reset
    	 */
         virtual void ResetTrip() = 0;

         virtual void GetTripTime(  TTimeIntervalSeconds& aTime )=0;  
            
         virtual void GetTotalTime( TTimeIntervalSeconds& aTime )=0;  
            
         virtual TBool IsTripDistanceTravelled()=0; 
            
         virtual TBool IsTotalDistanceTravelled() = 0; 
            
         virtual void GetTripDistance( TReal32& aDistance ) = 0; 
            
         virtual void GetTotalDistance( TReal32& aDistance ) = 0; 
            
         virtual void SetTripResumeL()=0;     
         
         /**
          * Set the trip clear variable
          */
         virtual void SetTripClear( ) = 0 ;
            
         /**
          * Return the iIsTripClear variable
          */
         virtual TBool IsTripCleared( ) = 0 ;
            
         /**
          * To set the iIsTripClear variable to false
          */
         virtual void ResetTripClear() = 0;  
         
         /**
         * Function to check if trip
         * is stopped and is reset
         */
         virtual TBool IsTripReset() = 0;
         
         /**
         * Function to return the recorded 
         * heading
         *
         */
         virtual TReal32 GetHeading() = 0;
         
         /**
         * Function to check if GPS
         * device is paired and if available
         */
         virtual TInt CheckGPSAvailability() = 0;
         
         /**
         * Function to check if GPS
         * data is available. i.e 
         * if satellites are visible
         */
         virtual TBool IsGPSDataAvailable() = 0;
         
         /**
         * Trip meter function to get the
         * average speed in the trip
         */
         virtual TReal32 GetTripAverageSpeed() = 0;
         
         /**
         * Trip meter function to get the
         * maximum speed in the trip
         */
         virtual TReal32 GetTripMaxSpeed() = 0;
         
         /**
         * Trip meter function to determine
         * if GPS data was lost when trip was running
         */
         virtual TBool WasGPSDataLost() = 0;
        
         /**
         * Set function for trip meter GPS data
         * availability
         */
         virtual void SetGPSDataAvailability(TBool aAvailability) = 0;
         
         /**
         * Function to get the current update
         * interval set
         */
         virtual void GetCurrentUpdateInterval(TInt& aInterval) = 0;
         
         /**
         * Function to determine if GPS data was available
         * when trip was stopped
         */
         virtual TBool WasGPSAvailableOnTripStop() = 0;
         
         /**
         * Function to check if GPS data is awaited.
         * Returns true if connection to the GPS device is 
         * being established or if connection is being established
         * and some satellites are visible but fix not available
         */
         virtual TBool WaitingGPSData() = 0;
         
         /**
         * Function to get the PSY connection status
         */         
         virtual TBool IsGPSDeviceConnected() = 0;
         
         /**
         * Function to get the Registered View ID
         */         
         virtual TInt GetRegisteredViewId() = 0;
         
         /**
         * Function to get the PSY module status
         * notification event to CBlidLocation //added for TSW error.
         */         
         virtual void GetModuleInfoNotificationL() = 0;

        /**
         * Set the Navigation start variable
         */
        virtual void SetNavigationStart( TBool aNavigationStart )=0 ;
        
        /**
         * Reset Odometer Valye
         */
        virtual void ResetOdometerValue()=0 ;
        
        virtual TBool IsSatCapablePsyAvailable() = 0;
        
        virtual TInt NumberOfSatellitesVisible() = 0;
        
        virtual TBool IsSatellitesUsed( TInt aIndex ) = 0;
        
        virtual TInt GetSatelliteSignalStrength( TInt aIndex ) = 0;
        
        virtual TInt GetSatelliteNo( TInt aIndex ) = 0;
         
    };

#endif      // __MBLIDLOCATION_H__

// End of File