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 void ConstructL ()
void DecrementBlockingDestroy ()
IMPORT_C RMetaServiceProviderInterface * FindServiceProvider ( TUint )
CTierManagerBase * GetTierManager ()
void IncrementBlockingDestroy ()
IMPORT_C const TProviderInfo & ProviderInfo ()
IMPORT_C void SetProviderInfo (const TProviderInfo &)
IMPORT_C void SetTierManagerL ( CTierManagerBase *)
Protected Member Functions
CMetaConnectionProviderBase ( CMetaConnectionProviderFactoryBase &, const TProviderInfo &, const MeshMachine::TNodeActivityMap &)
~CMetaConnectionProviderBase ()
IMPORT_C Messages::RNodeInterface * NewClientInterfaceL (const Messages::TClientType &, TAny *)
void SetAccessPointConfigL ()
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_C CMetaConnectionProviderBase ( CMetaConnectionProviderFactoryBase & aFactory,
const TProviderInfo & aProviderInfo,
const MeshMachine::TNodeActivityMap & aActivityMap
) [protected]

Parameters

CMetaConnectionProviderFactoryBase & aFactory Parent 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 void ConstructL ( )

DecrementBlockingDestroy()

void DecrementBlockingDestroy ( ) [inline]

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

FindServiceProvider(TUint)

IMPORT_C RMetaServiceProviderInterface * FindServiceProvider ( TUint aAccessPoint )

Parameters

TUint aAccessPoint

GetTierManager()

CTierManagerBase * GetTierManager ( ) const [inline]

IncrementBlockingDestroy()

void IncrementBlockingDestroy ( ) [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()

void SetAccessPointConfigL ( ) [protected]

SetProviderInfo(const TProviderInfo &)

IMPORT_C void SetProviderInfo ( const TProviderInfo & aConnectionInfo )

Parameters

const TProviderInfo & aConnectionInfo

SetTierManagerL(CTierManagerBase *)

IMPORT_C void SetTierManagerL ( CTierManagerBase * aTierManager )

Parameters

CTierManagerBase * aTierManager

Member Data Documentation

TInt iBlockingDestroy

TInt iBlockingDestroy [protected]

TProviderInfo iProviderInfo

TProviderInfo iProviderInfo [protected]

CTierManagerBase * iTierManager

CTierManagerBase * iTierManager [protected]