156 |
156 |
157 DECLARE_SMELEMENT_HEADER( TAwaitingBrokenStart, MeshMachine::TState<TContext>, NetStateMachine::MState, TContext ) |
157 DECLARE_SMELEMENT_HEADER( TAwaitingBrokenStart, MeshMachine::TState<TContext>, NetStateMachine::MState, TContext ) |
158 virtual TBool Accept(); |
158 virtual TBool Accept(); |
159 DECLARE_SMELEMENT_FOOTER( TAwaitingBrokenStart ) |
159 DECLARE_SMELEMENT_FOOTER( TAwaitingBrokenStart ) |
160 |
160 |
|
161 DECLARE_SMELEMENT_HEADER( TRebindSelf, MeshMachine::TStateTransition<TContext>, NetStateMachine::MStateTransition, DummySCPRStates::TContext ) |
|
162 virtual void DoL(); |
|
163 DECLARE_SMELEMENT_FOOTER( TRebindSelf ) |
|
164 |
|
165 |
|
166 |
|
167 |
|
168 |
|
169 struct TWaitForBindToMutex |
|
170 { |
|
171 static TBool IsBlocked(const MeshMachine::TNodeContextBase& aContext) |
|
172 { |
|
173 return aContext.iNode.CountActivities(ESock::ECFActivityBindTo) == 0; |
|
174 } |
|
175 }; |
|
176 |
|
177 struct TWaitForNoDataClients |
|
178 { |
|
179 static TBool IsBlocked(const MeshMachine::TNodeContextBase& aContext) |
|
180 { |
|
181 return aContext.iNode.GetFirstClient<Messages::TDefaultClientMatchPolicy>(Messages::TClientType(ESock::TCFClientType::EData)) != NULL; |
|
182 } |
|
183 }; |
|
184 |
|
185 DECLARE_SERIALIZABLE_STATE( |
|
186 TNoTagWaitForBindTo, |
|
187 TWaitForBindToMutex, |
|
188 MeshMachine::TNoTag |
|
189 ) |
|
190 |
|
191 DECLARE_SERIALIZABLE_STATE( |
|
192 TNoTagWaitNoDataClients, |
|
193 TWaitForNoDataClients, |
|
194 MeshMachine::TNoTag |
|
195 ) |
|
196 |
|
197 |
|
198 |
|
199 DECLARE_SMELEMENT_HEADER( TCancelPreviousSelfRequest, MeshMachine::TStateTransition<TContext>, NetStateMachine::MStateTransition, DummySCPRStates::TContext ) |
|
200 virtual void DoL(); |
|
201 DECLARE_SMELEMENT_FOOTER( TCancelPreviousSelfRequest ) |
|
202 |
|
203 class CrazyIdle : public MeshMachine::CNodeRetryActivity |
|
204 { |
|
205 public: |
|
206 DECLARE_SMELEMENT_HEADER( TAwaitingCancelled, MeshMachine::TState<TContext>, NetStateMachine::MState, TContext ) |
|
207 virtual TBool Accept(); |
|
208 DECLARE_SMELEMENT_FOOTER( TAwaitingCancelled ) |
|
209 |
|
210 static MeshMachine::CNodeActivityBase* CrazyIdle::NewL( const MeshMachine::TNodeActivity& aActivitySig, MeshMachine::AMMNodeBase& aNode ); |
|
211 protected: |
|
212 CrazyIdle( const MeshMachine::TNodeActivity& aActivitySig, MeshMachine::AMMNodeBase& aNode ) |
|
213 :MeshMachine::CNodeRetryActivity(aActivitySig, aNode) |
|
214 {}; |
|
215 private: |
|
216 ~CrazyIdle(); |
|
217 }; |
|
218 |
161 DECLARE_ACTIVITY_MAP(stateMap) |
219 DECLARE_ACTIVITY_MAP(stateMap) |
162 } // namespace DummyCPRStates |
220 } // namespace DummyCPRStates |
163 |
221 |
164 namespace DummyExtendedSCPRStates |
222 namespace DummyExtendedSCPRStates |
165 { |
223 { |