datacommsserver/esockserver/test/providers/dummy/inc/dummypr_connprov.h
branchRCL_3
changeset 21 07656293a99c
parent 18 9644881fedd0
equal deleted inserted replaced
19:35c06c1d4fa6 21:07656293a99c
    75 
    75 
    76 
    76 
    77 class CDelayTimer: public CTimer
    77 class CDelayTimer: public CTimer
    78     {
    78     {
    79 public:
    79 public:
    80     static CDelayTimer* NewL( Messages::RNodeInterface* aSender, const Messages::TNodeId& aRecipient, const Messages::TNodeSignal::TMessageId& aMessageId );
    80     static CDelayTimer* NewL( const Messages::TNodeId& aSender, const Messages::TNodeId& aRecipient, const Messages::TNodeSignal::TMessageId& aMessageId );
    81 
    81 
    82     virtual ~CDelayTimer();
    82     virtual ~CDelayTimer();
    83     void Start( TInt aIntervalInSecs );    
    83     void Start( TInt aIntervalInSecs );    
    84 
    84 
    85 public:
    85 public:
    89     TDelayMessage();
    89     TDelayMessage();
    90     TDelayMessage(const TNodeSignal::TMessageId& aMessageId);
    90     TDelayMessage(const TNodeSignal::TMessageId& aMessageId);
    91     };
    91     };
    92 
    92 
    93 private:
    93 private:
    94     CDelayTimer( Messages::RNodeInterface* aSender, const Messages::TNodeId& aRecipient, const Messages::TNodeSignal::TMessageId& aMessageId );
    94     CDelayTimer( const Messages::TNodeId& aSender, const Messages::TNodeId& aRecipient, const Messages::TNodeSignal::TMessageId& aMessageId );
    95     void ConstructL();
    95     void ConstructL();
    96     
    96     
    97 protected: // From CTimer (CActive)
    97 protected: // From CTimer (CActive)
    98     void RunL();
    98     void RunL();
    99         
    99         
   100 private:
   100 private:
   101     Messages::RNodeInterface* iSender;
   101     Messages::TNodeId iSender;
   102     Messages::TNodeId iRecipient;
   102     Messages::TNodeId iRecipient;
   103     Messages::TNodeSignal::TMessageId iMessageId;
   103     Messages::TNodeSignal::TMessageId iMessageId;
       
   104 
       
   105 public:
       
   106     //States and Transitions
       
   107     typedef MeshMachine::TNodeContext<ESock::CMMCommsProviderBase, CoreNetStates::TContext> TContext;
       
   108     
       
   109     template <TInt IntervalMs>
       
   110     class TSetTimerMs : public MeshMachine::TStateTransition<TContext>
       
   111         {
       
   112     public:
       
   113         NETSM_TPL_DECLARE_CTR(TSetTimerMs, NetStateMachine::MStateTransition, TContext)
       
   114 
       
   115         TSetTimerMs(TContext& aContext)
       
   116         :TStateTransition<TContext>(aContext)
       
   117             {
       
   118             }
       
   119 
       
   120         virtual void DoL()
       
   121             {
       
   122             CDelayTimer* delay = CDelayTimer::NewL(iContext.NodeId(), iContext.NodeId(), Messages::TEBase::TNull::Id());
       
   123             delay->Start(IntervalMs);
       
   124             }
       
   125         };
       
   126     
       
   127     
       
   128     DECLARE_SMELEMENT_HEADER( TAwaitingTimerExpired, MeshMachine::TState<TContext>, NetStateMachine::MState, TContext )
       
   129         virtual TBool Accept();
       
   130     DECLARE_SMELEMENT_FOOTER( TAwaitingTimerExpired )
   104     };
   131     };
   105 
   132 
   106 
   133 
   107 //-================================================
   134 //-================================================
   108 //
   135 //