skins/AknSkins/rlinc/AknsRlCommand.h
changeset 0 05e9090e2422
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/skins/AknSkins/rlinc/AknsRlCommand.h	Thu Dec 17 09:14:12 2009 +0200
@@ -0,0 +1,123 @@
+/*
+* Copyright (c) 2004-2008 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:  Interface to skin command iterator.
+*
+*/
+
+
+#ifndef AKNSRLCOMMAND_H
+#define AKNSRLCOMMAND_H
+
+//  INCLUDES
+#include <AknsRlEffect.h>
+
+// CONSTANTS
+
+// DATA TYPES
+
+/**
+* Command data structure.
+*
+* @since 2.8
+*/
+struct TAknsRlCommandData
+    {
+    /**
+    * UID of the effect that this command executes.
+    *
+    * @since 2.8
+    */
+    TUid iEffectUid;
+
+    /**
+    * Layer configuration for this command.
+    *
+    * @since 2.8
+    */
+    TAknsRlRenderOpParam iLayerConf;
+
+    /**
+    * Pointer to the parameter iterator.
+    * No ownership is vested in this structure.
+    * If null-value is given, no parameters are used.
+    *
+    * @since 2.8
+    */
+    MAknsRlParameterIterator* iParamIterator;
+    };
+
+// FORWARD DECLARATIONS
+
+// CLASS DECLARATION
+
+/**
+* Interface to skin command iterator.
+*
+* @since 2.8
+*/
+class MAknsRlCommandIterator
+    {
+    public: // Constructors and destructor
+
+        /**
+        * Destructor for internal use.
+        *
+        * Destructor is reserved for internal use. Client code usually does
+        * not destroy iterators.
+        *
+        * @since 2.8
+        *
+        * @internal
+        */
+        inline virtual ~MAknsRlCommandIterator() {}
+
+    public: // New functions
+
+        /**
+        * Checks whether there are more commands available.
+        *
+        * @return @c ETrue if subsequent @c GetNextL should succeed,
+        *   @c EFalse if @c GetNextL must not be called anymore.
+        *
+        * @since 2.8
+        */
+        virtual TBool HasNext() =0;
+
+        /**
+        * Gets the next command.
+        *
+        * @return Pointer to the command data. The ownership is not
+        *   transferred. The data is guaranteed to be valid until
+        *   the next call to @c HasNext, @c NextL, or the iterator is
+        *   destroyed.
+        *
+        * @since 2.8
+        */
+        virtual const TAknsRlCommandData* NextL() =0;
+
+    public: // Cleanup operation
+
+        /**
+        * Cleanup operation for internal use.
+        *
+        * @since 2.8
+        *
+        * @internal
+        */
+        IMPORT_C static void CleanupOperation( TAny* aItem );
+    };
+
+#endif // AKNSRLCOMMAND_H
+
+// End of File