epoc32/include/mw/aknsrlparameter.h
author William Roberts <williamr@symbian.org>
Tue, 16 Mar 2010 16:12:26 +0000
branchSymbian2
changeset 2 2fe1408b6811
parent 1 666f914201fb
child 4 837f303aceeb
permissions -rw-r--r--
Final list of Symbian^2 public API header files
williamr@2
     1
/*
williamr@2
     2
* Copyright (c) 2004-2007 Nokia Corporation and/or its subsidiary(-ies).
williamr@2
     3
* All rights reserved.
williamr@2
     4
* This component and the accompanying materials are made available
williamr@2
     5
* under the terms of the License "Symbian Foundation License v1.0" to Symbian Foundation members and "Symbian Foundation End User License Agreement v1.0" to non-members
williamr@2
     6
* which accompanies this distribution, and is available
williamr@2
     7
* at the URL "http://www.symbianfoundation.org/legal/licencesv10.html".
williamr@2
     8
*
williamr@2
     9
* Initial Contributors:
williamr@2
    10
* Nokia Corporation - initial contribution.
williamr@2
    11
*
williamr@2
    12
* Contributors:
williamr@2
    13
*
williamr@2
    14
* Description:  ?Description
williamr@2
    15
*
williamr@2
    16
*/
williamr@2
    17
williamr@2
    18
williamr@2
    19
#ifndef AKNSRLPARAMETER_H
williamr@2
    20
#define AKNSRLPARAMETER_H
williamr@2
    21
williamr@2
    22
/**
williamr@2
    23
* Parameter type enumeration.
williamr@2
    24
*
williamr@2
    25
* @since 2.8
williamr@2
    26
*/
williamr@2
    27
enum TAknsRlParameterType
williamr@2
    28
    {
williamr@2
    29
    EAknsRlParameterTypeNumber    = 0,
williamr@2
    30
    EAknsRlParameterTypeString    = 1,
williamr@2
    31
    EAknsRlParameterTypeGraphics  = 2
williamr@2
    32
    };
williamr@2
    33
williamr@2
    34
/**
williamr@2
    35
* Content structure for graphics parameters.
williamr@2
    36
*
williamr@2
    37
* @since 2.8
williamr@2
    38
*/
williamr@2
    39
struct TAknsRlGraphicsParam 
williamr@2
    40
    {
williamr@2
    41
    const TDesC16* iFilename;
williamr@2
    42
    TInt iIndex;
williamr@2
    43
    TInt iMaskIndex;
williamr@2
    44
    };
williamr@2
    45
williamr@2
    46
/**
williamr@2
    47
* Parameter data structure.
williamr@2
    48
*
williamr@2
    49
* @since 2.8
williamr@2
    50
*/
williamr@2
    51
struct TAknsRlParameterData
williamr@2
    52
    {
williamr@2
    53
    /**
williamr@2
    54
    * Name (key) of the parameter.
williamr@2
    55
    * No ownership is vested in this structure.
williamr@2
    56
    * Guaranteed to be non-null.
williamr@2
    57
    *
williamr@2
    58
    * @since 2.8
williamr@2
    59
    */
williamr@2
    60
    const TDesC16* iName;
williamr@2
    61
williamr@2
    62
    /**
williamr@2
    63
    * Type of the parameter.
williamr@2
    64
    *
williamr@2
    65
    * @since 2.8
williamr@2
    66
    */
williamr@2
    67
    TAknsRlParameterType iType;
williamr@2
    68
williamr@2
    69
    union {
williamr@2
    70
        /**
williamr@2
    71
        * Value of a number parameter.
williamr@2
    72
        * This field is only valid in number parameters.
williamr@2
    73
        *
williamr@2
    74
        * @since 2.8
williamr@2
    75
        */
williamr@2
    76
        TInt iNumber;
williamr@2
    77
williamr@2
    78
        /**
williamr@2
    79
        * Value of a string parameter.
williamr@2
    80
        * No ownership is vested in this structure.
williamr@2
    81
        * This field is only valid in string parameters, and guaranteed
williamr@2
    82
        * to be non-null for them.
williamr@2
    83
        *
williamr@2
    84
        * @since 2.8
williamr@2
    85
        */
williamr@2
    86
        const TDesC16* iString;
williamr@2
    87
williamr@2
    88
        /**
williamr@2
    89
        * Value of a graphics parameter.
williamr@2
    90
        * No ownership is vested in this structure.
williamr@2
    91
        * This field is only valid in graphics parameters, and guaranteed
williamr@2
    92
        * to be non-null for them.
williamr@2
    93
        *
williamr@2
    94
        * @since 2.8
williamr@2
    95
        */
williamr@2
    96
        const TAknsRlGraphicsParam* iGfx;
williamr@2
    97
        
williamr@2
    98
        };
williamr@2
    99
    };
williamr@2
   100
williamr@2
   101
// FORWARD DECLARATIONS
williamr@2
   102
williamr@2
   103
// CLASS DECLARATION
williamr@2
   104
williamr@2
   105
/**
williamr@2
   106
* Interface to skin effect parameter iterator.
williamr@2
   107
*
williamr@2
   108
* @since 2.8
williamr@2
   109
*/
williamr@2
   110
class MAknsRlParameterIterator
williamr@2
   111
    {
williamr@2
   112
    public: // Constructors and destructor
williamr@2
   113
williamr@2
   114
        /**
williamr@2
   115
        * Destructor for internal use.
williamr@2
   116
        *
williamr@2
   117
        * Destructor is reserved for internal use. Client code usually does
williamr@2
   118
        * not destroy iterators.
williamr@2
   119
        */
williamr@2
   120
        inline virtual ~MAknsRlParameterIterator() {}
williamr@2
   121
williamr@2
   122
    public: // New functions
williamr@2
   123
williamr@2
   124
        /**
williamr@2
   125
        * Checks whether there are more parameters available.
williamr@2
   126
        *
williamr@2
   127
        * @return @c ETrue if subsequent @c GetNextL should succeed,
williamr@2
   128
        *   @c EFalse if @c GetNextL must not be called anymore.
williamr@2
   129
        *
williamr@2
   130
        * @since 2.8
williamr@2
   131
        */
williamr@2
   132
        virtual TBool HasNext() =0;
williamr@2
   133
williamr@2
   134
        /**
williamr@2
   135
        * Gets the next parameter.
williamr@2
   136
        *
williamr@2
   137
        * @return Pointer to the parameter data. The ownership is not
williamr@2
   138
        *   transferred. The data is guaranteed to be valid until
williamr@2
   139
        *   the next call to @c HasNext, @c NextL, or the iterator is
williamr@2
   140
        *   destroyed.
williamr@2
   141
        *
williamr@2
   142
        * @since 2.8
williamr@2
   143
        */
williamr@2
   144
        virtual const TAknsRlParameterData* NextL() =0;
williamr@2
   145
    };
williamr@2
   146
williamr@2
   147
#endif // AKNSRLPARAMETER_H
williamr@2
   148
            
williamr@2
   149
// End of File