bearermanagement/S60MCPR/src/s60mcprsimpleselectactivity.cpp
branchRCL_3
changeset 45 4c83dcfb6f1a
parent 12 ea6e024ea6f9
--- 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<CSelectNextLayerActivity&>( *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);
-            }
+            }     
         }
     }