ESock::CMetaConnectionProviderBase Class Reference

class ESock::CMetaConnectionProviderBase : public ESock::CMMCommsProviderBase

Base class for a meta connection provider.

Inherits from

Public Member Functions
RMetaExtensionContainerC &AccessPointConfig()
TBool BlockingDestroy()
IMPORT_C voidConstructL()
voidDecrementBlockingDestroy()
IMPORT_C RMetaServiceProviderInterface *FindServiceProvider(TUint)
CTierManagerBase *GetTierManager()
voidIncrementBlockingDestroy()
IMPORT_C const TProviderInfo &ProviderInfo()
IMPORT_C voidSetProviderInfo(const TProviderInfo &)
IMPORT_C voidSetTierManagerL(CTierManagerBase *)
Protected Member Functions
CMetaConnectionProviderBase(CMetaConnectionProviderFactoryBase &, const TProviderInfo &, const MeshMachine::TNodeActivityMap &)
~CMetaConnectionProviderBase()
IMPORT_C Messages::RNodeInterface *NewClientInterfaceL(const Messages::TClientType &, TAny *)
voidSetAccessPointConfigL()
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()
ESock::CCommsProviderBase::AccessPointConfig()const
ESock::CCommsProviderBase::~CCommsProviderBase()
ESock::CMMCommsProviderBase::AddClientL(const Messages::TNodeId &,const Messages::TClientType &,TAny *)
ESock::CMMCommsProviderBase::CMMCommsProviderBase(CCommsFactoryBase &,const MeshMachine::TNodeActivityMap &)
ESock::CMMCommsProviderBase::CreateParameterBundleL()
ESock::CMMCommsProviderBase::DestroyOrphanedDataClients()
ESock::CMMCommsProviderBase::FetchNodeInterfaceControlL(TInt)
ESock::CMMCommsProviderBase::GetOrCreateParameterBundleL()
ESock::CMMCommsProviderBase::GetParameterBundle()
ESock::CMMCommsProviderBase::ITFHIERARCHY_LINK_1(CMMCommsProviderBase,MeshMachine::AMMNodeBase,MAccessPointConfigApi)
ESock::CMMCommsProviderBase::Id()const
ESock::CMMCommsProviderBase::ReturnInterfacePtrL(MAccessPointConfigApi *&)
ESock::CMMCommsProviderBase::SetParametersL(const RCFParameterFamilyBundleC &)
ESock::CMMCommsProviderBase::~CMMCommsProviderBase()
Protected Attributes
TInt iBlockingDestroy
TProviderInfo iProviderInfo
CTierManagerBase *iTierManager
Inherited Attributes
ESock::CCommsProviderBase::iAccessPointConfig
ESock::CMMCommsProviderBase::iParameterBundle

Constructor & Destructor Documentation

CMetaConnectionProviderBase(CMetaConnectionProviderFactoryBase &, const TProviderInfo &, const MeshMachine::TNodeActivityMap &)

IMPORT_CCMetaConnectionProviderBase(CMetaConnectionProviderFactoryBase &aFactory,
const TProviderInfo &aProviderInfo,
const MeshMachine::TNodeActivityMap &aActivityMap
)[protected]

Constructor for CMetaConnectionProviderBase

Parameters

CMetaConnectionProviderFactoryBase & aFactoryParent container for the provider
const TProviderInfo & aProviderInfo
const MeshMachine::TNodeActivityMap & aActivityMap

~CMetaConnectionProviderBase()

IMPORT_C~CMetaConnectionProviderBase()[protected, virtual]

Destructor for CMetaConnectionProviderBase. Once constructed, a meta-CPR should only be destroyed when absolutely not needed any more. It should be the last thing to die and therefore doesn't need to tell anyone about it.

Member Functions Documentation

AccessPointConfig()

RMetaExtensionContainerC &AccessPointConfig()[inline]

Meta providers (unlike other providers) are allowed to have write access to their AccessPointConfig structure provided they know how to do it safely.

BlockingDestroy()

TBool BlockingDestroy()[inline]

Destruction blocking exists to ensure that a provider will not delete itself while it is still in use. This scenario occurs when FindOrCreate finds a mcpr which is just about to delete itself (because it has lost all clients). If this blocking semaphore didn't exist, it would be possible for a deleted mcpr to be passed to the control client, causing a panic.

ConstructL()

IMPORT_C voidConstructL()

DecrementBlockingDestroy()

voidDecrementBlockingDestroy()[inline]

Decrement blocking destroy semaphore. Occurs when a client joins the provider. Never decrements past zero.

FindServiceProvider(TUint)

IMPORT_C RMetaServiceProviderInterface *FindServiceProvider(TUintaAccessPoint)

Parameters

TUint aAccessPoint

GetTierManager()

CTierManagerBase *GetTierManager()const [inline]

IncrementBlockingDestroy()

voidIncrementBlockingDestroy()[inline]

Increment blocking destroy semaphore. This should occur immediately after the the selector has found the provider, generally in the FindOrCreateProviderL method of the selector.

NewClientInterfaceL(const Messages::TClientType &, TAny *)

IMPORT_C Messages::RNodeInterface *NewClientInterfaceL(const Messages::TClientType &aClientType,
TAny *aClientInfo = NULL
)[protected, virtual]

Parameters

const Messages::TClientType & aClientType
TAny * aClientInfo = NULL

ProviderInfo()

IMPORT_C const TProviderInfo &ProviderInfo()const

Get the connection information

SetAccessPointConfigL()

voidSetAccessPointConfigL()[protected]

SetProviderInfo(const TProviderInfo &)

IMPORT_C voidSetProviderInfo(const TProviderInfo &aConnectionInfo)

Parameters

const TProviderInfo & aConnectionInfo

SetTierManagerL(CTierManagerBase *)

IMPORT_C voidSetTierManagerL(CTierManagerBase *aTierManager)

Parameters

CTierManagerBase * aTierManager

Member Data Documentation

TInt iBlockingDestroy

TInt iBlockingDestroy[protected]

TProviderInfo iProviderInfo

TProviderInfo iProviderInfo[protected]

CTierManagerBase * iTierManager

CTierManagerBase *iTierManager[protected]