uiresources_pub/skins_api/inc/AknsRlParameter.h
changeset 0 05e9090e2422
equal deleted inserted replaced
-1:000000000000 0:05e9090e2422
       
     1 /*
       
     2 * Copyright (c) 2004-2007 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:  ?Description
       
    15 *
       
    16 */
       
    17 
       
    18 
       
    19 #ifndef AKNSRLPARAMETER_H
       
    20 #define AKNSRLPARAMETER_H
       
    21 
       
    22 /**
       
    23 * Parameter type enumeration.
       
    24 *
       
    25 * @since 2.8
       
    26 */
       
    27 enum TAknsRlParameterType
       
    28     {
       
    29     EAknsRlParameterTypeNumber    = 0,
       
    30     EAknsRlParameterTypeString    = 1,
       
    31     EAknsRlParameterTypeGraphics  = 2
       
    32     };
       
    33 
       
    34 /**
       
    35 * Content structure for graphics parameters.
       
    36 *
       
    37 * @since 2.8
       
    38 */
       
    39 struct TAknsRlGraphicsParam 
       
    40     {
       
    41     const TDesC16* iFilename;
       
    42     TInt iIndex;
       
    43     TInt iMaskIndex;
       
    44     };
       
    45 
       
    46 /**
       
    47 * Parameter data structure.
       
    48 *
       
    49 * @since 2.8
       
    50 */
       
    51 struct TAknsRlParameterData
       
    52     {
       
    53     /**
       
    54     * Name (key) of the parameter.
       
    55     * No ownership is vested in this structure.
       
    56     * Guaranteed to be non-null.
       
    57     *
       
    58     * @since 2.8
       
    59     */
       
    60     const TDesC16* iName;
       
    61 
       
    62     /**
       
    63     * Type of the parameter.
       
    64     *
       
    65     * @since 2.8
       
    66     */
       
    67     TAknsRlParameterType iType;
       
    68 
       
    69     union {
       
    70         /**
       
    71         * Value of a number parameter.
       
    72         * This field is only valid in number parameters.
       
    73         *
       
    74         * @since 2.8
       
    75         */
       
    76         TInt iNumber;
       
    77 
       
    78         /**
       
    79         * Value of a string parameter.
       
    80         * No ownership is vested in this structure.
       
    81         * This field is only valid in string parameters, and guaranteed
       
    82         * to be non-null for them.
       
    83         *
       
    84         * @since 2.8
       
    85         */
       
    86         const TDesC16* iString;
       
    87 
       
    88         /**
       
    89         * Value of a graphics parameter.
       
    90         * No ownership is vested in this structure.
       
    91         * This field is only valid in graphics parameters, and guaranteed
       
    92         * to be non-null for them.
       
    93         *
       
    94         * @since 2.8
       
    95         */
       
    96         const TAknsRlGraphicsParam* iGfx;
       
    97         
       
    98         };
       
    99     };
       
   100 
       
   101 // FORWARD DECLARATIONS
       
   102 
       
   103 // CLASS DECLARATION
       
   104 
       
   105 /**
       
   106 * Interface to skin effect parameter iterator.
       
   107 *
       
   108 * @since 2.8
       
   109 */
       
   110 class MAknsRlParameterIterator
       
   111     {
       
   112     public: // Constructors and destructor
       
   113 
       
   114         /**
       
   115         * Destructor for internal use.
       
   116         *
       
   117         * Destructor is reserved for internal use. Client code usually does
       
   118         * not destroy iterators.
       
   119         */
       
   120         inline virtual ~MAknsRlParameterIterator() {}
       
   121 
       
   122     public: // New functions
       
   123 
       
   124         /**
       
   125         * Checks whether there are more parameters available.
       
   126         *
       
   127         * @return @c ETrue if subsequent @c GetNextL should succeed,
       
   128         *   @c EFalse if @c GetNextL must not be called anymore.
       
   129         *
       
   130         * @since 2.8
       
   131         */
       
   132         virtual TBool HasNext() =0;
       
   133 
       
   134         /**
       
   135         * Gets the next parameter.
       
   136         *
       
   137         * @return Pointer to the parameter data. The ownership is not
       
   138         *   transferred. The data is guaranteed to be valid until
       
   139         *   the next call to @c HasNext, @c NextL, or the iterator is
       
   140         *   destroyed.
       
   141         *
       
   142         * @since 2.8
       
   143         */
       
   144         virtual const TAknsRlParameterData* NextL() =0;
       
   145     };
       
   146 
       
   147 #endif // AKNSRLPARAMETER_H
       
   148             
       
   149 // End of File