diff -r 78fceed50f62 -r d69860d28da4 networkcontrol/ipnetworklayer/src/ipprotodeftscpr.cpp --- a/networkcontrol/ipnetworklayer/src/ipprotodeftscpr.cpp Wed Aug 18 11:18:20 2010 +0300 +++ b/networkcontrol/ipnetworklayer/src/ipprotodeftscpr.cpp Thu Sep 02 22:05:12 2010 +0300 @@ -35,12 +35,6 @@ using namespace IPProtoDeftSCpr; using namespace MeshMachine; -//We reserve space for two preallocated activities that may start concurrently on the default SCPR -//node: destroy and data client stop. -static const TUint KDefaultMaxPreallocatedActivityCount = 2; -static const TUint KMaxPreallocatedActivitySize = sizeof(MeshMachine::CNodeRetryParallelActivity) + sizeof(MeshMachine::APreallocatedOriginators<4>); -static const TUint KIPProtoDeftSCPRPreallocatedActivityBufferSize = KDefaultMaxPreallocatedActivityCount * KMaxPreallocatedActivitySize; - //-========================================================= // // Activities @@ -58,7 +52,7 @@ namespace IPProtoDeftSCprDataClientStopActivity { -DECLARE_DEFINE_CUSTOM_NODEACTIVITY(ECFActivityStopDataClient, IPProtoDeftSCprStop, TCFDataClient::TStop, MeshMachine::CNodeRetryActivity::NewL) +DECLARE_DEFINE_CUSTOM_NODEACTIVITY(ECFActivityStopDataClient, IPProtoDeftSCprStop, TCFDataClient::TStop, MeshMachine::CPreallocatedNodeRetryActivity::New) FIRST_NODEACTIVITY_ENTRY(CoreNetStates::TAwaitingDataClientStop, TNoTagOrProviderStoppedOrDaemonReleased) NODEACTIVITY_ENTRY(KNoTag, TStopNetCfgExt, TAwaitingStateChange, TDaemonReleasedStateChangedOrNoTag) NODEACTIVITY_ENTRY(KNoTag, TForwardToControlProviderAndResetSentTo, TAwaitingStateChange, TDaemonReleasedStateChangedOrNoTagBackward) @@ -173,7 +167,7 @@ void CIPProtoDeftSubConnectionProvider::ConstructL() { ADataMonitoringProvider::ConstructL(); - CCoreSubConnectionProvider::ConstructL(KIPProtoDeftSCPRPreallocatedActivityBufferSize); + CCoreSubConnectionProvider::ConstructL(); } @@ -196,6 +190,9 @@ CIPProtoDeftSubConnectionProvider::~CIPProtoDeftSubConnectionProvider() { + // In case network is not configured i.e. AP might get close in case for WIFi for an example, DHCP registration + //will get failed. There is not point listening to such Progresses. So can notification and delete + //delete CNetCfgExtNotify pointer). if(iNetworkConfigurationState == EFalse) { if(iNotify) @@ -206,6 +203,7 @@ } if (iControl) delete iControl; + //incase registration is successful and Network is configured. if (iNotify) { delete iNotify;