diff -r 53c89a0a48c0 -r 76e20e0cfdc7 networkhandling/networkhandlingengine/NetworkHandlingSrc/CNWMessageHandler.cpp --- a/networkhandling/networkhandlingengine/NetworkHandlingSrc/CNWMessageHandler.cpp Mon Mar 08 21:44:09 2010 +0000 +++ b/networkhandling/networkhandlingengine/NetworkHandlingSrc/CNWMessageHandler.cpp Sun Mar 14 13:11:59 2010 +0000 @@ -1,5 +1,5 @@ /* -* Copyright (c) 2002-2009 Nokia Corporation and/or its subsidiary(-ies). +* Copyright (c) 2002-2010 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" @@ -18,6 +18,7 @@ // INCLUDE FILES +#include #include "NWHandlingEngine.h" #include "CNWMessageHandler.h" #include "CNWNetworkCurrentNetworkMonitor.h" @@ -31,12 +32,16 @@ #ifdef RD_PHONE_NG #include "cnwnetworkselectionsettingmonitor.h" #endif // RD_PHONE_NG +#include "CNWDynamicCapsMonitor.h" // CONSTANTS const TInt KNWNetworkMonitorCurrent = 0; const TInt KNWNetworkMonitorMode = 1; const TInt KNWNetworkMonitorRegistration = 2; #ifdef RD_PHONE_NG const TInt KNWNetworkMonitorSettingSelection = 3; +const TInt KNWNetworkMonitorDynamicCaps = 4; +#else // RD_PHONE_NG +const TInt KNWNetworkMonitorDynamicCaps = 3; #endif // RD_PHONE_NG @@ -207,6 +212,32 @@ // Start initialising network handling module. iMonitorContainer[ KNWNetworkMonitorRegistration ]->Initialise(); + + // Create CNWDynamicCapsMonitor object and insert it to monitor container. + // Will be used to hide alpha tag when CS registration is unsuccessful + FeatureManager::InitializeLibL(); + TInt err( KErrNone ); + if( FeatureManager::FeatureSupported( + KFeatureIdFfDisplayNetworkNameAfterCsRegistration )) + { + TRAP(err, + CNWDynamicCapsMonitor* tempDynamicCapsMonitor = + CNWDynamicCapsMonitor::NewL( *this, iPhone, iNetworkInfo, + iCustomAPI ); + CleanupStack::PushL( tempDynamicCapsMonitor ); + + User::LeaveIfError( iMonitorContainer.Insert( + tempDynamicCapsMonitor, + KNWNetworkMonitorDynamicCaps ) ); + CleanupStack::Pop( tempDynamicCapsMonitor ); ); + if( err == KErrNone ) + { + iMonitorContainer + [ KNWNetworkMonitorDynamicCaps ]->Initialise(); + } + } + FeatureManager::UnInitializeLib(); + User::LeaveIfError(err); NWLOGSTRING( KNWOBJECT, "NW: CNWMessageHandler::BaseConstructL() End" ); @@ -399,6 +430,11 @@ return _L("ENWMessageNetworkProviderNameUpdating"); case MNWMessageObserver::ENWMessageServiceProviderNameUpdating: return _L("ENWMessageServiceProviderNameUpdating"); + case MNWMessageObserver::ENWMessageDynamicCapsChange: + { + return _L("ENWMessageDynamicCapsChange"); + break; + } default: NWLOGSTRING2( KNWINT, "NW: CNWMessageHandler::GetNameByMessage, unknown message = %d",