|
1 <?xml version="1.0" encoding="utf-8"?> |
|
2 <!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. --> |
|
3 <!-- This component and the accompanying materials are made available under the terms of the License |
|
4 "Eclipse Public License v1.0" which accompanies this distribution, |
|
5 and is available at the URL "http://www.eclipse.org/legal/epl-v10.html". --> |
|
6 <!-- Initial Contributors: |
|
7 Nokia Corporation - initial contribution. |
|
8 Contributors: |
|
9 --> |
|
10 <!DOCTYPE task |
|
11 PUBLIC "-//OASIS//DTD DITA Task//EN" "task.dtd"> |
|
12 <task id="GUID-08007041-CE18-5B1C-9AE6-042EBBFD1AB6" xml:lang="en"><title>Preventing |
|
13 Plug-in Overriding </title><shortdesc>The plug-in framework supports two methods to prevent a RAM based |
|
14 plug-in from overriding a ROM based plug-in. The first method is to use the |
|
15 ROM-only resolver and the second method is to explicitly prevent a ROM-based |
|
16 implementation from being overridden by a RAM-based implementation. </shortdesc><prolog><metadata><keywords/></metadata></prolog><taskbody> |
|
17 <context id="GUID-E05FFD46-A6C4-5BBF-8597-044CB0CA9F4B"><p>Using the ROM-only |
|
18 resolver restricts the search of the framework plug-ins to the ROM only. </p> <p>Alternatively, |
|
19 to prevent a RAM-based implementation from overriding a ROM-based implementation, |
|
20 set the <codeph>rom_only</codeph> variable to 1 in the <xref href="GUID-9A9103E4-27B0-5CF3-855A-DCD44795A5C0.dita">resource |
|
21 registration file</xref> for the implementation. </p> </context> |
|
22 <steps-unordered id="GUID-67BE5671-24BB-5946-A711-6C6095B17D6D"> |
|
23 <step id="GUID-B321E521-7AB6-41C0-939B-803BB26A9417"><cmd>Using the ROM-only resolver </cmd> |
|
24 <stepxmp><p>Use <codeph>KRomOnlyResolverUid</codeph> as the <codeph>CResolver |
|
25 UID</codeph> passed to those variants of <xref href="GUID-1344F049-81C4-3D17-AF46-8B5584680ADB.dita#GUID-1344F049-81C4-3D17-AF46-8B5584680ADB/GUID-AE9D4F24-8554-3151-AAF3-D63F400821C4"><apiname>REComSession::ListImplementationsL()</apiname></xref> and <xref href="GUID-1344F049-81C4-3D17-AF46-8B5584680ADB.dita#GUID-1344F049-81C4-3D17-AF46-8B5584680ADB/GUID-C7F147AC-6D77-3169-AAB4-B27262B4333B"><apiname>REComSession::CreateImplementationL()</apiname></xref> that take the <codeph>TUid aResolverUid</codeph> parameter. </p><p>If an |
|
26 installable upgrade to a ROM-based plug-in is correctly supplied by a vendor, |
|
27 then the ROM-only resolver finds and uses the upgrade. Platform security controls |
|
28 are used to ensure that the upgrade is secure. For details, see How to upgrade |
|
29 ROM-based plug-ins securely. </p></stepxmp> |
|
30 </step> |
|
31 <step id="GUID-0F6E0347-82B1-42E5-8AC8-983BDF86858C"><cmd>Preventing a ROM-based implementation from being overridden: </cmd> |
|
32 <stepxmp><p>If the ROM-based plug-ins must be prevented from being overridden |
|
33 by a RAM-based plug-in, use the <xref href="GUID-9A9103E4-27B0-5CF3-855A-DCD44795A5C0.dita">version |
|
34 2 resource file format</xref>. </p><p>In the <filepath>.rss</filepath> file, |
|
35 the <codeph>rom_only</codeph> member of the <codeph>IMPLEMENTATION_INFO</codeph> structure |
|
36 must be set to 1. </p><p><codeph>rom_only</codeph> set to 1 indicates the |
|
37 ROM-based implementation must be used. </p><p><codeph>rom_only</codeph> set |
|
38 to 0 indicates the ROM-based implementations can be overridden. </p><note> For |
|
39 all implementations using the version 2 resource file format, the<codeph>rom_only</codeph> member |
|
40 must be set explicitly. </note></stepxmp> |
|
41 </step> |
|
42 </steps-unordered> |
|
43 </taskbody></task> |