2 * Copyright (c) 2004-2007 Nokia Corporation and/or its subsidiary(-ies).
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".
9 * Initial Contributors:
10 * Nokia Corporation - initial contribution.
14 * Description: ?Description
19 #ifndef AKNSRLPARAMETER_H
20 #define AKNSRLPARAMETER_H
23 * Parameter type enumeration.
27 enum TAknsRlParameterType
29 EAknsRlParameterTypeNumber = 0,
30 EAknsRlParameterTypeString = 1,
31 EAknsRlParameterTypeGraphics = 2
35 * Content structure for graphics parameters.
39 struct TAknsRlGraphicsParam
41 const TDesC16* iFilename;
47 * Parameter data structure.
51 struct TAknsRlParameterData
54 * Name (key) of the parameter.
55 * No ownership is vested in this structure.
56 * Guaranteed to be non-null.
63 * Type of the parameter.
67 TAknsRlParameterType iType;
71 * Value of a number parameter.
72 * This field is only valid in number parameters.
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.
86 const TDesC16* iString;
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.
96 const TAknsRlGraphicsParam* iGfx;
101 // FORWARD DECLARATIONS
106 * Interface to skin effect parameter iterator.
110 class MAknsRlParameterIterator
112 public: // Constructors and destructor
115 * Destructor for internal use.
117 * Destructor is reserved for internal use. Client code usually does
118 * not destroy iterators.
120 inline virtual ~MAknsRlParameterIterator() {}
122 public: // New functions
125 * Checks whether there are more parameters available.
127 * @return @c ETrue if subsequent @c GetNextL should succeed,
128 * @c EFalse if @c GetNextL must not be called anymore.
132 virtual TBool HasNext() =0;
135 * Gets the next parameter.
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
144 virtual const TAknsRlParameterData* NextL() =0;
147 #endif // AKNSRLPARAMETER_H