TierNotification::CTierNotificationActivity Class Reference

class TierNotification::CTierNotificationActivity : public MeshMachine::CNodeParallelActivityBase

Inherits from

Public Member Functions
~CTierNotificationActivity()
TBool AllAccessPointsReadyForAllCollectors()
IMPORT_C TBoolAllCollectorsUnlocked()
MEqualityComparator *CreateEqualityComparatorL(const CParameterSetContainer &)
IMPORT_C voidDataReceivedL(CDataCollectorSession &, CParameterSetContainer &, TBool)
CommsDat::CMDBSession &GetDbSession()
voidInitL(ESock::CRefCountOwnedParameterBundle *, const RMessage2 &, TBool)
IMPORT_C voidInitiateShutdown(TInt)
IMPORT_C MeshMachine::CNodeActivityBase *NewL(const MeshMachine::TNodeActivity &, MeshMachine::AMMNodeBase &)
voidNotifyOtherCollectorsOfChangeL(CDataCollectorSession &, CParameterSetContainer &)
TBool OneOffQuery()
ESock::CRefCountOwnedParameterBundle &QueryBundleOwner()
IMPORT_C voidReportChangesInCacheL()
IMPORT_C voidReportIfReadyL()
IMPORT_C voidShutdownFinished()
voidStartL(RPointerArray< MDataCollector > &)
ESock::CTierManagerBase &TierManager()
Protected Member Functions
CTierNotificationActivity(const MeshMachine::TNodeActivity &, MeshMachine::AMMNodeBase &, TUint)
TBool HasSufficientCapabilities(const RMessage2 &)
Private Member Functions
voidPostRefCountedBundleToOriginators(const Messages::TSignatureBase &, ESock::CRefCountOwnedParameterBundle &)
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::Cancel(TNodeContextBase &)
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::IsIdle()const
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::SetIdle()
MeshMachine::CNodeActivityBase::SetPostedTo(const Messages::RNodeInterface &)
MeshMachine::CNodeActivityBase::SetPostedTo(const Messages::TNodeId &)
MeshMachine::CNodeActivityBase::Signal(TNodeContextBase &)
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 &)
Private Attributes
CTierNotificationCache *iCache
RPointerArray< CDataCollectorSession >iCollectorSessions
CommsDat::CMDBSession *iDbSession
TInt iErrorToReport
TInt iMessageCount
TBool iOneOffQuery
ESock::CRefCountOwnedParameterBundle *iQueryBundleOwner
TBool iShuttingDown
Inherited Attributes
MeshMachine::CNodeActivityBase::iNode
MeshMachine::CNodeActivityBase::iOriginators
MeshMachine::CNodeParallelActivityBase::iActivityId

Constructor & Destructor Documentation

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

CTierNotificationActivity(const MeshMachine::TNodeActivity &aActivitySig,
MeshMachine::AMMNodeBase &aNode,
TUintaActivitiesCount
)[protected, inline]

Parameters

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

~CTierNotificationActivity()

~CTierNotificationActivity()[virtual]

Member Functions Documentation

AllAccessPointsReadyForAllCollectors()

TBool AllAccessPointsReadyForAllCollectors()const

See if all data is ready to be reported

AllCollectorsUnlocked()

IMPORT_C TBoolAllCollectorsUnlocked()const

See if all data collectors are unlocked

CreateEqualityComparatorL(const CParameterSetContainer &)

MEqualityComparator *CreateEqualityComparatorL(const CParameterSetContainer &aData)[virtual]

Creates the equality comparator for the given parameter set for this class. If this ever needs to be different for a tier, this function can be overridden

Parameters

const CParameterSetContainer & aData

DataReceivedL(CDataCollectorSession &, CParameterSetContainer &, TBool)

IMPORT_C voidDataReceivedL(CDataCollectorSession &aSource,
CParameterSetContainer &aNewData,
TBoolaEnableNotify = ETrue
)

To be called by collector (via collector session) to tell the activity that data has been received. Updates the cache (by making merge calls back to the collector (via collector session) and notifies the client if appropriate.

Parameters

CDataCollectorSession & aSource
CParameterSetContainer & aNewData
TBool aEnableNotify = ETrue

GetDbSession()

CommsDat::CMDBSession &GetDbSession()[inline]

HasSufficientCapabilities(const RMessage2 &)

TBool HasSufficientCapabilities(const RMessage2 &aPlatSecInfo)const [protected, virtual]

Parameters

const RMessage2 & aPlatSecInfo

InitL(ESock::CRefCountOwnedParameterBundle *, const RMessage2 &, TBool)

voidInitL(ESock::CRefCountOwnedParameterBundle *aQuery,
const RMessage2 &aPlatSecInfo,
TBoolaOneOffQuery
)

Performs the given query

Parameters

ESock::CRefCountOwnedParameterBundle * aQueryinput: query to run. ownership is given to this method
const RMessage2 & aPlatSecInfo
TBool aOneOffQuery

InitiateShutdown(TInt)

IMPORT_C voidInitiateShutdown(TIntaErrorToReport)

Parameters

TInt aErrorToReport

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 & aActivitySigContext information about how the activity is to be started
MeshMachine::AMMNodeBase & aNodeThe node to which this activity will belong.

NotifyOtherCollectorsOfChangeL(CDataCollectorSession &, CParameterSetContainer &)

voidNotifyOtherCollectorsOfChangeL(CDataCollectorSession &aSource,
CParameterSetContainer &aModifiedCacheEntry
)

Parameters

CDataCollectorSession & aSource
CParameterSetContainer & aModifiedCacheEntry

OneOffQuery()

TBool OneOffQuery()const [inline]

Accessors to help build the collectors

PostRefCountedBundleToOriginators(const Messages::TSignatureBase &, ESock::CRefCountOwnedParameterBundle &)

voidPostRefCountedBundleToOriginators(const Messages::TSignatureBase &aMsg,
ESock::CRefCountOwnedParameterBundle &aBundleOwner
)[private]

Parameters

const Messages::TSignatureBase & aMsg
ESock::CRefCountOwnedParameterBundle & aBundleOwner

QueryBundleOwner()

ESock::CRefCountOwnedParameterBundle &QueryBundleOwner()const [inline]

ReportChangesInCacheL()

IMPORT_C voidReportChangesInCacheL()

Scans cache for changes marked worthy for reporting. Copies them into a new bundle (whilst removing the report flags in the cache). Then sends the bundle to the originator.

ReportIfReadyL()

IMPORT_C voidReportIfReadyL()

Call this whenever notification might be appropriate, it'll figure out using the cache flags whether to report.

ShutdownFinished()

IMPORT_C voidShutdownFinished()

StartL(RPointerArray< MDataCollector > &)

voidStartL(RPointerArray< MDataCollector > &aCollectors)

Parameters

RPointerArray< MDataCollector > & aCollectors

TierManager()

ESock::CTierManagerBase &TierManager()[inline]

Member Data Documentation

CTierNotificationCache * iCache

CTierNotificationCache *iCache[private]

RPointerArray< CDataCollectorSession > iCollectorSessions

RPointerArray< CDataCollectorSession >iCollectorSessions[private]

CommsDat::CMDBSession * iDbSession

CommsDat::CMDBSession *iDbSession[private]

TInt iErrorToReport

TInt iErrorToReport[private]

TInt iMessageCount

TInt iMessageCount[private]

TBool iOneOffQuery

TBool iOneOffQuery[private]

ESock::CRefCountOwnedParameterBundle * iQueryBundleOwner

ESock::CRefCountOwnedParameterBundle *iQueryBundleOwner[private]

TBool iShuttingDown

TBool iShuttingDown[private]