Symbian Developer Library

SYMBIAN OS V6.1 EDITION FOR C++

[Index] [Glossary] [Previous] [Next]



Location: mtclreg.h
Link against: msgs.lib

Class CClientMtmRegistry

CClientMtmRegistry

Support

Supported from 5.0

Description

Accesses the Client-side MTM registry.

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

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

In pre-Unicode versions this class had the import library mcld.lib.

Derivation

CBaseBase class for all classes to be instantiated on the heap
CClientMtmRegistryAccesses the Client-side MTM registry
CMtmDllRegistryAccesses the various MTM component registries
CObserverRegistryAn intermediary class used in the derivation of CClientMtmRegistry, CMtmUiDataRegistry and CMtmUiRegistry
MMsvSessionObserverProvides the interface for notification of events from a Message Server session

Defined in CClientMtmRegistry:
NewL(), NewMtmL()

Inherited from CBase:
operator new()

Inherited from CMtmDllRegistry:
IsInUse(), IsPresent(), MtmTypeUid(), NumRegisteredMtmDlls(), RegisteredMtmDllInfo(), TechnologyTypeUid()

Inherited from MMsvSessionObserver:
EMsvCloseSession, EMsvCorruptedIndexRebuilding, EMsvCorruptedIndexRebuilt, EMsvGeneralError, EMsvMediaAvailable, EMsvMediaChanged, EMsvMediaIncorrect, EMsvMediaUnavailable, EMsvMtmGroupDeInstalled, EMsvMtmGroupInstalled, EMsvServerFailedToStart, EMsvServerReady, EMsvServerTerminated, EMsvStoreCommitted, EMsvStoreCreated, EMsvStoreDeleted, EmsvEntriesChanged, EmsvEntriesDeleted, EmsvEntriesMoved, EmsvEntryCreated, HandleSessionEvent(), HandleSessionEventL(), TMsvSessionEvent


Construct and allocate


NewL()

static CClientMtmRegistry* NewL(CMsvSession& aMsvSession, TTimeIntervalMicroSeconds32 aTimeoutMicroSeconds32=TTimeIntervalMicroSeconds32(30000000));

Description

Gets a CClientMtmRegistry 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.

Parameters

CMsvSession& aMsvSession

The client’s Message Server session

TTimeIntervalMicroSeconds32 aTimeoutMicroSeconds32=TTimeIntervalMicroSeconds32(30000000)

Time to wait before unloading MTM DLLs

Return value

CClientMtmRegistry*

A pointer to a newly allocated and initialised object

Leave codes

KErrNoMemory

A memory allocation failed

[Top]


Create Client-side MTM object


NewMtmL()

CBaseMtm* NewMtmL(TUid aMtmTypeUid);

Description

Creates a Client-side MTM object for the specified MTM UID.

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

Parameters

TUid aMtmTypeUid

UID of MTM to obtain

Return value

CBaseMtm*

Client-side MTM object for specified MTM

Leave codes

KErrNotFound

aMtmTypeUid does not specify a registered MTM

KErrNoMemory

A memory allocation failed

KErrBadLibraryEntryPoint

Malformed MTM: a library entry point was not of the required type

DLL loading error codes

The DLL that provides the MTM cannot be loaded