datacommsserver/esockserver/core_states/ss_coreprstates.h
branchRCL_3
changeset 12 8b5d60ce1e94
parent 9 77effd21b2c9
child 13 0b0e9fce0b58
--- a/datacommsserver/esockserver/core_states/ss_coreprstates.h	Fri Mar 12 15:49:41 2010 +0200
+++ b/datacommsserver/esockserver/core_states/ss_coreprstates.h	Mon Mar 15 12:45:15 2010 +0200
@@ -797,6 +797,8 @@
 //
 //-=========================================================
 const TInt KParamsPresent                      = 4000;
+const TInt KOrphans                            = 4001;
+const TInt KContinue                           = 4002;
 
 //-=========================================================
 //
@@ -817,6 +819,22 @@
 //
 //-=========================================================
 
+DECLARE_SMELEMENT_HEADER( TOrphansOrNoTag, MeshMachine::TStateFork<TContext>, NetStateMachine::MStateFork, TContext)
+    virtual TInt TransitionTag();
+DECLARE_SMELEMENT_FOOTER( TOrphansOrNoTag )
+
+DECLARE_SMELEMENT_HEADER( TOrphansBackwardsOrNoTag, MeshMachine::TStateFork<TContext>, NetStateMachine::MStateFork, TContext)
+    virtual TInt TransitionTag();
+DECLARE_SMELEMENT_FOOTER( TOrphansBackwardsOrNoTag )
+
+DECLARE_SMELEMENT_HEADER( TNoTagBackwardsOrNoClients, MeshMachine::TStateFork<TContext>, NetStateMachine::MStateFork, TContext)
+    virtual TInt TransitionTag();
+DECLARE_SMELEMENT_FOOTER( TNoTagBackwardsOrNoClients )
+
+DECLARE_SMELEMENT_HEADER( TNonLeavingNoTagOrNoClients, MeshMachine::TStateFork<TContext>, NetStateMachine::MStateFork, TContext)
+    virtual TInt TransitionTag();
+DECLARE_SMELEMENT_FOOTER( TNonLeavingNoTagOrNoClients )
+
 //-=========================================================
 //
 //State Transitions
@@ -871,6 +889,13 @@
 	CoreNetStates::TSendDataClientIdleIfNoClients
 	)
 
+DECLARE_AGGREGATED_TRANSITION3(
+	TProcessClientLeft,
+	MeshMachine::TRemoveClient,
+	PRStates::TDestroyOrphanedDataClients,
+	CoreNetStates::TSendDataClientIdleIfNoClients
+	)
+
 DECLARE_AGGREGATED_TRANSITION4(
 	TProcessDestroy,
 	CoreStates::TAbortAllActivitiesNodeDeletion,
@@ -960,6 +985,15 @@
 	CoreStates::TPostToOriginators
 	)
 
+void DestroyFirstClient(const Messages::TClientType& aIncClientType, const Messages::TClientType& aExcClientType = Messages::TClientType::NullType());
+
+DECLARE_SMELEMENT_HEADER( TDestroyFirstOrphan, MeshMachine::TStateTransition<TContext>, NetStateMachine::MStateTransition, TContext)
+    virtual void DoL();
+DECLARE_SMELEMENT_FOOTER( TDestroyFirstOrphan )
+
+DECLARE_SMELEMENT_HEADER( TDestroyFirstClient, MeshMachine::TStateTransition<TContext>, NetStateMachine::MStateTransition, TContext)
+    virtual void DoL();
+DECLARE_SMELEMENT_FOOTER( TDestroyFirstClient )
 } //namespace PRStates
 
 #endif //SYMBIAN_SS_COREPRSTATES_H