PRActivities::CCommsBinderActivity Class Reference

class PRActivities::CCommsBinderActivity : public MeshMachine::CNodeRetryParallelActivity
Public Member Functions
void BindToComplete ()
IMPORT_C Messages::RNodeInterface * Binder ()
IMPORT_C void Cancel ( MeshMachine::TNodeContextBase &)
DECLARE_SMELEMENT_FOOTER ( TNoTagOrUseExisting )
DECLARE_SMELEMENT_FOOTER ( TAwaitingBindToComplete )
DECLARE_SMELEMENT_FOOTER ( TNoTagOrWaitForIncomingOrUseExisting )
DECLARE_SMELEMENT_FOOTER ( TNoTagOrWaitForIncomingOrUseExistingDefault )
DECLARE_SMELEMENT_FOOTER ( TStorePendingBinder )
DECLARE_SMELEMENT_FOOTER ( TSendCustomFlowProvision )
DECLARE_SMELEMENT_FOOTER ( TSendBinderResponse )
TContext virtual IMPORT_C void DoL ()
EXPORT_DECLARE_SMELEMENT_HEADER ( TNoTagOrUseExisting , MeshMachine::TStateFork < TContext >, NetStateMachine::MStateFork , TContext )
CCommsBinderActivity::TNoTagOrUseExisting EXPORT_DECLARE_SMELEMENT_HEADER ( TAwaitingBindToComplete , MeshMachine::TState < TContext >, NetStateMachine::MState , TContext )
CCommsBinderActivity::TNoTagOrWaitForIncomingOrUseExisting EXPORT_DECLARE_SMELEMENT_HEADER ( TNoTagOrWaitForIncomingOrUseExistingDefault , MeshMachine::TStateFork < TContext >, NetStateMachine::MStateFork , TContext )
CCommsBinderActivity::TNoTagOrWaitForIncomingOrUseExistingDefault EXPORT_DECLARE_SMELEMENT_HEADER ( TStorePendingBinder , MeshMachine::TStateTransition < TContext >, NetStateMachine::MStateTransition , TContext )
typedef ITFHIERARCHY_LINK_1 ( CCommsBinderActivity , MeshMachine::CNodeRetryParallelActivity , CCommsBinderActivity )
IMPORT_C Messages::RNodeInterface * IsDataClientPresent ( MeshMachine::TNodeContextBase &, TUint )
IMPORT_C MeshMachine::CNodeActivityBase * NewL (const MeshMachine::TNodeActivity &, MeshMachine::AMMNodeBase &)
void ReturnInterfacePtrL ( CCommsBinderActivity *&)
void SendBinderResponseToOriginator ()
void SendCustomFlowProvision ()
IMPORT_C void StoreBinder ( Messages::RNodeInterface *)
IMPORT_C void StoreBinderRequestParameters (const ESock::RCFParameterFamilyBundleC &)
TContext virtual IMPORT_C TInt TransitionTag ()
Protected Member Functions
CCommsBinderActivity (const MeshMachine::TNodeActivity &, MeshMachine::AMMNodeBase &, TUint )
~CCommsBinderActivity ()
Inherited Functions
CBase::CBase()
CBase::Delete(CBase *)
CBase::Extension_(TUint,TAny *&,TAny *)
CBase::operator new(TUint)
CBase::operator new(TUint,TAny *)
CBase::operator new(TUint,TLeave)
CBase::operator new(TUint,TLeave,TUint)
CBase::operator new(TUint,TUint)
CBase::~CBase()
MeshMachine::CNodeActivityBase::Abort(TNodeContextBase &,TBool)
MeshMachine::CNodeActivityBase::Accept(TNodeContextBase &,const TNodeActivity &,TInt)
MeshMachine::CNodeActivityBase::ActivitySigId()const
MeshMachine::CNodeActivityBase::AppendActivityL()
MeshMachine::CNodeActivityBase::AppendPreallocatedActivity()
MeshMachine::CNodeActivityBase::BorrowPreallocatedSpace(AMMNodeBase &,TUint)
MeshMachine::CNodeActivityBase::CNodeActivityBase(const TNodeActivity &,AMMNodeBase &)
MeshMachine::CNodeActivityBase::ClearPostedTo()
MeshMachine::CNodeActivityBase::Destroy()
MeshMachine::CNodeActivityBase::DoFetchInterfaceControlL(TInt)
MeshMachine::CNodeActivityBase::Error()const
MeshMachine::CNodeActivityBase::FindOriginator(const Messages::RNodeInterface &)const
MeshMachine::CNodeActivityBase::FindOriginator(const Messages::TNodePeerId &)const
MeshMachine::CNodeActivityBase::FindOriginator(const Messages::TRuntimeCtxId &)const
MeshMachine::CNodeActivityBase::FirstOriginator()const
MeshMachine::CNodeActivityBase::InsertPreallocatedDestroyActivity()
MeshMachine::CNodeActivityBase::KickOffMessageId()const
MeshMachine::CNodeActivityBase::MatchSender(const TNodeContextBase &)const
MeshMachine::CNodeActivityBase::Next(TNodeContextBase &)
MeshMachine::CNodeActivityBase::PostRequestTo(const Messages::RNodeInterface &,const Messages::TSignalBase &,const TBool)
MeshMachine::CNodeActivityBase::PostRequestTo(const Messages::TNodeId &,const Messages::TSignalBase &,const TBool)
MeshMachine::CNodeActivityBase::PostToOriginator(const Messages::TNodePeerId &,const Messages::TSignalBase &)const
MeshMachine::CNodeActivityBase::PostToOriginators(const Messages::TSignalBase &,TUint32,TUint32)
MeshMachine::CNodeActivityBase::PostedToNodeId()const
MeshMachine::CNodeActivityBase::PostedToPeer()const
MeshMachine::CNodeActivityBase::RemoveOriginator(TInt)
MeshMachine::CNodeActivityBase::ReturnPreallocatedSpace(TAny *)
MeshMachine::CNodeActivityBase::SetError(TInt)
MeshMachine::CNodeActivityBase::SetPostedTo(const Messages::RNodeInterface &)
MeshMachine::CNodeActivityBase::SetPostedTo(const Messages::TNodeId &)
MeshMachine::CNodeActivityBase::SoleOriginator()const
MeshMachine::CNodeActivityBase::StartL(TNodeContextBase &,const Messages::XNodePeerId &,const NetStateMachine::TStateTriple &)
MeshMachine::CNodeActivityBase::~CNodeActivityBase()
MeshMachine::CNodeParallelActivityBase::ActivityId()const
MeshMachine::CNodeParallelActivityBase::CNodeParallelActivityBase(const TNodeActivity &,AMMNodeBase &,TUint)
MeshMachine::CNodeParallelActivityBase::GetNextActivityCount(const TNodeActivity &,const AMMNodeBase &)
MeshMachine::CNodeParallelActivityBase::GetNextActivityCountL(const TNodeActivity &,const AMMNodeBase &)
MeshMachine::CNodeRetryParallelActivity::CNodeRetryParallelActivity(const TNodeActivity &,AMMNodeBase &,TUint)
MeshMachine::CNodeRetryParallelActivity::IsIdle()const
MeshMachine::CNodeRetryParallelActivity::ReturnInterfacePtrL(AActivitySemaphore *&)
MeshMachine::CNodeRetryParallelActivity::ReturnInterfacePtrL(AContextStore *&)
MeshMachine::CNodeRetryParallelActivity::SetIdle()
MeshMachine::CNodeRetryParallelActivity::Signal(TNodeContextBase &)
Public Member Type Definitions
typedef PRStates::TContext TContext
typedef MeshMachine::TSerializableStateFork < CCommsBinderActivity::TDataClientMutex , CCommsBinderActivity::TNoTagOrUseExisting > TNoTagOrUseExistingBlockedByBinderRequest
typedef MeshMachine::TSerializableStateFork < CCommsBinderActivity::TDefaultDataClientMutex , CCommsBinderActivity::TNoTagOrWaitForIncomingOrUseExisting > TNoTagOrWaitForIncomingOrUseExistingBlockedByBinderRequest
typedef MeshMachine::TSerializableStateFork < CCommsBinderActivity::TDefaultDataClientMutex , CCommsBinderActivity::TNoTagOrWaitForIncomingOrUseExistingDefault > TNoTagOrWaitForIncomingOrUseExistingDefaultBlockedByBinderRequest
typedef MeshMachine::TAggregatedTransition < PRStates::TProcessDataClientCreation , CCommsBinderActivity::TStorePendingBinder , TContext > TProcessDataClientCreationName__TR3
Public Attributes
const TInt KInterfaceId
Private Attributes
ESock::RCFParameterFamilyBundleC iBinderRequestParameters
Messages::RNodeInterface * iPendingBinder
Inherited Attributes
MeshMachine::CNodeActivityBase::iNode
MeshMachine::CNodeActivityBase::iOriginators
MeshMachine::CNodeParallelActivityBase::iActivityId

Constructor & Destructor Documentation

CCommsBinderActivity(const MeshMachine::TNodeActivity &, MeshMachine::AMMNodeBase &, TUint)

IMPORT_C CCommsBinderActivity ( const MeshMachine::TNodeActivity & aActivitySig,
MeshMachine::AMMNodeBase & aNode,
TUint aNextActivityCount
) [protected]

Parameters

const MeshMachine::TNodeActivity & aActivitySig
MeshMachine::AMMNodeBase & aNode
TUint aNextActivityCount

~CCommsBinderActivity()

IMPORT_C ~CCommsBinderActivity ( ) [protected, virtual]

Member Functions Documentation

BindToComplete()

void BindToComplete ( )

Binder()

IMPORT_C Messages::RNodeInterface * Binder ( ) const

Cancel(MeshMachine::TNodeContextBase &)

IMPORT_C void Cancel ( MeshMachine::TNodeContextBase & aContext ) [virtual]

Cancels the activity. Only to be called by the meshmachine.

Parameters

MeshMachine::TNodeContextBase & aContext the context in which the activity is being executed

DECLARE_SMELEMENT_FOOTER(TNoTagOrUseExisting)

DECLARE_SMELEMENT_FOOTER ( TNoTagOrUseExisting )

DECLARE_SMELEMENT_FOOTER(TAwaitingBindToComplete)

DECLARE_SMELEMENT_FOOTER ( TAwaitingBindToComplete )

DECLARE_SMELEMENT_FOOTER(TNoTagOrWaitForIncomingOrUseExisting)

DECLARE_SMELEMENT_FOOTER ( TNoTagOrWaitForIncomingOrUseExisting )

DECLARE_SMELEMENT_FOOTER(TNoTagOrWaitForIncomingOrUseExistingDefault)

DECLARE_SMELEMENT_FOOTER ( TNoTagOrWaitForIncomingOrUseExistingDefault )

DECLARE_SMELEMENT_FOOTER(TStorePendingBinder)

DECLARE_SMELEMENT_FOOTER ( TStorePendingBinder )

DECLARE_SMELEMENT_FOOTER(TSendCustomFlowProvision)

DECLARE_SMELEMENT_FOOTER ( TSendCustomFlowProvision )

DECLARE_SMELEMENT_FOOTER(TSendBinderResponse)

DECLARE_SMELEMENT_FOOTER ( TSendBinderResponse )

DoL()

TContext virtual IMPORT_C void DoL ( ) [virtual]

EXPORT_DECLARE_SMELEMENT_HEADER(TNoTagOrUseExisting, MeshMachine::TStateFork< TContext >, NetStateMachine::MStateFork, TContext)

EXPORT_DECLARE_SMELEMENT_HEADER ( TNoTagOrUseExisting ,
MeshMachine::TStateFork < TContext > ,
NetStateMachine::MStateFork ,
TContext
)

EXPORT_DECLARE_SMELEMENT_HEADER(TAwaitingBindToComplete, MeshMachine::TState< TContext >, NetStateMachine::MState, TContext)

CCommsBinderActivity::TNoTagOrUseExisting EXPORT_DECLARE_SMELEMENT_HEADER ( TAwaitingBindToComplete ,
MeshMachine::TState < TContext > ,
NetStateMachine::MState ,
TContext
)

EXPORT_DECLARE_SMELEMENT_HEADER(TNoTagOrWaitForIncomingOrUseExistingDefault, MeshMachine::TStateFork< TContext >, NetStateMachine::MStateFork, TContext)

CCommsBinderActivity::TNoTagOrWaitForIncomingOrUseExisting EXPORT_DECLARE_SMELEMENT_HEADER ( TNoTagOrWaitForIncomingOrUseExistingDefault ,
MeshMachine::TStateFork < TContext > ,
NetStateMachine::MStateFork ,
TContext
)

EXPORT_DECLARE_SMELEMENT_HEADER(TStorePendingBinder, MeshMachine::TStateTransition< TContext >, NetStateMachine::MStateTransition, TContext)

CCommsBinderActivity::TNoTagOrWaitForIncomingOrUseExistingDefault EXPORT_DECLARE_SMELEMENT_HEADER ( TStorePendingBinder ,
MeshMachine::TStateTransition < TContext > ,
NetStateMachine::MStateTransition ,
TContext
)

ITFHIERARCHY_LINK_1(CCommsBinderActivity, MeshMachine::CNodeRetryParallelActivity, CCommsBinderActivity)

typedef ITFHIERARCHY_LINK_1 ( CCommsBinderActivity ,
MeshMachine::CNodeRetryParallelActivity ,
CCommsBinderActivity
)

IsDataClientPresent(MeshMachine::TNodeContextBase &, TUint)

IMPORT_C Messages::RNodeInterface * IsDataClientPresent ( MeshMachine::TNodeContextBase & aContext,
TUint aClientFlags = 0
) [static]

Check if we have a data client and, if so, store it as the binder for this activity.

Parameters

MeshMachine::TNodeContextBase & aContext Node context
TUint aClientFlags = 0 client flags to use in iterator check

NewL(const MeshMachine::TNodeActivity &, MeshMachine::AMMNodeBase &)

IMPORT_C MeshMachine::CNodeActivityBase * NewL ( const MeshMachine::TNodeActivity & aActivitySig,
MeshMachine::AMMNodeBase & aNode
) [static]

Create a new activity. This should never be called by user code.

Parameters

const MeshMachine::TNodeActivity & aActivitySig Context information about how the activity is to be started
MeshMachine::AMMNodeBase & aNode The node to which this activity will belong.

ReturnInterfacePtrL(CCommsBinderActivity *&)

void ReturnInterfacePtrL ( CCommsBinderActivity *& aInterface ) [inline]

Parameters

CCommsBinderActivity *& aInterface

SendBinderResponseToOriginator()

void SendBinderResponseToOriginator ( )

Send out CommsBinderResponse to all originators.

We send to all originators that have joined up until this point, and store this count in iOriginatorsCountSnapshot. See comment in ProcessBindToComplete().

SendCustomFlowProvision()

void SendCustomFlowProvision ( )

Send a custom message that provisions a flow with flow parameters

StoreBinder(Messages::RNodeInterface *)

IMPORT_C void StoreBinder ( Messages::RNodeInterface * aDataClient )

Parameters

Messages::RNodeInterface * aDataClient

StoreBinderRequestParameters(const ESock::RCFParameterFamilyBundleC &)

IMPORT_C void StoreBinderRequestParameters ( const ESock::RCFParameterFamilyBundleC & aBinderRequestParameters )

Parameters

const ESock::RCFParameterFamilyBundleC & aBinderRequestParameters

TransitionTag()

TContext virtual IMPORT_C TInt TransitionTag ( ) [virtual]

Member Type Definitions Documentation

Typedef TContext

typedef PRStates::TContext TContext

Typedef TNoTagOrUseExistingBlockedByBinderRequest

typedef MeshMachine::TSerializableStateFork < CCommsBinderActivity::TDataClientMutex , CCommsBinderActivity::TNoTagOrUseExisting > TNoTagOrUseExistingBlockedByBinderRequest

Typedef TNoTagOrWaitForIncomingOrUseExistingBlockedByBinderRequest

typedef MeshMachine::TSerializableStateFork < CCommsBinderActivity::TDefaultDataClientMutex , CCommsBinderActivity::TNoTagOrWaitForIncomingOrUseExisting > TNoTagOrWaitForIncomingOrUseExistingBlockedByBinderRequest

Typedef TNoTagOrWaitForIncomingOrUseExistingDefaultBlockedByBinderRequest

typedef MeshMachine::TSerializableStateFork < CCommsBinderActivity::TDefaultDataClientMutex , CCommsBinderActivity::TNoTagOrWaitForIncomingOrUseExistingDefault > TNoTagOrWaitForIncomingOrUseExistingDefaultBlockedByBinderRequest

Typedef TProcessDataClientCreationName__TR3

typedef MeshMachine::TAggregatedTransition < PRStates::TProcessDataClientCreation , CCommsBinderActivity::TStorePendingBinder , TContext > TProcessDataClientCreationName__TR3

Member Data Documentation

const TInt KInterfaceId

const TInt KInterfaceId [static]

ESock::RCFParameterFamilyBundleC iBinderRequestParameters

ESock::RCFParameterFamilyBundleC iBinderRequestParameters [private]

Messages::RNodeInterface * iPendingBinder

Messages::RNodeInterface * iPendingBinder [private]