Symbian3/SDK/Source/GUID-08007041-CE18-5B1C-9AE6-042EBBFD1AB6.dita
changeset 0 89d6a7a84779
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Symbian3/SDK/Source/GUID-08007041-CE18-5B1C-9AE6-042EBBFD1AB6.dita	Thu Jan 21 18:18:20 2010 +0000
@@ -0,0 +1,43 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
+<!-- This component and the accompanying materials are made available under the terms of the License 
+"Eclipse Public License v1.0" which accompanies this distribution, 
+and is available at the URL "http://www.eclipse.org/legal/epl-v10.html". -->
+<!-- Initial Contributors:
+    Nokia Corporation - initial contribution.
+Contributors: 
+-->
+<!DOCTYPE task
+  PUBLIC "-//OASIS//DTD DITA Task//EN" "task.dtd">
+<task id="GUID-08007041-CE18-5B1C-9AE6-042EBBFD1AB6" xml:lang="en"><title>Preventing
+Plug-in Overriding </title><shortdesc>The plug-in framework supports two methods to prevent a RAM based
+plug-in from overriding a ROM based plug-in. The first method is to use the
+ROM-only resolver and the second method is to explicitly prevent a ROM-based
+implementation from being overridden by a RAM-based implementation. </shortdesc><prolog><metadata><keywords/></metadata></prolog><taskbody>
+<context id="GUID-E05FFD46-A6C4-5BBF-8597-044CB0CA9F4B"><p>Using the ROM-only
+resolver restricts the search of the framework plug-ins to the ROM only. </p> <p>Alternatively,
+to prevent a RAM-based implementation from overriding a ROM-based implementation,
+set the <codeph>rom_only</codeph> variable to 1 in the <xref href="GUID-9A9103E4-27B0-5CF3-855A-DCD44795A5C0.dita">resource
+registration file</xref> for the implementation. </p> </context>
+<steps-unordered id="GUID-67BE5671-24BB-5946-A711-6C6095B17D6D">
+<step id="GUID-B321E521-7AB6-41C0-939B-803BB26A9417"><cmd>Using the ROM-only resolver  </cmd>
+<stepxmp><p>Use <codeph>KRomOnlyResolverUid</codeph> as the <codeph>CResolver
+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
+installable upgrade to a ROM-based plug-in is correctly supplied by a vendor,
+then the ROM-only resolver finds and uses the upgrade. Platform security controls
+are used to ensure that the upgrade is secure. For details, see How to upgrade
+ROM-based plug-ins securely.  </p></stepxmp>
+</step>
+<step id="GUID-0F6E0347-82B1-42E5-8AC8-983BDF86858C"><cmd>Preventing a ROM-based implementation from being overridden:  </cmd>
+<stepxmp><p>If the ROM-based plug-ins must be prevented from being overridden
+by a RAM-based plug-in, use the <xref href="GUID-9A9103E4-27B0-5CF3-855A-DCD44795A5C0.dita">version
+2 resource file format</xref>. </p><p>In the <filepath>.rss</filepath> file,
+the <codeph>rom_only</codeph> member of the <codeph>IMPLEMENTATION_INFO</codeph> structure
+must be set to 1.  </p><p><codeph>rom_only</codeph> set to 1 indicates the
+ROM-based implementation must be used. </p><p><codeph>rom_only</codeph> set
+to 0 indicates the ROM-based implementations can be overridden.  </p><note> For
+all implementations using the version 2 resource file format, the<codeph>rom_only</codeph> member
+must be set explicitly. </note></stepxmp>
+</step>
+</steps-unordered>
+</taskbody></task>
\ No newline at end of file