--- a/datacommsserver/esockserver/core_states/ss_coreprstates.h Tue Feb 02 00:53:00 2010 +0200
+++ b/datacommsserver/esockserver/core_states/ss_coreprstates.h Fri Apr 16 16:15:03 2010 +0300
@@ -67,7 +67,8 @@
KPanicPeerMisbehaving = 20,
KPanicActivity = 21,
- KPanicNoContext = 22
+ KPanicNoContext = 22,
+ KPanicMultipleDefaultDataClients = 23
};
}
@@ -401,7 +402,7 @@
DECLARE_SMELEMENT_FOOTER( TAwaitingBinderRequest )
EXPORT_DECLARE_SMELEMENT_HEADER( TAwaitingStop, MeshMachine::TState<TContext>, NetStateMachine::MState, TContext )
- virtual TBool Accept();
+ IMPORT_C virtual TBool Accept();
DECLARE_SMELEMENT_FOOTER( TAwaitingStop )
EXPORT_DECLARE_SMELEMENT_HEADER( TAwaitingProviderStatusChangeOrDataClientStatusChange, MeshMachine::TState<TContext>, NetStateMachine::MState, TContext )
@@ -706,6 +707,7 @@
EXPORT_DECLARE_SMELEMENT_HEADER( TStopDataClients, MeshMachine::TStateTransition<TContext>, NetStateMachine::MStateTransition, TContext )
IMPORT_C virtual void DoL();
+ void StopDataClient(Messages::RNodeInterface& aDataClient, TInt aStopCode);
DECLARE_SMELEMENT_FOOTER( TStopDataClients )
EXPORT_DECLARE_SMELEMENT_HEADER( TStopSelf, MeshMachine::TStateTransition<TContext>, NetStateMachine::MStateTransition, TContext )
@@ -795,6 +797,8 @@
//
//-=========================================================
const TInt KParamsPresent = 4000;
+const TInt KOrphans = 4001;
+const TInt KContinue = 4002;
//-=========================================================
//
@@ -815,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
@@ -869,6 +889,13 @@
CoreNetStates::TSendDataClientIdleIfNoClients
)
+DECLARE_AGGREGATED_TRANSITION3(
+ TProcessClientLeft,
+ MeshMachine::TRemoveClient,
+ PRStates::TDestroyOrphanedDataClients,
+ CoreNetStates::TSendDataClientIdleIfNoClients
+ )
+
DECLARE_AGGREGATED_TRANSITION4(
TProcessDestroy,
CoreStates::TAbortAllActivitiesNodeDeletion,
@@ -958,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