locsrv_pub/landmarks_api/inc/EPos_CPosLmPartialReadParameters.h
changeset 0 667063e416a2
equal deleted inserted replaced
-1:000000000000 0:667063e416a2
       
     1 /*
       
     2 * Copyright (c) 2005-2006 Nokia Corporation and/or its subsidiary(-ies). 
       
     3 * All rights reserved.
       
     4 * This component and the accompanying materials are made available
       
     5 * under the terms of "Eclipse Public License v1.0"
       
     6 * which accompanies this distribution, and is available
       
     7 * at the URL "http://www.eclipse.org/legal/epl-v10.html".
       
     8 *
       
     9 * Initial Contributors:
       
    10 * Nokia Corporation - initial contribution.
       
    11 *
       
    12 * Contributors:
       
    13 *
       
    14 * Description:  CPosLmPartialReadParameters class
       
    15 *
       
    16 */
       
    17 
       
    18 
       
    19 #ifndef CPOSLMPARTIALREADPARAMETERS_H
       
    20 #define CPOSLMPARTIALREADPARAMETERS_H
       
    21 
       
    22 #include <e32base.h>
       
    23 #include <lbsfields.h>
       
    24 #include "EPos_CPosLandmark.h"
       
    25 
       
    26 /**
       
    27 *  Container class for partial landmark settings.
       
    28 *  Partial settings are used to define which landmark data should be returned
       
    29 *  when @ref CPosLandmarkDatabase::ReadPartialLandmarkLC is called.
       
    30 *
       
    31 *  @lib eposlandmarks.lib
       
    32 *  @since S60 3.0
       
    33 */
       
    34 class CPosLmPartialReadParameters : public CBase
       
    35     {
       
    36     public:
       
    37 
       
    38         /**
       
    39         * Two-phased constructor.
       
    40         * @returns A new instance of this class.
       
    41         */
       
    42         IMPORT_C static CPosLmPartialReadParameters* NewLC();
       
    43 
       
    44         /**
       
    45         * Destructor.
       
    46         */
       
    47         virtual ~CPosLmPartialReadParameters();
       
    48 
       
    49     public:
       
    50 
       
    51         /**
       
    52         * Returns a bitmap of the landmark attributes which should be included
       
    53         * in a partial landmark.
       
    54         *
       
    55         * The bitmap is a combination of the values in
       
    56         * CPosLandmark::TAttribute.
       
    57         *
       
    58         * @return The partial landmark attributes bitmap.
       
    59         */
       
    60         IMPORT_C CPosLandmark::TAttributes RequestedAttributes() const;
       
    61 
       
    62         /**
       
    63         * Sets a bitmap of the landmark attributes which should be included in
       
    64         * a partial landmark.
       
    65         *
       
    66         * The bitmap is constructed from the values in
       
    67         * CPosLandmark::TAttribute.
       
    68         *
       
    69         * @param[in] aAttributes A partial landmark attributes bitmap.
       
    70         */
       
    71         IMPORT_C void SetRequestedAttributes(
       
    72             CPosLandmark::TAttributes aAttributes
       
    73         );
       
    74 
       
    75         /**
       
    76         * Returns the position fields which should be included in a partial
       
    77         * landmark.
       
    78         *
       
    79         * @param[out] aRequestedFields Will contain the requested position fields,
       
    80         *   i.e. @p TPositionFieldId.
       
    81         * @returns @p KErrNone if successful, otherwise one of the system wide
       
    82         *   error codes.
       
    83         */
       
    84         IMPORT_C TInt GetRequestedPositionFields(
       
    85             RArray<TUint>& aRequestedFields
       
    86         ) const;
       
    87 
       
    88         /**
       
    89         * Sets the position fields which should be included in a partial
       
    90         * landmark.
       
    91         *
       
    92         * @param[in] aRequestedFields The requested position fields, i.e.
       
    93         *   @p TPositionFieldId.
       
    94         * @returns @p KErrNone if successful, otherwise one of the system wide
       
    95         *   error codes.
       
    96         */
       
    97         IMPORT_C TInt SetRequestedPositionFields(
       
    98             const RArray<TUint>& aRequestedFields
       
    99         );
       
   100 
       
   101     private:
       
   102 
       
   103         // C++ constructor.
       
   104         CPosLmPartialReadParameters();
       
   105 
       
   106         // Symbian constructor
       
   107         void ConstructL();
       
   108 
       
   109         // Prohibit copy constructor
       
   110         CPosLmPartialReadParameters(
       
   111             const CPosLmPartialReadParameters& );
       
   112         // Prohibit assigment operator
       
   113         CPosLmPartialReadParameters& operator= (
       
   114             const CPosLmPartialReadParameters& );
       
   115 
       
   116     private:
       
   117 
       
   118         // Requested position fields
       
   119         RArray<TUint> iRequestedFields;
       
   120 
       
   121         // Requested attributes
       
   122         TUint32 iAttributes;
       
   123     };
       
   124 
       
   125 #endif      // CPOSLMPARTIALREADPARAMETERS_H
       
   126 
       
   127