diff -r 04408506c6e0 -r 4c83dcfb6f1a bearermanagement/S60MCPR/src/s60mcprsimpleselectactivity.cpp --- a/bearermanagement/S60MCPR/src/s60mcprsimpleselectactivity.cpp Wed Jun 09 10:07:12 2010 +0300 +++ b/bearermanagement/S60MCPR/src/s60mcprsimpleselectactivity.cpp Mon Jun 21 16:06:29 2010 +0300 @@ -42,6 +42,36 @@ // namespace S60MCprSelectActivity { + // Overrides CNodeActivityBase method implementation + void CS60SelectActivity::Cancel(MeshMachine::TNodeContextBase& aContext) + { + S60MCPRLOGSTRING1("S60MCPR<%x>::CS60SelectActivity::Cancel()",(TInt*)&aContext.Node()) + __ASSERT_DEBUG(aContext.iNodeActivity, User::Panic(KS60MCprPanic, KPanicNoActivity)); + CSelectNextLayerActivity& ac = + static_cast( *aContext.iNodeActivity ); + + if (!ac.iTierManager.IsNull() && ac.iTierManager == PostedToNodeId()) + { + S60MCPRLOGSTRING1("S60MCPR<%x>::CS60SelectActivity::Cancel() Forwarding TCancel to TM",(TInt*)&aContext.Node()) + RClientInterface::OpenPostMessageClose(TNodeCtxId(ActivityId(), iNode.Id()), PostedToNodeId(), TEBase::TCancel().CRef()); + SetError( KErrCancel ); + } + else + { + CSelectNextLayerActivity::Cancel(aContext); + } + } + + MeshMachine::CNodeActivityBase* CS60SelectActivity::NewL(const MeshMachine::TNodeActivity& aActivitySig, MeshMachine::AMMNodeBase& aNode) + { + return new(ELeave) CS60SelectActivity( aActivitySig, aNode ); + } + + CS60SelectActivity::CS60SelectActivity(const MeshMachine::TNodeActivity& aActivitySig, MeshMachine::AMMNodeBase& aNode) + : CSelectNextLayerActivity(aActivitySig, aNode) + { + } + // ----------------------------------------------------------------------------- // TAwaitingSelectNextLayer // ----------------------------------------------------------------------------- @@ -170,8 +200,7 @@ CleanupStack::PushL(nextAP); node.ConnPrefList().AppendL(nextAP); CleanupStack::Pop(); - /* END OF HACK */ - + /* END OF HACK */ // Attach. 399 attach shouldn't be visible here. if ( prefs.Scope()&TSelectionPrefs::ESelectFromExisting ) { @@ -194,7 +223,7 @@ newPrefs.SetPrefs( ippprefs ); TCFSelector::TSimpleSelect msg(newPrefs); iContext.iNodeActivity->PostRequestTo(ac.iTierManager, msg); - } + } } }