--- a/build.config.xml Tue Jul 20 22:06:16 2010 +0530
+++ b/build.config.xml Sat Jul 31 02:05:39 2010 +0530
@@ -151,7 +151,7 @@
<unit unitID="test46" mrp="" bldFile="sf\os\commsfw\datacommsserver\networkingdialogapi\agentnotifier\group" name="test46" />
<unit unitID="test47" mrp="" bldFile="sf\os\cellularsrv\telephonyprotocols\pdplayer\umts\test\te_mbms\group" name="test47" />
<unit unitID="test48" mrp="" bldFile="sf\os\security\authorisation\userpromptutils\group" name="test48" />
- <unit unitID="test49" mrp="" bldFile="sf\os\commsfw\commsfwtools\preparedefaultcommsdatabase\Tools\ced\te_ced\group" name="test49" />
+<!-- <unit unitID="test49" mrp="" bldFile="sf\os\commsfw\commsfwtools\preparedefaultcommsdatabase\Tools\ced\te_ced\group" name="test49" /> -->
</module>
</layer>
</systemModel>
--- a/linklayercontrol/networkinterfacemgr/inc/nifman_internal.h Tue Jul 20 22:06:16 2010 +0530
+++ b/linklayercontrol/networkinterfacemgr/inc/nifman_internal.h Sat Jul 31 02:05:39 2010 +0530
@@ -24,10 +24,12 @@
#define __NIFMAN_INTERNAL_H__
#include <es_prot.h>
-#ifdef SYMBIAN_ENABLE_SPLIT_HEADERS
-#include <es_prot_internal.h>
-#include <es_sock_partner.h>
-#endif
+
+// public headers not to include platform headers
+// #ifdef SYMBIAN_ENABLE_SPLIT_HEADERS
+// #include <es_prot_internal.h>
+// #include <es_sock_partner.h>
+// #endif
/**
--- a/linklayercontrol/networkinterfacemgr/netcfgext/inc/netcfgextnotify.h Tue Jul 20 22:06:16 2010 +0530
+++ b/linklayercontrol/networkinterfacemgr/netcfgext/inc/netcfgextnotify.h Sat Jul 31 02:05:39 2010 +0530
@@ -38,6 +38,7 @@
MNifIfNotify interface
Only IfProgress, DoReadDes and DoReadInt supported.
*/
+ ~CNetCfgExtNotify();
void LinkLayerDown(TInt aReason, TAction aAction);
void LinkLayerUp();
void NegotiationFailed(CNifIfBase* aIf, TInt aReason);
--- a/linklayercontrol/networkinterfacemgr/netcfgext/src/netcfgextnotify.cpp Tue Jul 20 22:06:16 2010 +0530
+++ b/linklayercontrol/networkinterfacemgr/netcfgext/src/netcfgextnotify.cpp Sat Jul 31 02:05:39 2010 +0530
@@ -35,11 +35,18 @@
{
}
+CNetCfgExtNotify::~CNetCfgExtNotify()
+ {
+ iScpr = NULL;
+ }
void CNetCfgExtNotify::IfProgress(TInt aStage, TInt aError)
{
TStateChange change(aStage, aError);
+ if(iScpr)
+ {
RClientInterface::OpenPostMessageClose(iScpr->Id(), iScpr->Id(),
TCFMessage::TStateChange(change).CRef());
+ }
}
TInt CNetCfgExtNotify::DoReadInt(const TDesC& aField, TUint32& aValue,const RMessagePtr2* /*aMessage*/)
--- a/networkcontrol/ipnetworklayer/inc/IPProtoCPR.h Tue Jul 20 22:06:16 2010 +0530
+++ b/networkcontrol/ipnetworklayer/inc/IPProtoCPR.h Sat Jul 31 02:05:39 2010 +0530
@@ -194,6 +194,7 @@
TBool iLinkUp:1;
TBool iConnectionControlActivity:1;
TBool iTimerExpired:1;
+ TBool iTimerStopped:1;
TBool iTimerRunning:1;
TBool iSubConnEventDataSent:1; // Hack to cope with multiple DataClientStatusChange notifications for 'stopped'
TBool iNodeLocalExtensionsCreated;
--- a/networkcontrol/ipnetworklayer/inc/ipprotodeftscpr.h Tue Jul 20 22:06:16 2010 +0530
+++ b/networkcontrol/ipnetworklayer/inc/ipprotodeftscpr.h Sat Jul 31 02:05:39 2010 +0530
@@ -103,6 +103,8 @@
CNifConfigurationControl* iControl;
Messages::RNodeInterface iFlow;
TBool iIoctlCancelled;
+public:
+ TBool iNetworkConfigurationState;
};
#endif //SYMBIAN_IPPROTODEFTSCPR_H
--- a/networkcontrol/ipnetworklayer/src/IPProtoCPR.cpp Tue Jul 20 22:06:16 2010 +0530
+++ b/networkcontrol/ipnetworklayer/src/IPProtoCPR.cpp Sat Jul 31 02:05:39 2010 +0530
@@ -757,6 +757,7 @@
if (!iTimerExpired)
{
iTimerExpired = ETrue;
+ iTimerStopped = ETrue;
CancelTimer();
if (CountActivities(ECFActivityStop) == 0 && CountActivities(ECFActivityDestroy) == 0)
{
--- a/networkcontrol/ipnetworklayer/src/IPProtoCprStates.cpp Tue Jul 20 22:06:16 2010 +0530
+++ b/networkcontrol/ipnetworklayer/src/IPProtoCprStates.cpp Sat Jul 31 02:05:39 2010 +0530
@@ -150,7 +150,7 @@
// stop has been caused by timer expiry, remove self from originators list, because we
// are not waiting for TStopped and in certain situations it would arrive after the node has been
// destroyed
- if (iContext.Node().iTimerExpired)
+ if (iContext.Node().iTimerStopped)
{
TInt selfidx = iContext.iNodeActivity->FindOriginator(iContext.Node().SelfInterface());
ASSERT(selfidx != KErrNotFound);
@@ -378,6 +378,7 @@
iContext.Node().SetUsageProfile(KConnProfileMedium);
iContext.Node().SetTimerMode(CIPProtoConnectionProvider::ETimerMedium);
+ iContext.Node().iTimerStopped = EFalse;
CoreNetStates::TSendStarted transition(iContext);
transition.DoL();
}
--- a/networkcontrol/ipnetworklayer/src/ipprotodeftscpr.cpp Tue Jul 20 22:06:16 2010 +0530
+++ b/networkcontrol/ipnetworklayer/src/ipprotodeftscpr.cpp Sat Jul 31 02:05:39 2010 +0530
@@ -164,7 +164,8 @@
ALegacySubConnectionActiveApiExt(this),
TIfStaticFetcherNearestInHierarchy(this),
iNotify(NULL),
- iControl(NULL)
+ iControl(NULL),
+ iNetworkConfigurationState(EFalse)
{
LOG_NODE_CREATE(KIPProtoDeftScprTag, CIPProtoDeftSubConnectionProvider);
}
@@ -195,10 +196,21 @@
CIPProtoDeftSubConnectionProvider::~CIPProtoDeftSubConnectionProvider()
{
+ if(iNetworkConfigurationState == EFalse)
+ {
+ if(iNotify)
+ {
+ delete iNotify;
+ iNotify = NULL;
+ }
+ }
if (iControl)
delete iControl;
if (iNotify)
+ {
delete iNotify;
+ iNotify = NULL;
+ }
LOG_NODE_DESTROY(KIPProtoDeftScprTag, CIPProtoDeftSubConnectionProvider);
}
--- a/networkcontrol/ipnetworklayer/src/ipprotodeftscprstates.cpp Tue Jul 20 22:06:16 2010 +0530
+++ b/networkcontrol/ipnetworklayer/src/ipprotodeftscprstates.cpp Sat Jul 31 02:05:39 2010 +0530
@@ -162,6 +162,7 @@
if (msg.iStateChange.iStage == KLinkLayerOpen)
{
+ iContext.Node().iNetworkConfigurationState = ETrue;
return KNetworkConfigured;
}
@@ -171,6 +172,7 @@
DEFINE_SMELEMENT(TNetworkConfiguredOrErrorTagOrCancelTagOrNoTagBackward, NetStateMachine::MStateFork, IPProtoDeftSCpr::TContext)
TInt IPProtoDeftSCpr::TNetworkConfiguredOrErrorTagOrCancelTagOrNoTagBackward::TransitionTag()
{
+ iContext.Node().iNetworkConfigurationState = EFalse;
TInt tag = IPProtoDeftSCpr::TNetworkConfiguredOrErrorTagOrCancelTagOrNoTag::TransitionTag();
if (tag == KNoTag)
return tag | NetStateMachine::EBackward;