datacommsserver/esockserver/test/providers/dummy/inc/dummypr_metaconnprov.h
changeset 65 41cc8e7ff496
parent 40 34fc115b8742
--- a/datacommsserver/esockserver/test/providers/dummy/inc/dummypr_metaconnprov.h	Fri Jun 11 14:52:21 2010 +0300
+++ b/datacommsserver/esockserver/test/providers/dummy/inc/dummypr_metaconnprov.h	Wed Aug 18 10:59:59 2010 +0300
@@ -75,13 +75,39 @@
     CMCPrPubSubStopTrigger* iPubSubStopTrigger;
     };
 
-namespace DummyMCPRStates
-{
-typedef MeshMachine::TNodeContext<CDummyMetaConnectionProvider,PRStates::TContext> TContext;
-DECLARE_SMELEMENT_HEADER( TNoTagOrLoopTag, MeshMachine::TStateFork<TContext>, NetStateMachine::MStateFork, DummyMCPRStates::TContext )
-	virtual TInt TransitionTag();
-DECLARE_SMELEMENT_FOOTER( TNoTagOrLoopTag )
-} // namespace DummyMCPRStates
+
+class CDummyMCPRControlClientJoinActivity : public MeshMachine::CNodeParallelActivityBase
+    {
+public:
+    static MeshMachine::CNodeActivityBase* NewL( const MeshMachine::TNodeActivity& aActivitySig, MeshMachine::AMMNodeBase& aNode );
+    void ReplaceOriginator(Messages::RNodeInterface& aOriginator);
+protected:
+    CDummyMCPRControlClientJoinActivity( const MeshMachine::TNodeActivity& aActivitySig, MeshMachine::AMMNodeBase& aNode, TUint aNextActivityCount )
+    :MeshMachine::CNodeParallelActivityBase( aActivitySig, aNode, aNextActivityCount )
+     {};
+     void Cancel(MeshMachine::TNodeContextBase& /*aContext*/) 
+         {
+         //CDummyMCPRControlClientJoinActivity ignores TCancels, for it's easier than actually handling cancelations. Handling cancelations in join scenarios is not practically
+         //interesting as joins are normally very swift. This join isn't swift as it's been modified to artificially yield (again easier to yield in Join than elsewhere)
+         };
+     
+private:
+    ~CDummyMCPRControlClientJoinActivity() 
+        {
+        };
+public:
+    typedef MeshMachine::TNodeContext<CDummyMetaConnectionProvider,PRStates::TContext, CDummyMCPRControlClientJoinActivity> TContext;
+    DECLARE_SMELEMENT_HEADER( TAddControlClient, MeshMachine::TStateTransition<TContext>, NetStateMachine::MStateTransition, TContext )
+        virtual void DoL();
+    DECLARE_SMELEMENT_FOOTER( TAddControlClient )
+    
+    DECLARE_SMELEMENT_HEADER( TSendJoinComplete, MeshMachine::TStateTransition<TContext>, NetStateMachine::MStateTransition, TContext )
+        virtual void DoL();
+    DECLARE_SMELEMENT_FOOTER( TSendJoinComplete )
+    
+    friend class TAddControlClient;    
+    };
+
 
 #endif //SYMBIAN_DUMMYPR_METACONNPROV_H