epoc32/include/mw/aknsrlparameter.h
author William Roberts <williamr@symbian.org>
Wed, 31 Mar 2010 12:33:34 +0100
branchSymbian3
changeset 4 837f303aceeb
parent 2 2fe1408b6811
permissions -rw-r--r--
Current Symbian^3 public API header files (from PDK 3.0.h)
This is the epoc32/include tree with the "platform" subtrees removed, and
all but a selected few mbg and rsg files removed.
     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