datacommsserver/esockserver/test/providers/dummy/inc/dummypr_connprov.h
changeset 65 41cc8e7ff496
parent 40 34fc115b8742
--- a/datacommsserver/esockserver/test/providers/dummy/inc/dummypr_connprov.h	Fri Jun 11 14:52:21 2010 +0300
+++ b/datacommsserver/esockserver/test/providers/dummy/inc/dummypr_connprov.h	Wed Aug 18 10:59:59 2010 +0300
@@ -77,7 +77,7 @@
 class CDelayTimer: public CTimer
     {
 public:
-    static CDelayTimer* NewL( Messages::RNodeInterface* aSender, const Messages::TNodeId& aRecipient, const Messages::TNodeSignal::TMessageId& aMessageId );
+    static CDelayTimer* NewL( const Messages::TNodeId& aSender, const Messages::TNodeId& aRecipient, const Messages::TNodeSignal::TMessageId& aMessageId );
 
     virtual ~CDelayTimer();
     void Start( TInt aIntervalInSecs );    
@@ -91,16 +91,43 @@
     };
 
 private:
-    CDelayTimer( Messages::RNodeInterface* aSender, const Messages::TNodeId& aRecipient, const Messages::TNodeSignal::TMessageId& aMessageId );
+    CDelayTimer( const Messages::TNodeId& aSender, const Messages::TNodeId& aRecipient, const Messages::TNodeSignal::TMessageId& aMessageId );
     void ConstructL();
     
 protected: // From CTimer (CActive)
     void RunL();
         
 private:
-    Messages::RNodeInterface* iSender;
+    Messages::TNodeId iSender;
     Messages::TNodeId iRecipient;
     Messages::TNodeSignal::TMessageId iMessageId;
+
+public:
+    //States and Transitions
+    typedef MeshMachine::TNodeContext<ESock::CMMCommsProviderBase, CoreNetStates::TContext> TContext;
+    
+    template <TInt IntervalMs>
+    class TSetTimerMs : public MeshMachine::TStateTransition<TContext>
+        {
+    public:
+        NETSM_TPL_DECLARE_CTR(TSetTimerMs, NetStateMachine::MStateTransition, TContext)
+
+        TSetTimerMs(TContext& aContext)
+        :TStateTransition<TContext>(aContext)
+            {
+            }
+
+        virtual void DoL()
+            {
+            CDelayTimer* delay = CDelayTimer::NewL(iContext.NodeId(), iContext.NodeId(), Messages::TEBase::TNull::Id());
+            delay->Start(IntervalMs);
+            }
+        };
+    
+    
+    DECLARE_SMELEMENT_HEADER( TAwaitingTimerExpired, MeshMachine::TState<TContext>, NetStateMachine::MState, TContext )
+        virtual TBool Accept();
+    DECLARE_SMELEMENT_FOOTER( TAwaitingTimerExpired )
     };