|
1 // Copyright (c) 2006-2009 Nokia Corporation and/or its subsidiary(-ies). |
|
2 // All rights reserved. |
|
3 // This component and the accompanying materials are made available |
|
4 // under the terms of "Eclipse Public License v1.0" |
|
5 // which accompanies this distribution, and is available |
|
6 // at the URL "http://www.eclipse.org/legal/epl-v10.html". |
|
7 // |
|
8 // Initial Contributors: |
|
9 // Nokia Corporation - initial contribution. |
|
10 // |
|
11 // Contributors: |
|
12 // |
|
13 // Description: |
|
14 // Core PR States |
|
15 // |
|
16 // |
|
17 |
|
18 /** |
|
19 @file |
|
20 @internalComponent |
|
21 */ |
|
22 |
|
23 #ifndef SYMBIAN_SS_COREPRSTATES_H |
|
24 #define SYMBIAN_SS_COREPRSTATES_H |
|
25 |
|
26 #include <comms-infras/ss_nodemessages_serviceprovider.h> |
|
27 #include <comms-infras/ss_mmcommsprov.h> |
|
28 #include <comms-infras/ss_nodeinterfaces.h> |
|
29 #include <elements/mm_mutexpolicies.h> |
|
30 #include <elements/mm_states.h> |
|
31 #include <comms-infras/ss_activities.h> |
|
32 #include <comms-infras/ss_common.h> |
|
33 |
|
34 //-========================================================= |
|
35 // |
|
36 //Panics |
|
37 // |
|
38 //-========================================================= |
|
39 |
|
40 namespace CorePanics |
|
41 { |
|
42 enum |
|
43 { |
|
44 KPanicNoActivity = 1, |
|
45 KPanicNoServiceProvider = 2, |
|
46 KPanicNoControlProvider =3, |
|
47 KPanicNoDataClient = 4, |
|
48 KPanicNoCSR = 5, |
|
49 KPanicNoSelectionPreferences = 6, |
|
50 KPanicNoConnection = 7, |
|
51 KPanicNoAvailabilityProvider = 8, |
|
52 |
|
53 KPanicExpectedNoCSR = 9, |
|
54 KPanicExpectedNoServiceProvider = 10, |
|
55 KPanicClientsStillPresent =11, |
|
56 |
|
57 KPanicIncorrectMessage = 12, |
|
58 KOverridenProvisionMessage =13, |
|
59 KPanicPeerMessage =14, |
|
60 KPanicDataClient = 15, |
|
61 |
|
62 KPanicUnexpectedExecutionPath =16, |
|
63 KPanicExtInterfaceNotSupported =17, |
|
64 KPanicInterfaceNotSupported = 18, |
|
65 |
|
66 KPanicIncorrectState = 19, |
|
67 KPanicPeerMisbehaving = 20, |
|
68 |
|
69 KPanicActivity = 21, |
|
70 KPanicNoContext = 22 |
|
71 }; |
|
72 } |
|
73 |
|
74 namespace CoreStates |
|
75 { |
|
76 |
|
77 typedef MeshMachine::TNodeContext<ESock::ACFMMNodeBase, MeshMachine::TContext> TContext; |
|
78 |
|
79 //-========================================================= |
|
80 // |
|
81 //Core Transition Ids 1000..1999 |
|
82 // |
|
83 //-========================================================= |
|
84 |
|
85 const TInt KNoPeer = 1000; |
|
86 const TInt KPeerPresent = 1001; |
|
87 const TInt KPeerReady = 1002; |
|
88 const TInt KPeerNotReady = 1003; |
|
89 const TInt KUseExisting = 1004; |
|
90 const TInt KLoopTag = 1005; |
|
91 const TInt KSetIdle = 1006; |
|
92 const TInt KRecoverableErrorTag = 1007; |
|
93 const TInt KRetry = 1008; |
|
94 const TInt KIgnore = 1009; |
|
95 const TInt KPropagate = 1010; |
|
96 const TInt KCommit = 1011; |
|
97 |
|
98 |
|
99 //-========================================================= |
|
100 // |
|
101 //States |
|
102 // |
|
103 //-========================================================= |
|
104 |
|
105 class ASetErrorState |
|
106 { |
|
107 protected: |
|
108 IMPORT_C static TBool Accept(MeshMachine::TNodeContextBase& aContext, TBool aSuperAccept); |
|
109 }; |
|
110 |
|
111 template<class TSTATE, class TCONTEXT = CoreStates::TContext> |
|
112 class TSetErrorState : public TSTATE, public ASetErrorState |
|
113 { |
|
114 public: |
|
115 NETSM_TPL_DECLARE_CTR(TSetErrorState, NetStateMachine::MState, TCONTEXT) |
|
116 |
|
117 explicit TSetErrorState(TCONTEXT& aContext) |
|
118 : TSTATE(aContext) |
|
119 { |
|
120 } |
|
121 |
|
122 virtual TBool Accept() |
|
123 { |
|
124 return ASetErrorState::Accept(this->iContext, TSTATE::Accept()); |
|
125 } |
|
126 }; |
|
127 |
|
128 EXPORT_DECLARE_SMELEMENT_HEADER( TNeverAccept, MeshMachine::TState<TContext>, NetStateMachine::MState, TContext ) |
|
129 IMPORT_C virtual TBool Accept(); |
|
130 DECLARE_SMELEMENT_FOOTER( TNeverAccept ) |
|
131 |
|
132 EXPORT_DECLARE_SMELEMENT_HEADER( TAwaitingJoinComplete, MeshMachine::TState<TContext>, NetStateMachine::MState, TContext ) |
|
133 IMPORT_C virtual TBool Accept(); |
|
134 DECLARE_SMELEMENT_FOOTER( TAwaitingJoinComplete ) |
|
135 |
|
136 EXPORT_DECLARE_SMELEMENT_HEADER( TAwaitingClientLeave, MeshMachine::TState<TContext>, NetStateMachine::MState, TContext ) |
|
137 IMPORT_C virtual TBool Accept(); |
|
138 DECLARE_SMELEMENT_FOOTER( TAwaitingClientLeave ) |
|
139 |
|
140 //-========================================================= |
|
141 // |
|
142 //State Forks |
|
143 // |
|
144 //-========================================================= |
|
145 |
|
146 EXPORT_DECLARE_SMELEMENT_HEADER( TNoTagOrRecoverableErrorTagOrErrorTag, MeshMachine::TStateFork<TContext>, NetStateMachine::MStateFork, TContext ) |
|
147 IMPORT_C virtual TInt TransitionTag(); |
|
148 DECLARE_SMELEMENT_FOOTER( TNoTagOrRecoverableErrorTagOrErrorTag ) |
|
149 |
|
150 EXPORT_DECLARE_SMELEMENT_HEADER( TPeerPresent, MeshMachine::TStateFork<TContext>, NetStateMachine::MStateFork, TContext ) |
|
151 virtual TInt TransitionTag(); |
|
152 DECLARE_SMELEMENT_FOOTER( TPeerPresent ) |
|
153 |
|
154 EXPORT_DECLARE_SMELEMENT_HEADER( TNoTagOrNoPeer, MeshMachine::TStateFork<TContext>, NetStateMachine::MStateFork, TContext ) |
|
155 virtual TInt TransitionTag(); |
|
156 DECLARE_SMELEMENT_FOOTER( TNoTagOrNoPeer ) |
|
157 |
|
158 EXPORT_DECLARE_SMELEMENT_HEADER( TRetryOrIgnoreOrPropagate, MeshMachine::TStateFork<TContext>, NetStateMachine::MStateFork, TContext ) |
|
159 virtual TInt TransitionTag(); |
|
160 DECLARE_SMELEMENT_FOOTER( TRetryOrIgnoreOrPropagate ) |
|
161 |
|
162 EXPORT_DECLARE_SMELEMENT_HEADER( TNoTagOrNoClients, MeshMachine::TStateFork<TContext>, NetStateMachine::MStateFork, TContext ) |
|
163 virtual TInt TransitionTag(); |
|
164 DECLARE_SMELEMENT_FOOTER( TNoTagOrNoClients ) |
|
165 |
|
166 class ACancelOrErrorOrTag |
|
167 { |
|
168 protected: |
|
169 IMPORT_C static TInt TransitionTag(MeshMachine::TNodeContextBase& aContext, TInt aTag); |
|
170 }; |
|
171 |
|
172 template<TInt TAG> |
|
173 class TCancelOrErrorOrTag : public MeshMachine::TStateFork<TContext>, public ACancelOrErrorOrTag |
|
174 { |
|
175 public: |
|
176 NETSM_TPL_DECLARE_CTR(TCancelOrErrorOrTag, NetStateMachine::MStateFork, TContext) |
|
177 |
|
178 TCancelOrErrorOrTag(TContext& aContext) : |
|
179 MeshMachine::TStateFork<TContext>(aContext) |
|
180 { |
|
181 } |
|
182 |
|
183 virtual TInt TransitionTag() |
|
184 { |
|
185 return ACancelOrErrorOrTag::TransitionTag(this->iContext, TAG); |
|
186 } |
|
187 }; |
|
188 |
|
189 //-========================================================= |
|
190 // |
|
191 //Transitions |
|
192 // |
|
193 //-========================================================= |
|
194 |
|
195 //-========================================================= |
|
196 // CCFActivityBase::SetError handling transitions and states |
|
197 //-========================================================= |
|
198 |
|
199 EXPORT_DECLARE_SMELEMENT_HEADER( TPanic, MeshMachine::TStateTransition<TContext>, NetStateMachine::MStateTransition, TContext ) |
|
200 IMPORT_C virtual void DoL(); |
|
201 DECLARE_SMELEMENT_FOOTER( TPanic ) |
|
202 |
|
203 EXPORT_DECLARE_SMELEMENT_HEADER( TPostToOriginators, MeshMachine::TStateTransition<TContext>, NetStateMachine::MStateTransition, TContext ) |
|
204 IMPORT_C virtual void DoL(); |
|
205 DECLARE_SMELEMENT_FOOTER( TPostToOriginators ) |
|
206 |
|
207 EXPORT_DECLARE_SMELEMENT_HEADER( TSetIdleIfMoreClients, MeshMachine::TStateTransition<TContext>, NetStateMachine::MStateTransition, TContext ) |
|
208 IMPORT_C virtual void DoL(); |
|
209 DECLARE_SMELEMENT_FOOTER( TSetIdleIfMoreClients ) |
|
210 |
|
211 EXPORT_DECLARE_SMELEMENT_HEADER( TAbortAllActivities, MeshMachine::TStateTransition<TContext>, NetStateMachine::MStateTransition, TContext ) |
|
212 IMPORT_C virtual void DoL(); |
|
213 DECLARE_SMELEMENT_FOOTER( TAbortAllActivities ) |
|
214 |
|
215 EXPORT_DECLARE_SMELEMENT_HEADER( TAbortAllActivitiesNodeDeletion, MeshMachine::TStateTransition<TContext>, NetStateMachine::MStateTransition, TContext ) |
|
216 IMPORT_C virtual void DoL(); |
|
217 DECLARE_SMELEMENT_FOOTER( TAbortAllActivitiesNodeDeletion ) |
|
218 |
|
219 EXPORT_DECLARE_SMELEMENT_HEADER( TNoTagBackwardsOrCancel, MeshMachine::TStateFork<TContext>, NetStateMachine::MStateFork, TContext ) |
|
220 IMPORT_C virtual TInt TransitionTag(); |
|
221 DECLARE_SMELEMENT_FOOTER( TNoTagBackwardsOrCancel ) |
|
222 |
|
223 } //namespace CoreStates |
|
224 |
|
225 |
|
226 namespace CoreNetStates |
|
227 { |
|
228 typedef CoreStates::TContext TContext; |
|
229 |
|
230 //-========================================================= |
|
231 // |
|
232 //Net Core Transition Ids 2000..3999 |
|
233 // |
|
234 //-========================================================= |
|
235 |
|
236 const TInt KNoBearer = 2000; |
|
237 const TInt KBearerPresent = 2001; |
|
238 const TInt KBearerReady = 2002; |
|
239 const TInt KNoDataClients = 2003; |
|
240 const TInt KDataClientPresent = 2004; |
|
241 const TInt KDataClientReady = 2005; |
|
242 const TInt KDataClientNotReady = 2006; |
|
243 const TInt KProviderStopped = 2007; |
|
244 const TInt KDataClientIdle = 2008; |
|
245 const TInt KDataClientNoLongerIdle = 2009; |
|
246 const TInt KBearerNoDataClientsToStop = 2010; |
|
247 const TInt KNoBearerNoDataClients = 2011; |
|
248 const TInt KNonDefault = 2012; |
|
249 const TInt KWaitForIncoming = 2013; |
|
250 const TInt KLayerCompleted = 2014; |
|
251 const TInt KDataClientsToStop = 2015; |
|
252 const TInt KNoDataClientsToStop = 2016; |
|
253 const TInt KDataClientsToStart = 2017; |
|
254 const TInt KNoDataClientsToStart = 2018; |
|
255 const TInt KAlreadyStarted = 2019; |
|
256 const TInt KAlreadyStopped = 2020; |
|
257 const TInt KBindToComplete = 2021; |
|
258 const TInt KNoClients = 2022; |
|
259 const TInt KUnbind = 2023; |
|
260 const TInt KProviderStarted = 2024; |
|
261 const TInt KAttachToDefault = 2025; |
|
262 |
|
263 //-========================================================= |
|
264 // |
|
265 //States |
|
266 // |
|
267 //-========================================================= |
|
268 |
|
269 EXPORT_DECLARE_SMELEMENT_HEADER( TAwaitingDataClientStart, MeshMachine::TState<TContext>, NetStateMachine::MState, TContext ) |
|
270 IMPORT_C virtual TBool Accept(); |
|
271 DECLARE_SMELEMENT_FOOTER( TAwaitingDataClientStart ) |
|
272 |
|
273 EXPORT_DECLARE_SMELEMENT_HEADER( TAwaitingStart, MeshMachine::TState<TContext>, NetStateMachine::MState, TContext ) |
|
274 IMPORT_C virtual TBool Accept(); |
|
275 DECLARE_SMELEMENT_FOOTER( TAwaitingStart ) |
|
276 |
|
277 EXPORT_DECLARE_SMELEMENT_HEADER( TAwaitingDataClientStop, MeshMachine::TState<TContext>, NetStateMachine::MState, TContext ) |
|
278 IMPORT_C virtual TBool Accept(); |
|
279 DECLARE_SMELEMENT_FOOTER( TAwaitingDataClientStop ) |
|
280 |
|
281 EXPORT_DECLARE_SMELEMENT_HEADER( TAwaitingControlClientJoin, MeshMachine::TState<TContext>, NetStateMachine::MState, TContext ) |
|
282 IMPORT_C virtual TBool Accept(); |
|
283 DECLARE_SMELEMENT_FOOTER( TAwaitingControlClientJoin ) |
|
284 |
|
285 EXPORT_DECLARE_SMELEMENT_HEADER( TAwaitingDataClientJoinRequest, MeshMachine::TState<TContext>, NetStateMachine::MState, TContext ) |
|
286 IMPORT_C virtual TBool Accept(); |
|
287 DECLARE_SMELEMENT_FOOTER( TAwaitingDataClientJoinRequest ) |
|
288 |
|
289 EXPORT_DECLARE_SMELEMENT_HEADER( TAwaitingDataClientJoin, MeshMachine::TState<TContext>, NetStateMachine::MState, TContext ) |
|
290 IMPORT_C virtual TBool Accept(); |
|
291 DECLARE_SMELEMENT_FOOTER( TAwaitingDataClientJoin ) |
|
292 |
|
293 EXPORT_DECLARE_SMELEMENT_HEADER( TAwaitingBinderResponse, MeshMachine::TState<TContext>, NetStateMachine::MState, TContext ) |
|
294 IMPORT_C virtual TBool Accept(); |
|
295 DECLARE_SMELEMENT_FOOTER( TAwaitingBinderResponse ) |
|
296 |
|
297 EXPORT_DECLARE_SMELEMENT_HEADER( TAwaitingBindToComplete, MeshMachine::TState<TContext>, NetStateMachine::MState, TContext ) |
|
298 IMPORT_C virtual TBool Accept(); |
|
299 DECLARE_SMELEMENT_FOOTER( TAwaitingBindToComplete ) |
|
300 |
|
301 EXPORT_DECLARE_SMELEMENT_HEADER( TAwaitingStarted, MeshMachine::TState<TContext>, NetStateMachine::MState, TContext ) |
|
302 IMPORT_C virtual TBool Accept(); |
|
303 DECLARE_SMELEMENT_FOOTER( TAwaitingStarted ) |
|
304 |
|
305 EXPORT_DECLARE_SMELEMENT_HEADER( TAwaitingProvision, MeshMachine::TState<TContext>, NetStateMachine::MState, TContext ) |
|
306 IMPORT_C virtual TBool Accept(); |
|
307 DECLARE_SMELEMENT_FOOTER( TAwaitingProvision ) |
|
308 |
|
309 EXPORT_DECLARE_SMELEMENT_HEADER( TAwaitingGoneDown, MeshMachine::TState<TContext>, NetStateMachine::MState, TContext ) |
|
310 IMPORT_C virtual TBool Accept(); |
|
311 DECLARE_SMELEMENT_FOOTER( TAwaitingGoneDown ) |
|
312 |
|
313 DECLARE_SMELEMENT_HEADER( TAwaitingGoneUp, MeshMachine::TState<TContext>, NetStateMachine::MState, TContext ) |
|
314 virtual TBool Accept(); |
|
315 DECLARE_SMELEMENT_FOOTER( TAwaitingGoneUp ) |
|
316 |
|
317 EXPORT_DECLARE_SMELEMENT_HEADER( TAwaitingBindTo, MeshMachine::TState<TContext>, NetStateMachine::MState, TContext ) |
|
318 IMPORT_C virtual TBool Accept(); |
|
319 DECLARE_SMELEMENT_FOOTER( TAwaitingBindTo ) |
|
320 |
|
321 EXPORT_DECLARE_SMELEMENT_HEADER( TAwaitingBindToOrCancel, MeshMachine::TState<TContext>, NetStateMachine::MState, TContext ) |
|
322 virtual TBool Accept(); |
|
323 DECLARE_SMELEMENT_FOOTER( TAwaitingBindToOrCancel ) |
|
324 |
|
325 EXPORT_DECLARE_SMELEMENT_HEADER( TAwaitingStopped, MeshMachine::TState<TContext>, NetStateMachine::MState, TContext ) |
|
326 IMPORT_C virtual TBool Accept(); |
|
327 DECLARE_SMELEMENT_FOOTER( TAwaitingStopped ) |
|
328 |
|
329 EXPORT_DECLARE_SMELEMENT_HEADER( TAwaitingNoBearer, MeshMachine::TState<TContext>, NetStateMachine::MState, TContext ) |
|
330 IMPORT_C virtual TBool Accept(); |
|
331 DECLARE_SMELEMENT_FOOTER( TAwaitingNoBearer ) |
|
332 |
|
333 DECLARE_SMELEMENT_HEADER( TAwaitingCSRCreated, MeshMachine::TState<TContext>, NetStateMachine::MState, TContext ) |
|
334 virtual TBool Accept(); |
|
335 DECLARE_SMELEMENT_FOOTER( TAwaitingCSRCreated ) |
|
336 |
|
337 EXPORT_DECLARE_SMELEMENT_HEADER( TAwaitingDataClientStarted, MeshMachine::TState<TContext>, NetStateMachine::MState, TContext ) |
|
338 IMPORT_C virtual TBool Accept(); |
|
339 DECLARE_SMELEMENT_FOOTER( TAwaitingDataClientStarted ) |
|
340 |
|
341 EXPORT_DECLARE_SMELEMENT_HEADER( TAwaitingDataClientsStarted, MeshMachine::TState<TContext>, NetStateMachine::MState, TContext ) |
|
342 IMPORT_C virtual TBool Accept(); |
|
343 DECLARE_SMELEMENT_FOOTER( TAwaitingDataClientsStarted ) |
|
344 |
|
345 EXPORT_DECLARE_SMELEMENT_HEADER( TAwaitingRejoinDataClientComplete, MeshMachine::TState<TContext>, NetStateMachine::MState, TContext ) |
|
346 IMPORT_C virtual TBool Accept(); |
|
347 DECLARE_SMELEMENT_FOOTER( TAwaitingRejoinDataClientComplete ) |
|
348 |
|
349 EXPORT_DECLARE_SMELEMENT_HEADER( TAwaitingDataClientRejoinOrApplyOrCancel, MeshMachine::TState<TContext>, NetStateMachine::MState, TContext ) |
|
350 IMPORT_C virtual TBool Accept(); |
|
351 DECLARE_SMELEMENT_FOOTER( TAwaitingDataClientRejoinOrApplyOrCancel ) |
|
352 |
|
353 EXPORT_DECLARE_SMELEMENT_HEADER( TAwaitingApplyResponse, MeshMachine::TState<TContext>, NetStateMachine::MState, TContext ) |
|
354 IMPORT_C virtual TBool Accept(); |
|
355 DECLARE_SMELEMENT_FOOTER( TAwaitingApplyResponse ) |
|
356 |
|
357 EXPORT_DECLARE_SMELEMENT_HEADER( TAwaitingParamResponse, MeshMachine::TState<TContext>, NetStateMachine::MState, TContext ) |
|
358 IMPORT_C virtual TBool Accept(); |
|
359 DECLARE_SMELEMENT_FOOTER( TAwaitingParamResponse ) |
|
360 |
|
361 EXPORT_DECLARE_SMELEMENT_HEADER( TAwaitingSubConEvent, MeshMachine::TState<TContext>, NetStateMachine::MState, TContext ) |
|
362 IMPORT_C virtual TBool Accept(); |
|
363 DECLARE_SMELEMENT_FOOTER( TAwaitingSubConEvent ) |
|
364 |
|
365 EXPORT_DECLARE_SMELEMENT_HEADER( TAwaitingConEvent, MeshMachine::TState<TContext>, NetStateMachine::MState, TContext ) |
|
366 IMPORT_C virtual TBool Accept(); |
|
367 DECLARE_SMELEMENT_FOOTER( TAwaitingConEvent ) |
|
368 |
|
369 EXPORT_DECLARE_SMELEMENT_HEADER( TAwaitingDataClientRejoin, MeshMachine::TState<TContext>, NetStateMachine::MState, TContext ) |
|
370 IMPORT_C virtual TBool Accept(); |
|
371 DECLARE_SMELEMENT_FOOTER( TAwaitingDataClientRejoin ) |
|
372 |
|
373 EXPORT_DECLARE_SMELEMENT_HEADER( TAwaitingDataClientIdle, MeshMachine::TState<TContext>, NetStateMachine::MState, TContext ) |
|
374 IMPORT_C virtual TBool Accept(); |
|
375 DECLARE_SMELEMENT_FOOTER( TAwaitingDataClientIdle ) |
|
376 |
|
377 EXPORT_DECLARE_SMELEMENT_HEADER( TAwaitingDataClientActive, MeshMachine::TState<TContext>, NetStateMachine::MState, TContext ) |
|
378 IMPORT_C virtual TBool Accept(); |
|
379 DECLARE_SMELEMENT_FOOTER( TAwaitingDataClientActive ) |
|
380 |
|
381 //Awaiting one data client stopped |
|
382 EXPORT_DECLARE_SMELEMENT_HEADER( TAwaitingDataClientStopped, MeshMachine::TState<TContext>, NetStateMachine::MState, TContext ) |
|
383 IMPORT_C virtual TBool Accept(); |
|
384 DECLARE_SMELEMENT_FOOTER( TAwaitingDataClientStopped ) |
|
385 |
|
386 //Awaiting all of the data clients stopped |
|
387 EXPORT_DECLARE_SMELEMENT_HEADER( TAwaitingDataClientsStopped, MeshMachine::TState<TContext>, NetStateMachine::MState, TContext ) |
|
388 IMPORT_C virtual TBool Accept(); |
|
389 DECLARE_SMELEMENT_FOOTER( TAwaitingDataClientsStopped ) |
|
390 |
|
391 EXPORT_DECLARE_SMELEMENT_HEADER( TSendDataClientGoneDown, MeshMachine::TStateTransition<TContext>, NetStateMachine::MStateTransition, TContext ) |
|
392 IMPORT_C virtual void DoL(); |
|
393 DECLARE_SMELEMENT_FOOTER( TSendDataClientGoneDown ) |
|
394 |
|
395 EXPORT_DECLARE_SMELEMENT_HEADER( TAwaitingDataClientGoneDown, MeshMachine::TState<TContext>, NetStateMachine::MState, TContext ) |
|
396 IMPORT_C virtual TBool Accept(); |
|
397 DECLARE_SMELEMENT_FOOTER( TAwaitingDataClientGoneDown ) |
|
398 |
|
399 EXPORT_DECLARE_SMELEMENT_HEADER( TAwaitingBinderRequest, MeshMachine::TState<TContext>, NetStateMachine::MState, TContext ) |
|
400 IMPORT_C virtual TBool Accept(); |
|
401 DECLARE_SMELEMENT_FOOTER( TAwaitingBinderRequest ) |
|
402 |
|
403 EXPORT_DECLARE_SMELEMENT_HEADER( TAwaitingStop, MeshMachine::TState<TContext>, NetStateMachine::MState, TContext ) |
|
404 virtual TBool Accept(); |
|
405 DECLARE_SMELEMENT_FOOTER( TAwaitingStop ) |
|
406 |
|
407 EXPORT_DECLARE_SMELEMENT_HEADER( TAwaitingProviderStatusChangeOrDataClientStatusChange, MeshMachine::TState<TContext>, NetStateMachine::MState, TContext ) |
|
408 IMPORT_C virtual TBool Accept(); |
|
409 DECLARE_SMELEMENT_FOOTER( TAwaitingProviderStatusChangeOrDataClientStatusChange ) |
|
410 |
|
411 EXPORT_DECLARE_SMELEMENT_HEADER( TAwaitingDataClientStatusChange, MeshMachine::TState<TContext>, NetStateMachine::MState, TContext ) |
|
412 IMPORT_C virtual TBool Accept(); |
|
413 DECLARE_SMELEMENT_FOOTER( TAwaitingDataClientStatusChange ) |
|
414 |
|
415 /** |
|
416 * State awaiting a message which has derived from TCFSigLegacyRMessage2 |
|
417 * @publishedPartner |
|
418 * @released since tb9.2 |
|
419 */ |
|
420 EXPORT_DECLARE_SMELEMENT_HEADER( TAwaitingLegacyRMessage2Ext, MeshMachine::TState<TContext>, NetStateMachine::MState, TContext ) |
|
421 IMPORT_C virtual TBool Accept(); |
|
422 DECLARE_SMELEMENT_FOOTER( TAwaitingLegacyRMessage2Ext ) |
|
423 |
|
424 /** |
|
425 * State awaiting TLegacyRMessage2Processed message |
|
426 * @publishedPartner |
|
427 * @released since tb9.2 |
|
428 */ |
|
429 EXPORT_DECLARE_SMELEMENT_HEADER( TAwaitingRMessage2Processed, MeshMachine::TState<TContext>, NetStateMachine::MState, TContext ) |
|
430 IMPORT_C virtual TBool Accept(); |
|
431 IMPORT_C virtual void Cancel(); |
|
432 DECLARE_SMELEMENT_FOOTER( TAwaitingRMessage2Processed ) |
|
433 |
|
434 //-========================================================= |
|
435 // |
|
436 //State Forks |
|
437 // |
|
438 //-========================================================= |
|
439 |
|
440 DECLARE_SERIALIZABLE_STATE( |
|
441 TNoTagBlockedByBinderRequest, |
|
442 MeshMachine::TActivityIdMutex<ESock::ECFActivityBinderRequest>, |
|
443 MeshMachine::TNoTag |
|
444 ) |
|
445 |
|
446 DECLARE_SERIALIZABLE_STATE( |
|
447 TActiveOrNoTagBlockedByBindTo, |
|
448 MeshMachine::TActivityIdMutex<ESock::ECFActivityBindTo>, |
|
449 MeshMachine::TActiveOrNoTag<ESock::ECFActivityStartDataClient> |
|
450 ) |
|
451 |
|
452 typedef MeshMachine::TActivitiesIdMutex<ESock::ECFActivityStop, ESock::ECFActivityNoBearer> TActivityStopOrNoBearerMutex; |
|
453 DECLARE_SERIALIZABLE_STATE( |
|
454 TNoTagBlockedByStopOrNoBearer, |
|
455 TActivityStopOrNoBearerMutex, |
|
456 MeshMachine::TNoTag |
|
457 ) |
|
458 |
|
459 DECLARE_SERIALIZABLE_STATE( |
|
460 TNoTagBlockedByStart, |
|
461 MeshMachine::TActivityIdMutex<ESock::ECFActivityStart>, |
|
462 MeshMachine::TNoTag |
|
463 ) |
|
464 |
|
465 typedef MeshMachine::TNoClientMutex<Messages::TDefaultClientMatchPolicy, ESock::TCFClientType::EServProvider,ESock::TCFClientType::EStarted> TNoServiceProviderStartedMutex; |
|
466 DECLARE_SERIALIZABLE_STATE( |
|
467 TNoTagBlockedByNoServiceProviderStarted, |
|
468 TNoServiceProviderStartedMutex, |
|
469 MeshMachine::TNoTag |
|
470 ) |
|
471 |
|
472 typedef MeshMachine::TNoClientMutex<Messages::TDefaultClientMatchPolicy, ESock::TCFClientType::ECtrl|ESock::TCFClientType::EData|ESock::TCFClientType::EAux> TNoClientsMutex; |
|
473 typedef MeshMachine::TAggregatedMutex_AND<MeshMachine::TActivityIdMutex<ESock::ECFActivityBindTo>, TNoClientsMutex> TBindToAndNoClientsMutex; |
|
474 DECLARE_SERIALIZABLE_STATE( |
|
475 TNoTagBlockedByBindToAndNoClients, |
|
476 TBindToAndNoClientsMutex, |
|
477 MeshMachine::TNoTag |
|
478 ) |
|
479 |
|
480 DECLARE_SERIALIZABLE_STATE( |
|
481 TNoTagBlockedByNoBearer, |
|
482 MeshMachine::TActivityIdMutex<ESock::ECFActivityNoBearer>, |
|
483 MeshMachine::TNoTag |
|
484 ) |
|
485 |
|
486 //[RZ] Please remove this at some point - better use TTag<KBearerPresent> |
|
487 EXPORT_DECLARE_SMELEMENT_HEADER( TBearerPresent, MeshMachine::TStateFork<TContext>, NetStateMachine::MStateFork, TContext ) |
|
488 IMPORT_C virtual TInt TransitionTag(); |
|
489 DECLARE_SMELEMENT_FOOTER( TBearerPresent ) |
|
490 |
|
491 EXPORT_DECLARE_SMELEMENT_HEADER( TNoTagOrDataClientPresent, MeshMachine::TStateFork<TContext>, NetStateMachine::MStateFork, TContext ) |
|
492 IMPORT_C virtual TInt TransitionTag(); |
|
493 DECLARE_SMELEMENT_FOOTER( TNoTagOrDataClientPresent ) |
|
494 |
|
495 EXPORT_DECLARE_SMELEMENT_HEADER( TNoTagOrDataClientsToStop, MeshMachine::TStateFork<TContext>, NetStateMachine::MStateFork, TContext ) |
|
496 IMPORT_C virtual TInt TransitionTag(); |
|
497 DECLARE_SMELEMENT_FOOTER( TNoTagOrDataClientsToStop ) |
|
498 |
|
499 typedef MeshMachine::TClientMutex<Messages::TDefaultClientMatchPolicy, ESock::TCFClientType::EData,ESock::TCFClientType::EStarting> TDataClientStartingMutex; |
|
500 DECLARE_SERIALIZABLE_STATE( |
|
501 TNoTagOrDataClientsToStopBlockedByStarting, |
|
502 TDataClientStartingMutex, |
|
503 CoreNetStates::TNoTagOrDataClientsToStop |
|
504 ) |
|
505 |
|
506 EXPORT_DECLARE_SMELEMENT_HEADER( TNoTagOrNoDataClients, MeshMachine::TStateFork<TContext>, NetStateMachine::MStateFork, TContext ) |
|
507 IMPORT_C virtual TInt TransitionTag(); |
|
508 DECLARE_SMELEMENT_FOOTER( TNoTagOrNoDataClients ) |
|
509 |
|
510 EXPORT_DECLARE_SMELEMENT_HEADER( TNoTagOrUnbindOnStop, MeshMachine::TStateFork<TContext>, NetStateMachine::MStateFork, TContext ) |
|
511 IMPORT_C virtual TInt TransitionTag(); |
|
512 DECLARE_SMELEMENT_FOOTER( TNoTagOrUnbindOnStop ) |
|
513 |
|
514 EXPORT_DECLARE_SMELEMENT_HEADER( TNoTagOrBearerPresent, MeshMachine::TStateFork<TContext>, NetStateMachine::MStateFork, TContext ) |
|
515 IMPORT_C virtual TInt TransitionTag(); |
|
516 DECLARE_SMELEMENT_FOOTER( TNoTagOrBearerPresent ) |
|
517 |
|
518 EXPORT_DECLARE_SMELEMENT_HEADER( TNoTagOrBearerPresentOrErrorTag, MeshMachine::TStateFork<TContext>, NetStateMachine::MStateFork, TContext ) |
|
519 virtual TInt TransitionTag(); |
|
520 DECLARE_SMELEMENT_FOOTER( TNoTagOrBearerPresentOrErrorTag ) |
|
521 |
|
522 EXPORT_DECLARE_SMELEMENT_HEADER( TNoTagOrNoBearer, MeshMachine::TStateFork<TContext>, NetStateMachine::MStateFork, TContext ) |
|
523 virtual TInt TransitionTag(); |
|
524 DECLARE_SMELEMENT_FOOTER( TNoTagOrBearer ) |
|
525 |
|
526 DECLARE_SERIALIZABLE_STATE( |
|
527 TNoTagOrNoBearerBlockedByStart, |
|
528 MeshMachine::TActivityIdMutex<ESock::ECFActivityStart>, |
|
529 CoreNetStates::TNoTagOrNoBearer |
|
530 ) |
|
531 |
|
532 EXPORT_DECLARE_SMELEMENT_HEADER( TNoTagOrNonDefault, MeshMachine::TStateFork<TContext>, NetStateMachine::MStateFork, TContext ) |
|
533 virtual TInt TransitionTag(); |
|
534 DECLARE_SMELEMENT_FOOTER( TNoTagOrNonDefault ) |
|
535 |
|
536 DECLARE_SERIALIZABLE_STATE( |
|
537 TNoTagOrBearerPresentBlockedByStop, |
|
538 MeshMachine::TActivityIdMutex<ESock::ECFActivityStop>, |
|
539 CoreNetStates::TNoTagOrBearerPresent |
|
540 ) |
|
541 |
|
542 EXPORT_DECLARE_SMELEMENT_HEADER( TNoTagBackwardsOrProviderStopped, MeshMachine::TStateFork<TContext>, NetStateMachine::MStateFork, TContext ) |
|
543 IMPORT_C virtual TInt TransitionTag(); |
|
544 DECLARE_SMELEMENT_FOOTER( TNoTagBackwardsOrProviderStopped ) |
|
545 |
|
546 |
|
547 typedef MeshMachine::TActivityIdMutex<ESock::ECFActivityStart> TActivityStartMutex; |
|
548 typedef MeshMachine::TActivitiesIdMutex<ESock::ECFActivityStop, ESock::ECFActivityGoneDown> TActivityStopAndGoneDownMutex; |
|
549 typedef MeshMachine::TActivityIdMutex<ESock::ECFActivityGoneDown> TActivityGoneDownMutex; |
|
550 |
|
551 EXPORT_DECLARE_SMELEMENT_HEADER( TNoTagOrNoDataClientsToStop, MeshMachine::TStateFork<TContext>, NetStateMachine::MStateFork, TContext ) |
|
552 virtual TInt TransitionTag(); |
|
553 DECLARE_SMELEMENT_FOOTER( TNoTagOrNoDataClientsToStop ) |
|
554 |
|
555 DECLARE_SERIALIZABLE_STATE( |
|
556 TNoTagBlockedByStop, |
|
557 MeshMachine::TActivityIdMutex<ESock::ECFActivityStop>, |
|
558 MeshMachine::TNoTag |
|
559 ) |
|
560 |
|
561 DECLARE_SERIALIZABLE_STATE( |
|
562 TNoTagBlockedByGoneDown, |
|
563 TActivityGoneDownMutex, |
|
564 MeshMachine::TNoTag |
|
565 ) |
|
566 |
|
567 |
|
568 DECLARE_SERIALIZABLE_STATE( |
|
569 TNoTagBlockedByStopOrGoneDown, |
|
570 TActivityStopAndGoneDownMutex, |
|
571 MeshMachine::TNoTag |
|
572 ) |
|
573 |
|
574 DECLARE_SERIALIZABLE_STATE( |
|
575 TActiveOrNoTagBlockedByStopOrGoneDown, |
|
576 TActivityStopAndGoneDownMutex, |
|
577 MeshMachine::TActiveOrNoTag<ESock::ECFActivityStart> |
|
578 ) |
|
579 |
|
580 DECLARE_SERIALIZABLE_STATE( |
|
581 TActiveOrNoTagBlockedByGoneDown, |
|
582 TActivityGoneDownMutex, |
|
583 MeshMachine::TActiveOrNoTag<ESock::ECFActivityStart> |
|
584 ) |
|
585 |
|
586 EXPORT_DECLARE_SMELEMENT_HEADER( TNoTagOnEvent, MeshMachine::TStateFork<TContext>, NetStateMachine::MStateFork, TContext ) |
|
587 virtual TInt TransitionTag(); |
|
588 DECLARE_SMELEMENT_FOOTER( TNoTagOnEvent ) |
|
589 |
|
590 //-========================================================= |
|
591 // |
|
592 //State Transitions |
|
593 // |
|
594 //-========================================================= |
|
595 EXPORT_DECLARE_SMELEMENT_HEADER( TAddAuxClient, MeshMachine::TStateTransition<TContext>, NetStateMachine::MStateTransition, TContext ) |
|
596 IMPORT_C virtual void DoL(); |
|
597 DECLARE_SMELEMENT_FOOTER( TAddAuxClient ) |
|
598 |
|
599 EXPORT_DECLARE_SMELEMENT_HEADER( TRemoveAuxClient, MeshMachine::TStateTransition<TContext>, NetStateMachine::MStateTransition, TContext ) |
|
600 IMPORT_C virtual void DoL(); |
|
601 DECLARE_SMELEMENT_FOOTER( TRemoveAuxClient ) |
|
602 |
|
603 EXPORT_DECLARE_SMELEMENT_HEADER( TSendClientLeavingAndRemoveServiceProvider, MeshMachine::TStateTransition<TContext>, NetStateMachine::MStateTransition, TContext ) |
|
604 IMPORT_C virtual void DoL(); |
|
605 DECLARE_SMELEMENT_FOOTER( TSendClientLeavingAndRemoveServiceProvider ) |
|
606 |
|
607 EXPORT_DECLARE_SMELEMENT_HEADER( TForwardToControlProvider, MeshMachine::TStateTransition<TContext>, NetStateMachine::MStateTransition, TContext ) |
|
608 IMPORT_C virtual void DoL(); |
|
609 DECLARE_SMELEMENT_FOOTER( TForwardToControlProvider ) |
|
610 |
|
611 EXPORT_DECLARE_SMELEMENT_HEADER( TRequestCommsBinder, MeshMachine::TStateTransition<TContext>, NetStateMachine::MStateTransition, TContext ) |
|
612 IMPORT_C virtual void DoL(); |
|
613 DECLARE_SMELEMENT_FOOTER( TRequestCommsBinder ) |
|
614 |
|
615 EXPORT_DECLARE_SMELEMENT_HEADER( TSendControlClientJoinRequest, MeshMachine::TStateTransition<TContext>, NetStateMachine::MStateTransition, TContext ) |
|
616 IMPORT_C virtual void DoL(); |
|
617 DECLARE_SMELEMENT_FOOTER( TSendControlClientJoinRequest ) |
|
618 |
|
619 EXPORT_DECLARE_SMELEMENT_HEADER( TSendBindTo, MeshMachine::TStateTransition<TContext>, NetStateMachine::MStateTransition, TContext ) |
|
620 IMPORT_C virtual void DoL(); |
|
621 DECLARE_SMELEMENT_FOOTER( TSendBindTo ) |
|
622 |
|
623 EXPORT_DECLARE_SMELEMENT_HEADER( TSendBearer, MeshMachine::TStateTransition<TContext>, NetStateMachine::MStateTransition, TContext ) |
|
624 IMPORT_C virtual void DoL(); |
|
625 DECLARE_SMELEMENT_FOOTER( TSendBearer ) |
|
626 |
|
627 EXPORT_DECLARE_SMELEMENT_HEADER( TSendApplyRequest, MeshMachine::TStateTransition<TContext>, NetStateMachine::MStateTransition, TContext ) |
|
628 IMPORT_C virtual void DoL(); |
|
629 DECLARE_SMELEMENT_FOOTER( TSendApplyRequest ) |
|
630 |
|
631 EXPORT_DECLARE_SMELEMENT_HEADER( TSendClientLeavingAndRemoveControlProvider, MeshMachine::TStateTransition<TContext>, NetStateMachine::MStateTransition, TContext ) |
|
632 IMPORT_C virtual void DoL(); |
|
633 DECLARE_SMELEMENT_FOOTER( TSendClientLeavingAndRemoveControlProvider ) |
|
634 |
|
635 EXPORT_DECLARE_SMELEMENT_HEADER( TSendClientLeavingAndRemoveControlProviderIfNoServiceProviders, TSendClientLeavingAndRemoveControlProvider, NetStateMachine::MStateTransition, TContext ) |
|
636 IMPORT_C virtual void DoL(); |
|
637 DECLARE_SMELEMENT_FOOTER( TSendClientLeavingAndRemoveControlProviderIfNoServiceProviders ) |
|
638 |
|
639 EXPORT_DECLARE_SMELEMENT_HEADER( TSendClientLeavingRequestToServiceProviders, MeshMachine::TStateTransition<TContext>, NetStateMachine::MStateTransition, TContext ) |
|
640 IMPORT_C virtual void DoL(); |
|
641 DECLARE_SMELEMENT_FOOTER( TSendClientLeavingRequestToServiceProviders ) |
|
642 |
|
643 EXPORT_DECLARE_SMELEMENT_HEADER( TSendClientLeavingToServiceProviders, MeshMachine::TStateTransition<TContext>, NetStateMachine::MStateTransition, TContext ) |
|
644 IMPORT_C virtual void DoL(); |
|
645 DECLARE_SMELEMENT_FOOTER( TSendClientLeavingToServiceProviders ) |
|
646 |
|
647 EXPORT_DECLARE_SMELEMENT_HEADER( TSendClientLeavingRequestToServiceProvider, MeshMachine::TStateTransition<TContext>, NetStateMachine::MStateTransition, TContext ) |
|
648 IMPORT_C virtual void DoL(); |
|
649 DECLARE_SMELEMENT_FOOTER( TSendClientLeavingRequestToServiceProvider ) |
|
650 |
|
651 EXPORT_DECLARE_SMELEMENT_HEADER( TSetIdleIfNoServiceProviders, MeshMachine::TStateTransition<TContext>, NetStateMachine::MStateTransition, TContext ) |
|
652 IMPORT_C virtual void DoL(); |
|
653 DECLARE_SMELEMENT_FOOTER( TSetIdleIfNoServiceProviders ) |
|
654 |
|
655 DECLARE_AGGREGATED_TRANSITION2( |
|
656 TLeaveControlProviderAndSetIdleIfNoServiceProviders, |
|
657 CoreNetStates::TSendClientLeavingAndRemoveControlProviderIfNoServiceProviders, |
|
658 CoreNetStates::TSetIdleIfNoServiceProviders |
|
659 ) |
|
660 |
|
661 DECLARE_AGGREGATED_TRANSITION2( |
|
662 TLeaveServiceProvidersOrSetIdle, |
|
663 CoreNetStates::TSendClientLeavingRequestToServiceProviders, |
|
664 CoreNetStates::TSetIdleIfNoServiceProviders |
|
665 ) |
|
666 |
|
667 //We need these because of silly macro preprocessing.. |
|
668 typedef MeshMachine::TRetryTransition<CoreNetStates::TRequestCommsBinder, ESock::TCFServiceProvider::TCommsBinderRequest> TRequestCommsBinderRetry; |
|
669 |
|
670 EXPORT_DECLARE_SMELEMENT_HEADER( TAddControlClientAndSendJoinCompleteIfRequest, MeshMachine::TStateTransition<TContext>, NetStateMachine::MStateTransition, TContext ) |
|
671 IMPORT_C virtual void DoL(); |
|
672 DECLARE_SMELEMENT_FOOTER( TAddControlClientAndSendJoinCompleteIfRequest ) |
|
673 |
|
674 EXPORT_DECLARE_SMELEMENT_HEADER( TAddDataClient, MeshMachine::TStateTransition<TContext>, NetStateMachine::MStateTransition, TContext ) |
|
675 IMPORT_C virtual void DoL(); |
|
676 IMPORT_C virtual void Error(TInt aError); |
|
677 DECLARE_SMELEMENT_FOOTER( TAddDataClient ) |
|
678 |
|
679 EXPORT_DECLARE_SMELEMENT_HEADER( TAddDataClientAndRespond, CoreNetStates::TAddDataClient, NetStateMachine::MStateTransition, TContext ) |
|
680 IMPORT_C virtual void DoL(); |
|
681 DECLARE_SMELEMENT_FOOTER( TAddDataClientAndRespond ) |
|
682 |
|
683 EXPORT_DECLARE_SMELEMENT_HEADER( TSendDataClientIdle, MeshMachine::TStateTransition<TContext>, NetStateMachine::MStateTransition, TContext ) |
|
684 IMPORT_C virtual void DoL(); |
|
685 DECLARE_SMELEMENT_FOOTER( TSendDataClientIdle ) |
|
686 |
|
687 EXPORT_DECLARE_SMELEMENT_HEADER( TSendDataClientActive, MeshMachine::TStateTransition<TContext>, NetStateMachine::MStateTransition, TContext ) |
|
688 IMPORT_C virtual void DoL(); |
|
689 DECLARE_SMELEMENT_FOOTER( TSendDataClientActive ) |
|
690 |
|
691 EXPORT_DECLARE_SMELEMENT_HEADER( TSendDataClientIdleIfNoClients, CoreNetStates::TSendDataClientIdle, NetStateMachine::MStateTransition, TContext ) |
|
692 IMPORT_C virtual void DoL(); |
|
693 DECLARE_SMELEMENT_FOOTER( TSendDataClientIdleIfNoClients ) |
|
694 |
|
695 EXPORT_DECLARE_SMELEMENT_HEADER( TSendLeaveCompleteIfRequest, MeshMachine::TStateTransition<TContext>, NetStateMachine::MStateTransition, TContext ) |
|
696 IMPORT_C virtual void DoL(); |
|
697 DECLARE_SMELEMENT_FOOTER( TSendLeaveCompleteIfRequest ) |
|
698 |
|
699 EXPORT_DECLARE_SMELEMENT_HEADER( TSendRejoinComplete, MeshMachine::TStateTransition<TContext>, NetStateMachine::MStateTransition, TContext ) |
|
700 IMPORT_C virtual void DoL(); |
|
701 DECLARE_SMELEMENT_FOOTER( TSendRejoinComplete ) |
|
702 |
|
703 EXPORT_DECLARE_SMELEMENT_HEADER( THandleDataClientIdle, MeshMachine::TStateTransition<TContext>, NetStateMachine::MStateTransition, TContext ) |
|
704 IMPORT_C virtual void DoL(); |
|
705 DECLARE_SMELEMENT_FOOTER( THandleDataClientIdle ) |
|
706 |
|
707 EXPORT_DECLARE_SMELEMENT_HEADER( TStopDataClients, MeshMachine::TStateTransition<TContext>, NetStateMachine::MStateTransition, TContext ) |
|
708 IMPORT_C virtual void DoL(); |
|
709 DECLARE_SMELEMENT_FOOTER( TStopDataClients ) |
|
710 |
|
711 EXPORT_DECLARE_SMELEMENT_HEADER( TStopSelf, MeshMachine::TStateTransition<TContext>, NetStateMachine::MStateTransition, TContext ) |
|
712 IMPORT_C virtual void DoL(); |
|
713 DECLARE_SMELEMENT_FOOTER( TStopSelf ) |
|
714 |
|
715 EXPORT_DECLARE_SMELEMENT_HEADER( TSendNoBearer, MeshMachine::TStateTransition<TContext>, NetStateMachine::MStateTransition, TContext ) |
|
716 IMPORT_C virtual void DoL(); |
|
717 DECLARE_SMELEMENT_FOOTER( TSendNoBearer ) |
|
718 |
|
719 EXPORT_DECLARE_SMELEMENT_HEADER( TForwardToControlClients, MeshMachine::TStateTransition<TContext>, NetStateMachine::MStateTransition, TContext ) |
|
720 virtual void DoL(); |
|
721 DECLARE_SMELEMENT_FOOTER( TForwardToControlClients ) |
|
722 |
|
723 EXPORT_DECLARE_SMELEMENT_HEADER( TStartServiceProvider, MeshMachine::TStateTransition<TContext>, NetStateMachine::MStateTransition, TContext ) |
|
724 IMPORT_C virtual void DoL(); |
|
725 DECLARE_SMELEMENT_FOOTER( TStartServiceProvider ) |
|
726 typedef MeshMachine::TRetryTransition<CoreNetStates::TStartServiceProvider,ESock::TCFServiceProvider::TStart> TStartServiceProviderRetry; |
|
727 |
|
728 EXPORT_DECLARE_SMELEMENT_HEADER( TSendStarted, MeshMachine::TStateTransition<TContext>, NetStateMachine::MStateTransition, TContext ) |
|
729 IMPORT_C virtual void DoL(); |
|
730 DECLARE_SMELEMENT_FOOTER( TSendStarted ) |
|
731 |
|
732 DECLARE_SMELEMENT_HEADER( TSendGoneUp, MeshMachine::TStateTransition<TContext>, NetStateMachine::MStateTransition, TContext ) |
|
733 virtual void DoL(); |
|
734 DECLARE_SMELEMENT_FOOTER( TSendGoneUp ) |
|
735 |
|
736 EXPORT_DECLARE_SMELEMENT_HEADER( TSendBindToComplete, MeshMachine::TStateTransition<TContext>, NetStateMachine::MStateTransition, TContext ) |
|
737 IMPORT_C virtual void DoL(); |
|
738 DECLARE_SMELEMENT_FOOTER( TSendBindToComplete ) |
|
739 |
|
740 EXPORT_DECLARE_SMELEMENT_HEADER( TBindSelfToPresentBearer, MeshMachine::TStateTransition<TContext>, NetStateMachine::MStateTransition, TContext ) |
|
741 IMPORT_C virtual void DoL(); |
|
742 DECLARE_SMELEMENT_FOOTER( TBindSelfToPresentBearer ) |
|
743 |
|
744 EXPORT_DECLARE_SMELEMENT_HEADER( TBindSelf, MeshMachine::TStateTransition<TContext>, NetStateMachine::MStateTransition, TContext ) |
|
745 IMPORT_C virtual void DoL(); |
|
746 DECLARE_SMELEMENT_FOOTER( TBindSelf ) |
|
747 |
|
748 EXPORT_DECLARE_SMELEMENT_HEADER( TStartSelf, MeshMachine::TStateTransition<TContext>, NetStateMachine::MStateTransition, TContext ) |
|
749 IMPORT_C virtual void DoL(); |
|
750 DECLARE_SMELEMENT_FOOTER( TStartSelf ) |
|
751 |
|
752 EXPORT_DECLARE_SMELEMENT_HEADER( TSendStop, MeshMachine::TStateTransition<TContext>, NetStateMachine::MStateTransition, TContext ) |
|
753 IMPORT_C virtual void DoL(); |
|
754 DECLARE_SMELEMENT_FOOTER( TSendStop ) |
|
755 |
|
756 EXPORT_DECLARE_SMELEMENT_HEADER( TCancelDataClientStart, MeshMachine::TStateTransition<TContext>, NetStateMachine::MStateTransition, TContext ) |
|
757 IMPORT_C virtual void DoL(); |
|
758 DECLARE_SMELEMENT_FOOTER( TCancelDataClientStart ) |
|
759 |
|
760 DECLARE_SMELEMENT_HEADER( TCancelAndCloseZone0ClientExtIfaces, MeshMachine::TStateTransition<TContext>, NetStateMachine::MStateTransition, TContext ) |
|
761 virtual void DoL(); |
|
762 DECLARE_SMELEMENT_FOOTER( TCancelAndCloseZone0ClientExtIfaces ) |
|
763 |
|
764 EXPORT_DECLARE_SMELEMENT_HEADER( TProcessOrForwardRMessage2Ext, MeshMachine::TStateTransition<TContext>, NetStateMachine::MStateTransition, TContext ) |
|
765 virtual void DoL(); |
|
766 DECLARE_SMELEMENT_FOOTER( TProcessOrForwardRMessage2Ext ) |
|
767 |
|
768 /** |
|
769 * Check if ECFActivityStart is running, and if so cancel it |
|
770 */ |
|
771 EXPORT_DECLARE_SMELEMENT_HEADER( TCancelStart, MeshMachine::TStateTransition<TContext>, NetStateMachine::MStateTransition, TContext ) |
|
772 virtual void DoL(); |
|
773 DECLARE_SMELEMENT_FOOTER( TCancelStart ) |
|
774 |
|
775 DECLARE_AGGREGATED_TRANSITION2( |
|
776 TCancelStartAndStopSelf, |
|
777 CoreNetStates::TCancelStart, |
|
778 CoreNetStates::TStopSelf |
|
779 ) |
|
780 |
|
781 EXPORT_DECLARE_SMELEMENT_HEADER( TPassPlaneEventToControlClients, MeshMachine::TStateTransition<TContext>, NetStateMachine::MStateTransition, TContext ) |
|
782 IMPORT_C virtual void DoL(); |
|
783 DECLARE_SMELEMENT_FOOTER( TPassPlaneEventToControlClients ) |
|
784 } //namespace CoreNetStates |
|
785 |
|
786 |
|
787 |
|
788 namespace PRStates |
|
789 { |
|
790 typedef MeshMachine::TNodeContext<ESock::CMMCommsProviderBase, CoreNetStates::TContext> TContext; |
|
791 |
|
792 //-========================================================= |
|
793 // |
|
794 //Core Provider Transition Ids 4000..5999 |
|
795 // |
|
796 //-========================================================= |
|
797 const TInt KParamsPresent = 4000; |
|
798 |
|
799 //-========================================================= |
|
800 // |
|
801 //States |
|
802 // |
|
803 //-========================================================= |
|
804 EXPORT_DECLARE_SMELEMENT_HEADER( TAwaitingParamRequest, MeshMachine::TState<TContext>, NetStateMachine::MState, TContext ) |
|
805 IMPORT_C virtual TBool Accept(); |
|
806 DECLARE_SMELEMENT_FOOTER( TAwaitingParamRequest ) |
|
807 |
|
808 EXPORT_DECLARE_SMELEMENT_HEADER( TAwaitingApplyRequest, MeshMachine::TState<TContext>, NetStateMachine::MState, TContext ) |
|
809 IMPORT_C virtual TBool Accept(); |
|
810 DECLARE_SMELEMENT_FOOTER( TAwaitingApplyRequest ) |
|
811 |
|
812 //-========================================================= |
|
813 // |
|
814 //State Forks |
|
815 // |
|
816 //-========================================================= |
|
817 |
|
818 //-========================================================= |
|
819 // |
|
820 //State Transitions |
|
821 // |
|
822 //-========================================================= |
|
823 |
|
824 EXPORT_DECLARE_SMELEMENT_HEADER( TForwardStateChange, MeshMachine::TStateTransition<TContext>, NetStateMachine::MStateTransition, TContext ) |
|
825 IMPORT_C virtual void DoL(); |
|
826 DECLARE_SMELEMENT_FOOTER( TForwardStateChange ) |
|
827 |
|
828 |
|
829 |
|
830 EXPORT_DECLARE_SMELEMENT_HEADER( TCreateDataClient, MeshMachine::TStateTransition<TContext>, NetStateMachine::MStateTransition, TContext ) |
|
831 void IssuePeerCreationRequestL(ESock::TCFServiceProvider::TCommsBinderRequest* aBinderRequestMessage = NULL) ; |
|
832 void RequestMetaConnPeer(const ESock::RMetaExtensionContainerC& aAccessPointCfg); |
|
833 void RequestConnPeer(const ESock::RMetaExtensionContainerC& aAccessPointCfg); |
|
834 void RequestSubConnPeer(const ESock::RMetaExtensionContainerC& aAccessPointCfg, ESock::TCFServiceProvider::TCommsBinderRequest* aBinderRequestMessage); |
|
835 void RequestDataPeer(const ESock::RMetaExtensionContainerC& aAccessPointCfg, ESock::TCFServiceProvider::TCommsBinderRequest* aBinderRequestMessage); |
|
836 IMPORT_C virtual void DoL(); |
|
837 DECLARE_SMELEMENT_FOOTER( TCreateDataClient ) |
|
838 |
|
839 EXPORT_DECLARE_SMELEMENT_HEADER( TDestroyOrphanedDataClients, MeshMachine::TStateTransition<TContext>, NetStateMachine::MStateTransition, TContext ) |
|
840 IMPORT_C virtual void DoL(); |
|
841 DECLARE_SMELEMENT_FOOTER( TDestroyOrphanedDataClients ) |
|
842 |
|
843 EXPORT_DECLARE_SMELEMENT_HEADER( TStoreProvision, MeshMachine::TStateTransition<TContext>, NetStateMachine::MStateTransition, TContext ) |
|
844 IMPORT_C virtual void DoL(); |
|
845 DECLARE_SMELEMENT_FOOTER( TStoreProvision ) |
|
846 |
|
847 EXPORT_DECLARE_SMELEMENT_HEADER( TSendProvision, MeshMachine::TStateTransition<TContext>, NetStateMachine::MStateTransition, TContext ) |
|
848 IMPORT_C virtual void DoL(); |
|
849 DECLARE_SMELEMENT_FOOTER( TSendProvision ) |
|
850 |
|
851 DECLARE_AGGREGATED_TRANSITION2( |
|
852 TProcessDataClientCreation, |
|
853 CoreNetStates::TAddDataClient, |
|
854 PRStates::TSendProvision |
|
855 ) |
|
856 |
|
857 DECLARE_AGGREGATED_TRANSITION3( |
|
858 TRemoveClientAndSendLeaveCompleteIfRequest, |
|
859 MeshMachine::TRemoveClient, |
|
860 PRStates::TDestroyOrphanedDataClients, |
|
861 CoreNetStates::TSendLeaveCompleteIfRequest |
|
862 ) |
|
863 |
|
864 DECLARE_AGGREGATED_TRANSITION4( |
|
865 TProcessClientLeave, |
|
866 MeshMachine::TRemoveClient, |
|
867 PRStates::TDestroyOrphanedDataClients, |
|
868 CoreNetStates::TSendLeaveCompleteIfRequest, |
|
869 CoreNetStates::TSendDataClientIdleIfNoClients |
|
870 ) |
|
871 |
|
872 DECLARE_AGGREGATED_TRANSITION4( |
|
873 TProcessDestroy, |
|
874 CoreStates::TAbortAllActivitiesNodeDeletion, |
|
875 CoreNetStates::TSendClientLeavingRequestToServiceProviders, |
|
876 CoreNetStates::TSendClientLeavingAndRemoveControlProviderIfNoServiceProviders, |
|
877 CoreNetStates::TSetIdleIfNoServiceProviders |
|
878 ) |
|
879 |
|
880 EXPORT_DECLARE_SMELEMENT_HEADER( TStartDataClients, MeshMachine::TStateTransition<TContext>, NetStateMachine::MStateTransition, TContext ) |
|
881 IMPORT_C virtual void DoL(); |
|
882 DECLARE_SMELEMENT_FOOTER( TStartDataClients ) |
|
883 |
|
884 EXPORT_DECLARE_SMELEMENT_HEADER( TSendDataClientStarted, MeshMachine::TStateTransition<TContext>, NetStateMachine::MStateTransition, TContext ) |
|
885 IMPORT_C virtual void DoL(); |
|
886 DECLARE_SMELEMENT_FOOTER( TSendDataClientStarted ) |
|
887 |
|
888 EXPORT_DECLARE_SMELEMENT_HEADER( TSendDataClientStopped, MeshMachine::TStateTransition<TContext>, NetStateMachine::MStateTransition, TContext ) |
|
889 IMPORT_C virtual void DoL(); |
|
890 TInt iStopCode; |
|
891 DECLARE_SMELEMENT_FOOTER( TSendDataClientStopped ) |
|
892 |
|
893 EXPORT_DECLARE_SMELEMENT_HEADER( TSendStopped, MeshMachine::TStateTransition<TContext>, NetStateMachine::MStateTransition, TContext ) |
|
894 IMPORT_C virtual void DoL(); |
|
895 DECLARE_SMELEMENT_FOOTER( TSendStopped ) |
|
896 |
|
897 EXPORT_DECLARE_SMELEMENT_HEADER( TSendStoppedAndGoneDown, MeshMachine::TStateTransition<TContext>, NetStateMachine::MStateTransition, TContext ) |
|
898 IMPORT_C virtual void DoL(); |
|
899 DECLARE_SMELEMENT_FOOTER( TSendStoppedAndGoneDown ) |
|
900 |
|
901 EXPORT_DECLARE_SMELEMENT_HEADER( TSendGoneDown, MeshMachine::TStateTransition<TContext>, NetStateMachine::MStateTransition, TContext ) |
|
902 IMPORT_C virtual void DoL(); |
|
903 TInt iStopCode; |
|
904 DECLARE_SMELEMENT_FOOTER( TSendGoneDown ) |
|
905 |
|
906 EXPORT_DECLARE_SMELEMENT_HEADER(TProcessDataClientStop, MeshMachine::TStateTransition<TContext>, NetStateMachine::MStateTransition, TContext) |
|
907 IMPORT_C virtual void DoL(); |
|
908 DECLARE_SMELEMENT_FOOTER(TProcessDataClientStop) |
|
909 |
|
910 EXPORT_DECLARE_SMELEMENT_HEADER( TSendDataClientStatusChangeStarted, MeshMachine::TStateTransition<TContext>, NetStateMachine::MStateTransition, TContext ) |
|
911 IMPORT_C virtual void DoL(); |
|
912 DECLARE_SMELEMENT_FOOTER( TSendDataClientStatusChangeStarted ) |
|
913 |
|
914 EXPORT_DECLARE_SMELEMENT_HEADER( THandleDataClientStatusChange, MeshMachine::TStateTransition<TContext>, NetStateMachine::MStateTransition, TContext ) |
|
915 IMPORT_C virtual void DoL(); |
|
916 DECLARE_SMELEMENT_FOOTER( THandleDataClientStatusChange ) |
|
917 |
|
918 DECLARE_AGGREGATED_TRANSITION2( |
|
919 THandleDataClientStatusChangeAndDestroyOrphans, |
|
920 PRStates::THandleDataClientStatusChange, |
|
921 PRStates::TDestroyOrphanedDataClients |
|
922 ) |
|
923 |
|
924 EXPORT_DECLARE_SMELEMENT_HEADER( TStoreParams, MeshMachine::TStateTransition<TContext>, NetStateMachine::MStateTransition, TContext ) |
|
925 IMPORT_C virtual void DoL(); |
|
926 DECLARE_SMELEMENT_FOOTER( TStoreParams ) |
|
927 |
|
928 EXPORT_DECLARE_SMELEMENT_HEADER( TRespondWithCurrentParams, MeshMachine::TStateTransition<TContext>, NetStateMachine::MStateTransition, TContext ) |
|
929 IMPORT_C virtual void DoL(); |
|
930 DECLARE_SMELEMENT_FOOTER( TRespondWithCurrentParams ) |
|
931 |
|
932 EXPORT_DECLARE_SMELEMENT_HEADER( TSendApplyResponse, MeshMachine::TStateTransition<TContext>, NetStateMachine::MStateTransition, TContext ) |
|
933 IMPORT_C virtual void DoL(); |
|
934 DECLARE_SMELEMENT_FOOTER( TSendApplyResponse ) |
|
935 |
|
936 EXPORT_DECLARE_SMELEMENT_HEADER( TPassToServiceProvider, MeshMachine::TStateTransition<TContext>, NetStateMachine::MStateTransition, TContext ) |
|
937 IMPORT_C virtual void DoL(); |
|
938 DECLARE_SMELEMENT_FOOTER( TPassToServiceProvider ) |
|
939 |
|
940 EXPORT_DECLARE_SMELEMENT_HEADER( TSendParamsToServiceProvider, MeshMachine::TStateTransition<TContext>, NetStateMachine::MStateTransition, TContext ) |
|
941 IMPORT_C virtual void DoL(); |
|
942 DECLARE_SMELEMENT_FOOTER( TSendParamsToServiceProvider ) |
|
943 |
|
944 EXPORT_DECLARE_SMELEMENT_HEADER( TRespondWithRetrievedParams, MeshMachine::TStateTransition<TContext>, NetStateMachine::MStateTransition, TContext) |
|
945 IMPORT_C virtual void DoL(); |
|
946 DECLARE_SMELEMENT_FOOTER( TRespondWithRetrievedParams) |
|
947 |
|
948 |
|
949 DECLARE_AGGREGATED_TRANSITION2( |
|
950 TStoreAndRespondWithCurrentParams, |
|
951 PRStates::TStoreParams, |
|
952 PRStates::TRespondWithCurrentParams |
|
953 ) |
|
954 |
|
955 DECLARE_AGGREGATED_TRANSITION2( |
|
956 TStoreParamsAndPostToOriginators, |
|
957 PRStates::TStoreParams, |
|
958 CoreStates::TPostToOriginators |
|
959 ) |
|
960 |
|
961 } //namespace PRStates |
|
962 |
|
963 #endif //SYMBIAN_SS_COREPRSTATES_H |
|
964 |