menucontentsrv/srvinc/mcsgetlistcreatorinterface.h
branchRCL_3
changeset 23 ace62b58f4b2
parent 0 79c6a41cd166
equal deleted inserted replaced
22:1b207dd38b72 23:ace62b58f4b2
     1 /*
     1 /*
     2 * Copyright (c) 2008 Nokia Corporation and/or its subsidiary(-ies). 
     2 * Copyright (c) 2008 Nokia Corporation and/or its subsidiary(-ies).
     3 * All rights reserved.
     3 * All rights reserved.
     4 * This component and the accompanying materials are made available
     4 * This component and the accompanying materials are made available
     5 * under the terms of "Eclipse Public License v1.0"
     5 * under the terms of "Eclipse Public License v1.0"
     6 * which accompanies this distribution, and is available
     6 * which accompanies this distribution, and is available
     7 * at the URL "http://www.eclipse.org/legal/epl-v10.html".
     7 * at the URL "http://www.eclipse.org/legal/epl-v10.html".
     9 * Initial Contributors:
     9 * Initial Contributors:
    10 * Nokia Corporation - initial contribution.
    10 * Nokia Corporation - initial contribution.
    11 *
    11 *
    12 * Contributors:
    12 * Contributors:
    13 *
    13 *
    14 * Description:  The API supports item information that is not supported by 
    14 * Description:  The API supports item information that is not supported by
    15 *                the MCS server itself
    15 *                the MCS server itself
    16 *
    16 *
    17 */
    17 */
    18 
    18 
    19 
    19 
    24 
    24 
    25 //forward declarations
    25 //forward declarations
    26 class CLiwDefaultList;
    26 class CLiwDefaultList;
    27 class CLiwDefaultMap;
    27 class CLiwDefaultMap;
    28 class CMenuSrvEng;
    28 class CMenuSrvEng;
    29 
       
    30 
       
    31 /**
       
    32  * CMcsGetAttrStrategy
       
    33  * Abstract class for sttribute getting strategy
       
    34  * @since S60 v5.0
       
    35  */
       
    36 NONSHARABLE_CLASS( CMcsGetAttrStrategy ): public CBase
       
    37 	{
       
    38 public:
       
    39 
       
    40 	/**
       
    41 	 * Constructor.
       
    42 	 */
       
    43 	CMcsGetAttrStrategy( CMenuSrvEng& aEng );
       
    44 
       
    45 	/**
       
    46 	 * Destructor.
       
    47 	 */
       
    48 	virtual ~CMcsGetAttrStrategy();
       
    49 
       
    50 
       
    51 	/**
       
    52 	 * TODO: add comment
       
    53 	 */
       
    54 	virtual void PrepareL(TInt aId) = 0;
       
    55 
       
    56 	/**
       
    57 	 * Get attribute value.
       
    58 	 * @since S60 v5.0
       
    59 	 * @param aAttrName Attribute name.
       
    60 	 * @param aAttrExists Will be set to indicate whether attribute exists
       
    61 	 * or not.
       
    62 	 * @return Attribute value. Empty string if attribute does not exist.
       
    63 	 */
       
    64 	virtual void GetAttributeL(const TDesC& aAttrName,
       
    65 	        TBool& aAttrExists, TDes& aAttrVal ) = 0;
       
    66 
       
    67 protected:
       
    68 	/**
       
    69 	 * Engine. not own
       
    70 	 */
       
    71 	CMenuSrvEng& iEng;
       
    72 	};
       
    73 
       
    74 
    29 
    75 /**
    30 /**
    76  *  Interface for creating list containg result for getlist operation
    31  *  Interface for creating list containg result for getlist operation
    77  *
    32  *
    78  * @since S60 v3.2
    33  * @since S60 v3.2
   193 			CLiwDefaultMap* aMap );
   148 			CLiwDefaultMap* aMap );
   194 
   149 
   195 	/*
   150 	/*
   196 	 * Sets actual attribute getting strategy for give item id.
   151 	 * Sets actual attribute getting strategy for give item id.
   197 	 */
   152 	 */
   198 	void SetGetterStrategyL(TInt aId);
   153 	void SetItemIdL(TInt aId);
   199 
   154 
   200 protected:
   155 protected:
   201 	/**
   156 	/**
   202 	 * Engine. not own
   157 	 * Engine. not own
   203 	 */
   158 	 */
   204 	CMenuSrvEng& iEng ;
   159 	CMenuSrvEng& iEng ;
   205 	CMcsGetAttrStrategy* iActualGetter; ///< Actual strategy for item.
   160     TInt iId; ///< a id of an item.
   206 	CMcsGetAttrStrategy* iSuiteGetter;  ///< Get strategy for suite. Own.
       
   207 	CMcsGetAttrStrategy* iNormalGetter; ///< Get strategy for not suite. Own.
       
   208     };
   161     };
   209 #endif __MCSGETLISTCREATORINTERFACE_H__
   162 #endif __MCSGETLISTCREATORINTERFACE_H__