diff -r b2bba7f74ac0 -r bcb8d447d716 idlefw/src/framework/aiuicontrollermanager.cpp --- a/idlefw/src/framework/aiuicontrollermanager.cpp Mon Mar 08 21:43:47 2010 +0000 +++ b/idlefw/src/framework/aiuicontrollermanager.cpp Sun Mar 14 13:11:02 2010 +0000 @@ -15,18 +15,19 @@ * */ +// System includes +#include -#include "aiuicontrollermanager.h" +// User includes +#include #include "aiuicontroller.h" -#include "aicontentpublisher.h" #include "aicontentobserver.h" #include "activeidle2domaincrkeys.h" +#include "aifw.h" + +#include "aiuicontrollermanager.h" + #include "aifwpanic.h" -#include -#include -#include - -#include #include "debug.h" @@ -34,6 +35,7 @@ // ---------------------------------------------------------------------------- // CAiUiControllerManager::CAiUiControllerManager() +// // ---------------------------------------------------------------------------- // CAiUiControllerManager::CAiUiControllerManager() @@ -42,15 +44,15 @@ // ---------------------------------------------------------------------------- // CAiUiControllerManager::LoadMainControllerL() +// // ---------------------------------------------------------------------------- // -void CAiUiControllerManager::LoadMainControllerL( - CRepository& aCenRepConfig ) +void CAiUiControllerManager::LoadMainControllerL( CRepository& aRepository ) { TInt value( 0 ); // Main UI Controller must be configured correctly - User::LeaveIfError( aCenRepConfig.Get( KAiMainUIController, value ) ); + User::LeaveIfError( aRepository.Get( KAiMainUIController, value ) ); CAiUiController* controller = CAiUiController::NewL( TUid::Uid( value ) ); @@ -67,24 +69,22 @@ } iUiControllerArray.AppendL( controller ); - CleanupStack::Pop( controller ); - - // Register this as a UI framework observer of the main UI controller - iMainUiController->SetUiFrameworkObserver( *this ); + CleanupStack::Pop( controller ); } // ---------------------------------------------------------------------------- // CAiUiControllerManager::LoadSecondaryControllersL() +// // ---------------------------------------------------------------------------- // void CAiUiControllerManager::LoadSecondaryControllersL( - CRepository& aCenRepConfig ) + CRepository& aRepository ) { TInt value( 0 ); // Instantiate rest of the UI controllers. for( TInt key = KAiFirstUIController; - key <= KAiLastUIController && aCenRepConfig.Get( key, value ) == KErrNone; + key <= KAiLastUIController && aRepository.Get( key, value ) == KErrNone; ++key ) { // skip empty entries @@ -106,77 +106,48 @@ CleanupStack::PushL( controller ); iUiControllerArray.AppendL( controller ); - CleanupStack::Pop( controller ); - - // Get the secondary interface - MAiSecondaryUiController* secController( - controller->SecondaryInterface() ); - - if( secController ) - { - MAiUiFrameworkObserver* uiFwObserver( - secController->UiFrameworkObserver() ); - - if( uiFwObserver ) - { - // Add secondary controller as UI framework event observer. - User::LeaveIfError( - iUiFrameworkObservers.InsertInAddressOrder( uiFwObserver ) ); - } - } + CleanupStack::Pop( controller ); } } // ---------------------------------------------------------------------------- // CAiUiControllerManager::ConstructL() +// // ---------------------------------------------------------------------------- // -void CAiUiControllerManager::ConstructL() +void CAiUiControllerManager::ConstructL( CAiFw* aAiFw ) { __HEAP("FW: Init - Create UI Ctrls"); __TIME_MARK(t); - - CRepository* cenRep( NULL ); - -#if 0 - // For AI3_test - RProcess proc; - // 0x102750F0 in AI3, 0x2001CB4F in AI3_Test - TSecureId secId( proc.SecureId() ); - - if( secId == 0x2001CB4F ) - { - cenRep = CRepository::NewL( TUid::Uid( 0x2001952B ) ); - } - else - { - cenRep = CRepository::NewL( TUid::Uid( KCRUidActiveIdleLV ) ); - } -#else - cenRep = CRepository::NewLC( TUid::Uid( KCRUidActiveIdleLV ) ); -#endif - - LoadMainControllerL( *cenRep ); + + CRepository& repository( aAiFw->Repository() ); + + LoadMainControllerL( repository ); // Failing on secondary is not fatal. Ignore leaves. - TRAP_IGNORE( LoadSecondaryControllersL( *cenRep ) ); - - CleanupStack::PopAndDestroy( cenRep ); - + TRAP_IGNORE( LoadSecondaryControllersL( repository ) ); + + for ( TInt i = 0; i < iUiControllerArray.Count(); i++ ) + { + iUiControllerArray[i]->SetEventHandler( *aAiFw ); + } + __TIME_ENDMARK("FW: Create UI Ctrls", t); __HEAP("FW: Done - Create UI Ctrls"); } // ---------------------------------------------------------------------------- // CAiUiControllerManager::NewL() +// // ---------------------------------------------------------------------------- // -CAiUiControllerManager* CAiUiControllerManager::NewL() +CAiUiControllerManager* CAiUiControllerManager::NewL( CAiFw* aAiFw ) { - CAiUiControllerManager* self = new (ELeave) CAiUiControllerManager; + CAiUiControllerManager* self = + new ( ELeave ) CAiUiControllerManager; CleanupStack::PushL( self ); - self->ConstructL(); + self->ConstructL( aAiFw ); CleanupStack::Pop( self ); // self return self; @@ -184,19 +155,19 @@ // ---------------------------------------------------------------------------- // CAiUiControllerManager::~CAiUiControllerManager() +// // ---------------------------------------------------------------------------- // CAiUiControllerManager::~CAiUiControllerManager() { iUiControllerArray.ResetAndDestroy(); - - iUiFrameworkObservers.Reset(); - + iCreatedUICList.Reset(); } // ---------------------------------------------------------------------------- -// CAiUiControllerManager::UiControllers() +// CAiUiControllerManager::UiControllers() +// // ---------------------------------------------------------------------------- // RPointerArray< CAiUiController >& CAiUiControllerManager::UiControllers() const @@ -206,6 +177,7 @@ // ---------------------------------------------------------------------------- // CAiUiControllerManager::IsMainUiController() +// // ---------------------------------------------------------------------------- // TBool CAiUiControllerManager::IsMainUiController( @@ -215,20 +187,8 @@ } // ---------------------------------------------------------------------------- -// CAiUiControllerManager::SetEventHandler() -// ---------------------------------------------------------------------------- +// CAiUiControllerManager::RunApplicationL() // -void CAiUiControllerManager::SetEventHandler( - MAiFwEventHandler& aEventHandler ) - { - for ( TInt i = 0; i < iUiControllerArray.Count(); i++ ) - { - iUiControllerArray[i]->SetEventHandler( aEventHandler ); - } - } - -// ---------------------------------------------------------------------------- -// CAiUiControllerManager::RunApplicationL() // ---------------------------------------------------------------------------- // void CAiUiControllerManager::RunApplicationL() @@ -238,6 +198,7 @@ // ---------------------------------------------------------------------------- // CAiUiControllerManager::ActivateUI() +// // ---------------------------------------------------------------------------- // void CAiUiControllerManager::ActivateUI() @@ -250,6 +211,7 @@ // ---------------------------------------------------------------------------- // CAiUiControllerManager::LoadUIDefinition() +// // ---------------------------------------------------------------------------- // void CAiUiControllerManager::LoadUIDefinition() @@ -290,6 +252,7 @@ // ---------------------------------------------------------------------------- // CAiUiControllerManager::CoeEnv() +// // ---------------------------------------------------------------------------- // CCoeEnv& CAiUiControllerManager::CoeEnv() const @@ -299,6 +262,7 @@ // ---------------------------------------------------------------------------- // CAiUiControllerManager::MainUiController() +// // ---------------------------------------------------------------------------- // MAiMainUiController& CAiUiControllerManager::MainUiController() const @@ -308,6 +272,7 @@ // ---------------------------------------------------------------------------- // CAiUiControllerManager::DestroySecondaryUiControllers() +// // ---------------------------------------------------------------------------- // void CAiUiControllerManager::DestroySecondaryUiControllers() @@ -328,82 +293,25 @@ // ---------------------------------------------------------------------------- // CAiUiControllerManager::ExitMainController() +// // ---------------------------------------------------------------------------- // void CAiUiControllerManager::ExitMainController() { iMainUiController->Exit(); } - -// ---------------------------------------------------------------------------- -// CAiUiControllerManager::AddObserverL() -// ---------------------------------------------------------------------------- -// -void CAiUiControllerManager::AddObserverL( - MAiUiFrameworkObserver& aUiFwObserver ) - { - User::LeaveIfError( - iUiFrameworkObservers.InsertInAddressOrder( &aUiFwObserver ) ); - } - -// ---------------------------------------------------------------------------- -// CAiUiControllerManager::RemoveObserver() + // ---------------------------------------------------------------------------- +// CAiUiControllerManager::SetStateHandler() // -void CAiUiControllerManager::RemoveObserver( - MAiUiFrameworkObserver& aUiFwObserver ) - { - TInt index( iUiFrameworkObservers.FindInAddressOrder( &aUiFwObserver ) ); - - if( index != KErrNotFound ) - { - iUiFrameworkObservers.Remove( index ); - } - } - -// ---------------------------------------------------------------------------- -// CAiUiControllerManager::RemovePluginFromUI() // ---------------------------------------------------------------------------- // -void CAiUiControllerManager::RemovePluginFromUI( CAiContentPublisher& aPlugin ) +void CAiUiControllerManager::SetStateHandler( MAiFwStateHandler& aHandler ) { - // Get MAiPropertyExtension from plugin - MAiPropertyExtension* plugin = - static_cast< MAiPropertyExtension* >( - aPlugin.Extension( KExtensionUidProperty ) ); - - // Inform all UI controller that this plugin need to be removed from UI. - if( plugin ) + for ( TInt i = 0; i < iUiControllerArray.Count(); i++ ) { - for ( TInt i = 0; i < iUiControllerArray.Count(); i++ ) - { - iUiControllerArray[i]->RemovePluginFromUI( *plugin ); - } - } + iUiControllerArray[i]->SetStateHandler( aHandler ); + } } -// ---------------------------------------------------------------------------- -// CAiUiControllerManager::HandleResourceChange() -// ---------------------------------------------------------------------------- -// -void CAiUiControllerManager::HandleResourceChange( TInt aType ) - { - for( TInt i = 0; i < iUiFrameworkObservers.Count(); i++ ) - { - iUiFrameworkObservers[i]->HandleResourceChange( aType ); - } - } - -// ---------------------------------------------------------------------------- -// CAiUiControllerManager::HandleForegroundEvent() -// ---------------------------------------------------------------------------- -// -void CAiUiControllerManager::HandleForegroundEvent( TBool aForeground ) - { - for( TInt i = 0; i < iUiFrameworkObservers.Count(); i++ ) - { - iUiFrameworkObservers[i]->HandleForegroundEvent( aForeground ); - } - } - // End of file