EPOC   SDK Home Glossary Indexes Previous Next Up

CClientMtmRegistry class


Contents


CClientMtmRegistry class — Client-side MTM registry

Section Contents


Overview

Compatibility

Applications that use this class will not work correctly on a version of EPOC earlier than ER5.

Derivation

CBase

Abstract: CBase behavior

MMsvSessionObserver

Abstract: Session events notification

CMtmDllRegistry

MTM registry

CObserverRegistry

Implements session events notification handler to allows run-time update of the registries

Defined in

mtclreg.h

Link against

mcld.lib

Description

This class is used for accessing 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.


Construct and allocate


NewL() — Construct and allocate

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

Description

Use this function to get 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.

Arguments

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 considerations

KErrNoMemory

A memory allocation failed


Create Client-side MTM object


NewMtmL() — Create Client-side MTM object

CBaseMtm* NewMtmL(TUid aMtmTypeUid);

Description

Use this function to create a Client-side MTM object for the MTM specified by aMtmTypeUid.

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

Arguments

TUid aMtmTypeUid

UID of MTM to obtain

Return value

CBaseMtm*

Client-side MTM object for specified MTM

Leave considerations

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

EPOC       SDK Home Glossary Indexes Previous Next Up