common/tools/ats/smoketest/localisation/apparchitecture/inc/ApSidChecker.h
changeset 793 0c32c669a39d
child 872 17498133d9ad
equal deleted inserted replaced
792:893b85cda81b 793:0c32c669a39d
       
     1 // Copyright (c) 2006-2009 Nokia Corporation and/or its subsidiary(-ies).
       
     2 // All rights reserved.
       
     3 // This component and the accompanying materials are made available
       
     4 // under the terms of the License "Symbian Foundation License v1.0"
       
     5 // which accompanies this distribution, and is available
       
     6 // at the URL "http://www.symbianfoundation.org/legal/sfl-v10.html".
       
     7 //
       
     8 // Initial Contributors:
       
     9 // Nokia Corporation - initial contribution.
       
    10 //
       
    11 // Contributors:
       
    12 //
       
    13 // Description:
       
    14 //
       
    15 
       
    16 #ifndef __APSIDCHECKER_H__
       
    17 #define __APSIDCHECKER_H__
       
    18 
       
    19 #include <e32base.h>
       
    20 #include <e32hashtab.h>
       
    21 class TDriveUnit;
       
    22 
       
    23 class CAppSidChecker : public CBase
       
    24 /** Sid checker.
       
    25 
       
    26 This is a plugin interface for checking whether a Sid should be
       
    27 included in apparc server's list of registered applications.
       
    28 
       
    29 
       
    30 An instance of the CAppSidChecker is used to verify that an application
       
    31 may be included in application list.
       
    32 There should be one implementation of this
       
    33 interface for each application type (native, java midlet, ...)
       
    34 
       
    35 
       
    36 @internalAll */
       
    37 	{
       
    38 public:
       
    39 	// Wraps ECom object instantiation
       
    40 	static CAppSidChecker* CheckerForAppType(const TUid &aAppTypeUid);
       
    41 	IMPORT_C virtual ~CAppSidChecker();
       
    42 
       
    43 public:
       
    44 	IMPORT_C virtual TBool AppRegisteredAt(const TUid& aSid, TDriveUnit aDrive) = 0;
       
    45 	IMPORT_C virtual void SetRescanCallBackL(const TCallBack &aCallback);
       
    46 
       
    47 private:
       
    48 	IMPORT_C virtual void reserved1();
       
    49 	IMPORT_C virtual void reserved2();
       
    50 	IMPORT_C virtual void reserved3();
       
    51 
       
    52 private:
       
    53 	/** ECOM identifier */
       
    54 	TUid iDtor_ID_Key;
       
    55 
       
    56 	TAny* iReserved1;
       
    57 	TAny* iReserved2;
       
    58 	TAny* iReserved3;
       
    59 	};
       
    60 
       
    61 NONSHARABLE_CLASS(RSidCheckerMap) : public RHashMap<TUint,CAppSidChecker*>
       
    62 /** Sid checker map
       
    63 
       
    64 This Maps application type uids to Instances of the CAppSidChecker interface,
       
    65 loading them if neccessary.
       
    66 
       
    67 @internalComponent */
       
    68 	{
       
    69 public:	
       
    70 	RSidCheckerMap( TCallBack aRescanCallBack );
       
    71 	
       
    72 	CAppSidChecker& FindSidCheckerL(TUid aAppType);
       
    73 	void Close(); //lint !e1511 Member hides non-virtual member
       
    74 
       
    75 private:
       
    76 	TCallBack iRescanCallBack;
       
    77 	};
       
    78 
       
    79 
       
    80 #endif