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