mmlibs/mmutilitylib/inc/mm/MmPluginUtils.h
changeset 0 b8ed18f6c07b
equal deleted inserted replaced
-1:000000000000 0:b8ed18f6c07b
       
     1 
       
     2 // MmPluginUtils.h
       
     3 
       
     4 // Copyright (c) 2005-2009 Nokia Corporation and/or its subsidiary(-ies).
       
     5 // All rights reserved.
       
     6 // This component and the accompanying materials are made available
       
     7 // under the terms of "Eclipse Public License v1.0"
       
     8 // which accompanies this distribution, and is available
       
     9 // at the URL "http://www.eclipse.org/legal/epl-v10.html".
       
    10 //
       
    11 // Initial Contributors:
       
    12 // Nokia Corporation - initial contribution.
       
    13 //
       
    14 // Contributors:
       
    15 //
       
    16 // Description:
       
    17 //
       
    18 
       
    19 /**
       
    20  @internalTechnology
       
    21  @file
       
    22 */
       
    23 
       
    24 #ifndef MMPLUGINUTILS_H
       
    25 #define MMPLUGINUTILS_H
       
    26 
       
    27 #include <ecom/ecom.h>
       
    28 
       
    29 class MmPluginUtils
       
    30 	{
       
    31 public:
       
    32 	IMPORT_C static TAny* CreateImplementationL(TUid aInterfaceUid, 
       
    33 									   		    TInt32 aKeyOffset, 
       
    34 									    		const TDesC8& aDefaultData,
       
    35 									   			TUid aResolverUid);
       
    36 									   			
       
    37 	IMPORT_C static TAny* CreateImplementationL(TUid aInterfaceUid, 
       
    38 									   		    TInt32 aKeyOffset, 
       
    39 									    		const TDesC8& aDefaultData);
       
    40 									    		
       
    41 	IMPORT_C static TAny* CreateImplementationL(TUid aInterfaceUid, 
       
    42 									   		    TInt32 aKeyOffset);
       
    43 									   		    								    		
       
    44 									   			
       
    45 	IMPORT_C static TAny* CreateImplementationL(TUid aInterfaceUid, 
       
    46 									   		    TUid &aDestructorKey, 
       
    47 									    		const TDesC8& aDefaultData,
       
    48 									   			TUid aResolverUid);
       
    49 	
       
    50 	IMPORT_C static TAny* CreateImplementationL(TUid aInterfaceUid, 
       
    51 									   		    TUid& aDestructorKey, 
       
    52 									    		const TDesC8& aDefaultData);									   			
       
    53 
       
    54 	IMPORT_C static TAny* CreateImplementationL(TUid aInterfaceUid, 
       
    55 									   		    TUid& aDestructorKey);
       
    56 									   		    
       
    57 	IMPORT_C static void FindImplementationsL(TUid aInterfaceUid, 
       
    58 									          RImplInfoPtrArray& aPluginArray);
       
    59 	IMPORT_C static void FindImplementationsL(TUid aInterfaceUid, 
       
    60 									          RImplInfoPtrArray& aPluginArray, 
       
    61 									          const TDesC8& aDefaultData);
       
    62 	IMPORT_C static void FindImplementationsL(TUid aInterfaceUid, 
       
    63 									          RImplInfoPtrArray& aPluginArray, 
       
    64 									          const TDesC8& aDefaultData,
       
    65 									          TUid aResolverUid);
       
    66 private:
       
    67 	static void FindImplementationsL(TUid aInterfaceUid, 
       
    68 		                             RImplInfoPtrArray& aPluginArray, 
       
    69                                      TEComResolverParams& aResolverParams,
       
    70 		                             TUid aResolverUid);
       
    71 	static void FindImplementationsL(TUid aInterfaceUid, 
       
    72 		                             RImplInfoPtrArray& aPluginArray, 
       
    73                                      TEComResolverParams& aResolverParams);
       
    74 	static void CheckAndSortL(RImplInfoPtrArray& aPluginArray);
       
    75 	
       
    76 	static TAny* GetHigherVersionImplementationKeyOffsetL(RImplInfoPtrArray& pluginArray, TInt32 aKeyOffset);
       
    77 	static TAny* GetHigherVersionImplementationaDestructorKeyL(RImplInfoPtrArray& pluginArray, TUid& aDestructorKey);
       
    78 	
       
    79 	};
       
    80 
       
    81 #endif // MMPLUGINUTILS_H