diff -r e8c1ea2c6496 -r 8758140453c0 localisation/apparchitecture/inc/ApSidChecker.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/localisation/apparchitecture/inc/ApSidChecker.h Thu Jan 21 12:53:44 2010 +0000 @@ -0,0 +1,80 @@ +// Copyright (c) 2006-2009 Nokia Corporation and/or its subsidiary(-ies). +// All rights reserved. +// This component and the accompanying materials are made available +// under the terms of the License "Symbian Foundation License v1.0" +// which accompanies this distribution, and is available +// at the URL "http://www.symbianfoundation.org/legal/sfl-v10.html". +// +// Initial Contributors: +// Nokia Corporation - initial contribution. +// +// Contributors: +// +// Description: +// + +#ifndef __APSIDCHECKER_H__ +#define __APSIDCHECKER_H__ + +#include +#include +class TDriveUnit; + +class CAppSidChecker : public CBase +/** Sid checker. + +This is a plugin interface for checking whether a Sid should be +included in apparc server's list of registered applications. + + +An instance of the CAppSidChecker is used to verify that an application +may be included in application list. +There should be one implementation of this +interface for each application type (native, java midlet, ...) + + +@internalAll */ + { +public: + // Wraps ECom object instantiation + static CAppSidChecker* CheckerForAppType(const TUid &aAppTypeUid); + IMPORT_C virtual ~CAppSidChecker(); + +public: + IMPORT_C virtual TBool AppRegisteredAt(const TUid& aSid, TDriveUnit aDrive) = 0; + IMPORT_C virtual void SetRescanCallBackL(const TCallBack &aCallback); + +private: + IMPORT_C virtual void reserved1(); + IMPORT_C virtual void reserved2(); + IMPORT_C virtual void reserved3(); + +private: + /** ECOM identifier */ + TUid iDtor_ID_Key; + + TAny* iReserved1; + TAny* iReserved2; + TAny* iReserved3; + }; + +NONSHARABLE_CLASS(RSidCheckerMap) : public RHashMap +/** Sid checker map + +This Maps application type uids to Instances of the CAppSidChecker interface, +loading them if neccessary. + +@internalComponent */ + { +public: + RSidCheckerMap( TCallBack aRescanCallBack ); + + CAppSidChecker& FindSidCheckerL(TUid aAppType); + void Close(); //lint !e1511 Member hides non-virtual member + +private: + TCallBack iRescanCallBack; + }; + + +#endif