locationlandmarksrefappfors60/Inc/LandmarksUtils.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) 2004-2007 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:  
*     See class description below
*
*/


#ifndef __LANDMARKS_UTILS_H__
#define __LANDMARKS_UTILS_H__

/** 
* Coordinate data conversion utility methods
*/
class LandmarksUtils
    {
      public:

        /** Converts a float to a descriptor.
        * Handles the case when the float is NaN
        * @param aFloat the source float
        * @param aDes the target descriptor
        * @param aRealFormat Format used for real value conversion to text
        */
        static void FloatToDes(TReal aFloat, TDes& aDes, TRealFormat aRealFormat);

        /** Converts a float lat/long to a descriptor.
        * Handles the case when the float is NaN
        * @param aFloat the source float
        * @param aDes the target descriptor
        */
        static void LatLongToDes(TReal aFloat, TDes& aDes);

        /** Converts a latitude or longitude in float format 
        * to a descriptor containing degrees, minutes and seconds.
        *
        * @param aLatLong the source float
        * @param aDes the target descriptor (degrees, minutes and seconds)
        */
        static void LatLongFloatToDegMinSecDesL(TReal aLatLong, TDes& aDes);
        
        /** Panics the application due to some programming error
        * @param aReason The panic number or error code
        */
        static void Panic(TInt aReason);
        
        /** Pops up error note for user with given text */
        static void ErrorNoteL( const TDesC& aErrorText );
      
        /** Pops up information note for user with given text */
        static void InfoNoteL( const TDesC& aInfoText );

      private:
      
        //! Internal struct for LatLongFloatToDegMinSecDesL
        struct SDegMinSec
            {
            //! degrees
            TInt32 iDegrees;
            //! minutes
            TInt32 iMinutes;
            //! seconds
            TReal iSeconds;
            };
    };

#endif // __LANDMARKS_UTILS_H__