diff -r 000000000000 -r 8e480a14352b messagingfw/msgsrvnstore/server/inc/MTCLREG.H --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/messagingfw/msgsrvnstore/server/inc/MTCLREG.H Mon Jan 18 20:36:02 2010 +0200 @@ -0,0 +1,77 @@ +// Copyright (c) 1998-2009 Nokia Corporation and/or its subsidiary(-ies). +// All rights reserved. +// This component and the accompanying materials are made available +// under the terms of "Eclipse Public License v1.0" +// which accompanies this distribution, and is available +// at the URL "http://www.eclipse.org/legal/epl-v10.html". +// +// Initial Contributors: +// Nokia Corporation - initial contribution. +// +// Contributors: +// +// Description: +// + + +#if !defined __MTCLREG_H__ +#define __MTCLREG_H__ + +#include // CActive, TFileName etc. +#include +#include // MMsvSessionObserver + +// CObserverRegistry mixes in session notification API +// this allows run-time update of the registries on the client-side. +// the server registry should inherit from CMtmDllRegistry +class CObserverRegistry : public CMtmDllRegistry, public MMsvSessionObserver +/** Base class for client, UI and UI data MTM registries. + +It implements the session observer interface to update the registry information +when MTM groups are installed or uninstalled. +@publishedAll +@released +*/ + { +public: + IMPORT_C virtual void HandleSessionEventL(TMsvSessionEvent aEvent, TAny* aArg1, TAny* aArg2, TAny* aArg3); + IMPORT_C ~CObserverRegistry(); + +protected: + IMPORT_C CObserverRegistry(CMsvSession& aMsvSession,TUid aDllTypeUid,TTimeIntervalMicroSeconds32 aTimeoutMicroSeconds32); + IMPORT_C void ConstructL(); + +protected: + CMsvSession& iMsvSession; + TBool iIsAdded; + }; + +// Client side MTM registry +class CClientMtmRegistry : public CObserverRegistry +/** 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. + +@publishedAll +@released +*/ + { +public: + IMPORT_C static CClientMtmRegistry* NewL(CMsvSession& aMsvSession, TTimeIntervalMicroSeconds32 aTimeoutMicroSeconds32=TTimeIntervalMicroSeconds32(30000000)); + IMPORT_C ~CClientMtmRegistry(); + IMPORT_C CBaseMtm* NewMtmL(TUid aMtmTypeUid); + // +protected: + CClientMtmRegistry(CMsvSession& aMsvSession,TTimeIntervalMicroSeconds32 aTimeoutMicroSeconds32); + void ConstructL(); + // +private: + CBaseMtm* DoNewMtmL(const RLibrary& aLib, CRegisteredMtmDll& aReg) const; + }; + +#endif // __MTCLREG_H__