--- a/cellular/SSSettings/inc/CSSSettingsRefreshContainer.h Tue Feb 02 01:11:09 2010 +0200
+++ b/cellular/SSSettings/inc/CSSSettingsRefreshContainer.h Fri Feb 19 23:21:58 2010 +0200
@@ -21,7 +21,7 @@
// INCLUDES
-#include <MSSSettingsRefreshHandler.h>
+#include <msssettingsrefreshhandler.h>
// FORWARD DECLARATIONS
--- a/cellular/telephonysettings/src/PSetCallDivertingBase.cpp Tue Feb 02 01:11:09 2010 +0200
+++ b/cellular/telephonysettings/src/PSetCallDivertingBase.cpp Fri Feb 19 23:21:58 2010 +0200
@@ -26,7 +26,7 @@
#include <e32svr.h>
#include <featmgr.h>
#include <centralrepository.h>
-#include <SettingsInternalCRKeys.h>
+#include <settingsinternalcrkeys.h>
#include "PsetCallDiverting.h"
#include "PsetContainer.h"
--- a/cellular/telephonysettings/src/PSetCallDivertingBasicImpl.cpp Tue Feb 02 01:11:09 2010 +0200
+++ b/cellular/telephonysettings/src/PSetCallDivertingBasicImpl.cpp Fri Feb 19 23:21:58 2010 +0200
@@ -26,7 +26,7 @@
#include <e32svr.h>
#include <featmgr.h>
#include <centralrepository.h>
-#include <SettingsInternalCRKeys.h>
+#include <settingsinternalcrkeys.h>
#include "PsetCallDiverting.h"
#include "PsetContainer.h"
--- a/cellular/telephonysettings/src/PSetCallDivertingDualAffectImpl.cpp Tue Feb 02 01:11:09 2010 +0200
+++ b/cellular/telephonysettings/src/PSetCallDivertingDualAffectImpl.cpp Fri Feb 19 23:21:58 2010 +0200
@@ -27,7 +27,7 @@
#include <e32svr.h>
#include <featmgr.h>
#include <centralrepository.h>
-#include <SettingsInternalCRKeys.h>
+#include <settingsinternalcrkeys.h>
#include "PsetCallDiverting.h"
#include "PsetContainer.h"
--- a/cellular/telephonysettings/src/PsetCallDiverting.cpp Tue Feb 02 01:11:09 2010 +0200
+++ b/cellular/telephonysettings/src/PsetCallDiverting.cpp Fri Feb 19 23:21:58 2010 +0200
@@ -25,7 +25,7 @@
#include <vmnumber.h>
#include <centralrepository.h>
-#include <SettingsInternalCRKeys.h>
+#include <settingsinternalcrkeys.h>
#include "PsetCallDiverting.h"
#include "PsetContainer.h"
--- a/cellular/telephonysettings/src/PsetNetwork.cpp Tue Feb 02 01:11:09 2010 +0200
+++ b/cellular/telephonysettings/src/PsetNetwork.cpp Fri Feb 19 23:21:58 2010 +0200
@@ -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 ) );
--- a/group/bld.inf Tue Feb 02 01:11:09 2010 +0200
+++ b/group/bld.inf Fri Feb 19 23:21:58 2010 +0200
@@ -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
--- a/networkhandling/networkhandlingengine/Group/networkhandling.mmp Tue Feb 02 01:11:09 2010 +0200
+++ b/networkhandling/networkhandlingengine/Group/networkhandling.mmp Fri Feb 19 23:21:58 2010 +0200
@@ -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
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/networkhandling/networkhandlingengine/NetworkHandlingInc/CNWDynamicCapsMonitor.h Fri Feb 19 23:21:58 2010 +0200
@@ -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
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/networkhandling/networkhandlingengine/NetworkHandlingSrc/CNWDynamicCapsMonitor.cpp Fri Feb 19 23:21:58 2010 +0200
@@ -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 <pcktcs.h> // for EPacketGetDynamicCaps
+#include <etelpckt.h> // 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
--- a/networkhandling/networkhandlingengine/NetworkHandlingSrc/CNWMessageHandler.cpp Tue Feb 02 01:11:09 2010 +0200
+++ b/networkhandling/networkhandlingengine/NetworkHandlingSrc/CNWMessageHandler.cpp Fri Feb 19 23:21:58 2010 +0200
@@ -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 <FeatMgr.h>
#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",
--- a/networkhandling/networkhandlingengine/NetworkHandlingSrc/CNWNetworkRegistrationStatusMonitor.cpp Tue Feb 02 01:11:09 2010 +0200
+++ b/networkhandling/networkhandlingengine/NetworkHandlingSrc/CNWNetworkRegistrationStatusMonitor.cpp Fri Feb 19 23:21:58 2010 +0200
@@ -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 <featmgr.h>
#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
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/nwnotifier/data/nwnotifier.rss Fri Feb 19 23:21:58 2010 +0200
@@ -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 <eikon.rh>
+#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
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/nwnotifier/group/bld.inf Fri Feb 19 23:21:58 2010 +0200
@@ -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 <platform_paths.hrh>
+
+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)
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/nwnotifier/group/nwnotifier.mmp Fri Feb 19 23:21:58 2010 +0200
@@ -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 <platform_paths.hrh>
+
+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
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/nwnotifier/inc/networknotifiernotewrapper.h Fri Feb 19 23:21:58 2010 +0200
@@ -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 <e32base.h>
+#include <f32file.h>
+
+// INCLUDES
+#include <nwnotifier_0x20026826.rsg>
+
+// 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<resourceID>
+ RArray<TInt> iErrNotes;
+ };
+
+#endif // __NETWORKNOTIFIER_WRAPPER_H__
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/nwnotifier/inc/nwregistrationstatusmonitor.h Fri Feb 19 23:21:58 2010 +0200
@@ -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 <e32base.h>
+#include <e32std.h>
+#include <etelmm.h>
+
+// 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
+
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/nwnotifier/loc/networknotifier.loc Fri Feb 19 23:21:58 2010 +0200
@@ -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"
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/nwnotifier/rom/nwnotifier.iby Fri Feb 19 23:21:58 2010 +0200
@@ -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
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/nwnotifier/rom/nwnotifierresources.iby Fri Feb 19 23:21:58 2010 +0200
@@ -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
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/nwnotifier/src/networknotifiernotewrapper.cpp Fri Feb 19 23:21:58 2010 +0200
@@ -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 <avkon.hrh>
+#include <aknglobalconfirmationquery.h>
+#include <bautils.h>
+#include <pathinfo.h>
+
+// 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
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/nwnotifier/src/nwnotifier.cpp Fri Feb 19 23:21:58 2010 +0200
@@ -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
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/nwnotifier/src/nwregistrationstatusmonitor.cpp Fri Feb 19 23:21:58 2010 +0200
@@ -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 <exterror.h>
+#include <MmTsy_names.h> // 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
--- a/phoneclientserver/CallUI/Inc/CaUiEngine/CaUiEngFactImpl.h Tue Feb 02 01:11:09 2010 +0200
+++ b/phoneclientserver/CallUI/Inc/CaUiEngine/CaUiEngFactImpl.h Fri Feb 19 23:21:58 2010 +0200
@@ -22,7 +22,7 @@
// INCLUDES
-#include "CaUiEng.h"
+#include "cauieng.h"
/**
--- a/phoneclientserver/CallUI/Inc/CaUiEngine/CaUiEngine.h Tue Feb 02 01:11:09 2010 +0200
+++ b/phoneclientserver/CallUI/Inc/CaUiEngine/CaUiEngine.h Fri Feb 19 23:21:58 2010 +0200
@@ -23,8 +23,8 @@
#include <e32std.h>
#include <ConeResLoader.h> // RConeResourceLoader.
#include <mphcltextphoneobserver.h> // MPhCltExtPhoneObserver.
-#include "CaUiEng.h"
-#include "CaUiDialResultObserver.h"
+#include "cauieng.h"
+#include "cauidialresultobserver.h"
#include "CaUiQueryObserver.h"
#include <PhCltTypes.h>
#include <MPhCltEmergencyCallObserver.h>
--- a/phoneclientserver/CallUI/Src/CaUiEngine/CaUiActiveObject.cpp Tue Feb 02 01:11:09 2010 +0200
+++ b/phoneclientserver/CallUI/Src/CaUiEngine/CaUiActiveObject.cpp Fri Feb 19 23:21:58 2010 +0200
@@ -25,10 +25,10 @@
#include <mcauireconnectqueryobserver.h>
#include <cphonecntfactory.h>
-#include <CPhCntMatcher.h>
+#include <cphcntmatcher.h>
#include <MPhCntMatch.h>
-#include "CaUiMessageSender.h"
-#include "CaUiLogger.h"
+#include "cauimessagesender.h"
+#include "cauilogger.h"
// CONSTANTS
--- a/phoneclientserver/CallUI/Src/CaUiEngine/CaUiDialogs.cpp Tue Feb 02 01:11:09 2010 +0200
+++ b/phoneclientserver/CallUI/Src/CaUiEngine/CaUiDialogs.cpp Fri Feb 19 23:21:58 2010 +0200
@@ -29,10 +29,10 @@
#include <AknGlobalNote.h>
#include <mcauireconnectqueryobserver.h>
#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
--- a/phoneclientserver/CallUI/Src/CaUiEngine/CaUiEngine.cpp Tue Feb 02 01:11:09 2010 +0200
+++ b/phoneclientserver/CallUI/Src/CaUiEngine/CaUiEngine.cpp Fri Feb 19 23:21:58 2010 +0200
@@ -21,12 +21,12 @@
#include "CaUiQuery.h" // CCaUiQuery.
#include <mcauireconnectqueryobserver.h> // MCaUiReconnectQueryObserver.
#include <CallUI.rsg> // Resources.
-#include <CPhCltDialer.h> // CPhCltDialer.
+#include <cphcltdialer.h> // CPhCltDialer.
#include <cphonecntfactory.h>
#include <cphcntsingleitemfetch.h>
#include <aiwinternaldialdata.h>
#include <AiwServiceHandler.h>
-#include <CPhCltExtPhoneDialData.h> // CPhCltExtPhoneDialData
+#include <cphcltextphonedialdata.h> // CPhCltExtPhoneDialData
#include "callui.loc" // Localized strings.
@@ -35,7 +35,7 @@
#include <AknGlobalListQuery.h> // CAknGlobalListQuery.
#include <featmgr.h> // FeatureManager.
-#include <aknglobalconfirmationquery.h> // Confirmation query.
+#include <AknGlobalConfirmationQuery.h> // Confirmation query.
#include <PhCltUtils.h> // Character removal.
#include <AiwCommon.h> // AIW dialdata.
@@ -46,10 +46,10 @@
#include "CaUiVoIPExtension.h" // VoIP/SCCP profile store
#include <centralrepository.h>
-#include <SettingsInternalCRKeys.h>
-#include "CaUiLogger.h" // Call Ui Logger
+#include <settingsinternalcrkeys.h>
+#include "cauilogger.h" // Call Ui Logger
#include <aknmessagequerydialog.h>
-#include <aknglobalnote.h>
+#include <AknGlobalNote.h>
#include <mphcntstoreloader.h>
#include <MVPbkContactStore.h>
--- a/phoneclientserver/CallUI/Src/CaUiEngine/CaUiMessageSender.cpp Tue Feb 02 01:11:09 2010 +0200
+++ b/phoneclientserver/CallUI/Src/CaUiEngine/CaUiMessageSender.cpp Fri Feb 19 23:21:58 2010 +0200
@@ -29,7 +29,7 @@
#include <sendui.h> // CSendAppUi, CSendUi
#include <CMessageData.h> // Message data for CSendUi
#include <featmgr.h> // Feature manager
-#include "CaUiLogger.h" // Call Ui Logger
+#include "cauilogger.h" // Call Ui Logger
// CONSTANTS
// The reconnect query options granularity.
--- a/phoneclientserver/CallUI/Src/CaUiEngine/CaUiVoIPExtension.cpp Tue Feb 02 01:11:09 2010 +0200
+++ b/phoneclientserver/CallUI/Src/CaUiEngine/CaUiVoIPExtension.cpp Fri Feb 19 23:21:58 2010 +0200
@@ -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 );
}
}
--- a/phoneclientserver/CallUI/Src/CaUiPlugin/CaUiPlugin.cpp Tue Feb 02 01:11:09 2010 +0200
+++ b/phoneclientserver/CallUI/Src/CaUiPlugin/CaUiPlugin.cpp Fri Feb 19 23:21:58 2010 +0200
@@ -19,15 +19,15 @@
// INCLUDE FILES
#include "CaUiPlugin.h" // This class interface.
-#include "CaUiEng.h" // CaUiEngine.
+#include "cauieng.h" // CaUiEngine.
#include <AiwCommon.hrh> // AIW constants.
#include "CaUI.hrh" // CallUI constants.
#include <AiwMenu.h> // AIW Menu pane.
#include <AiwServiceHandler.h>
#include <PhCltTypes.h> // PhoneClient types.
-#include "CaUiLogger.h" // Call Ui Logger
-#include <stringloader.h>
+#include "cauilogger.h" // Call Ui Logger
+#include <StringLoader.h>
#include <CallUI.rsg>
#include <featmgr.h> // FeatureManager.
--- a/phoneclientserver/EnPolicy/Inc/DosEnPolicy/CDOSEmergencyNumberPolicy.h Tue Feb 02 01:11:09 2010 +0200
+++ b/phoneclientserver/EnPolicy/Inc/DosEnPolicy/CDOSEmergencyNumberPolicy.h Fri Feb 19 23:21:58 2010 +0200
@@ -21,7 +21,7 @@
#define CDOSEMERGENCYNUMBERPOLICY_H
// INCLUDES
-#include <CEmergencyNumberPolicy.h>
+#include <cemergencynumberpolicy.h>
#include <rmmcustomapi.h>
#include <cenrepnotifyhandler.h>
--- a/phoneclientserver/EnPolicy/Inc/SosEnPolicy/CSOSEmergencyNumberPolicyManager.h Tue Feb 02 01:11:09 2010 +0200
+++ b/phoneclientserver/EnPolicy/Inc/SosEnPolicy/CSOSEmergencyNumberPolicyManager.h Fri Feb 19 23:21:58 2010 +0200
@@ -21,7 +21,7 @@
#define CSOSEMERGENCYNUMBERPOLICYMANAGER_H
// INCLUDES
-#include <CEmergencyNumberPolicy.h>
+#include <cemergencynumberpolicy.h>
// FORWARD DECLARATIONS
class CSosEmergencyNumberPolicyHandler;
--- a/phoneclientserver/phoneclient/Inc/ExtCallWrapper/ExtCallWrapper_Aiw/CPhCltDialer.h Tue Feb 02 01:11:09 2010 +0200
+++ b/phoneclientserver/phoneclient/Inc/ExtCallWrapper/ExtCallWrapper_Aiw/CPhCltDialer.h Fri Feb 19 23:21:58 2010 +0200
@@ -20,8 +20,8 @@
#define CPHCLTDIALER_H
// INCLUDES
-#include <CPhCltExtPhoneBase.h>
-#include <CPhCltExtPhoneDialData.h>
+#include <cphcltextphonebase.h>
+#include <cphcltextphonedialdata.h>
// FORWARD DECLARATIONS
class CPhCltDialerDlg;
--- a/phoneclientserver/phoneclient/Src/ImageHandler/CPhCltImageHandlerImplementation.cpp Tue Feb 02 01:11:09 2010 +0200
+++ b/phoneclientserver/phoneclient/Src/ImageHandler/CPhCltImageHandlerImplementation.cpp Fri Feb 19 23:21:58 2010 +0200
@@ -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() ) );
}
// -----------------------------------------------------------------------------
--- a/phoneclientserver/phoneclient/Src/UssdWrapper/CPhCltUssdImp.cpp Tue Feb 02 01:11:09 2010 +0200
+++ b/phoneclientserver/phoneclient/Src/UssdWrapper/CPhCltUssdImp.cpp Fri Feb 19 23:21:58 2010 +0200
@@ -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;
}
--- a/phoneclientserver/phoneserver/Inc/Standard/Standard_Aiw/CPhSrvCallRequestManager.h Tue Feb 02 01:11:09 2010 +0200
+++ b/phoneclientserver/phoneserver/Inc/Standard/Standard_Aiw/CPhSrvCallRequestManager.h Fri Feb 19 23:21:58 2010 +0200
@@ -24,7 +24,7 @@
#include <e32base.h>
#include "MPhSrvObjectNegotiators.h"
#include "MPhSrvObjectInitiators.h"
-#include <CPhCltExtPhoneDialData.h>
+#include <cphcltextphonedialdata.h>
// FORWARD DECLARATIONS
class CPhSrvCallRequest;
--- a/phoneclientserver/phoneserver/Src/Messenger/CPhSrvMessengerRequestManager.cpp Tue Feb 02 01:11:09 2010 +0200
+++ b/phoneclientserver/phoneserver/Src/Messenger/CPhSrvMessengerRequestManager.cpp Fri Feb 19 23:21:58 2010 +0200
@@ -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;
}
}
--- a/phoneclientserver/phoneserver/Src/Standard/CPhSrvEmergencyNumberManager.cpp Tue Feb 02 01:11:09 2010 +0200
+++ b/phoneclientserver/phoneserver/Src/Standard/CPhSrvEmergencyNumberManager.cpp Fri Feb 19 23:21:58 2010 +0200
@@ -21,7 +21,7 @@
#include "CPhSrvEmergencyNumberManager.h"
#include "MPhSrvPhoneInterface.h"
#include "PhSrvDebugInfo.h"
-#include <CEmergencyNumberPolicy.h>
+#include <cemergencynumberpolicy.h>
// CONSTANTS
_LIT(KPhSrvDosEnPolicyLibName, "DosEnPolicy.dll"); // DOS emergency number policy
--- a/phoneclientserver/phoneserver/Src/Standard/CPhSrvSession.cpp Tue Feb 02 01:11:09 2010 +0200
+++ b/phoneclientserver/phoneserver/Src/Standard/CPhSrvSession.cpp Fri Feb 19 23:21:58 2010 +0200
@@ -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;
- }
}
--- a/phoneclientserver/phoneserver/Src/Standard/PhSrvSubSessionFactory.cpp Tue Feb 02 01:11:09 2010 +0200
+++ b/phoneclientserver/phoneserver/Src/Standard/PhSrvSubSessionFactory.cpp Fri Feb 19 23:21:58 2010 +0200
@@ -97,11 +97,11 @@
subSession =
CPhSrvSubSessionMessenger::NewL( aSession );
break;
-
case EPhoneServerImageHandlerSubSessionOpen:
subSession = CPhSrvSubSessionImageHandler::NewL( aSession );
break;
default:
+ User::Leave( KErrArgument );
break;
}
--- a/phoneclientserver/phoneserver/Src/Ussd/CPhSrvUssdManager.cpp Tue Feb 02 01:11:09 2010 +0200
+++ b/phoneclientserver/phoneserver/Src/Ussd/CPhSrvUssdManager.cpp Fri Feb 19 23:21:58 2010 +0200
@@ -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 )
--- a/phonecmdhandler/phonecmdhnlr/src/PhoneHandlerControl.cpp Tue Feb 02 01:11:09 2010 +0200
+++ b/phonecmdhandler/phonecmdhnlr/src/PhoneHandlerControl.cpp Fri Feb 19 23:21:58 2010 +0200
@@ -36,11 +36,6 @@
#include <RemConCallHandlingTarget.h>
#include <CPbkContactEngine.h>
#include <ctsydomainpskeys.h>
-
-#if 0
-#include <VoiceUIDomainPSKeys.h>
-#endif
-
#include <connect/sbdefs.h>
#include <coreapplicationuisdomainpskeys.h>
@@ -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).
--- a/phonesrv_plat/call_information_api/tsrc/run_auto_tests.bat Tue Feb 02 01:11:09 2010 +0200
+++ b/phonesrv_plat/call_information_api/tsrc/run_auto_tests.bat Fri Feb 19 23:21:58 2010 +0200
@@ -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 (
--- a/phonesrv_plat/network_handling_engine_api/inc/NWHandlingEngine.h Tue Feb 02 01:11:09 2010 +0200
+++ b/phonesrv_plat/network_handling_engine_api/inc/NWHandlingEngine.h Fri Feb 19 23:21:58 2010 +0200
@@ -22,7 +22,8 @@
// INCLUDES
#include <e32base.h>
-#include <RMmCustomAPI.h>
+#include <rmmcustomapi.h>
+#include <etelpckt.h> // 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,
};
/**
--- a/phonesrv_plat/phone_settings_api/inc/PSetRefreshHandler.h Tue Feb 02 01:11:09 2010 +0200
+++ b/phonesrv_plat/phone_settings_api/inc/PSetRefreshHandler.h Fri Feb 19 23:21:58 2010 +0200
@@ -23,7 +23,7 @@
// INCLUDES
#include <MSSSettingsRefreshObserver.h>
-#include <MSatRefreshObserver.h>
+#include <msatrefreshobserver.h>
// DATA TYPES
--- a/phonesrv_plat/phone_settings_api/inc/PsetNetwork.h Tue Feb 02 01:11:09 2010 +0200
+++ b/phonesrv_plat/phone_settings_api/inc/PsetNetwork.h Fri Feb 19 23:21:58 2010 +0200
@@ -26,7 +26,7 @@
#include "MPsetNetworkModeObs.h"
#include "MPsetNetworkMode.h"
#include <etelmm.h>
-#include <RMmCustomApi.h>
+#include <rmmcustomapi.h>
// FORWARD DECLARATIONS
class CPsetSAObserver;
--- a/phonesrv_plat/phone_settings_api/inc/PsetSAObserver.h Tue Feb 02 01:11:09 2010 +0200
+++ b/phonesrv_plat/phone_settings_api/inc/PsetSAObserver.h Fri Feb 19 23:21:58 2010 +0200
@@ -22,9 +22,9 @@
// INCLUDES
#include <e32base.h>
-#include <e32Property.h>
-#include <psetcalldiverting.h>
-#include <psvariables.h>
+#include <e32property.h>
+#include <PsetCallDiverting.h>
+#include <PSVariables.h>
#include <ctsydomaincrkeys.h>
// FORWARD DECLARATIONS
--- a/phonesrv_plat/phone_settings_observer_api/inc/MPsetCliObserver.h Tue Feb 02 01:11:09 2010 +0200
+++ b/phonesrv_plat/phone_settings_observer_api/inc/MPsetCliObserver.h Fri Feb 19 23:21:58 2010 +0200
@@ -22,8 +22,8 @@
// INCLUDES
#include <e32base.h>
-#include <Psuiconstants.h>
-#include "PSetConstants.h"
+#include <PsuiConstants.h>
+#include "PsetConstants.h"
#include "MPsetCli.h"
// CLASS DEFINITIONS
--- a/phonesrv_plat/ss_settings_api/inc/MSSSettingsRefreshObserver.h Tue Feb 02 01:11:09 2010 +0200
+++ b/phonesrv_plat/ss_settings_api/inc/MSSSettingsRefreshObserver.h Fri Feb 19 23:21:58 2010 +0200
@@ -24,7 +24,7 @@
// INCLUDES
#include <e32std.h>
#include <etelsat.h>
-#include <MSatRefreshObserver.h>
+#include <msatrefreshobserver.h>
// DATA TYPES
--- a/phonesrv_plat/telephony_mediator_api/inc/callremotepartyinformation.h Tue Feb 02 01:11:09 2010 +0200
+++ b/phonesrv_plat/telephony_mediator_api/inc/callremotepartyinformation.h Fri Feb 19 23:21:58 2010 +0200
@@ -20,7 +20,7 @@
#define CALLREMOTEPARTYINFORMATION_H
#include <e32base.h>
-#include <MCallRemotePartyInfo.h>
+#include <mcallremotepartyinfo.h>
class RWriteStream;
--- a/satui/satplugin/aisatplugininc/aisatpluginuids.hrh Tue Feb 02 01:11:09 2010 +0200
+++ b/satui/satplugin/aisatplugininc/aisatpluginuids.hrh Fri Feb 19 23:21:58 2010 +0200
@@ -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
--- a/satui/satplugin/aisatplugininc/caisatplugin.h Tue Feb 02 01:11:09 2010 +0200
+++ b/satui/satplugin/aisatplugininc/caisatplugin.h Fri Feb 19 23:21:58 2010 +0200
@@ -19,8 +19,7 @@
#ifndef CAISATPLUGIN_H
#define CAISATPLUGIN_H
-#include <aicontentpublisher.h>
-#include <aipropertyextension.h>
+#include <hscontentpublisher.h>
#include <aicontentmodel.h>
#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<MAiContentObserver> 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
--- a/satui/satplugin/aisatpluginsrc/caisatplugin.cpp Tue Feb 02 01:11:09 2010 +0200
+++ b/satui/satplugin/aisatpluginsrc/caisatplugin.cpp Fri Feb 19 23:21:58 2010 +0200
@@ -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<MAiPropertyExtension*>( 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<TAiPublisherInfo*>( &iInfo );
- break;
- }
+ TFLOGSTRING( "CAiSatPlugin::GetProperty() starts" )
+
+ TAny* property( NULL );
+
+ TFLOGSTRING2( "CAiSatPlugin::GetProperty aProperty: %d", aProperty )
- case EAiPublisherContent:
- {
- property = static_cast<MAiContentItemIterator*>( iContent );
- break;
- }
-
- case EAiPublisherResources:
- {
- property = static_cast<MAiContentItemIterator*>( iResources );
- break;
- }
-
- case EAiPublisherEvents:
- {
- property = static_cast<MAiContentItemIterator*>( 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<const TAiPublisherInfo*>( 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 );
--- a/satui/satplugin/data/aisatplugin.rss Tue Feb 02 01:11:09 2010 +0200
+++ b/satui/satplugin/data/aisatplugin.rss Fri Feb 19 23:21:58 2010 +0200
@@ -18,6 +18,7 @@
// INCLUDES
#include <ecom/registryinfov2.rh>
+#include <hscontentpublisheruid.hrh>
#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 =
{