commsfwsupport/commselements/meshmachine/inc/mm_activities.h
changeset 79 cf589eb1e31e
parent 71 c5f26e3de961
--- a/commsfwsupport/commselements/meshmachine/inc/mm_activities.h	Fri Sep 17 08:36:26 2010 +0300
+++ b/commsfwsupport/commselements/meshmachine/inc/mm_activities.h	Mon Oct 04 02:21:43 2010 +0300
@@ -39,6 +39,20 @@
 
 //-=========================================================
 //
+//Panics
+//
+//-=========================================================
+_LIT (KMMActivityPanic,"MMActivityPanic");
+enum
+	{
+	EPanicCorruptedContext = 1,
+	EPanicNoPreallocatedSpace = 2,
+	EPanicOutOfActivities = 3,
+	EPanicOutOfBounds
+	};
+
+//-=========================================================
+//
 // MACROS
 //
 //-=========================================================
@@ -1048,7 +1062,7 @@
 	@param aNode        The node to which this activity will belong.
 	@return Generated unique component of activity id
 	*/
-	static TUint GetNextActivityCountL( const TNodeActivity& aActivitySig, const AMMNodeBase& aNode );
+	IMPORT_C static TUint GetNextActivityCountL( const TNodeActivity& aActivitySig, const AMMNodeBase& aNode );
 	/**
 	For use by custom activity News to generate the unique part of the activity id.
 	@param aActivitySig Context information about how the activity is to be started
@@ -1065,6 +1079,15 @@
 	*/
     IMPORT_C CNodeParallelActivityBase( const TNodeActivity& aActivitySig, AMMNodeBase& aNode, TUint aNextActivityCount );
 
+private:
+	/**
+	For use by custom activity NewLs to generate the unique part of the activity id.
+	@param aActivitySig Context information about how the activity is to be started
+	@param aNode        The node to which this activity will belong.
+	@return Generated unique component of activity id
+	*/
+	static TUint DoGetNextActivityCountL( const TNodeActivity& aActivitySig, const AMMNodeBase& aNode );
+
 protected:
 	/**
 	The activity id. The id format is [8 bit unique id|8 bit activity sig].
@@ -1597,13 +1620,6 @@
     static MeshMachine::CNodeActivityBase* NewL(const MeshMachine::TNodeActivity& aActivitySig, MeshMachine::AMMNodeBase& aNode);
 	};
 
-
-inline TUint CNodeParallelActivityBase::GetNextActivityCountL( const TNodeActivity& aActivitySig, const AMMNodeBase& aNode )
-    {
-    //Historical. Method ceased to leave, but must keep the old, L-ending overload.
-    return GetNextActivityCount(aActivitySig, aNode);
-    }
-
 //By default we reserve the space for preallocated activities generously, to fit even a synchronised activity preallocating space for up to 3 originators.
 //Any node, hosting specific activities that may need the preallocation mechanism can choose a more optimal amounts.
 //For efficiency reasons it is strongly recommended that any node (or family of nodes) is revisited and an optimal