williamr@2: /* williamr@2: * Copyright (c) 2004-2007 Nokia Corporation and/or its subsidiary(-ies). williamr@2: * All rights reserved. williamr@2: * This component and the accompanying materials are made available williamr@2: * 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: * which accompanies this distribution, and is available williamr@2: * at the URL "http://www.symbianfoundation.org/legal/licencesv10.html". williamr@2: * williamr@2: * Initial Contributors: williamr@2: * Nokia Corporation - initial contribution. williamr@2: * williamr@2: * Contributors: williamr@2: * williamr@2: * Description: ?Description williamr@2: * williamr@2: */ williamr@2: williamr@2: williamr@2: #ifndef AKNSRLPARAMETER_H williamr@2: #define AKNSRLPARAMETER_H williamr@2: williamr@2: /** williamr@2: * Parameter type enumeration. williamr@2: * williamr@2: * @since 2.8 williamr@2: */ williamr@2: enum TAknsRlParameterType williamr@2: { williamr@2: EAknsRlParameterTypeNumber = 0, williamr@2: EAknsRlParameterTypeString = 1, williamr@2: EAknsRlParameterTypeGraphics = 2 williamr@2: }; williamr@2: williamr@2: /** williamr@2: * Content structure for graphics parameters. williamr@2: * williamr@2: * @since 2.8 williamr@2: */ williamr@2: struct TAknsRlGraphicsParam williamr@2: { williamr@2: const TDesC16* iFilename; williamr@2: TInt iIndex; williamr@2: TInt iMaskIndex; williamr@2: }; williamr@2: williamr@2: /** williamr@2: * Parameter data structure. williamr@2: * williamr@2: * @since 2.8 williamr@2: */ williamr@2: struct TAknsRlParameterData williamr@2: { williamr@2: /** williamr@2: * Name (key) of the parameter. williamr@2: * No ownership is vested in this structure. williamr@2: * Guaranteed to be non-null. williamr@2: * williamr@2: * @since 2.8 williamr@2: */ williamr@2: const TDesC16* iName; williamr@2: williamr@2: /** williamr@2: * Type of the parameter. williamr@2: * williamr@2: * @since 2.8 williamr@2: */ williamr@2: TAknsRlParameterType iType; williamr@2: williamr@2: union { williamr@2: /** williamr@2: * Value of a number parameter. williamr@2: * This field is only valid in number parameters. williamr@2: * williamr@2: * @since 2.8 williamr@2: */ williamr@2: TInt iNumber; williamr@2: williamr@2: /** williamr@2: * Value of a string parameter. williamr@2: * No ownership is vested in this structure. williamr@2: * This field is only valid in string parameters, and guaranteed williamr@2: * to be non-null for them. williamr@2: * williamr@2: * @since 2.8 williamr@2: */ williamr@2: const TDesC16* iString; williamr@2: williamr@2: /** williamr@2: * Value of a graphics parameter. williamr@2: * No ownership is vested in this structure. williamr@2: * This field is only valid in graphics parameters, and guaranteed williamr@2: * to be non-null for them. williamr@2: * williamr@2: * @since 2.8 williamr@2: */ williamr@2: const TAknsRlGraphicsParam* iGfx; williamr@2: williamr@2: }; williamr@2: }; williamr@2: williamr@2: // FORWARD DECLARATIONS williamr@2: williamr@2: // CLASS DECLARATION williamr@2: williamr@2: /** williamr@2: * Interface to skin effect parameter iterator. williamr@2: * williamr@2: * @since 2.8 williamr@2: */ williamr@2: class MAknsRlParameterIterator williamr@2: { williamr@2: public: // Constructors and destructor williamr@2: williamr@2: /** williamr@2: * Destructor for internal use. williamr@2: * williamr@2: * Destructor is reserved for internal use. Client code usually does williamr@2: * not destroy iterators. williamr@2: */ williamr@2: inline virtual ~MAknsRlParameterIterator() {} williamr@2: williamr@2: public: // New functions williamr@2: williamr@2: /** williamr@2: * Checks whether there are more parameters available. williamr@2: * williamr@2: * @return @c ETrue if subsequent @c GetNextL should succeed, williamr@2: * @c EFalse if @c GetNextL must not be called anymore. williamr@2: * williamr@2: * @since 2.8 williamr@2: */ williamr@2: virtual TBool HasNext() =0; williamr@2: williamr@2: /** williamr@2: * Gets the next parameter. williamr@2: * williamr@2: * @return Pointer to the parameter data. The ownership is not williamr@2: * transferred. The data is guaranteed to be valid until williamr@2: * the next call to @c HasNext, @c NextL, or the iterator is williamr@2: * destroyed. williamr@2: * williamr@2: * @since 2.8 williamr@2: */ williamr@2: virtual const TAknsRlParameterData* NextL() =0; williamr@2: }; williamr@2: williamr@2: #endif // AKNSRLPARAMETER_H williamr@2: williamr@2: // End of File