diff -r 43e37759235e -r 51a74ef9ed63 Symbian3/SDK/Source/GUID-7F4692A0-1801-5D91-8F28-06075AC45DE2.dita --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/Symbian3/SDK/Source/GUID-7F4692A0-1801-5D91-8F28-06075AC45DE2.dita Wed Mar 31 11:11:55 2010 +0100 @@ -0,0 +1,54 @@ + + + + + +Filtering +Implementations by Vendor ID The Plug-in framework clients can be restricted to use plug-ins +supplied by a particular company. This enables to enhance security and improve +functionality of the framework. +

Platform security provides a mechanism to mark the plug-ins with +a vendor identifier by using the vendorid keyword in the project file. This +information is used for plug-in selection.

To filter implementations +by vendor id there is no need to use the TEComResolverParams object. +Instead, follow the steps described below:

+ + +Retrieve the list of available implementations of an interface using REComSession::ListImplementationsL(). + + +Retrieve the vendor ID of the implementation, using + CImplementationInformation::VendorId(). +If the matching vendor ID is returned, use the plug-in as required. + + +Filtering implementations +by vendor ID example // Specify interface for which to get implementations +TUid interfaceUid={0111111111}; +RImplInfoPtrArray implArray; +// get list of implementations into the array +REComSession::ListImplementationsL(interfaceUid, implArray); + +// loop through implementations +TInt implCount = implArray.Count(); +for(TInt count = 0; count < implCount; count++) + { + // read vendor ID + const CImplementationInformation* implInfo = implArray[count]; + TVendorId vid = implInfo->VendorId(); + + . . . + + } + + . . . + +implArray.ResetAndDestroy(); +REComSession::FinalClose(); +
\ No newline at end of file