widgetmodel/alfwidgetmodel/src/alfwidgetenvextension.cpp
changeset 17 3eca7e70b1b8
parent 3 4526337fb576
--- a/widgetmodel/alfwidgetmodel/src/alfwidgetenvextension.cpp	Tue Feb 02 00:28:09 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,222 +0,0 @@
-/*
-* Copyright (c) 2007 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:  Extensions can be added to AlfEnv through this class.
-               Currently resourcepool,widgetfactory can be added as extensions to AlfEnv.
-*
-*/
-
-
-#include <alf/alfenv.h>
-#include <alf/alfenvobject.h>
-#include <alf/alfresourcepool.h>
-
-#include <osn/osnnew.h>
-#include <alf/alfwidgetexception.h>
-#include <alf/alfwidgetenvextension.h>
-
-#include <alf/alfwidgetfactoryloader.h>
-#include <alf/ialfwidgetfactory.h>
-namespace Alf
-    {
-    const int KAlfExtensionResourcePoolUid( 89 ); // Bogus id for resource 
-                                                  // pool extension
-    
-    const int KAlfExtensionWidgetFactoryUid( 106 ); // Bogus id for widget
-                                                    // factory extension
-    
-    // Env extension for the resource pool
-    class AlfExtensionResourcePoolContainer : public MAlfEnvObject
-        {
-    public:        
-
-        AlfExtensionResourcePoolContainer( ResourcePool* aResourcePool) :
-        mResourcePool(aResourcePool )
-            {
-            }
-
-        virtual void Release()
-            {
-            delete this;
-            }
-
-        ~AlfExtensionResourcePoolContainer()
-            {
-            delete mResourcePool;
-            }
-        // Owned
-        ResourcePool* mResourcePool;
-        };
-        
-
-    // Env extension for the widget factory
-    class AlfExtensionWidgetFactory : public MAlfEnvObject
-        {
-    public:        
-
-        AlfExtensionWidgetFactory( 
-            AlfWidgetFactoryLoader* amWidgetFactoryLoader,
-            IAlfWidgetFactory* aWidgetFactory) :
-        mWidgetFactoryLoader( amWidgetFactoryLoader ),
-        mWidgetFactory( aWidgetFactory )
-            {
-            }
-
-        virtual void Release()
-            {
-            delete this;
-            }
-
-        ~AlfExtensionWidgetFactory()
-            {
-            delete mWidgetFactoryLoader;
-            }
-        // Owned
-        AlfWidgetFactoryLoader* mWidgetFactoryLoader;
-        // Not owned
-        IAlfWidgetFactory* mWidgetFactory;
-        };    
-    
-// ---------------------------------------------------------------------------
-// Initializes environment with resource pool and factory extensions
-// ---------------------------------------------------------------------------
-//    
-OSN_EXPORT void AlfWidgetEnvExtension::initializeEnvironment(CAlfEnv& aEnv)
-    {
-	AlfExtensionResourcePoolContainer* poolContainer = 
-        static_cast<AlfExtensionResourcePoolContainer*>(
-            aEnv.Extension( KAlfExtensionResourcePoolUid));
-    if ( poolContainer == NULL)
-        {
-        // Initialize the env with resource pool extension
-        initializeEnvironmentForResourcePool(aEnv);
-        }
-	AlfExtensionWidgetFactory* widgetFactoryExtension = 
-        static_cast<AlfExtensionWidgetFactory*>(
-            aEnv.Extension( KAlfExtensionWidgetFactoryUid));
-    if ( widgetFactoryExtension == NULL)
-        {
-        // Initialize the env with widget factory extension
-        initializeEnvironmentForFactory(aEnv);
-        }
-    }
-// ---------------------------------------------------------------------------
-// Initializes environment with Theme Manager extension
-// ---------------------------------------------------------------------------
-//   
-void AlfWidgetEnvExtension::initializeEnvironmentForTheme(CAlfEnv& /*aEnv*/ )
-    {
-    }
-
-// ---------------------------------------------------------------------------
-// Initializes environment with resource pool extension
-// ---------------------------------------------------------------------------
-//        
-void AlfWidgetEnvExtension::initializeEnvironmentForResourcePool(CAlfEnv& aEnv)
-    {
-    auto_ptr<ResourcePool> pool(new(EMM) ResourcePool(
-                                             aEnv.TextureManager(), NULL));
-    auto_ptr<AlfExtensionResourcePoolContainer> poolContainer(
-        new(EMM) AlfExtensionResourcePoolContainer( pool.release()));
-    int err = aEnv.AddExtension( KAlfExtensionResourcePoolUid,
-                       (MAlfEnvObject*)(poolContainer.get()));
-    if ( err != KErrNone)
-        {
-        ALF_THROW(AlfWidgetException, ECommonError, "Failed to add AlfEnv extension");
-        }
-    else
-        {
-        poolContainer.release();
-        }   
-    }
-// ---------------------------------------------------------------------------
-// Returns the reference for Resource Pool extension object. 
-// ---------------------------------------------------------------------------
-//
-OSN_EXPORT ResourcePool& AlfWidgetEnvExtension::resourcePool( CAlfEnv& aEnv)
-    {
-    Alf::AlfExtensionResourcePoolContainer* poolContainer = 
-        static_cast<Alf::AlfExtensionResourcePoolContainer*>(aEnv.Extension( KAlfExtensionResourcePoolUid));
-    if ( poolContainer == NULL)
-        {
-        initializeEnvironment(aEnv);
-        }
-    //re-fetch the pool
-    poolContainer = 
-        static_cast<Alf::AlfExtensionResourcePoolContainer*>(aEnv.Extension( KAlfExtensionResourcePoolUid));
-    return *(poolContainer->mResourcePool);
-}
-
-// ---------------------------------------------------------------------------
-// Initializes environment with factory extension
-// ---------------------------------------------------------------------------
-//    
-void AlfWidgetEnvExtension::initializeEnvironmentForFactory(CAlfEnv& aEnv)
-    {
-    auto_ptr<AlfWidgetFactoryLoader> widgetFactoryLoader( 
-                                         new (EMM) AlfWidgetFactoryLoader() );
-    
-    IAlfWidgetFactory* widgetFactory = NULL;
-    widgetFactory = widgetFactoryLoader->loadWidgetFactory(aEnv);
-    if(!widgetFactory)
-        {
-        ALF_THROW(AlfWidgetException, ECommonError, "Failed to create widget factory");
-        }
-    auto_ptr<AlfExtensionWidgetFactory> widgetFactoryExtension(
-        new(EMM) AlfExtensionWidgetFactory( widgetFactoryLoader.release(),
-                     widgetFactory));
-    int err = aEnv.AddExtension( KAlfExtensionWidgetFactoryUid,
-                       (MAlfEnvObject*)(widgetFactoryExtension.get()));
-    if ( err != 0)
-        {
-        ALF_THROW(AlfWidgetException, ECommonError, "Failed to add AlfEnv extension");
-        }
-    else
-        {
-    	widgetFactoryExtension.release();
-        }        
-    }
-
-// ---------------------------------------------------------------------------
-// Returns the reference for Theme Manager extension object. 
-// ---------------------------------------------------------------------------
-//    
-OSN_EXPORT AlfThemeManagerUtil& AlfWidgetEnvExtension::themeManagerUtil( CAlfEnv& /*aEnv*/)
-    {
-    // Depricated
-    ALF_THROW(AlfWidgetException, EInvalidArgument, "Depricated Module");
-    }
-
-    
-// ---------------------------------------------------------------------------
-//Access to the widget factory
-// ---------------------------------------------------------------------------
-//        
-OSN_EXPORT IAlfWidgetFactory& AlfWidgetEnvExtension::widgetFactory( 
-    CAlfEnv& aEnv)
-    {
-    AlfExtensionWidgetFactory* widgetFactoryExtension = 
-        static_cast<AlfExtensionWidgetFactory*>(
-            aEnv.Extension( KAlfExtensionWidgetFactoryUid));
-    if ( widgetFactoryExtension == NULL)
-        {
-        initializeEnvironmentForFactory(aEnv);
-        }
-    //re-fetch the widget factory extension
-    widgetFactoryExtension = 
-        static_cast<AlfExtensionWidgetFactory*>(
-            aEnv.Extension( KAlfExtensionWidgetFactoryUid));
-    return *(widgetFactoryExtension->mWidgetFactory);
-    }    
-
-    } // Alf