CMtmUiDataRegistry Class Reference

class CMtmUiDataRegistry : public CObserverRegistry

Accesses the UI Data MTM registry.

This registry holds details of the all the UI Data MTMs currently available on the system. Message client applications use this class to get a CBaseMtmUiData-derived object by which to access UI Data MTM functionality.

Note that the base class CMtmDllRegistry provides functions for discovering what MTMs are present in the registry.

Inherits from

Public Member Functions
~CMtmUiDataRegistry ()
IMPORT_C CMtmUiDataRegistry * NewL ( CMsvSession &, TTimeIntervalMicroSeconds32 )
IMPORT_C CBaseMtmUiData * NewMtmUiDataLayerL (const TUid &)
Protected Member Functions
CMtmUiDataRegistry ( CMsvSession &, TTimeIntervalMicroSeconds32 )
Private Member Functions
CBaseMtmUiData * NewMtmL (const RLibrary &, CRegisteredMtmDll &)
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()
CMtmDllRegistry::AddRegisteredMtmDll(TUid,TUid,const CMtmDllInfo &,MRegisteredMtmDllObserver &)
CMtmDllRegistry::CMtmDllRegistry(RFs &,TUid,TTimeIntervalMicroSeconds32)
CMtmDllRegistry::IsInUse()const
CMtmDllRegistry::IsInUse(TUid)const
CMtmDllRegistry::IsPresent(TUid)const
CMtmDllRegistry::MtmTypeUid(TInt)const
CMtmDllRegistry::MtmTypeUidToIndex(TUid)const
CMtmDllRegistry::NumRegisteredMtmDlls()const
CMtmDllRegistry::RegisteredMtmDllInfo(TUid)const
CMtmDllRegistry::RemoveAllRegisteredMtmDlls()
CMtmDllRegistry::RemoveRegisteredMtmDll(TUid)
CMtmDllRegistry::TechnologyTypeUid(TUid)const
CMtmDllRegistry::~CMtmDllRegistry()
CObserverRegistry::CObserverRegistry(CMsvSession &,TUid,TTimeIntervalMicroSeconds32)
CObserverRegistry::ConstructL()
CObserverRegistry::HandleSessionEventL(TMsvSessionEvent,TAny *,TAny *,TAny *)
CObserverRegistry::~CObserverRegistry()
Inherited Attributes
CMtmDllRegistry::iFs
CMtmDllRegistry::iMtmDllTypeUid
CMtmDllRegistry::iRegisteredMtmDllArray
CMtmDllRegistry::iTimeoutMicroSeconds32
CObserverRegistry::iIsAdded
CObserverRegistry::iMsvSession

Constructor & Destructor Documentation

CMtmUiDataRegistry(CMsvSession &, TTimeIntervalMicroSeconds32)

CMtmUiDataRegistry ( CMsvSession & aMsvSession,
TTimeIntervalMicroSeconds32 aTimeoutMicroSeconds32
) [protected]

Parameters

CMsvSession & aMsvSession
TTimeIntervalMicroSeconds32 aTimeoutMicroSeconds32

~CMtmUiDataRegistry()

~CMtmUiDataRegistry ( ) [virtual]

Member Functions Documentation

NewL(CMsvSession &, TTimeIntervalMicroSeconds32)

IMPORT_C CMtmUiDataRegistry * NewL ( CMsvSession & aMsvSession,
TTimeIntervalMicroSeconds32 aTimeoutMicroSeconds32 =  TTimeIntervalMicroSeconds32 (30000000)
) [static]

Gets a CMtmUiDataRegistry object.

The client should delete this object when it is no longer required.

The registry keeps a reference count of the number of instances of each MTM in use. When that reference count falls to zero, the DLL that provides the MTM is unloaded. However, this is not done immediately, but only after the time specified in aTimeoutMicroSeconds32. This increases efficiency in cases where the DLL is required again shortly.

leave
KErrNoMemory A memory allocation failed

Parameters

CMsvSession & aMsvSession The client's Message Server session
TTimeIntervalMicroSeconds32 aTimeoutMicroSeconds32 =  TTimeIntervalMicroSeconds32 (30000000) Time to wait before unloading MTM DLLs

NewMtmL(const RLibrary &, CRegisteredMtmDll &)

CBaseMtmUiData * NewMtmL ( const RLibrary & aLib,
CRegisteredMtmDll & aReg
) const [private]

Parameters

const RLibrary & aLib
CRegisteredMtmDll & aReg

NewMtmUiDataLayerL(const TUid &)

IMPORT_C CBaseMtmUiData * NewMtmUiDataLayerL ( const TUid & aMtmTypeUid )

Creates a UI Data MTM object for the MTM specified by aMtmTypeUid.

The client should delete the returned object when it is no longer required.

leave
KErrNotFound aMtmTypeUid does not specify a registered MTM
leave
KErrNoMemory A memory allocation failed
leave
KErrBadLibraryEntryPoint Malformed MTM: a library entry point was not of the required type
leave
DLL loading error codes The DLL that provides the MTM cannot be loaded

Parameters

const TUid & aMtmTypeUid UID of MTM to obtain