From v9.3, the Symbian platform supports building a composite NAND ROM, which allows several ROM images to be mapped to a single ROM (e.g. Z:) drive. This provides an easy method of customising ROMs, as new ROM images can be added without requiring rebuilding and reflashing of the ROM images already present on a device.
This page describes how to use this technique to:
hide an existing ROM ECom plug-in, effectively removing it from the ROM drive.
update or customise an existing ROM ECom plug-in
When Static Plug-in Information (SPI) is used (see How to improve load time with SPI files), each ROM section that contains ECom plug-ins will have an SPI file, and ECom will read each file.
Note: this functionality depends on the rule that the ordering of images defined using rom_image matches the ordering of the mounting drives configured in the estart component. For more information on how drives are mounted for composite ROMs, see Mounting multiple ROM images as a single ROM drive.
To hide an ECom plug-in, use the HIDE_ECOM_PLUGIN keyword in the obey (.iby) file. Its first argument is the DLL name, and the second argument is the registration file name.
The following example shows ROM image 2 hiding plugin1 from ROM image 1:
//romimage1.iby ECOM_PLUGIN(plugin1.dll,plugin1.rsc) ECOM_PLUGIN(plugin2.dll,plugin2.rsc)
//romimage2.iby ROM_IMAGE[2] HIDE_ECOM_PLUGIN(plugin1.dll,plugin1.rsc) //hide ECom plugin 1 from image 1
To replace a plug-in, simply re-define the plug-in, using the ECOM_PLUGIN macro in the Obey file.
The following example shows ROM image 2 replacing plugin1 from ROM image 1:
//romimage1.iby ECOM_PLUGIN(plugin1.dll,plugin1.rsc) ECOM_PLUGIN(plugin2.dll,plugin2.rsc) …
//romimage2.iby ROM_IMAGE[2] ECOM_PLUGIN(plugin1.dll,plugin1.rsc) //replace ECOM plugin 1 in image 1
For reference information on the relevant obey file keywords, and their related macros, see:
__ECOM_PLUGIN, which also discusses the macro ECOM_PLUGIN.
_HIDE__ECOM_PLUGIN, which also discusses the macro HIDE_ECOM_PLUGIN.
Copyright ©2010 Nokia Corporation and/or its subsidiary(-ies).
All rights
reserved. Unless otherwise stated, these materials are provided under the terms of the Eclipse Public License
v1.0.