commsconfig/cscengine/src/cscenguiextensionpluginhandler.cpp
branchRCL_3
changeset 21 f742655b05bf
parent 20 65a3ef1d5bd0
child 22 d38647835c2e
--- a/commsconfig/cscengine/src/cscenguiextensionpluginhandler.cpp	Thu Aug 19 09:45:22 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,390 +0,0 @@
-/*
-* Copyright (c) 2007-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:  For CSC needed Aiw handling for ui extension plug-ins
-*
-*/
-
-
-#include <eikenv.h>
-#include <bautils.h>
-#include <pathinfo.h>
-#include <SWInstApi.h>
-#include <SWInstDefs.h>
-#include <AiwCommon.hrh>
-#include <cscengine.rsg>
-#include <AiwServiceHandler.h>
-#include <data_caging_path_literals.hrh>
-
-#include "cscenglogger.h"
-#include "cscengstartuphandler.h"
-#include "mcscenguiextensionobserver.h"
-#include "cscenguiextensionpluginhandler.h"
-
-// Resource file location.
-_LIT( KCSCEngineResourceFile, "cscengine.rsc" ); // file
-
-// ======== MEMBER FUNCTIONS ========
-
-
-// ---------------------------------------------------------------------------
-// ---------------------------------------------------------------------------
-//
-CCSCEngUiExtensionPluginHandler::CCSCEngUiExtensionPluginHandler( 
-    CEikonEnv& aEikEnv,
-    MCSCEngUiExtensionObserver& aObserver,
-    CCSCEngStartupHandler& aStartupHandler ):
-    iEikEnv( aEikEnv ),
-    iObserver( aObserver ),
-    iStartupHandler( aStartupHandler )
-    {
-    }
-
-
-// ---------------------------------------------------------------------------
-// ---------------------------------------------------------------------------
-//
-void CCSCEngUiExtensionPluginHandler::ConstructL()
-    {
-    CSCENGDEBUG( "CCSCEngUiExtensionPluginHandler::ConstructL - begin" );
-    
-    // Attach to AIW Framework.
-    iServiceHandler = CAiwServiceHandler::NewL();
-    
-    // Load resource file to the memory.    
-    TFileName resourceFile = TParsePtrC( PathInfo::RomRootPath() ).Drive();
-    resourceFile.Append( KDC_RESOURCE_FILES_DIR );
-    resourceFile.Append( KCSCEngineResourceFile );
-    BaflUtils::NearestLanguageFile( iEikEnv.FsSession(), resourceFile );
-    iResourceOffset = iEikEnv.AddResourceFileL( resourceFile );
-    
-    CSCENGDEBUG( "CCSCEngUiExtensionPluginHandler::ConstructL - end" );
-    }
-
-
-// ---------------------------------------------------------------------------
-// ---------------------------------------------------------------------------
-//
-EXPORT_C CCSCEngUiExtensionPluginHandler* 
-    CCSCEngUiExtensionPluginHandler::NewL( 
-        CEikonEnv& aEikEnv,
-        MCSCEngUiExtensionObserver& aObserver,
-        CCSCEngStartupHandler& aStartupHandler )
-    {
-    CCSCEngUiExtensionPluginHandler* self = 
-        CCSCEngUiExtensionPluginHandler::NewLC( 
-            aEikEnv, aObserver, aStartupHandler );
-    CleanupStack::Pop( self );
-    return self;
-    }
-
-
-// ---------------------------------------------------------------------------
-// ---------------------------------------------------------------------------
-//
-EXPORT_C CCSCEngUiExtensionPluginHandler* 
-    CCSCEngUiExtensionPluginHandler::NewLC( 
-        CEikonEnv& aEikEnv,
-        MCSCEngUiExtensionObserver& aObserver,
-        CCSCEngStartupHandler& aStartupHandler )
-    {
-    CCSCEngUiExtensionPluginHandler* self = 
-        new ( ELeave ) CCSCEngUiExtensionPluginHandler( 
-            aEikEnv, aObserver, aStartupHandler );
-    
-    CleanupStack::PushL( self );
-    self->ConstructL();
-    return self;
-    }
-
-
-// ---------------------------------------------------------------------------
-// ---------------------------------------------------------------------------
-//
-CCSCEngUiExtensionPluginHandler::~CCSCEngUiExtensionPluginHandler()
-    {
-    CSCENGDEBUG( 
-     "CCSCEngUiExtensionPluginHandler::~CCSCEngUiExtensionPluginHandler - begin" );
-
-    iEikEnv.DeleteResourceFile( iResourceOffset );
-    iUiExtensionPluginInfoArray.Reset();
-    iUiExtensionPluginInfoArray.Close();   
-    delete iServiceHandler;
-     
-    CSCENGDEBUG( 
-     "CCSCEngUiExtensionPluginHandler::~CCSCEngUiExtensionPluginHandler - end" );
-    }
-    
-    
-// ---------------------------------------------------------------------------
-// Initializes CSC supported ui extension plugins.
-// ---------------------------------------------------------------------------
-//
-EXPORT_C void CCSCEngUiExtensionPluginHandler::InitializePluginsL()
-    {
-    CSCENGDEBUG( 
-        "CCSCEngUiExtensionPluginHandler::InitializePluginsL - begin" );
-    
-    // Attach to CSC supported ui extension plugins and execute initalization.   
-    iServiceHandler->AttachL( R_CSCENG_INTEREST_UI_EXT_PLUGIN );
-    
-    iServiceHandler->ExecuteServiceCmdL( 
-            KAiwCmdCSCUiExtensionPlugins,
-            iServiceHandler->InParamListL(),
-            iServiceHandler->OutParamListL(),
-            EPluginInitialize,
-            this );
-           
-    CSCENGDEBUG( 
-        "CCSCEngUiExtensionPluginHandler::InitializePluginsL - end" );
-    }
-
-
-// ---------------------------------------------------------------------------
-// Launches plugin provided setting view.
-// ---------------------------------------------------------------------------
-//
-EXPORT_C void CCSCEngUiExtensionPluginHandler::LaunchUiExtensionL( 
-    const TUid& aPluginUid, const TUid& aViewUid, TBool aLaunchedFromAI  )
-    {
-    CSCENGDEBUG( 
-        "CCSCEngUiExtensionPluginHandler::LaunchUiExtensionL - begin" );
-    
-    // Set plugins Uid to generic param data.
-    CAiwGenericParamList& paramList = iServiceHandler->OutParamListL();
-    TAiwVariant variant( aPluginUid );
-    TAiwGenericParam genericParamUid( EGenericParamError, variant );
-    paramList.AppendL( genericParamUid );
-            
-    // Set view id to be returned to generic param data.
-    variant.Reset();
-    variant.Set( aViewUid );
-    TAiwGenericParam genericParamViewId( EGenericParamError, variant );
-    paramList.AppendL( genericParamViewId );
-    
-    // Set URL to generic param data if set in CSC startup.    
-    TBuf<KMaxFileName> url;
-    TInt err = iStartupHandler.GetParamUrl( url );
-    
-    if ( !err )
-        {
-        variant.Reset();
-        variant.Set( url );
-        TAiwGenericParam genericParamURL( EGenericParamError, variant );
-        paramList.AppendL( genericParamURL );
-        }
-    
-    // Execute service handler command.
-    if ( aLaunchedFromAI )
-        {
-        iServiceHandler->ExecuteServiceCmdL( KAiwCmdCSCUiExtensionPlugins, 
-                                             iServiceHandler->InParamListL(),
-                                             paramList,
-                                             EPluginOpenExtensionViewFromAI,
-                                             this );     
-        }
-    else
-        {
-        iServiceHandler->ExecuteServiceCmdL( KAiwCmdCSCUiExtensionPlugins, 
-                                             iServiceHandler->InParamListL(),
-                                             paramList,
-                                             EPluginOpenExtensionView,
-                                             this );        
-        }
-
-                                  
-    CSCENGDEBUG( 
-        "CCSCEngUiExtensionPluginHandler::LaunchUiExtensionL - end" );
-    }
-
-
-// ---------------------------------------------------------------------------
-// Returns item from UI Extension plug-in array
-// ---------------------------------------------------------------------------
-//
-EXPORT_C TUiExtensionPluginInfo 
-    CCSCEngUiExtensionPluginHandler::ItemFromPluginInfoArray( TInt aIndex )
-    {
-    CSCENGDEBUG( "CCSCEngUiExtensionPluginHandler::ItemFromPluginInfoArray" );
-    
-    return iUiExtensionPluginInfoArray[ aIndex ];
-    }
-
-
-// ---------------------------------------------------------------------------
-// Returns plugin counts from UiExtensionPluginsInfoArray.
-// ---------------------------------------------------------------------------
-//
-EXPORT_C TInt CCSCEngUiExtensionPluginHandler::PluginCount() const
-    {
-    CSCENGDEBUG2( 
-        "CCSCEngUiExtensionPluginHandler::PluginCount: %d", 
-            iUiExtensionPluginInfoArray.Count() );
-    
-    return iUiExtensionPluginInfoArray.Count();
-    }
-
-
-// ---------------------------------------------------------------------------
-// From class MAiwNotifyCallBack
-// Handles received callbacks from AIW plugin.
-// ---------------------------------------------------------------------------
-//
-TInt CCSCEngUiExtensionPluginHandler::HandleNotifyL( 
-    TInt /*aCmdId*/,
-    TInt aEventId,
-    CAiwGenericParamList& /*aEventParamList*/,
-    const CAiwGenericParamList& aInParamList )
-    {
-    CSCENGDEBUG( "CCSCEngUiExtensionPluginHandler::HandleNotifyL - begin");
-    
-    TInt err( KErrNone );
-    
-    switch ( aEventId )
-        {
-        case KAiwEventStarted:
-            {
-            CSCENGDEBUG( 
-             "CCSCEngUiExtensionPluginHandler::HandleNotifyL KAiwEventStarted" );
-            
-            SetPluginInitInfo( aInParamList );
-            
-            TInt index( 0 );
-            TUid pluginUid( KNullUid );
-            
-            GetPluginIndexAndUid( aInParamList, index, pluginUid );
-            
-            iObserver.NotifyUiExtensionPluginResponse( 
-                EPluginInitialized, index, pluginUid );
-            break;
-            }
-        case KAiwEventStopped:
-            {
-            TInt index( 0 );
-            TUid pluginUid( KNullUid );
-            
-            GetPluginIndexAndUid( aInParamList, index, pluginUid );
-            
-            iObserver.NotifyUiExtensionPluginResponse( 
-                EPluginExited, index, pluginUid );
-            
-            CSCENGDEBUG( 
-             "CCSCEngUiExtensionPluginHandler::HandleNotifyL KAiwEventStopped" );
-            break;
-            }
-        case KAiwEventError:
-            {
-            TInt index( 0 );
-            TUid pluginUid( KNullUid );
-            
-            GetPluginIndexAndUid( aInParamList, index, pluginUid );
-            
-            iObserver.NotifyUiExtensionPluginResponse( 
-                EPluginError, index, pluginUid );
-            
-            CSCENGDEBUG( 
-               "CCSCEngUiExtensionPluginHandler::HandleNotifyL KAiwEventError" );
-            break;
-            }
-        default:
-            CSCENGDEBUG( 
-                "CCSCEngUiExtensionPluginHandler::HandleNotifyL: !!DEFAULT!!" );
-            break;
-        }
-    
-    CSCENGDEBUG( "CCSCEngUiExtensionPluginHandler::HandleNotifyL - end" );
-    
-    return err;
-    }
-    
-
-// ---------------------------------------------------------------------------
-// For getting plug-ins index in plug-in info array and plug-ins uid.
-// ---------------------------------------------------------------------------
-//
-void CCSCEngUiExtensionPluginHandler::GetPluginIndexAndUid( 
-    const CAiwGenericParamList& aInParamList,
-    TInt aIndex, 
-    TUid aPluginUid )
-    {
-    const TAiwGenericParam* genericParam = NULL;
-
-    // First and only generic value is plugins uid value.
-    genericParam = aInParamList.FindFirst( aIndex,
-                                           EGenericParamError,
-                                           EVariantTypeTUid );
-
-    aPluginUid = genericParam->Value().AsTUid();
-
-    for ( TInt i = 0; i < iUiExtensionPluginInfoArray.Count(); i++ )
-        {
-        if ( aPluginUid == iUiExtensionPluginInfoArray[ i ].iPluginsUid )
-            {
-            aIndex = i;
-            break;
-            }
-        }
-    }
-    
-
-// ---------------------------------------------------------------------------
-// For parsing and settings plug-in initialization info
-// ---------------------------------------------------------------------------
-//
-void CCSCEngUiExtensionPluginHandler::SetPluginInitInfo(
-    const CAiwGenericParamList& aInParamList )
-    {
-    CSCENGDEBUG( 
-        "CCSCEngUiExtensionPluginHandler::SetPluginInitInfoL - begin" );
-
-    TUiExtensionPluginInfo pluginInfo;
-    
-    TInt index = 0;
-    
-    if ( aInParamList.Count() )
-        {
-        const TAiwGenericParam* genericParam = NULL;
-
-        // First generic value is plugin Uid.
-        genericParam = aInParamList.FindFirst( index,
-                                               EGenericParamError,
-                                               EVariantTypeTUid );
-        
-        pluginInfo.iPluginsUid = genericParam->Value().AsTUid();
-                               
-        // Second generic value is UI extension´s name. 
-        genericParam = aInParamList.FindNext( index,
-                                              EGenericParamError,
-                                              EVariantTypeDesC );
-        
-        pluginInfo.iUiExtensionName.Copy( genericParam->Value().AsDes() );
-
-        // Third generic value is ui extension´s placing info
-        // 0 = listbox, 1 = options menu
-        genericParam = aInParamList.FindNext( index,
-                                              EGenericParamError,
-                                              EVariantTypeTInt32 );
-        
-        TInt32 place = genericParam->Value().AsTInt32();        
-        pluginInfo.iPlace = place;
-
-        CSCENGDEBUG2( 
-            "CCSCEngUiExtensionPluginHandler::SetPluginInitInfoL  Place: %d",
-                place );
-        }
-   
-    iUiExtensionPluginInfoArray.Append( pluginInfo );
-    
-    CSCENGDEBUG( 
-        "CCSCEngUiExtensionPluginHandler::SetPluginInitInfoL - end" );
-    }