# HG changeset patch # User William Roberts # Date 1268572319 0 # Node ID 76e20e0cfdc7c1816edcbbc50d1330e7ed21ffaa # Parent 53c89a0a48c0676dd6c4552520e87559f0528074# Parent a4a774cb6ea79695b7ce32e0c6f994c1ae507185 Automatic merge from PDK_3.0.h diff -r 53c89a0a48c0 -r 76e20e0cfdc7 cellular/SSSettings/inc/CSSSettingsRefreshContainer.h --- a/cellular/SSSettings/inc/CSSSettingsRefreshContainer.h Mon Mar 08 21:44:09 2010 +0000 +++ b/cellular/SSSettings/inc/CSSSettingsRefreshContainer.h Sun Mar 14 13:11:59 2010 +0000 @@ -21,7 +21,7 @@ // INCLUDES -#include +#include // FORWARD DECLARATIONS diff -r 53c89a0a48c0 -r 76e20e0cfdc7 cellular/telephonysettings/src/PSetCallDivertingBase.cpp --- a/cellular/telephonysettings/src/PSetCallDivertingBase.cpp Mon Mar 08 21:44:09 2010 +0000 +++ b/cellular/telephonysettings/src/PSetCallDivertingBase.cpp Sun Mar 14 13:11:59 2010 +0000 @@ -26,7 +26,7 @@ #include #include #include -#include +#include #include "PsetCallDiverting.h" #include "PsetContainer.h" diff -r 53c89a0a48c0 -r 76e20e0cfdc7 cellular/telephonysettings/src/PSetCallDivertingBasicImpl.cpp --- a/cellular/telephonysettings/src/PSetCallDivertingBasicImpl.cpp Mon Mar 08 21:44:09 2010 +0000 +++ b/cellular/telephonysettings/src/PSetCallDivertingBasicImpl.cpp Sun Mar 14 13:11:59 2010 +0000 @@ -26,7 +26,7 @@ #include #include #include -#include +#include #include "PsetCallDiverting.h" #include "PsetContainer.h" diff -r 53c89a0a48c0 -r 76e20e0cfdc7 cellular/telephonysettings/src/PSetCallDivertingDualAffectImpl.cpp --- a/cellular/telephonysettings/src/PSetCallDivertingDualAffectImpl.cpp Mon Mar 08 21:44:09 2010 +0000 +++ b/cellular/telephonysettings/src/PSetCallDivertingDualAffectImpl.cpp Sun Mar 14 13:11:59 2010 +0000 @@ -27,7 +27,7 @@ #include #include #include -#include +#include #include "PsetCallDiverting.h" #include "PsetContainer.h" diff -r 53c89a0a48c0 -r 76e20e0cfdc7 cellular/telephonysettings/src/PsetCallDiverting.cpp --- a/cellular/telephonysettings/src/PsetCallDiverting.cpp Mon Mar 08 21:44:09 2010 +0000 +++ b/cellular/telephonysettings/src/PsetCallDiverting.cpp Sun Mar 14 13:11:59 2010 +0000 @@ -25,7 +25,7 @@ #include #include -#include +#include #include "PsetCallDiverting.h" #include "PsetContainer.h" diff -r 53c89a0a48c0 -r 76e20e0cfdc7 cellular/telephonysettings/src/PsetNetwork.cpp --- a/cellular/telephonysettings/src/PsetNetwork.cpp Mon Mar 08 21:44:09 2010 +0000 +++ b/cellular/telephonysettings/src/PsetNetwork.cpp Sun Mar 14 13:11:59 2010 +0000 @@ -273,12 +273,12 @@ // resulting in a possible dead lock when CActive::Cancel()'s User::WaitForRequest( iStatus ) never gets signaled. ClearParams(); - if ( iActiveObserver == ENetSelectObserver && iObserver ) + if ( iActiveObserver == ENetSelectObserver ) { __ASSERT_ALWAYS( iObserver, Panic( KPSNameOfClass, ENetNoObserver ) ); HideRequestNoteL(); } - else if ( iActiveObserver == ENetModeObserver && iNetworkModeObserver ) + else if ( iActiveObserver == ENetModeObserver ) { __ASSERT_ALWAYS( iNetworkModeObserver, Panic( KPSNameOfClass, ENetNoNetworkObserver ) ); diff -r 53c89a0a48c0 -r 76e20e0cfdc7 group/bld.inf --- a/group/bld.inf Mon Mar 08 21:44:09 2010 +0000 +++ b/group/bld.inf Sun Mar 14 13:11:59 2010 +0000 @@ -28,6 +28,6 @@ #include "../phonesrv_plat/group/bld.inf" #include "../phonesrv_pub/group/bld.inf" #include "../phonecmdhandler/group/bld.inf" - +#include "../nwnotifier/group/bld.inf" // End of File diff -r 53c89a0a48c0 -r 76e20e0cfdc7 networkhandling/networkhandlingengine/Group/networkhandling.mmp --- a/networkhandling/networkhandlingengine/Group/networkhandling.mmp Mon Mar 08 21:44:09 2010 +0000 +++ b/networkhandling/networkhandlingengine/Group/networkhandling.mmp Sun Mar 14 13:11:59 2010 +0000 @@ -1,5 +1,5 @@ /* -* Copyright (c) 2004 Nokia Corporation and/or its subsidiary(-ies). +* Copyright (c) 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" @@ -46,6 +46,7 @@ #ifdef RD_PHONE_NG SOURCE cnwnetworkselectionsettingmonitor.cpp #endif +SOURCE CNWDynamicCapsMonitor.cpp #ifdef __PROTOCOL_GSM #include "Networkhandlinggsm.mmp" @@ -65,6 +66,8 @@ LIBRARY charconv.lib LIBRARY centralrepository.lib +LIBRARY etelpckt.lib +LIBRARY FeatMgr.lib #ifdef WINSCW DEFFILE ../Bwins/NETWORKHANDLING.DEF diff -r 53c89a0a48c0 -r 76e20e0cfdc7 networkhandling/networkhandlingengine/NetworkHandlingInc/CNWDynamicCapsMonitor.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/networkhandling/networkhandlingengine/NetworkHandlingInc/CNWDynamicCapsMonitor.h Sun Mar 14 13:11:59 2010 +0000 @@ -0,0 +1,122 @@ +/* +* Copyright (c) 2009 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: The header file of CNWDynamicCapsMonitor +* +*/ + + + +#ifndef CNWDYNAMICCAPSMONITOR_H +#define CNWDYNAMICCAPSMONITOR_H + +// INCLUDES +#include "CNWNetworkMonitorBase.h" + +// FORWARD DECLARATIONS +class CNWMessageHandler; + +// CLASS DECLARATION + +/** +* Monitors dynamic caps change events from MMEtel. +* Ensures that alpha tag is displayed only when CS registration is successful. +* If PS registration is successful but CS registration failed, the alpha tag +* should not be shown so users do not think they can make voice calls. +* +* @lib networkhandling.lib +* @since Series 60_5.0 +*/ +NONSHARABLE_CLASS( CNWDynamicCapsMonitor ) : public CNWNetworkMonitorBase + { + public: // Constructors and destructor + + /** + * Two-phased constructor. + */ + static CNWDynamicCapsMonitor* NewL( + CNWMessageHandler& aOwner, + RMobilePhone& aPhone, + TNWInfo& aNetworkInfo, + RMmCustomAPI& aCustomAPI ); + + /** + * Destructor. + */ + virtual ~CNWDynamicCapsMonitor(); + + + + protected: // Functions from CActive + /** + * Cancels asyncronous request(s). + * + */ + void DoCancel(); + + /** + * Informs object that asyncronous request is ready. + * + */ + void RunL(); + + /** + * From CActive, RunError. + * Processes any errors. + * @param aError The leave code reported. + * @result return KErrNone if leave is handled. + */ + TInt RunError( TInt aError ); + + private: + + /** + * Update Dynamic Caps Flags field of TNWInfo + * @param aDynamicCapsFlags The current dynamic caps flags. + */ + void UpdateDynamicCapsFlags( + const RPacketService::TDynamicCapsFlags aDynamicCapsFlags); + + /** + * Executes the NotifyDynamicCapsChange() function. + * + */ + void IssueRequest(); + + /** + * C++ default constructor. + */ + CNWDynamicCapsMonitor( + CNWMessageHandler& aOwner, + RMobilePhone& aPhone, + TNWInfo& aNetworkInfo, + RMmCustomAPI& aCustomAPI + ); + + /** + * Second-phase constructor. + */ + void ConstructL(); + + // Data: + + // For RPacketService call + RPacketService iPacketService; + // Current dynamic caps flags. + RPacketService::TDynamicCapsFlags iDynamicCapsFlags; + + }; + +#endif // CNWDYNAMICCAPSMONITOR_H + +// End of File diff -r 53c89a0a48c0 -r 76e20e0cfdc7 networkhandling/networkhandlingengine/NetworkHandlingSrc/CNWDynamicCapsMonitor.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/networkhandling/networkhandlingengine/NetworkHandlingSrc/CNWDynamicCapsMonitor.cpp Sun Mar 14 13:11:59 2010 +0000 @@ -0,0 +1,197 @@ +/* +* Copyright (c) 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" +* 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: This module contains the implementation of +* CNWDynamicCapsMonitor +* +*/ + +// INCLUDE FILES +#include // for EPacketGetDynamicCaps +#include // for RPacketService +#include "CNWDynamicCapsMonitor.h" +#include "CNWMessageHandler.h" +#include "NWLogger.h" + +// ================= MEMBER FUNCTIONS ======================================= + +// ----------------------------------------------------------------------------- +// CNWDynamicCapsMonitor::CNWDynamicCapsMonitor +// C++ default constructor can NOT contain any code, that might leave. +// ----------------------------------------------------------------------------- +// +CNWDynamicCapsMonitor::CNWDynamicCapsMonitor( + CNWMessageHandler& aOwner, // ref. to owner class + RMobilePhone& aPhone, // ref. to phone + TNWInfo& aNetworkInfo, // ref. to network info struct + RMmCustomAPI& aCustomAPI ) //ref. to customAPI + : CNWNetworkMonitorBase( aOwner, + aPhone, + aNetworkInfo, + aCustomAPI ) + { + NWLOGSTRING( KNWOBJECT, "NW: CNWDynamicCapsMonitor::CNWDynamicCapsMonitor -START" ); + CActiveScheduler::Add( this ); + } + + +// ----------------------------------------------------------------------------- +// CNWDynamicCapsMonitor::ConstructL +// Symbian 2nd phase constructor can leave. +// ----------------------------------------------------------------------------- +// +void CNWDynamicCapsMonitor::ConstructL() + { + NWLOGSTRING( KNWOBJECT, "NW: CNWDynamicCapsMonitor::ConstructL -START" ); + User::LeaveIfError( iPacketService.Open( iPhone ) ); + // Assign lower priority than other networkhandling monitors. + // (Default in CNWNetworkMonitorBase is EPriorityStandard) + SetPriority( EPriorityIdle ); + + NWLOGSTRING( KNWOBJECT, "NW: CNWDynamicCapsMonitor::ConstructL -END" ); + } + +// ----------------------------------------------------------------------------- +// CNWDynamicCapsMonitor::NewL +// Two-phased constructor. +// ----------------------------------------------------------------------------- +// +CNWDynamicCapsMonitor* CNWDynamicCapsMonitor::NewL( + CNWMessageHandler& aOwner, + RMobilePhone& aPhone, + TNWInfo& aNetworkInfo, + RMmCustomAPI& aCustomAPI ) + { + NWLOGSTRING( KNWOBJECT, "NW: CNWDynamicCapsMonitor::NewL -START" ); + CNWDynamicCapsMonitor* self = + new( ELeave ) CNWDynamicCapsMonitor( aOwner, + aPhone, + aNetworkInfo, + aCustomAPI ); + + CleanupStack::PushL( self ); + self->ConstructL(); + CleanupStack::Pop( self ); + NWLOGSTRING( KNWOBJECT, "NW: CNWDynamicCapsMonitor::NewL -END" ); + return self; + } + + +// Destructor +CNWDynamicCapsMonitor::~CNWDynamicCapsMonitor() + { + Cancel(); + iPacketService.Close(); + + NWLOGSTRING( KNWOBJECT, "NW: CNWDynamicCapsMonitor::~CNWDynamicCapsMonitor -END" ); + } + +// ----------------------------------------------------------------------------- +// CNWDynamicCapsMonitor::DoCancel +// Cancels the pending async. command. +// ----------------------------------------------------------------------------- +// +void CNWDynamicCapsMonitor::DoCancel() + { + NWLOGSTRING( KNWREQEND, "NW: CNWDynamicCapsMonitor::DoCancel: Request CancelAsyncRequest( EPacketNotifyDynamicCapsChange )" ); + iPacketService.CancelAsyncRequest( EPacketNotifyDynamicCapsChange ); + } + +// ----------------------------------------------------------------------------- +// CNWDynamicCapsMonitor::RunL +// Receives notification that the dynamic packet data capabilities changed. +// Saves new value in TNWInfo object. (This will be used by active idle to +// hide the alpha tag if CS registration is unsuccessful.) +// ----------------------------------------------------------------------------- +// +void CNWDynamicCapsMonitor::RunL() + { + NWLOGSTRING2( KNWREQEND, + "NW: CNWDynamicCapsMonitor::RunL, iStatus = %d", iStatus.Int() ); + + if( iStatus.Int() == KErrNone ) + { + if ( iNWNetworkInfo.iDynamicCapsFlags != iDynamicCapsFlags ) + { + // Update dynamic caps info + UpdateDynamicCapsFlags( iDynamicCapsFlags ); + iOwner.SendMessage( + MNWMessageObserver::ENWMessageDynamicCapsChange ); + } + IssueRequest(); + } + // Check if monitor can be restarted. + else if ( iStatus != KErrCancel && iStatus != KErrServerTerminated ) + { + NWLOGSTRING2( KNWERROR, + "NW: CNWDynamicCapsMonitor::RunL, Unknown error situation, iStatus = %d", iStatus.Int() ); + IssueRequest(); + } + else + { + NWLOGSTRING2( KNWERROR, + "NW: CNWDynamicCapsMonitor::RunL, Server Terminated or request Cancelled, iStatus = %d", iStatus.Int() ); + } + } + + +// ----------------------------------------------------------------------------- +// CNWDynamicCapsMonitor::IssueRequest +// Request a notification when the dynamic packet data capabilities change. +// ----------------------------------------------------------------------------- +// +void CNWDynamicCapsMonitor::IssueRequest() + { + NWLOGSTRING( KNWOBJECT, "NW: CNWDynamicCapsMonitor::IssueRequest() -START" ); + + if( !IsActive() ) + { + NWLOGSTRING( KNWREQIN, + "NW:CNWDynamicCapsMonitor::IssueRequest > RPacketService::NotifyDynamicCapsChange" ); + iPacketService.NotifyDynamicCapsChange( iStatus, iDynamicCapsFlags ); + SetActive(); + } + else + { + NWLOGSTRING( KNWERROR, + "NW: CNWDynamicCapsMonitor::IssueRequest: Already active" ); + } + + NWLOGSTRING( KNWOBJECT, "NW: CNWDynamicCapsMonitor::IssueRequest() -END" ); + } + + +// ----------------------------------------------------------------------------- +// CNWDynamicCapsMonitor::UpdateDynamicCapsFlags() +// Update the value of iNWNetworkInfo.iDynamicCapsFlags +// ----------------------------------------------------------------------------- +// +void CNWDynamicCapsMonitor::UpdateDynamicCapsFlags( + const RPacketService::TDynamicCapsFlags aDynamicCapsFlags ) + { + NWLOGSTRING( KNWOBJECT, "NW: CNWDynamicCapsMonitor::UpdateDynamicCapsFlags()" ); + iNWNetworkInfo.iDynamicCapsFlags = aDynamicCapsFlags; + } + + +// ----------------------------------------------------------------------------- +// CNWDynamicCapsMonitor::RunError() +// Processes any errors. +// ----------------------------------------------------------------------------- +// +TInt CNWDynamicCapsMonitor::RunError( TInt /*aError*/ ) + { + return KErrNone; // Handled the error fully + } + +// end of file 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", diff -r 53c89a0a48c0 -r 76e20e0cfdc7 networkhandling/networkhandlingengine/NetworkHandlingSrc/CNWNetworkRegistrationStatusMonitor.cpp --- a/networkhandling/networkhandlingengine/NetworkHandlingSrc/CNWNetworkRegistrationStatusMonitor.cpp Mon Mar 08 21:44:09 2010 +0000 +++ b/networkhandling/networkhandlingengine/NetworkHandlingSrc/CNWNetworkRegistrationStatusMonitor.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 "CNWNetworkRegistrationStatusMonitor.h" #include "CNWMessageHandler.h" #include "NetworkHandlingDomainPSKeys.h" @@ -66,6 +67,7 @@ "NW: CNWNetworkRegistrationStatusMonitor::\ ConstructL() Begin." ); + FeatureManager::InitializeLibL(); RProperty::TType type( RProperty::EInt ); TSecurityPolicy readPolicy( ECapability_None ); TSecurityPolicy writePolicy( ECapabilityWriteDeviceData ); @@ -146,6 +148,8 @@ NWLOGSTRING( KNWOBJECT, "NW: CNWNetworkRegistrationStatusMonitor::\ ~CNWNetworkRegistrationStatusMonitor() End." ); + FeatureManager::UnInitializeLib(); + NWLOGSTRING( KNWOBJECT, "NW: CNWNetworkRegistrationStatusMonitor::~CNWNetworkRegistrationStatusMonitor complete." ); } // ---------------------------------------------------------------------------- @@ -209,6 +213,13 @@ NWLOGSTRING2( KNWERROR, "NW: CNWNetworkRegistrationStatusMonitor::RunL, Unknown error \ situation, iStatus = %d", iStatus.Int() ); + + if ( FeatureManager::FeatureSupported( KFeatureIdFfManualSelectionPopulatedPlmnList ) ) + { + iOwner.SendErrorMessage( MNWMessageObserver::ENWNotifyNetworkRegistrationStatusChange, + iStatus.Int() ); + } + IssueRequest(); } else diff -r 53c89a0a48c0 -r 76e20e0cfdc7 nwnotifier/data/nwnotifier.rss --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/nwnotifier/data/nwnotifier.rss Sun Mar 14 13:11:59 2010 +0000 @@ -0,0 +1,59 @@ +/* +* Copyright (c) 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" +* 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: Resource file of NWNotifier +* +*/ + +// INCLUDES +#include +#include "../loc/networknotifier.loc" + +NAME NWNS + +// RESOURCE DEFINITIONS +// ----------------------------------------------------------------------------- +// +// Define the resource file signature +// This resource should be empty. +// +// ----------------------------------------------------------------------------- +// +RESOURCE RSS_SIGNATURE + { + } + + +// +// Localisation +/////////////////////////////// +STRUCT STRING + { + LTEXT text; + } + + +// ----------------------------------------------------------------------------- +// +// Resources for messages. +// +// ----------------------------------------------------------------------------- +// +RESOURCE STRING r_sim_not_prov_mm2 { text=qtn_note_smartchip_mm2; } +RESOURCE STRING r_sim_not_allow_mm3 { text=qtn_note_smartchip_mm3; } +RESOURCE STRING r_call_failed_mm4 { text=qtn_note_call_failed_mm4; } +RESOURCE STRING r_phone_not_allow_mm5 { text=qtn_note_phone_not_allow_mm5; } +RESOURCE STRING r_phone_not_allow_mm6 { text=qtn_note_phone_not_allow_mm6; } +RESOURCE STRING r_sim_not_allow { text=qtn_note_smartchip_not_allow; } + +// End of File diff -r 53c89a0a48c0 -r 76e20e0cfdc7 nwnotifier/group/bld.inf --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/nwnotifier/group/bld.inf Sun Mar 14 13:11:59 2010 +0000 @@ -0,0 +1,36 @@ +/* +* Copyright (c) 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" +* 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: +* +*/ + +#include + +PRJ_PLATFORMS +DEFAULT + +PRJ_MMPFILES +nwnotifier.mmp + +PRJ_EXPORTS + +//IBY +../rom/nwnotifier.iby CORE_MW_LAYER_IBY_EXPORT_PATH(nwnotifier.iby) +../rom/nwnotifierresources.iby LANGUAGE_MW_LAYER_IBY_EXPORT_PATH(nwnotifierresources.iby) + +// For EE texts +../rom/nwnotifierresources.iby CORE_APP_LAYER_IBY_EXPORT_PATH(nwnotifierresources.iby) + +//LOC +../loc/networknotifier.loc MW_LAYER_LOC_EXPORT_PATH(networknotifier.loc) diff -r 53c89a0a48c0 -r 76e20e0cfdc7 nwnotifier/group/nwnotifier.mmp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/nwnotifier/group/nwnotifier.mmp Sun Mar 14 13:11:59 2010 +0000 @@ -0,0 +1,57 @@ +/* +* Copyright (c) 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" +* 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: Project specification file for nwnotifier.exe +* +*/ + +#include + +MW_LAYER_SYSTEMINCLUDE + +TARGET nwnotifier.exe +TARGETTYPE exe +UID 0x1000008d 0x20026826 +SECUREID 0x20026826 + +SOURCEPATH ../data + +// Application Resource +START RESOURCE nwnotifier.rss +HEADER +TARGET nwnotifier_0x20026826 +TARGETPATH RESOURCE_FILES_DIR +LANGUAGE_IDS +END //RESOURCE + +USERINCLUDE ../inc + +LIBRARY euser.lib +LIBRARY aknnotify.lib // conf query +LIBRARY eiksrv.lib // conf query +LIBRARY bafl.lib +LIBRARY efsrv.lib // file +LIBRARY etel.lib // +LIBRARY etelmm.lib +LIBRARY platformenv.lib + +VENDORID VID_DEFAULT + +CAPABILITY CAP_SERVER + +SOURCEPATH ../src +SOURCE networknotifiernotewrapper.cpp +SOURCE nwnotifier.cpp +SOURCE nwregistrationstatusmonitor.cpp + +// End of File diff -r 53c89a0a48c0 -r 76e20e0cfdc7 nwnotifier/inc/networknotifiernotewrapper.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/nwnotifier/inc/networknotifiernotewrapper.h Sun Mar 14 13:11:59 2010 +0000 @@ -0,0 +1,134 @@ +/* +* Copyright (c) 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" +* 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: Active object wrapper to handle popup note. +* +*/ + +#ifndef __NETWORKNOTIFIER_WRAPPER_H__ +#define __NETWORKNOTIFIER_WRAPPER_H__ + +// SYSTEM INCLUDES +#include +#include + +// INCLUDES +#include + +// FORWARD CLASS DECLARATIONS +class CAknGlobalConfirmationQuery; + +// CONSTANTS + +_LIT( KResFile, "\\resource\\NWNotifier_0x20026826.rsc" ); + + +// OBSERVER DECLARATION +class MNoteWrapperObserver + { + public: + + virtual void PopupNoteClosed( ) = 0; + }; + +// CLASS DECLARATION +/** + * This Class provides implementation for handling the error notes + */ + +class CNetworkNotifierNoteWrapper : public CActive + { + public: + + /** + * Two-phased constructor. + */ + static CNetworkNotifierNoteWrapper* NewL( MNoteWrapperObserver& aObserver, + TInt aResID ); + + /** + * Destructor. + */ + ~CNetworkNotifierNoteWrapper(); + + /** + * Monitor inserts the latest error notification err# from ETEL to this stack. + * @param aResID Resource id of the note to be added to the notestack. + */ + void AppendNote( const TInt aResID ); + + + private: + + /** + * C++ default constructor. + * @param aObserver Reference to observer class. CNWRegistrationStatus is listening. + * @param aResID Resource id number to be inserted into the notestack. + */ + CNetworkNotifierNoteWrapper( MNoteWrapperObserver& aObserver, + TInt aResID ); + + /** + * Second-phase constructor. + * + */ + void ConstructL(); + + /** + * Informs object that asyncronous request is ready. + * + */ + void RunL(); + + /** + * Cancels asyncronous request(s). + * + */ + void DoCancel(); + + /** + * From CActive, RunError. + * Processes any errors. + * @param aError The leave code reported. + * @result return KErrNone if leave is handled. + */ + TInt RunError( TInt aError ); + + /** + * Reads the localized error strings from resource. + * @return The localized error string. + */ + HBufC* ReadResourceLC(); + + /** + * Displays the error note passed as a parameter. + * @param aNote Pointer to the note. + */ + void DisplayPopupNoteL( HBufC* aNote ); + + private: // Data + + // Handle to file server + RFs iFs; + + // Note + CAknGlobalConfirmationQuery* iGlobalQuery; + + // Callback receiver + MNoteWrapperObserver& iObserver; + + // Error note stack + RArray iErrNotes; + }; + +#endif // __NETWORKNOTIFIER_WRAPPER_H__ diff -r 53c89a0a48c0 -r 76e20e0cfdc7 nwnotifier/inc/nwregistrationstatusmonitor.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/nwnotifier/inc/nwregistrationstatusmonitor.h Sun Mar 14 13:11:59 2010 +0000 @@ -0,0 +1,137 @@ +/* +* Copyright (c) 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" +* 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: This file contains the header file of the NWRegistrationStatusMonitor class. +* +*/ + +#ifndef NWREGISTRATION_STATUS_H +#define NWREGISTRATION_STATUS_H + +// SYSTEM INCLUDES +#include +#include +#include + +// INCLUDES +#include "networknotifiernotewrapper.h" + +// FORWARD DECLARATIONS + +// CLASS DECLARATION +/** +* Monitors network registration status change event +* from MMEtel +*/ +class CNWRegistrationStatusMonitor : public CActive, + MNoteWrapperObserver + { + public: // Constructors and destructor + + /** + * Two-phased constructor. + */ + static CNWRegistrationStatusMonitor* NewL(); + + /** + * Destructor. + */ + virtual ~CNWRegistrationStatusMonitor(); + + + protected: // Functions from CActive + + /** + * Cancels asyncronous request(s). + * + */ + void DoCancel(); + + /** + * Informs object that asyncronous request is ready. + * + */ + void RunL(); + + /** + * From CActive, RunError. + * Processes any errors. + * @param aError The leave code reported. + * @result return KErrNone if leave is handled. + */ + TInt RunError( TInt aError ); + + private: + + /** + * C++ default constructor. + * + */ + CNWRegistrationStatusMonitor(); + + /** + * Second-phase constructor. + * + */ + void ConstructL(); + + /** + * Issues a request to ETel to provide NW registration + * status information. + * + */ + void IssueRequest(); + + /** + * Maps network registration status errors to resource ids. + * + */ + void ParseErrCode(); + + // from MNoteWrapperObserver + void PopupNoteClosed(); + + /** + * Open the connection to RMobilePhone + * + */ + void OpenConnectionL(); + + /** + * Closes the connection to RMobilePhone + * + */ + void CloseConnection(); + + + private: // Data + + // Current registration status info. + RMobilePhone::TMobilePhoneRegistrationStatus iRegistrationStatus; + + // Handle to RMobilePhone + RMobilePhone iPhone; + + // Handle to Telephony server + RTelServer iTelServer; + + // Parsed res id# + TInt iResID; + + // Note wrapper + CNetworkNotifierNoteWrapper* iNoteWrapper; + }; +#endif // NWREGISTRATION_STATUS_H + +// End of File + diff -r 53c89a0a48c0 -r 76e20e0cfdc7 nwnotifier/loc/networknotifier.loc --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/nwnotifier/loc/networknotifier.loc Sun Mar 14 13:11:59 2010 +0000 @@ -0,0 +1,55 @@ +/* +* Copyright (c) 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" +* 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: Resource localisation file. +* +*/ + +// LOCALIZATION STRINGS + +// d:Popup menu for the sim not provisioned error +// l:popup_note_window/opt1 +// r:5.0 +// +#define qtn_note_smartchip_mm2 "SIM not provisioned MM #2" + + +// d:Popup menu for the sim not provisioned error +// l:popup_note_window/opt1 +// r:5.0 +// +#define qtn_note_smartchip_mm3 "SIM not allowed MM #3" + +// d:Popup menu for the sim not provisioned error +// l:popup_note_window/opt1 +// r:5.0 +// +#define qtn_note_call_failed_mm4 "Call Failed MM #4" + +// d:Popup menu for the sim not provisioned error +// l:popup_note_window/opt1 +// r:5.0 +// +#define qtn_note_phone_not_allow_mm5 "Phone not allowed MM #5" + +// d:Popup menu for the sim not provisioned error +// l:popup_note_window/opt1 +// r:5.0 +// +#define qtn_note_phone_not_allow_mm6 "Phone not allowed MM #6" + +// d:Popup menu for the sim not provisioned error +// l:popup_note_window/opt1 +// r:5.0 +// +#define qtn_note_smartchip_not_allow "SIM not allowed" diff -r 53c89a0a48c0 -r 76e20e0cfdc7 nwnotifier/rom/nwnotifier.iby --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/nwnotifier/rom/nwnotifier.iby Sun Mar 14 13:11:59 2010 +0000 @@ -0,0 +1,25 @@ +/* +* Copyright (c) 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" +* 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: IBY file of NWNotifier +* +*/ + +#ifndef NWNOTIFIER_IBY +#define NWNOTIFIER_IBY + +file=ABI_DIR\BUILD_DIR\nwnotifier.exe PROGRAMS_DIR\nwnotifier.exe + +#endif // NWNOTIFIER_IBY + +// End of File diff -r 53c89a0a48c0 -r 76e20e0cfdc7 nwnotifier/rom/nwnotifierresources.iby --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/nwnotifier/rom/nwnotifierresources.iby Sun Mar 14 13:11:59 2010 +0000 @@ -0,0 +1,25 @@ +/* +* Copyright (c) 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" +* 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: IBY file of NWNotifier resources +* +*/ + +#ifndef NWNOTIFIERRESOURCES_IBY +#define NWNOTIFIERRESOURCES_IBY + +data = DATAZ_\RESOURCE_FILES_DIR\NWNotifier_0x20026826.rsc RESOURCE_FILES_DIR\NWNotifier_0x20026826.rsc + +#endif // NWNOTIFIERRESOURCES_IBY + +// End of File diff -r 53c89a0a48c0 -r 76e20e0cfdc7 nwnotifier/src/networknotifiernotewrapper.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/nwnotifier/src/networknotifiernotewrapper.cpp Sun Mar 14 13:11:59 2010 +0000 @@ -0,0 +1,259 @@ +/* +* Copyright (c) 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" +* 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: Active object wrapper to handle popup note. +* +*/ + +// System includes +#include +#include +#include +#include + +// Includes +#include "networknotifiernotewrapper.h" + +// ----------------------------------------------------------------------------- +// CNetworkNotifierNoteWrapper::NewLC() +// Two-phased constructor. +// ----------------------------------------------------------------------------- +// +CNetworkNotifierNoteWrapper* CNetworkNotifierNoteWrapper::NewL( MNoteWrapperObserver& aObserver, + TInt aResID ) + { + CNetworkNotifierNoteWrapper* self = new( ELeave ) CNetworkNotifierNoteWrapper( aObserver, + aResID ); + CleanupStack::PushL( self ); + self->ConstructL(); + CleanupStack::Pop( self ); + return self; + } + +// ----------------------------------------------------------------------------- +// CNetworkNotifierNoteWrapper::ConstructL +// +// ----------------------------------------------------------------------------- +// +void CNetworkNotifierNoteWrapper::ConstructL() + { + RDebug::Print( _L("NW: CNetworkNotifierNoteWrapper::ConstructL() -START") ); + + User::LeaveIfError( iFs.Connect() ); + + HBufC* note = ReadResourceLC(); + + if( note ) + { + DisplayPopupNoteL( note ); + CleanupStack::PopAndDestroy( note ); + } + + RDebug::Print( _L("NW: CNetworkNotifierNoteWrapper::ConstructL() -END") ); + } + + +// ----------------------------------------------------------------------------- +// CNetworkNotifierNoteWrapper::CNetworkNotifierNoteWrapper +// +// ----------------------------------------------------------------------------- +// +CNetworkNotifierNoteWrapper::CNetworkNotifierNoteWrapper( MNoteWrapperObserver& aObserver, + TInt aResID ) : + CActive( EPriorityStandard ), + iObserver( aObserver ) + { + iErrNotes.Insert( aResID, 0 ); + CActiveScheduler::Add( this ); + } + + +// ----------------------------------------------------------------------------- +// CNetworkNotifierNoteWrapper::~CNetworkNotifierNoteWrapper +// +// ----------------------------------------------------------------------------- +// +CNetworkNotifierNoteWrapper::~CNetworkNotifierNoteWrapper() + { + RDebug::Print( _L("NW: CNetworkNotifierNoteWrapper::~CNetworkNotifierNoteWrapper() -START") ); + + iFs.Close(); + iErrNotes.Close(); // cleanup and close + + Cancel(); + delete iGlobalQuery; + + RDebug::Print( _L("NW: CNetworkNotifierNoteWrapper::~CNetworkNotifierNoteWrapper() -END") ); + } + + +// ----------------------------------------------------------------------------- +// CNetworkNotifierNoteWrapper::AppendNote +// +// Monitor inserts the latest error notification err# from ETEL to this stack +// ----------------------------------------------------------------------------- +// +void CNetworkNotifierNoteWrapper::AppendNote( const TInt aResID ) + { + RDebug::Print( _L("NW: CNetworkNotifierNoteWrapper::AppendNote() -START") ); + iErrNotes.Insert( aResID, 0 ); + RDebug::Print( _L("NW: CNetworkNotifierNoteWrapper::AppendNote() -END") ); + } + + +// ----------------------------------------------------------------------------- +// CNetworkNotifierNoteWrapper::DisplayPopupNoteL +// +// ----------------------------------------------------------------------------- +// +void CNetworkNotifierNoteWrapper::DisplayPopupNoteL( HBufC* aNote ) + { + RDebug::Print( _L("NW: CNetworkNotifierNoteWrapper::DisplayPopupNoteL() -START") ); + + if( !IsActive() ) + { + if( !iGlobalQuery ) + { + iGlobalQuery = CAknGlobalConfirmationQuery::NewL(); + } + if( aNote ) + { + iGlobalQuery->ShowConfirmationQueryL( iStatus, + *aNote, + R_AVKON_SOFTKEYS_OK_EMPTY, + R_QGN_NOTE_WARNING_ANIM ); + } + + SetActive(); + } + + RDebug::Print( _L("NW: CNetworkNotifierNoteWrapper::DisplayPopupNoteL() -END") ); + } + +// ----------------------------------------------------------------------------- +// CNetworkNotifierNoteWrapper::ReadResourceLC +// +// Just to read localized error strings from resource +// +// ----------------------------------------------------------------------------- +// +HBufC* CNetworkNotifierNoteWrapper::ReadResourceLC() + { + RDebug::Print( + _L("NW: CNetworkNotifierNoteWrapper::ReadResourceLC() -START") ); + + TInt resId; + RResourceFile resFile; + TResourceReader reader; + + TFileName fullFileName; + TDriveUnit driveNum = PathInfo::RomRootPath(); + + fullFileName.Insert( 0, driveNum.Name() ); + fullFileName.Append( KResFile ); + + TFileName file( fullFileName ); + HBufC16* textBuffer = NULL; + + // We are interested in the most recent err note at a time + resId = iErrNotes[0]; + + // Err# can be removed from the stack now + iErrNotes.Remove( 0 ); + + BaflUtils::NearestLanguageFile( iFs, file ); + resFile.OpenL( iFs, file ); + // According to SDK docs, resFile will be closed if this function leaves + resFile.ConfirmSignatureL(); + + HBufC8* readBuffer = resFile.AllocReadLC( resId ); + reader.SetBuffer( readBuffer ); + + TPtrC textdata = reader.ReadTPtrC(); + textBuffer = HBufC16::NewL( textdata.Length() ); + *textBuffer = textdata; + + CleanupStack::PopAndDestroy( readBuffer ); + CleanupStack::PushL( textBuffer ); + + resFile.Close(); + + RDebug::Print( + _L("NW: CNetworkNotifierNoteWrapper::ReadResourceLC() -END")); + return textBuffer; + } + + +// ----------------------------------------------------------------------------- +// CNetworkNotifierNoteWrapper::RunL +// Pure virtuals from CActive implemented in this derived class. +// iStatus error handling is not needed here, since the service provider for +// this AO (in DisplayPopupNoteL) will leave in case of an error, and will +// therefore be handled in RunError. +// ----------------------------------------------------------------------------- +// +void CNetworkNotifierNoteWrapper::RunL() + { + RDebug::Print( _L("NW: CNetworkNotifierNoteWrapper::RunL -START") ); + + if( iErrNotes.Count() ) // There are more errors to display: + { + HBufC* note = ReadResourceLC(); + + if ( note ) + { + DisplayPopupNoteL( note ); + CleanupStack::PopAndDestroy( note ); + } + } + else + { + // Error note stack is empty, since this task has completed and let monitor + // to destruct this instance + RDebug::Print( _L("NW: CNetworkNotifierNoteWrapper::RunL : No more notes to display") ); + iObserver.PopupNoteClosed(); + } + } + + +// ----------------------------------------------------------------------------- +// CNetworkNotifierNoteWrapper::DoCancel +// +// ----------------------------------------------------------------------------- +// +void CNetworkNotifierNoteWrapper::DoCancel() + { + if( iGlobalQuery ) + { + iGlobalQuery->CancelConfirmationQuery(); + } + } + +// ----------------------------------------------------------------------------- +// CNetworkNotifierNoteWrapper::RunError() +// +// ----------------------------------------------------------------------------- +// +TInt CNetworkNotifierNoteWrapper::RunError( TInt aError ) + { + // Resource reader failed in ReadResourceLC + // Just reissue the request + if ( aError ) + { + RDebug::Print( _L("NW: CNetworkNotifierNoteWrapper::RunError: Showing of the note failed!") ); + } + + return KErrNone; + } + +// end of file diff -r 53c89a0a48c0 -r 76e20e0cfdc7 nwnotifier/src/nwnotifier.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/nwnotifier/src/nwnotifier.cpp Sun Mar 14 13:11:59 2010 +0000 @@ -0,0 +1,86 @@ +/* +* Copyright (c) 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" +* 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: This module contains the implementation of CNWNotifier +* class member functions. +* +*/ + +// SYSTEM INCLUDE FILES + +// INCLUDE FILES +#include "nwregistrationstatusmonitor.h" + +// Global Variables + +// CONSTANTS +_LIT( KNWNotifierThreadName,"NWNotifierThread" ); + +// Local Functions + +// ----------------------------------------------------------------------------- +// DoStartL() +// +// ----------------------------------------------------------------------------- +// +LOCAL_C void DoStartL() + { + // Rename thread as + User::RenameThread( KNWNotifierThreadName ); + + // Create active scheduler (to run active objects) + CActiveScheduler* threadScheduler = new (ELeave) CActiveScheduler; + CleanupStack::PushL( threadScheduler ); + CActiveScheduler::Install( threadScheduler ); + + // Create an instance of status monitoring component. Start monitoring instantly. + CNWRegistrationStatusMonitor* statusMonitor = CNWRegistrationStatusMonitor::NewL(); + + //Starts the scheduler. Thread remains in this loop until this process is terminated. + CActiveScheduler::Start(); + + delete statusMonitor; + + // Delete active scheduler + CleanupStack::PopAndDestroy( threadScheduler ); + } + +// Global Functions + +// ----------------------------------------------------------------------------- +// E32Main() +// Provides the API for the operating system to start the executable. +// Returns the address of the function to be called. +// ----------------------------------------------------------------------------- +// +GLDEF_C TInt E32Main() + { + // Create cleanup stack + __UHEAP_MARK; + CTrapCleanup* cleanup = CTrapCleanup::New(); + + if( !cleanup ) + { + return KErrNoMemory; + } + + // Run application code inside TRAP harness + TRAPD( mainErr, DoStartL() ); + + delete cleanup; + __UHEAP_MARKEND; + + return mainErr; + } + +// End of File diff -r 53c89a0a48c0 -r 76e20e0cfdc7 nwnotifier/src/nwregistrationstatusmonitor.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/nwnotifier/src/nwregistrationstatusmonitor.cpp Sun Mar 14 13:11:59 2010 +0000 @@ -0,0 +1,295 @@ +/* +* Copyright (c) 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" +* 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: This module contains the implementation of CNWRegistrationStatusMonitor +* class member functions. +* +*/ + +// INCLUDE FILES +#include "nwregistrationstatusmonitor.h" +// System +#include +#include // KMmTsyModuleName + +// ================= MEMBER FUNCTIONS ======================================= + +// ----------------------------------------------------------------------------- +// CNWRegistrationStatusMonitor::CNWRegistrationStatusMonitor +// C++ default constructor can NOT contain any code, that +// might leave. +// +// ----------------------------------------------------------------------------- +// +CNWRegistrationStatusMonitor::CNWRegistrationStatusMonitor() : + CActive( EPriorityStandard ) + { + } + + +// ----------------------------------------------------------------------------- +// CNWRegistrationStatusMonitor::ConstructL +// Symbian 2nd phase constructor can leave. +// ----------------------------------------------------------------------------- +// +void CNWRegistrationStatusMonitor::ConstructL() + { + // Add to scheduler. + CActiveScheduler::Add( this ); + + // Open connection to ETel + OpenConnectionL(); + + // Start monitoring + IssueRequest(); + } + + +// ----------------------------------------------------------------------------- +// CNWRegistrationStatusMonitor::NewL +// Two-phased constructor. +// ----------------------------------------------------------------------------- +// +CNWRegistrationStatusMonitor* CNWRegistrationStatusMonitor::NewL() + { + RDebug::Print( _L("NW: CNWRegistrationStatusMonitor::NewL -START") ); + + CNWRegistrationStatusMonitor* self = new ( ELeave ) CNWRegistrationStatusMonitor(); + CleanupStack::PushL( self ); + self->ConstructL(); + CleanupStack::Pop( self ); + + RDebug::Print( _L("NW: CNWRegistrationStatusMonitor::NewL -END") ); + return self; + } + + +// ----------------------------------------------------------------------------- +// Destructor +// +// ----------------------------------------------------------------------------- +// +CNWRegistrationStatusMonitor::~CNWRegistrationStatusMonitor() + { + Cancel(); + + CloseConnection(); + + delete iNoteWrapper; + } + +// ----------------------------------------------------------------------------- +// CNWRegistrationStatusMonitor::OpenConnectionL() +// Open connection to ETel +// ----------------------------------------------------------------------------- +// +void CNWRegistrationStatusMonitor::OpenConnectionL() + { + // Connect ETel server + User::LeaveIfError( iTelServer.Connect() ); + + // Load ETel TSY module + User::LeaveIfError( iTelServer.LoadPhoneModule( KMmTsyModuleName ) ); + + // Set this session to receive detailed errors + User::LeaveIfError( iTelServer.SetExtendedErrorGranularity( + RTelServer::EErrorExtended ) ); + + // Opens a phone subsession by name, + User::LeaveIfError( iPhone.Open( iTelServer, KMmTsyPhoneName ) ); + } + +// ----------------------------------------------------------------------------- +// CNWRegistrationStatusMonitor::CloseConnection() +// Closes the connection to ETel +// ----------------------------------------------------------------------------- +// +void CNWRegistrationStatusMonitor::CloseConnection() + { + iPhone.Close(); + + if ( iTelServer.Handle() ) + { + iTelServer.UnloadPhoneModule( KMmTsyModuleName ); + iTelServer.Close(); + } + } + +// ----------------------------------------------------------------------------- +// CNWRegistrationStatusMonitor::DoCancel +// Cancels the pending async. command. +// (other items were commented in a header). +// ----------------------------------------------------------------------------- +// +void CNWRegistrationStatusMonitor::DoCancel() + { + RDebug::Print( _L("NW: CNWRegistrationStatusMonitor::DoCancel -START") ); + + iPhone.CancelAsyncRequest( EMobilePhoneNotifyNetworkRegistrationStatusChange ); + + RDebug::Print( _L("NW: CNWRegistrationStatusMonitor::DoCancel -END") ); + } + + +// ----------------------------------------------------------------------------- +// CNWRegistrationStatusMonitor::RunL +// Receives the completion of the pending async. command, +// saves possible values from async. +// +// ----------------------------------------------------------------------------- +// +void CNWRegistrationStatusMonitor::RunL() + { + RDebug::Print( _L("NW: CNWRegistrationStatusMonitor::RunL -START") ); + + if( iStatus.Int() != KErrNone ) // Display only errors + { + // Parse error code to iResId + ParseErrCode(); + + if( !iNoteWrapper ) + { // Instantiate a notewrapper and pass err code to be displayed + iNoteWrapper = CNetworkNotifierNoteWrapper::NewL( *this, iResID ); + } + else // If note wrapper exists already, add error code -stack in wrapper + { + iNoteWrapper->AppendNote( iResID ); + } + } + else + { + if( iStatus.Int() == KErrBadHandle || + iStatus.Int() == KErrServerBusy ) + { + // Close the session to ETel + CloseConnection(); + // Reconnect + OpenConnectionL(); + } + } + + // Keep monitoring + IssueRequest(); + + RDebug::Print( _L("NW: CNWRegistrationStatusMonitor::RunL -END") ); + } + + +// ----------------------------------------------------------------------------- +// CNWRegistrationStatusMonitor::ParseErrorCode() +// +// ----------------------------------------------------------------------------- +// +void CNWRegistrationStatusMonitor::ParseErrCode() + { + switch( iStatus.Int() ) + { + case KErrGsmMMImsiUnknownInHlr: + { + iResID = R_SIM_NOT_PROV_MM2; + RDebug::Print( _L("NW: CNWRegistrationStatusMonitor::ParseErrCode() : R_SIM_NOT_PROV_MM2") ); + break; + } + case KErrGsmMMIllegalMs: + { + iResID = R_SIM_NOT_ALLOW_MM3; + RDebug::Print( _L("NW: CNWRegistrationStatusMonitor::ParseErrCode() : R_SIM_NOT_ALLOW_MM3") ); + break; + } + case KErrGsmMMImsiUnknownInVlr: + { + iResID = R_CALL_FAILED_MM4; + RDebug::Print( _L("NW: CNWRegistrationStatusMonitor::ParseErrCode() : R_CALL_FAILED_MM4") ); + break; + } + case KErrGsmMMImeiNotAccepted: + { + iResID = R_PHONE_NOT_ALLOW_MM5; + RDebug::Print( _L("NW: CNWRegistrationStatusMonitor::ParseErrCode() : R_PHONE_NOT_ALLOW_MM5") ); + break; + } + case KErrGsmMMIllegalMe: + { + iResID = R_PHONE_NOT_ALLOW_MM6; + RDebug::Print( _L("NW: CNWRegistrationStatusMonitor::ParseErrCode() : R_PHONE_NOT_ALLOW_MM6") ); + break; + } + default: + { + case KErrGeneral: + { + RDebug::Print( _L("NW: CNWRegistrationStatusMonitor::ParseErrCode() : R_SIM_NOT_ALLOW") ); + iResID = R_SIM_NOT_ALLOW; + break; + } + } + } + } + + +// ----------------------------------------------------------------------------- +// CNWRegistrationStatusMonitor::IssueRequest +// Executes the async. NotifyNetworkRegistrationStatusChange function. +// +// ----------------------------------------------------------------------------- +// +void CNWRegistrationStatusMonitor::IssueRequest() + { + RDebug::Print( _L("NW: CNWRegistrationStatusMonitor::IssueRequest -START") ); + + if ( !IsActive() ) + { + iPhone.NotifyNetworkRegistrationStatusChange( iStatus, iRegistrationStatus ); + SetActive(); + RDebug::Print( _L("NW: CNWRegistrationStatusMonitor::IssueRequest : NotifyChange()-request set active - pending !") ); + } + + RDebug::Print( _L("NW: CNWRegistrationStatusMonitor::IssueRequest -END") ); + } + + +// ----------------------------------------------------------------------------- +// CNWRegistrationStatusMonitor::PopupNoteClosed +// +// Callback from note wrapper class : all error notes are displayed since this monitor +// class can destruct note wrapper +// ----------------------------------------------------------------------------- +// +void CNWRegistrationStatusMonitor::PopupNoteClosed() + { + RDebug::Print( _L("NW: CNWRegistrationStatusMonitor::PopupNoteClosed -START") ); + + delete iNoteWrapper; + iNoteWrapper = NULL; + + RDebug::Print( _L("NW: CNWRegistrationStatusMonitor::PopupNoteClosed -END") ); + } + + +// ----------------------------------------------------------------------------- +// CNWRegistrationStatusMonitor::RunError() +// Processes any errors. +// ----------------------------------------------------------------------------- +// +TInt CNWRegistrationStatusMonitor::RunError( TInt /*aError*/ ) + { + RDebug::Print( _L("NW: CNWRegistrationStatusMonitor::RunError -START") ); + + // Keep monitoring + IssueRequest(); + + RDebug::Print( _L("NW: CNWRegistrationStatusMonitor::RunError -END") ); + return KErrNone; // Handled the error fully + } + +// End of File diff -r 53c89a0a48c0 -r 76e20e0cfdc7 phoneclientserver/CallUI/Inc/CaUiEngine/CaUiEngFactImpl.h --- a/phoneclientserver/CallUI/Inc/CaUiEngine/CaUiEngFactImpl.h Mon Mar 08 21:44:09 2010 +0000 +++ b/phoneclientserver/CallUI/Inc/CaUiEngine/CaUiEngFactImpl.h Sun Mar 14 13:11:59 2010 +0000 @@ -22,7 +22,7 @@ // INCLUDES -#include "CaUiEng.h" +#include "cauieng.h" /** diff -r 53c89a0a48c0 -r 76e20e0cfdc7 phoneclientserver/CallUI/Inc/CaUiEngine/CaUiEngine.h --- a/phoneclientserver/CallUI/Inc/CaUiEngine/CaUiEngine.h Mon Mar 08 21:44:09 2010 +0000 +++ b/phoneclientserver/CallUI/Inc/CaUiEngine/CaUiEngine.h Sun Mar 14 13:11:59 2010 +0000 @@ -23,8 +23,8 @@ #include #include // RConeResourceLoader. #include // MPhCltExtPhoneObserver. -#include "CaUiEng.h" -#include "CaUiDialResultObserver.h" +#include "cauieng.h" +#include "cauidialresultobserver.h" #include "CaUiQueryObserver.h" #include #include diff -r 53c89a0a48c0 -r 76e20e0cfdc7 phoneclientserver/CallUI/Src/CaUiEngine/CaUiActiveObject.cpp --- a/phoneclientserver/CallUI/Src/CaUiEngine/CaUiActiveObject.cpp Mon Mar 08 21:44:09 2010 +0000 +++ b/phoneclientserver/CallUI/Src/CaUiEngine/CaUiActiveObject.cpp Sun Mar 14 13:11:59 2010 +0000 @@ -25,10 +25,10 @@ #include #include -#include +#include #include -#include "CaUiMessageSender.h" -#include "CaUiLogger.h" +#include "cauimessagesender.h" +#include "cauilogger.h" // CONSTANTS diff -r 53c89a0a48c0 -r 76e20e0cfdc7 phoneclientserver/CallUI/Src/CaUiEngine/CaUiDialogs.cpp --- a/phoneclientserver/CallUI/Src/CaUiEngine/CaUiDialogs.cpp Mon Mar 08 21:44:09 2010 +0000 +++ b/phoneclientserver/CallUI/Src/CaUiEngine/CaUiDialogs.cpp Sun Mar 14 13:11:59 2010 +0000 @@ -29,10 +29,10 @@ #include #include #include "CaUiDialogs.h" -#include "CaUiLogger.h" +#include "cauilogger.h" #include "CaUiQuery.h" #include "CaUiEngine.h" -#include "CPhCntMatcher.h" +#include "cphcntmatcher.h" #include "CaUiActiveObject.h" // CLASS DECLARATION diff -r 53c89a0a48c0 -r 76e20e0cfdc7 phoneclientserver/CallUI/Src/CaUiEngine/CaUiEngine.cpp --- a/phoneclientserver/CallUI/Src/CaUiEngine/CaUiEngine.cpp Mon Mar 08 21:44:09 2010 +0000 +++ b/phoneclientserver/CallUI/Src/CaUiEngine/CaUiEngine.cpp Sun Mar 14 13:11:59 2010 +0000 @@ -21,12 +21,12 @@ #include "CaUiQuery.h" // CCaUiQuery. #include // MCaUiReconnectQueryObserver. #include // Resources. -#include // CPhCltDialer. +#include // CPhCltDialer. #include #include #include #include -#include // CPhCltExtPhoneDialData +#include // CPhCltExtPhoneDialData #include "callui.loc" // Localized strings. @@ -35,7 +35,7 @@ #include // CAknGlobalListQuery. #include // FeatureManager. -#include // Confirmation query. +#include // Confirmation query. #include // Character removal. #include // AIW dialdata. @@ -46,10 +46,10 @@ #include "CaUiVoIPExtension.h" // VoIP/SCCP profile store #include -#include -#include "CaUiLogger.h" // Call Ui Logger +#include +#include "cauilogger.h" // Call Ui Logger #include -#include +#include #include #include diff -r 53c89a0a48c0 -r 76e20e0cfdc7 phoneclientserver/CallUI/Src/CaUiEngine/CaUiMessageSender.cpp --- a/phoneclientserver/CallUI/Src/CaUiEngine/CaUiMessageSender.cpp Mon Mar 08 21:44:09 2010 +0000 +++ b/phoneclientserver/CallUI/Src/CaUiEngine/CaUiMessageSender.cpp Sun Mar 14 13:11:59 2010 +0000 @@ -29,7 +29,7 @@ #include // CSendAppUi, CSendUi #include // Message data for CSendUi #include // Feature manager -#include "CaUiLogger.h" // Call Ui Logger +#include "cauilogger.h" // Call Ui Logger // CONSTANTS // The reconnect query options granularity. diff -r 53c89a0a48c0 -r 76e20e0cfdc7 phoneclientserver/CallUI/Src/CaUiEngine/CaUiVoIPExtension.cpp --- a/phoneclientserver/CallUI/Src/CaUiEngine/CaUiVoIPExtension.cpp Mon Mar 08 21:44:09 2010 +0000 +++ b/phoneclientserver/CallUI/Src/CaUiEngine/CaUiVoIPExtension.cpp Sun Mar 14 13:11:59 2010 +0000 @@ -120,19 +120,22 @@ // check if the service supports internet call CSPProperty* property = CSPProperty::NewLC(); // get attribute mask of the service - User::LeaveIfError( settingsApi->FindPropertyL( idArray[i], - EPropertyServiceAttributeMask, *property ) ); - + + TInt error = settingsApi->FindPropertyL( idArray[i], + EPropertyServiceAttributeMask, *property ); // read the value of mask property - TInt mask = 0; - if ( KErrNone == property->GetValue( mask ) ) + if ( KErrNone == error ) { - if ( ( mask & ESupportsInternetCall ) - && ( mask & EIsVisibleInCallMenu ) ) + TInt mask = 0; + if ( KErrNone == property->GetValue( mask ) ) { - aVoipServiceIds.Append( idArray[i] ); + if ( ( mask & ESupportsInternetCall ) + && ( mask & EIsVisibleInCallMenu ) ) + { + aVoipServiceIds.Append( idArray[i] ); + } } - } + } CleanupStack::PopAndDestroy( property ); } } diff -r 53c89a0a48c0 -r 76e20e0cfdc7 phoneclientserver/CallUI/Src/CaUiPlugin/CaUiPlugin.cpp --- a/phoneclientserver/CallUI/Src/CaUiPlugin/CaUiPlugin.cpp Mon Mar 08 21:44:09 2010 +0000 +++ b/phoneclientserver/CallUI/Src/CaUiPlugin/CaUiPlugin.cpp Sun Mar 14 13:11:59 2010 +0000 @@ -19,15 +19,15 @@ // INCLUDE FILES #include "CaUiPlugin.h" // This class interface. -#include "CaUiEng.h" // CaUiEngine. +#include "cauieng.h" // CaUiEngine. #include // AIW constants. #include "CaUI.hrh" // CallUI constants. #include // AIW Menu pane. #include #include // PhoneClient types. -#include "CaUiLogger.h" // Call Ui Logger -#include +#include "cauilogger.h" // Call Ui Logger +#include #include #include // FeatureManager. diff -r 53c89a0a48c0 -r 76e20e0cfdc7 phoneclientserver/EnPolicy/Inc/DosEnPolicy/CDOSEmergencyNumberPolicy.h --- a/phoneclientserver/EnPolicy/Inc/DosEnPolicy/CDOSEmergencyNumberPolicy.h Mon Mar 08 21:44:09 2010 +0000 +++ b/phoneclientserver/EnPolicy/Inc/DosEnPolicy/CDOSEmergencyNumberPolicy.h Sun Mar 14 13:11:59 2010 +0000 @@ -21,7 +21,7 @@ #define CDOSEMERGENCYNUMBERPOLICY_H // INCLUDES -#include +#include #include #include diff -r 53c89a0a48c0 -r 76e20e0cfdc7 phoneclientserver/EnPolicy/Inc/SosEnPolicy/CSOSEmergencyNumberPolicyManager.h --- a/phoneclientserver/EnPolicy/Inc/SosEnPolicy/CSOSEmergencyNumberPolicyManager.h Mon Mar 08 21:44:09 2010 +0000 +++ b/phoneclientserver/EnPolicy/Inc/SosEnPolicy/CSOSEmergencyNumberPolicyManager.h Sun Mar 14 13:11:59 2010 +0000 @@ -21,7 +21,7 @@ #define CSOSEMERGENCYNUMBERPOLICYMANAGER_H // INCLUDES -#include +#include // FORWARD DECLARATIONS class CSosEmergencyNumberPolicyHandler; diff -r 53c89a0a48c0 -r 76e20e0cfdc7 phoneclientserver/phoneclient/Inc/ExtCallWrapper/ExtCallWrapper_Aiw/CPhCltDialer.h --- a/phoneclientserver/phoneclient/Inc/ExtCallWrapper/ExtCallWrapper_Aiw/CPhCltDialer.h Mon Mar 08 21:44:09 2010 +0000 +++ b/phoneclientserver/phoneclient/Inc/ExtCallWrapper/ExtCallWrapper_Aiw/CPhCltDialer.h Sun Mar 14 13:11:59 2010 +0000 @@ -20,8 +20,8 @@ #define CPHCLTDIALER_H // INCLUDES -#include -#include +#include +#include // FORWARD DECLARATIONS class CPhCltDialerDlg; diff -r 53c89a0a48c0 -r 76e20e0cfdc7 phoneclientserver/phoneclient/Src/ImageHandler/CPhCltImageHandlerImplementation.cpp --- a/phoneclientserver/phoneclient/Src/ImageHandler/CPhCltImageHandlerImplementation.cpp Mon Mar 08 21:44:09 2010 +0000 +++ b/phoneclientserver/phoneclient/Src/ImageHandler/CPhCltImageHandlerImplementation.cpp Sun Mar 14 13:11:59 2010 +0000 @@ -271,8 +271,8 @@ void CPhCltImageHandlerImplementation::CVtImageSaver::RunL() { MPhCltImageObserver& observer = iObserver; + TRAP_IGNORE( observer.HandleImageSaveCompleteL( iStatus.Int() ) ); delete this; - TRAP_IGNORE( observer.HandleImageSaveCompleteL( iStatus.Int() ) ); } // ----------------------------------------------------------------------------- diff -r 53c89a0a48c0 -r 76e20e0cfdc7 phoneclientserver/phoneclient/Src/UssdWrapper/CPhCltUssdImp.cpp --- a/phoneclientserver/phoneclient/Src/UssdWrapper/CPhCltUssdImp.cpp Mon Mar 08 21:44:09 2010 +0000 +++ b/phoneclientserver/phoneclient/Src/UssdWrapper/CPhCltUssdImp.cpp Sun Mar 14 13:11:59 2010 +0000 @@ -580,12 +580,15 @@ // Set this active object to wait the completion of the send request. iWait->Start(); - - // If not deleted: - if ( iWait ) + + // Need to check iWait handle here because the destructor may be called + // while pending for completion of the send request. + // coverity[check_after_deref] + if( iWait ) { iSendError = NULL; } + return error; } diff -r 53c89a0a48c0 -r 76e20e0cfdc7 phoneclientserver/phoneserver/Inc/Standard/Standard_Aiw/CPhSrvCallRequestManager.h --- a/phoneclientserver/phoneserver/Inc/Standard/Standard_Aiw/CPhSrvCallRequestManager.h Mon Mar 08 21:44:09 2010 +0000 +++ b/phoneclientserver/phoneserver/Inc/Standard/Standard_Aiw/CPhSrvCallRequestManager.h Sun Mar 14 13:11:59 2010 +0000 @@ -24,7 +24,7 @@ #include #include "MPhSrvObjectNegotiators.h" #include "MPhSrvObjectInitiators.h" -#include +#include // FORWARD DECLARATIONS class CPhSrvCallRequest; diff -r 53c89a0a48c0 -r 76e20e0cfdc7 phoneclientserver/phoneserver/Src/Messenger/CPhSrvMessengerRequestManager.cpp --- a/phoneclientserver/phoneserver/Src/Messenger/CPhSrvMessengerRequestManager.cpp Mon Mar 08 21:44:09 2010 +0000 +++ b/phoneclientserver/phoneserver/Src/Messenger/CPhSrvMessengerRequestManager.cpp Sun Mar 14 13:11:59 2010 +0000 @@ -481,11 +481,7 @@ // Reservation was successful, so use reserved buffer // as a new default buffer. // But first delete the old buffer. - if( iDefaultSizeBuffer ) - { - delete iDefaultSizeBuffer; - iDefaultSizeBuffer = NULL; - } + delete iDefaultSizeBuffer; iDefaultSizeBuffer = variableSizeBuffer; } } diff -r 53c89a0a48c0 -r 76e20e0cfdc7 phoneclientserver/phoneserver/Src/Standard/CPhSrvEmergencyNumberManager.cpp --- a/phoneclientserver/phoneserver/Src/Standard/CPhSrvEmergencyNumberManager.cpp Mon Mar 08 21:44:09 2010 +0000 +++ b/phoneclientserver/phoneserver/Src/Standard/CPhSrvEmergencyNumberManager.cpp Sun Mar 14 13:11:59 2010 +0000 @@ -21,7 +21,7 @@ #include "CPhSrvEmergencyNumberManager.h" #include "MPhSrvPhoneInterface.h" #include "PhSrvDebugInfo.h" -#include +#include // CONSTANTS _LIT(KPhSrvDosEnPolicyLibName, "DosEnPolicy.dll"); // DOS emergency number policy diff -r 53c89a0a48c0 -r 76e20e0cfdc7 phoneclientserver/phoneserver/Src/Standard/CPhSrvSession.cpp --- a/phoneclientserver/phoneserver/Src/Standard/CPhSrvSession.cpp Mon Mar 08 21:44:09 2010 +0000 +++ b/phoneclientserver/phoneserver/Src/Standard/CPhSrvSession.cpp Sun Mar 14 13:11:59 2010 +0000 @@ -65,15 +65,14 @@ if ( iServer ) { iServer->CancelCreateAll( *this ); + + if ( iContainer ) + { + iServer->RemoveContainer( iContainer ); + iContainer = NULL; + } } - delete iObjectIx; - - if ( iContainer ) - { - iServer->RemoveContainer( iContainer ); - iContainer = NULL; - } } diff -r 53c89a0a48c0 -r 76e20e0cfdc7 phoneclientserver/phoneserver/Src/Standard/PhSrvSubSessionFactory.cpp --- a/phoneclientserver/phoneserver/Src/Standard/PhSrvSubSessionFactory.cpp Mon Mar 08 21:44:09 2010 +0000 +++ b/phoneclientserver/phoneserver/Src/Standard/PhSrvSubSessionFactory.cpp Sun Mar 14 13:11:59 2010 +0000 @@ -97,11 +97,11 @@ subSession = CPhSrvSubSessionMessenger::NewL( aSession ); break; - case EPhoneServerImageHandlerSubSessionOpen: subSession = CPhSrvSubSessionImageHandler::NewL( aSession ); break; default: + User::Leave( KErrArgument ); break; } diff -r 53c89a0a48c0 -r 76e20e0cfdc7 phoneclientserver/phoneserver/Src/Ussd/CPhSrvUssdManager.cpp --- a/phoneclientserver/phoneserver/Src/Ussd/CPhSrvUssdManager.cpp Mon Mar 08 21:44:09 2010 +0000 +++ b/phoneclientserver/phoneserver/Src/Ussd/CPhSrvUssdManager.cpp Sun Mar 14 13:11:59 2010 +0000 @@ -709,7 +709,6 @@ _DPRINT( 4, "PhSrv.UssdNetworkObserverHandleSendEventL.End" ); } - // ----------------------------------------------------------------------------- // CPhSrvUssdManager::UssdAppTaskExists // @@ -1556,16 +1555,23 @@ // CPhSrvUssdManager::NotifyCount() // ----------------------------------------------------------------------------- // - TInt CPhSrvUssdManager:: NotifyCount() + TInt CPhSrvUssdManager::NotifyCount() { - return iNotifyArray->Count(); + if( iNotifyArray ) + { + return iNotifyArray->Count(); + } + else + { + return 0; + } } // ----------------------------------------------------------------------------- // CPhSrvUssdManager::UpdateNotifyMessage() // ----------------------------------------------------------------------------- // - void CPhSrvUssdManager:: UpdateNotifyMessage() + void CPhSrvUssdManager::UpdateNotifyMessage() { _DDPRINT( 4, "PhSrv.UpdateNotifyMessage.Start, clear: ", iClearArray ); // debug print if (NotifyCount() > 1 && !iClearArray ) diff -r 53c89a0a48c0 -r 76e20e0cfdc7 phonecmdhandler/phonecmdhnlr/src/PhoneHandlerControl.cpp --- a/phonecmdhandler/phonecmdhnlr/src/PhoneHandlerControl.cpp Mon Mar 08 21:44:09 2010 +0000 +++ b/phonecmdhandler/phonecmdhnlr/src/PhoneHandlerControl.cpp Sun Mar 14 13:11:59 2010 +0000 @@ -36,11 +36,6 @@ #include #include #include - -#if 0 -#include -#endif - #include #include @@ -302,64 +297,20 @@ // ----------------------------------------------------------------------------- // CPhoneHandlerControl::VoiceDial +// Dummy implementation. Operation implemented in SIND // (other items were commented in a header). // ----------------------------------------------------------------------------- // -#if 0 // SCB CR EHSA-7APJWF: SIND subscribes to RemCon directly -void CPhoneHandlerControl::VoiceDial( const TBool aActivate ) - { - COM_TRACE_1( "[PHONECMDHANDLER] CPhoneHandlerControl::VoiceDial() aActivate=%d", aActivate ); - - TInt callState( EPSCTsyCallStateUninitialized ); - iProperty.Get( KPSUidCtsyCallInformation, KCTsyCallState, callState ); - - COM_TRACE_1( "[PHONECMDHANDLER] CPhoneHandlerControl::CreateServiceL() call state = %d", callState ); - - if( callState == EPSCTsyCallStateUninitialized || - callState == EPSCTsyCallStateNone ) - { - TInt voiceUiState( KVoiceUiIsClose ); - iProperty.Get( KPSUidVoiceUiAccMonitor, KVoiceUiOpenKey, voiceUiState ); - - if( voiceUiState == KVoiceUiIsOpen ) - { - COM_TRACE_( "[PHONECMDHANDLER] CPhoneHandlerControl::VoiceDial() voice UI is open!" ); - iProperty.Set( KPSUidVoiceUiAccMonitor , KVoiceUiAccessoryEvent, ERemConExtVoiceDial ); - iResponse->SetResponse( ERemConExtVoiceDial, KErrNone ); - iResponse->Process(); - } - else - { - iActivate = aActivate; - StartProcessing( ERemConExtVoiceDial ); - } - } - else - { - iResponse->SetResponse( ERemConExtVoiceDial, KErrNone ); - iResponse->Process(); - } - - COM_TRACE_( "[PHONECMDHANDLER] CPhoneHandlerControl::VoiceDial() end" ); - } -#else void CPhoneHandlerControl::VoiceDial( const TBool /*aActivate*/ ) { COM_TRACE_( "[PHONECMDHANDLER] CPhoneHandlerControl::VoiceDial()" ); - - if ( IsAutoLockOn() && !IsBTAccessoryCmd() ) - { - iResponse->SetResponse( ERemConExtVoiceDial, KErrAccessDenied ); - iResponse->Process(); - return; - } - + iResponse->SetResponse( ERemConExtVoiceDial, KErrNone ); iResponse->Process(); COM_TRACE_( "[PHONECMDHANDLER] CPhoneHandlerControl::VoiceDial() end" ); } -#endif + // ----------------------------------------------------------------------------- // CPhoneHandlerControl::LastNumberRedial // (other items were commented in a header). diff -r 53c89a0a48c0 -r 76e20e0cfdc7 phonesrv_plat/call_information_api/tsrc/run_auto_tests.bat --- a/phonesrv_plat/call_information_api/tsrc/run_auto_tests.bat Mon Mar 08 21:44:09 2010 +0000 +++ b/phonesrv_plat/call_information_api/tsrc/run_auto_tests.bat Sun Mar 14 13:11:59 2010 +0000 @@ -146,7 +146,8 @@ pushd . call cd %1\group call bldmake bldfiles -call abld test clean winscw udeb +call abld -k test clean winscw udeb +call abld -k test reallyclean winscw udeb if [%INSTRUMENT%] EQU [TRUE] ( call ctcwrap -n %PATH_TO_COVERAGE_DATA%\%1 -i d -C "EXCLUDE=*" -C "NO_EXCLUDE=%TESTED_SRC%" %ABLD_CALL% ) else ( diff -r 53c89a0a48c0 -r 76e20e0cfdc7 phonesrv_plat/network_handling_engine_api/inc/NWHandlingEngine.h --- a/phonesrv_plat/network_handling_engine_api/inc/NWHandlingEngine.h Mon Mar 08 21:44:09 2010 +0000 +++ b/phonesrv_plat/network_handling_engine_api/inc/NWHandlingEngine.h Sun Mar 14 13:11:59 2010 +0000 @@ -22,7 +22,8 @@ // INCLUDES #include -#include +#include +#include // for RPacketService::TDynamicCapsFlags // CONSTANTS @@ -187,6 +188,8 @@ #ifdef RD_PHONE_NG TNWNetworkSelectionSetting iSelectionSetting; // Contains a network selection setting manual/automatic etc. #endif // RD_PHONE_NG + RPacketService::TDynamicCapsFlags iDynamicCapsFlags; // Dynamic packet data capabilities + // (used to hide alpha tag when CS registration is unsuccessful) }; // CLASS DECLARATION @@ -243,6 +246,9 @@ ENWMessageCurrentHomeZoneMessage, // Message will be sent when cell info display changed ENWMessageNetworkIndicatorChange, + // Message will be sent when dynamic packet data capabilities change + // (Used to hide alpha tag when CS registration is unsuccessful) + ENWMessageDynamicCapsChange, // CDMA SPECIFIC MESSAGES 200 - 299 @@ -263,7 +269,9 @@ // Fetching Network Provider Name ENWGetNetworkProviderName, // Fetching Programmable Operator Name - ENWGetProgrammableOperatorName + ENWGetProgrammableOperatorName, + // Notifying network registration status change + ENWNotifyNetworkRegistrationStatusChange, }; /** diff -r 53c89a0a48c0 -r 76e20e0cfdc7 phonesrv_plat/phone_settings_api/inc/PSetRefreshHandler.h --- a/phonesrv_plat/phone_settings_api/inc/PSetRefreshHandler.h Mon Mar 08 21:44:09 2010 +0000 +++ b/phonesrv_plat/phone_settings_api/inc/PSetRefreshHandler.h Sun Mar 14 13:11:59 2010 +0000 @@ -23,7 +23,7 @@ // INCLUDES #include -#include +#include // DATA TYPES diff -r 53c89a0a48c0 -r 76e20e0cfdc7 phonesrv_plat/phone_settings_api/inc/PsetNetwork.h --- a/phonesrv_plat/phone_settings_api/inc/PsetNetwork.h Mon Mar 08 21:44:09 2010 +0000 +++ b/phonesrv_plat/phone_settings_api/inc/PsetNetwork.h Sun Mar 14 13:11:59 2010 +0000 @@ -26,7 +26,7 @@ #include "MPsetNetworkModeObs.h" #include "MPsetNetworkMode.h" #include -#include +#include // FORWARD DECLARATIONS class CPsetSAObserver; diff -r 53c89a0a48c0 -r 76e20e0cfdc7 phonesrv_plat/phone_settings_api/inc/PsetSAObserver.h --- a/phonesrv_plat/phone_settings_api/inc/PsetSAObserver.h Mon Mar 08 21:44:09 2010 +0000 +++ b/phonesrv_plat/phone_settings_api/inc/PsetSAObserver.h Sun Mar 14 13:11:59 2010 +0000 @@ -22,9 +22,9 @@ // INCLUDES #include -#include -#include -#include +#include +#include +#include #include // FORWARD DECLARATIONS diff -r 53c89a0a48c0 -r 76e20e0cfdc7 phonesrv_plat/phone_settings_observer_api/inc/MPsetCliObserver.h --- a/phonesrv_plat/phone_settings_observer_api/inc/MPsetCliObserver.h Mon Mar 08 21:44:09 2010 +0000 +++ b/phonesrv_plat/phone_settings_observer_api/inc/MPsetCliObserver.h Sun Mar 14 13:11:59 2010 +0000 @@ -22,8 +22,8 @@ // INCLUDES #include -#include -#include "PSetConstants.h" +#include +#include "PsetConstants.h" #include "MPsetCli.h" // CLASS DEFINITIONS diff -r 53c89a0a48c0 -r 76e20e0cfdc7 phonesrv_plat/ss_settings_api/inc/MSSSettingsRefreshObserver.h --- a/phonesrv_plat/ss_settings_api/inc/MSSSettingsRefreshObserver.h Mon Mar 08 21:44:09 2010 +0000 +++ b/phonesrv_plat/ss_settings_api/inc/MSSSettingsRefreshObserver.h Sun Mar 14 13:11:59 2010 +0000 @@ -24,7 +24,7 @@ // INCLUDES #include #include -#include +#include // DATA TYPES diff -r 53c89a0a48c0 -r 76e20e0cfdc7 phonesrv_plat/telephony_mediator_api/inc/callremotepartyinformation.h --- a/phonesrv_plat/telephony_mediator_api/inc/callremotepartyinformation.h Mon Mar 08 21:44:09 2010 +0000 +++ b/phonesrv_plat/telephony_mediator_api/inc/callremotepartyinformation.h Sun Mar 14 13:11:59 2010 +0000 @@ -20,7 +20,7 @@ #define CALLREMOTEPARTYINFORMATION_H #include -#include +#include class RWriteStream; diff -r 53c89a0a48c0 -r 76e20e0cfdc7 satui/satplugin/aisatplugininc/aisatpluginuids.hrh --- a/satui/satplugin/aisatplugininc/aisatpluginuids.hrh Mon Mar 08 21:44:09 2010 +0000 +++ b/satui/satplugin/aisatplugininc/aisatpluginuids.hrh Sun Mar 14 13:11:59 2010 +0000 @@ -29,9 +29,4 @@ */ #define AI_UID_ECOM_IMPLEMENTATION_CONTENTPUBLISHER_SATPLUGIN 0x102078EB -/** - * Ecom interface uid for CAiContentPublisher. - */ -#define AI_UID_ECOM_INTERFACE_CONTENTPUBLISHER 0x102750ED - #endif //AISATPLUGINUIDS_HRH diff -r 53c89a0a48c0 -r 76e20e0cfdc7 satui/satplugin/aisatplugininc/caisatplugin.h --- a/satui/satplugin/aisatplugininc/caisatplugin.h Mon Mar 08 21:44:09 2010 +0000 +++ b/satui/satplugin/aisatplugininc/caisatplugin.h Sun Mar 14 13:11:59 2010 +0000 @@ -19,8 +19,7 @@ #ifndef CAISATPLUGIN_H #define CAISATPLUGIN_H -#include -#include +#include #include #include "mpluginapi.h" @@ -34,8 +33,7 @@ * * @since S60 v3.2 */ -class CAiSatPlugin : public CAiContentPublisher, - public MAiPropertyExtension, +class CAiSatPlugin : public CHsContentPublisher, public MPluginAPI { @@ -56,97 +54,43 @@ */ void PublishSatL(); -// from base class CAiContentPublisher +// from base class CHsContentPublisher /** - * From CAiContentPublisher - * The method is called by the framework to request the plug-in free all - * memory and CPU resources and close all its open files, e.g. the plug-in - * should unload its engines due backup operation. The method transits the - * plug-in to "Idle" state. - * - * @param aReason Reason for state change, see TAiTransitionChange. + * @see CHsContentPublisher */ - void Stop( TAiTransitionReason aReason ); + void Start( TStartReason aReason ); /** - * From CAiContentPublisher - * The method is called by the framework to instruct plug-in that it is - * allowed to consume CPU resources, e.g plug-in is able to run timers, - * perform asynchronous operations, etc. The method transits the plug-in - * to "Alive" state. - * - * @param aReason Reason for state change, see TAiTransitionChange. - */ - void Resume( TAiTransitionReason aReason ); - + * @see CHsContentPublisher + */ + void Stop( TStopReason aReason ); + /** - * From CAiContentPublisher - * The method is called by the framework to instruct plug-in that it is - * not allowed to consume CPU resources, e.g plug-in MUST stop each - * timers, cancel outstanding asynchronous operations, etc. The method - * transits the plug-in to "Suspendend" state. - * - * @param aReason Reason for state change, see TAiTransitionChange. - */ - void Suspend( TAiTransitionReason aReason ); - + * @see CHsContentPublisher + */ + void Resume( TResumeReason aReason ); + /** - * From CAiContentPublisher - * Adds the content observer / subscriber to plug-in. The plug-in MUST - * maintain a registry of subscribers and send notification to all them - * whenever the plug-in changes state or new content available. - * - * @param aObserver Content observer to register. - */ + * @see CHsContentPublisher + */ + void Suspend( TSuspendReason aReason ); + + /** + * @see CHsContentPublisher + */ void SubscribeL( MAiContentObserver& aObserver ); /** - * From CAiContentPublisher - * Configures the plug-in. - * Plug-ins take ownership of the settings array, so it must either - * store it in a member or free it. Framework has put the array in cleanup - * stack so the plugin shouldn't do that. - * If this leaves, the plug-in will be destroyed by AI FW. - * Plug-in must support LaunchByValue-event even if normal shortcuts don't - * work. The only allowed serious enough leave is KErrNotFound from CenRep. - * - * @param aSettings Setting items defined in the UI definition. - */ + * @see CHsContentPublisher + */ void ConfigureL( RAiSettingsItemArray& aSettings ); - + /** - * From CAiContentPublisher - * Returns interface extension. In Series 60 3.1 only event & property - * extensions are supported. See MAiEventExtension & MAiPropertyExtension - * interfaces. - * - * @param aUid UID of the extension interface to access. - * @return The extension interface. Actual type depends on the passed aUid - * argument. - */ - TAny* Extension( TUid aUid ); - -// from base class MAiPropertyExtension - - /** - * From MAiPropertyExtension. - * Read property of publisher plug-in. - * - * @param aProperty Identification of property. - * @return Pointer to property value. - */ - TAny* GetPropertyL( TInt aProperty ); - - /** - * From MAiPropertyExtension. - * Write property value. - * - * @param aProperty Identification of property. - * @param aValue Contains pointer to property value. - */ - void SetPropertyL( TInt aProperty, TAny* aValue ); - + * @see CHsContentPublisher + */ + TAny* GetProperty( TProperty aProperty ); + /** * Receives a notification of the content update event */ @@ -235,11 +179,6 @@ * Array of content observers */ RPointerArray iObservers; - - /** - * Information about the content publisher (this plug-in) - */ - TAiPublisherInfo iInfo; /** * Whether the icon is the same with previous one. @@ -250,6 +189,11 @@ * Whether the text is the same with previous one. */ TBool iDupText; + + /** + * ETrue, if data should be published in Resume() + */ + TBool iPublishRequired; }; #endif // CAISATPLUGIN_H diff -r 53c89a0a48c0 -r 76e20e0cfdc7 satui/satplugin/aisatpluginsrc/caisatplugin.cpp --- a/satui/satplugin/aisatpluginsrc/caisatplugin.cpp Mon Mar 08 21:44:09 2010 +0000 +++ b/satui/satplugin/aisatpluginsrc/caisatplugin.cpp Sun Mar 14 13:11:59 2010 +0000 @@ -1,5 +1,5 @@ /* -* Copyright (c) 2006-2009 Nokia Corporation and/or its subsidiary(-ies). +* Copyright (c) 2006-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" @@ -83,7 +83,6 @@ iEvents = NULL; delete iEngine; - iEngine = NULL; iObservers.Close(); @@ -183,7 +182,7 @@ void CAiSatPlugin::PublishSatL() { TFLOGSTRING( "CAiSatPlugin::PublishSatL() starts" ) - + TInt error( KErrNone ); TInt iconError( KErrNone ); TInt textError( KErrNone ); @@ -286,56 +285,71 @@ } // --------------------------------------------------------------------------- -// From class CAiContentPublisher -// Plug-in is requested to unload its engines due backup operation +// CAiSatPlugin::Start +// // --------------------------------------------------------------------------- // -void CAiSatPlugin::Stop( TAiTransitionReason /* aReason */ ) - { - TFLOGSTRING( "CAiSatPlugin::Stop starts - exits" ) +void CAiSatPlugin::Start( TStartReason /*aReason*/ ) + { + TFLOGSTRING( "CAiSatPlugin::Start() starts" ) + + iPublishRequired = ETrue; + + TFLOGSTRING( "CAiSatPlugin::Start() exits" ) } // --------------------------------------------------------------------------- -// From class CAiContentPublisher -// Plug-in is instructed that it is allowed to consume CPU resources +// CAiSatPlugin::Stop +// +// --------------------------------------------------------------------------- +// +void CAiSatPlugin::Stop( TStopReason /*aReason*/ ) + { + TFLOGSTRING( "CAiSatPlugin::Stop() starts - exits" ) + } + +// --------------------------------------------------------------------------- +// CAiSatPlugin::Resume +// // --------------------------------------------------------------------------- // -void CAiSatPlugin::Resume( TAiTransitionReason aReason ) +void CAiSatPlugin::Resume( TResumeReason aReason ) { - TFLOGSTRING2( "CAiSatPlugin::Resume reason %d", aReason ) + TFLOGSTRING2( "CAiSatPlugin::Resume() reason %d", aReason ) - if ( EAiIdleForeground == aReason && !iEngine ) + if ( aReason == EForeground ) { - TRAP_IGNORE( iEngine = CAiSatEngine::NewL( *this ) ) + if ( iPublishRequired ) + { + iPublishRequired = EFalse; + + TRAP_IGNORE( UpdateSatL() ) + } } - - // If we change the Home Screen Theme we will got a EAiSystemStartup as - // aReason. - else if ( ( EAiGeneralThemeChanged == aReason || - EAiSystemStartup == aReason ) && - iEngine ) - { - TRAP_IGNORE( UpdateSatL() ) - } - + TFLOGSTRING( "CAiSatPlugin::Resume() exits" ) } // --------------------------------------------------------------------------- -// From class CAiContentPublisher -// Plug-in is instructed that it is not allowed to consume CPU resources +// CAiSatPlugin::Suspend +// // --------------------------------------------------------------------------- // -void CAiSatPlugin::Suspend( TAiTransitionReason /* aReason */ ) +void CAiSatPlugin::Suspend( TSuspendReason aReason ) { - TFLOGSTRING( "CAiSatPlugin::Suspend starts - exits" ) + TFLOGSTRING( "CAiSatPlugin::Suspend() starts" ) + + if ( aReason == EGeneralThemeChange ) + { + iPublishRequired = ETrue; + } + + TFLOGSTRING( "CAiSatPlugin::Suspend() exits" ) } // --------------------------------------------------------------------------- -// From class CAiContentPublisher -// The plug-in MUST maintain a registry of subscribers and send -// notification to all of them whenever the state changes or new content -// is available +// CAiSatPlugin::SubscribeL +// // --------------------------------------------------------------------------- // void CAiSatPlugin::SubscribeL( MAiContentObserver& aObserver ) @@ -348,9 +362,8 @@ } // --------------------------------------------------------------------------- -// From class CAiContentPublisher -// Plug-ins take ownership of the settings array, so it must either -// store it in a member or free it. +// CAiSatPlugin::ConfigureL +// // --------------------------------------------------------------------------- // void CAiSatPlugin::ConfigureL( RAiSettingsItemArray& aSettings ) @@ -370,99 +383,41 @@ } TFLOGSTRING2( "CAiSatPlugin::ConfigureL i: %d", i ) } - + TFLOGSTRING( "CAiSatPlugin::ConfigureL() exits" ) } // --------------------------------------------------------------------------- -// From class CAiContentPublisher -// Returns the extension interface. Actual type depends on the passed -// aUid argument. -// --------------------------------------------------------------------------- -// -TAny* CAiSatPlugin::Extension( TUid aUid ) - { - TFLOGSTRING( "CAiSatPlugin::Extension() starts" ) - - MAiPropertyExtension* extension = NULL; - - if ( KExtensionUidProperty == aUid ) - { - extension = static_cast( this ); - } - - TFLOGSTRING( "CAiSatPlugin::Extension() exits" ) - return extension; - } - -// --------------------------------------------------------------------------- -// From class MAiPropertyExtension -// Read property of publisher plug-in. +// CAiSatPlugin::GetProperty +// // --------------------------------------------------------------------------- // -TAny* CAiSatPlugin::GetPropertyL( TInt aProperty ) +TAny* CAiSatPlugin::GetProperty( TProperty aProperty ) { - TFLOGSTRING( "CAiSatPlugin::GetPropertyL() starts" ) - - TAny* property = NULL; - TFLOGSTRING2( "CAiSatPlugin::GetPropertyL aProperty: %d", aProperty ) - switch ( aProperty ) - { - case EAiPublisherInfo: - { - property = static_cast( &iInfo ); - break; - } + TFLOGSTRING( "CAiSatPlugin::GetProperty() starts" ) + + TAny* property( NULL ); + + TFLOGSTRING2( "CAiSatPlugin::GetProperty aProperty: %d", aProperty ) - case EAiPublisherContent: - { - property = static_cast( iContent ); - break; - } - - case EAiPublisherResources: - { - property = static_cast( iResources ); - break; - } - - case EAiPublisherEvents: - { - property = static_cast( iEvents ); - break; - } - default: - break; + if ( aProperty == EPublisherContent ) + { + property = iContent; + } + else if ( aProperty == EPublisherResources ) + { + property = iResources; + } + else if ( aProperty == EPublisherEvents ) + { + property = iEvents; } - TFLOGSTRING( "CAiSatPlugin::GetPropertyL() exits" ) + TFLOGSTRING( "CAiSatPlugin::GetProperty() exits" ) return property; } -// --------------------------------------------------------------------------- -// From class MAiPropertyExtension -// Write property value to optimize the content model. -// --------------------------------------------------------------------------- -// -void CAiSatPlugin::SetPropertyL( TInt aProperty, TAny* aValue ) - { - TFLOGSTRING( "CAiSatPlugin::SetPropertyL() starts" ) - - if ( EAiPublisherInfo == aProperty ) - { - TFLOGSTRING( "CAiSatPlugin::SetPropertyL() EAiPublisherInfo" ) - const TAiPublisherInfo* info = - static_cast( aValue ); - if ( info ) - { - iInfo = *info; - } - } - - TFLOGSTRING( "CAiSatPlugin::SetPropertyL() exits" ) - } - // --------------------------------------------------------- // This method is called from the engine, when the P&S // data content has been changed. Method call is made through @@ -505,11 +460,6 @@ { TFLOGSTRING( "CAiSatPlugin::ConstructL() starts" ) - _LIT(KSatName, "SAT"); - - iInfo.iUid.iUid = AI_UID_ECOM_IMPLEMENTATION_CONTENTPUBLISHER_SATPLUGIN; - iInfo.iName.Copy( KSatName ); - iContent = AiUtility::CreateContentItemArrayIteratorL( KSatContent ); iResources = AiUtility::CreateContentItemArrayIteratorL( KSatResources ); iEvents = AiUtility::CreateContentItemArrayIteratorL( KSatEvents ); diff -r 53c89a0a48c0 -r 76e20e0cfdc7 satui/satplugin/data/aisatplugin.rss --- a/satui/satplugin/data/aisatplugin.rss Mon Mar 08 21:44:09 2010 +0000 +++ b/satui/satplugin/data/aisatplugin.rss Sun Mar 14 13:11:59 2010 +0000 @@ -18,6 +18,7 @@ // INCLUDES #include +#include #include "../aisatplugininc/aisatpluginuids.hrh" /** @@ -47,7 +48,7 @@ INTERFACE_INFO { // UID of interface that is implemented - interface_uid = AI_UID_ECOM_INTERFACE_CONTENTPUBLISHER; + interface_uid = HS_UID_ECOM_INTERFACE_CONTENTPUBLISHER; implementations = {