uiaccelerator_plat/alf_extended_visual_api/inc/alf/alfsrveffectenv.h
changeset 0 15bf7259bb7c
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/uiaccelerator_plat/alf_extended_visual_api/inc/alf/alfsrveffectenv.h	Tue Feb 02 07:56:43 2010 +0200
@@ -0,0 +1,126 @@
+/*
+* Copyright (c) 2006 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:   Environment class for transition effect plugins.
+*
+*/
+
+
+
+#ifndef C_ALFSRVEFFECTENV_H
+#define C_ALFSRVEFFECTENV_H
+
+#include <e32base.h>
+
+class CHuiEnv;
+class CHuiControlGroup;
+class CHuiDisplay;
+class CAlfAppSrvSession;
+
+/**
+ * This class implements an environment that can be utilized inside transition
+ * effect plugins to get access to the UI accelerator toolkit visuals, layouts
+ * and other resources that are needed in transition effects.
+ *
+ */
+NONSHARABLE_CLASS(CAlfSrvEffectEnv) : public CBase
+    {
+public:
+
+    /**
+     * Constructor
+     */
+    static CAlfSrvEffectEnv* NewL(CAlfAppSrvSession& aSession);
+
+    /**
+     * Constructor
+     */
+    static CAlfSrvEffectEnv* NewLC(CAlfAppSrvSession& aSession);
+
+    /**
+     * Destructor
+     */
+    ~CAlfSrvEffectEnv();
+
+    /**
+     * Returns number of available control groups for 
+     * currently active application.
+     *
+     * @return Amount of available control groups.
+     */
+    IMPORT_C TInt ControlGroupCountL();
+
+    /**
+     * Returns number of visible and available control groups
+     * for currently active application.      
+     *
+     * @return Amount of visible and available control groups.
+     */
+    IMPORT_C TInt VisibleControlGroupCountL();
+
+    /**
+     * Returns an available control group based on its index.
+     *
+     * @param aIndex Control group index.
+     * @return Control group
+     */
+    IMPORT_C CHuiControlGroup* ControlGroupL( TInt aIndex );
+    
+    /**
+     * Returns a visible control group based on its index.
+     *
+     * @param aIndex Control group index.
+     * @return Control group
+     */
+    IMPORT_C CHuiControlGroup* VisibleControlGroupL( TInt aIndex );
+
+    /**
+     * Returns number of available displays for 
+     * currently active applicaion.
+     *
+     * @return Amount of available displays.
+     */
+    IMPORT_C TInt DisplayCountL();
+
+    /**
+     * Returns an available display based on its index.
+     *
+     * @param aIndex Display index.
+     * @return Display
+     */
+    IMPORT_C CHuiDisplay* DisplayL( TInt aIndex );
+
+    /**
+     * Returns env which is shared between all client apps.
+     *
+     * @return HUI Env
+     */
+    IMPORT_C CHuiEnv* SharedEnv();
+
+private:
+
+    // Constructor
+    CAlfSrvEffectEnv(CAlfAppSrvSession& aSession);
+    
+    // ConstructL
+    void ConstructL();
+
+private:
+   
+   CAlfAppSrvSession* iSession; // Not owned
+
+};
+
+
+#endif
+