commsfwsupport/commselements/meshmachine/inc/mm_activities_internal.h
branchRCL_3
changeset 66 cbb19216b74d
parent 29 9644881fedd0
equal deleted inserted replaced
48:07656293a99c 66:cbb19216b74d
    44 //-=========================================================
    44 //-=========================================================
    45 struct TNodeActivity
    45 struct TNodeActivity
    46 /**
    46 /**
    47 */
    47 */
    48 	{
    48 	{
    49 	enum TNodeActivityFlags
       
    50 	{
       
    51 	EContextCtor = 1
       
    52 	};
       
    53 	
       
    54 	/*There are now two types of activity c'tors (hence TAny iCtor supported:
    49 	/*There are now two types of activity c'tors (hence TAny iCtor supported:
    55 	(1) The legacy ctor based on AMMNodeBase that must be supported for source backwards compatibility
    50 	(1) The legacy ctor based on AMMNodeBase that must be supported for source backwards compatibility
    56 	(2) The new ctor based on TNodeContextBase that is desired because TNodeContextBase gives access to AMMNodeBase as well as the message 
    51 	(2) The new ctor based on TNodeContextBase that is desired because TNodeContextBase gives access to AMMNodeBase as well as the message 
    57 	    and peer and it is therefore more powerful. This new ctor has been introduced to aid leave activities to be infallible
    52 	    and peer and it is therefore more powerful. This new ctor has been introduced to aid leave activities to be infallible
    58 		by allowing access to the peer, which stores the space preallocated for the activity
    53 		by allowing access to the peer, which stores the space preallocated for the activity
    59 	Ideally this once fixed to only leave (2) especially since differentiating (1) from (2) is rather obscure. iCtor is a pointer
    54 	Ideally this once fixed to only leave (2) especially since differentiating (1) from (2) is rather obscure. iCtor is a pointer
    60 	to a pointer to a ctor function and the distinction is based on where iCtor points (see AMMNodeBase::StartActivityL) */
    55 	to a pointer to a ctor function and the distinction is based on where iCtor points (see AMMNodeBase::StartActivityL) */
       
    56 	enum TNodeActivityFlags
       
    57 		{
       
    58 		ENodeCtor = 0,
       
    59 		EContextCtor = 1
       
    60 		};
       
    61 
    61 	typedef CNodeActivityBase* (*TStaticActivityCtor)(const TNodeActivity& aActivitySig, AMMNodeBase& aNode);
    62 	typedef CNodeActivityBase* (*TStaticActivityCtor)(const TNodeActivity& aActivitySig, AMMNodeBase& aNode);
    62 	typedef CNodeActivityBase* (*TStaticActivityContextCtor)(const TNodeActivity& aActivitySig, TNodeContextBase& aCtx);
    63 	typedef CNodeActivityBase* (*TStaticActivityContextCtor)(const TNodeActivity& aActivitySig, TNodeContextBase& aCtx);
    63 	const TUint8 iId;
    64 	const TUint8 iId;
    64 	const TUint8 iFlags;
    65 	const TUint8 iFlags;
    65 	//Message starting the activity (state in iFirstTriple is waiting for),
    66 	//Message starting the activity (state in iFirstTriple is waiting for),