symbian3/single/sysdefs/system_model.xml
author William Roberts <williamr@symbian.org>
Wed, 10 Mar 2010 16:36:23 +0000
changeset 442 2c616067053f
parent 441 30f220bc4456
child 446 b73548d05e72
permissions -rw-r--r--
Remove duplicated unit in homescreensrv, which was causing "unknown symbol CCDebug" errors

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE SystemDefinition [
<!ELEMENT SystemDefinition ( systemModel )>
<!ATTLIST SystemDefinition
  name CDATA #REQUIRED
  schema CDATA #REQUIRED
>
<!-- all paths are relative to the environment variable specified by the root attribute, or SOURCEROOT if not.  -->

<!-- System Model Section of DTD -->
<!ELEMENT systemModel (layer+)>

<!ELEMENT layer (block* | collection*)*>
<!-- Kernel Services, Base Services, OS Services, Etc -->
<!ATTLIST layer
  name CDATA #REQUIRED
  long-name CDATA #IMPLIED
  levels NMTOKENS #IMPLIED
  span CDATA #IMPLIED
>

<!ELEMENT block (subblock* | collection*)*>
 <!-- Generic OS services, Comms Services, etc -->
<!ATTLIST block
  levels NMTOKENS #IMPLIED
  span CDATA #IMPLIED
  level NMTOKEN #IMPLIED
  name CDATA #REQUIRED
  long-name CDATA #IMPLIED
>

<!ELEMENT subblock (collection)*>
<!-- Cellular Baseband Services, Networking Services, etc -->
<!ATTLIST subblock
  name CDATA #REQUIRED
  long-name CDATA #IMPLIED
>

<!ELEMENT collection (component)*>
<!-- Screen Driver, Content Handling, etc -->
<!ATTLIST collection
  name CDATA #REQUIRED
  long-name CDATA #IMPLIED
  level NMTOKEN #IMPLIED
>

<!ELEMENT component (unit)*>
<!-- contains units or is a  package or prebuilt -->
<!ATTLIST component
  name CDATA #REQUIRED
  long-name CDATA #IMPLIED
  deprecated CDATA #IMPLIED
  introduced CDATA #IMPLIED
  contract CDATA #IMPLIED
  plugin (Y|N) "N"
  filter CDATA #IMPLIED
  class NMTOKENS #IMPLIED
  supports CDATA #IMPLIED
  purpose ( optional | mandatory | development ) "optional"
>

<!ELEMENT unit EMPTY >
<!-- must be buildable (bld.inf) -->
<!-- bldFile  may someday be removed in favour of mrp -->
<!ATTLIST unit
  mrp CDATA #IMPLIED
  filter CDATA #IMPLIED
  bldFile CDATA #IMPLIED
  root CDATA #IMPLIED
  version NMTOKEN #IMPLIED
  prebuilt NMTOKEN #IMPLIED
  late (Y|N) #IMPLIED
  priority CDATA #IMPLIED
>
]>
<SystemDefinition name="Symbian^3" schema="2.0.1">
 <systemModel>
  <layer name="adaptation" long-name="Adaptation" levels="low mw high">
   <block name="stubs" level="high" long-name="Stubs" levels="stub">
    <collection name="s60_stubs" level="stub">
     <component name="audiostubs" long-name="Audio Stubs">
      <unit bldFile="adaptation/stubs/audiostubs/group"/>
     </component>
     <component name="btaudioadaptation_stub" long-name="Bluetooth Audio Adaptation Stub">
      <unit bldFile="adaptation/stubs/btaudioadaptation_stub/group"/>
     </component>
     <component name="drm_stubs" long-name="DRM Stubs">
      <unit bldFile="adaptation/stubs/drm_stubs/group"/>
     </component>
     <component name="ocrsrv_stub" long-name="OCR Services Stub">
      <unit bldFile="adaptation/stubs/ocrsrv_stub/group"/>
     </component>
     <component name="omasuplasnconverterstubimpl" long-name="OMA SUPL ASN Converter Stub Implementation">
      <unit bldFile="adaptation/stubs/omasuplasnconverterstubimpl/group"/>
     </component>
     <component name="posmsgpluginreferenceimpl" long-name="POS Message Plugin Reference Implementation" plugin="Y">
      <unit bldFile="adaptation/stubs/posmsgpluginreferenceimpl/group"/>
     </component>
     <component name="srsfenginestub" long-name="SRSF Engine Stub">
      <unit bldFile="adaptation/stubs/srsfenginestub/group"/>
     </component>
     <component name="power_save_display_mode_stub" long-name="Power Save Display Mode Stub">
      <unit bldFile="adaptation/stubs/power_save_display_mode_stub/group"/>
     </component>
     <component name="systemswstubs" long-name="System Software Stubs">
      <unit bldFile="adaptation/stubs/systemswstubs/group"/>
     </component>
     <component name="tactileclickplugin_stub" long-name="Tactile Click Plugin Stub" plugin="Y">
      <unit bldFile="adaptation/stubs/tactileclickplugin_stub/group"/>
     </component>
     <component name="wlanhwinit_stub" long-name="WLAN Hardware Init Stub">
      <unit bldFile="adaptation/stubs/wlanhwinit_stub/group"/>
     </component>
    </collection>
   </block>
   <block name="beagleboard" level="low" long-name="Beagle Board" levels="hw-if">
    <collection name="omap3530" long-name="OMAP 3530" level="hw-if">
     <component name="omap3530_build" long-name="Beagle Board Common" introduced="^3" purpose="optional" filter="sf_build">
      <unit bldFile="adaptation/beagleboard/omap3530" mrp="adaptation/beagleboard/omap3530/base_beagle.mrp"/>
     </component>
     <component name="omap3530_kernel" long-name="Beagle Board Kernel" introduced="^3" purpose="optional" filter="sf_build">
      <unit bldFile="adaptation/beagleboard/omap3530/kernel"/>
     </component>
     <component name="beagleboard_Baseport" long-name="Beagle Board Baseport" introduced="^3" purpose="optional" filter="sf_build">
      <unit bldFile="adaptation/beagleboard/omap3530/beagleboard"/>
     </component>
    </collection>
   </block>
   <block name="qemu" level="low" long-name="QEMU and Baseport" levels="hw-if">
    <collection name="qemu_baseport" long-name="Baseport" level="hw-if">
     <component name="syborg" long-name="Syborg" introduced="^2" purpose="optional" filter="sf_build">
      <unit bldFile="adaptation/qemu/baseport/syborg" mrp="adaptation/qemu/baseport/syborg/syborg.mrp"/>
     </component>
    </collection>
   </block>
  </layer>
  <layer name="os" long-name="OS" levels="hw services">
   <block name="kernelhwsrv" level="hw" long-name="Kernel and Hardware Services" levels="hw-if adaptation framework test">
    <collection name="brdbootldr" long-name="Board Boot Loader" level="hw-if">
     <component name="ubootldr" long-name="Boot Loader" introduced="9.2" purpose="optional">
      <unit mrp="os/kernelhwsrv/brdbootldr/ubootldr/base_ubootldr.mrp"/>
     </component>
    </collection>
    <collection name="bsptemplate" long-name="Board Support Package Template" level="hw-if">
     <component name="asspandvariant" long-name="Template ASSP and Variant" introduced="6.0" purpose="development">
      <unit bldFile="os/kernelhwsrv/bsptemplate/asspandvariant/template_variant" mrp="os/kernelhwsrv/bsptemplate/asspandvariant/base_template.mrp"/>
     </component>
    </collection>
    <collection name="kernel" long-name="Kernel Architecture" level="adaptation">
     <component name="eka" long-name="Kernel Architecture" introduced="8.0" purpose="mandatory">
      <unit bldFile="os/kernelhwsrv/kernel/eka" mrp="os/kernelhwsrv/kernel/eka/base_e32.mrp"/>
     </component>
    </collection>
    <collection name="kerneltest" long-name="Kernel Test" level="hw-if">
     <component name="e32utils" long-name="E32 Utilities" purpose="development">
      <unit bldFile="os/kernelhwsrv/kerneltest/e32utils/group" mrp="os/kernelhwsrv/kerneltest/e32utils/group/base_e32utils.mrp"/>
     </component>
     <component name="e32test" long-name="E32 Tests" purpose="development">
      <unit bldFile="os/kernelhwsrv/kerneltest/e32test/group" mrp="os/kernelhwsrv/kerneltest/e32test/group/base_e32test.mrp"/>
     </component>
     <component name="f32test" long-name="File Server Tests" purpose="development">
      <unit bldFile="os/kernelhwsrv/kerneltest/f32test/group" mrp="os/kernelhwsrv/kerneltest/f32test/group/base_f32test.mrp"/>
     </component>
    </collection>
    <collection name="ldds" long-name="Logical Device Drivers" level="adaptation">
     <component name="ethernetldd" long-name="Ethernet Drivers" purpose="optional">
      <unit bldFile="os/kernelhwsrv/kernel/eka/drivers/ethernet" mrp="os/kernelhwsrv/kernel/eka/drivers/ethernet/base_e32_drivers_ethernet.mrp"/>
     </component>
     <component name="audioldd" long-name="Audio Drivers" introduced="8.1b" purpose="optional">
      <unit bldFile="os/kernelhwsrv/kernel/eka/drivers/soundsc" mrp="os/kernelhwsrv/kernel/eka/drivers/soundsc/base_e32_drivers_sound.mrp"/>
     </component>
     <component name="serialldd" long-name="Serial Port Drivers" purpose="optional">
      <unit bldFile="os/kernelhwsrv/kernel/eka/drivers/ecomm" mrp="os/kernelhwsrv/kernel/eka/drivers/ecomm/base_e32_drivers_ecomm.mrp"/>
     </component>
     <component name="legacydrivers" long-name="Legacy Drivers" purpose="optional">
      <unit mrp="os/kernelhwsrv/kernel/eka/drivers/adc/base_e32_drivers_adc.mrp"/>
     </component>
     <component name="locmedia" long-name="Local Media Subsystem" introduced="8.1b" purpose="mandatory">
      <!-- these are LDDs for storage media-->
      <unit bldFile="os/kernelhwsrv/kernel/eka/drivers/locmedia" mrp="os/kernelhwsrv/kernel/eka/drivers/locmedia/base_e32_drivers_locmedia.mrp"/>
     </component>
     <component name="runmodedebugger" long-name="Run Mode Debugger" purpose="mandatory">
      <unit bldFile="os/kernelhwsrv/kernel/eka/drivers/debug/group" mrp="os/kernelhwsrv/kernel/eka/drivers/debug/group/base_e32_drivers_debug.mrp"/>
     </component>
     <component name="btrace" long-name="Kernel Trace Tool" purpose="mandatory">
      <unit bldFile="os/kernelhwsrv/kernel/eka/drivers/trace" mrp="os/kernelhwsrv/kernel/eka/drivers/trace/base_e32_drivers_trace.mrp"/>
     </component>
     <component name="cameraldd" long-name="Camera Drivers" introduced="^3" purpose="optional">
      <unit bldFile="os/kernelhwsrv/kernel/eka/drivers/camerasc" mrp="os/kernelhwsrv/kernel/eka/drivers/camerasc/base_drivers_camerasc.mrp"/>
     </component>
     <component name="displayldd" long-name="Display Drivers" introduced="^3" purpose="optional">
      <!-- owned and maintained by graphics package. To be moved there as soon as technical limitations are resolved -->
      <unit bldFile="os/kernelhwsrv/kernel/eka/drivers/display" mrp="os/kernelhwsrv/kernel/eka/drivers/display/base_e32_drivers_display.mrp"/>
     </component>
     <component name="usbclientdrivers" long-name="USB Client Drivers" introduced="8.1b" purpose="optional">
      <!-- owned and maintained by usb package. To be moved there as soon as technical limitations are resolved -->
      <unit bldFile="os/kernelhwsrv/kernel/eka/drivers/usbc" mrp="os/kernelhwsrv/kernel/eka/drivers/usbc/base_e32_drivers_usbcli.mrp"/>
     </component>
    </collection>
    <collection name="driversupport" long-name="Generic Driver Support" level="hw-if">
     <component name="mediadrivers" long-name="Media Drivers" purpose="optional">
      <!-- these are for storage media-->
      <unit bldFile="os/kernelhwsrv/kernel/eka/drivers/media" mrp="os/kernelhwsrv/kernel/eka/drivers/media/base_e32_drivers_media.mrp"/>
     </component>
     <component name="genericboardsupport" long-name="Generic Board Support" purpose="optional">
      <unit bldFile="os/kernelhwsrv/kernel/eka/drivers/bsp" mrp="os/kernelhwsrv/kernel/eka/drivers/bsp/base_e32_drivers_bsp.mrp"/>
     </component>
    </collection>
    <collection name="userlibandfileserver" long-name="User Library and File Server" level="framework">
     <component name="euser" long-name="User Library" purpose="mandatory">
      <unit bldFile="os/kernelhwsrv/kernel/eka/euser" mrp="os/kernelhwsrv/kernel/eka/euser/base_e32_euser.mrp"/>
     </component>
     <component name="compsupp" long-name="Compiler Runtime Support" filter="gt" purpose="mandatory">
      <unit bldFile="os/kernelhwsrv/kernel/eka/compsupp" mrp="os/kernelhwsrv/kernel/eka/compsupp/base_e32_compsupp.mrp"/>
     </component>
     <component name="fileserver" long-name="File Server" filter="gt" purpose="mandatory">
      <unit bldFile="os/kernelhwsrv/userlibandfileserver/fileserver/group" mrp="os/kernelhwsrv/userlibandfileserver/fileserver/group/base_f32.mrp"/>
     </component>
     <component name="estart" long-name="Base Starter" filter="gt" purpose="optional">
      <unit bldFile="os/kernelhwsrv/userlibandfileserver/fileserver/estart" mrp="os/kernelhwsrv/userlibandfileserver/fileserver/estart/base_f32_estart.mrp"/>
     </component>
     <component name="domainmgr" long-name="Domain Manager" introduced="8.1b" purpose="mandatory">
      <unit bldFile="os/kernelhwsrv/userlibandfileserver/domainmgr/group" mrp="os/kernelhwsrv/userlibandfileserver/domainmgr/group/base_domain.mrp"/>
     </component>
    </collection>
    <collection name="filesystems" long-name="File Systems" level="framework">
     <component name="romfs" long-name="ROM File System" filter="gt" purpose="optional" plugin="Y">
      <unit mrp="os/kernelhwsrv/userlibandfileserver/fileserver/srom/base_f32_srom.mrp"/>
     </component>
     <component name="rofs" long-name="ROFS" filter="gt" purpose="optional" plugin="Y">
      <unit bldFile="os/kernelhwsrv/userlibandfileserver/fileserver/srofs" mrp="os/kernelhwsrv/userlibandfileserver/fileserver/srofs/base_f32_srofs.mrp"/>
     </component>
     <component name="usbmsfs" long-name="USB Mass Storage File System" filter="gt" purpose="optional" plugin="Y">
      <unit bldFile="os/kernelhwsrv/userlibandfileserver/fileserver/smassstorage" mrp="os/kernelhwsrv/userlibandfileserver/fileserver/smassstorage/base_f32_smassstorage.mrp"/>
     </component>
     <component name="usbhostmssrv" long-name="USB Host Mass Storage Server" filter="gt" introduced="^3" purpose="optional" plugin="Y">
      <unit bldFile="os/kernelhwsrv/userlibandfileserver/fileserver/shostmassstorage" mrp="os/kernelhwsrv/userlibandfileserver/fileserver/shostmassstorage/base_f32_shostmassstorage.mrp"/>
     </component>
     <component name="fat32fs" long-name="FAT32 File System" filter="gt" purpose="optional" plugin="Y">
      <unit bldFile="os/kernelhwsrv/userlibandfileserver/fileserver/sfat32" mrp="os/kernelhwsrv/userlibandfileserver/fileserver/sfat32/base_f32_sfat32.mrp"/>
     </component>
     <component name="fatfs" long-name="FAT File System" filter="gt" purpose="optional" plugin="Y">
      <unit bldFile="os/kernelhwsrv/userlibandfileserver/fileserver/sfat" mrp="os/kernelhwsrv/userlibandfileserver/fileserver/sfat/base_f32_sfat.mrp"/>
     </component>
     <component name="compfs" long-name="Composite File System" filter="gt" purpose="optional" plugin="Y">
      <unit bldFile="os/kernelhwsrv/userlibandfileserver/fileserver/scomp" mrp="os/kernelhwsrv/userlibandfileserver/fileserver/scomp/base_f32_scomp.mrp"/>
     </component>
    </collection>
    <collection name="halservices" long-name="HAL Services" level="framework">
     <component name="hal" long-name="User-Side Hardware Abstraction" introduced="6.0" purpose="optional">
      <unit bldFile="os/kernelhwsrv/halservices/hal" mrp="os/kernelhwsrv/halservices/hal/base_hal.mrp"/>
     </component>
    </collection>
    <collection name="textmodeshell" long-name="Text Mode Shell" level="test">
     <component name="e32wsrv" long-name="Text Window Server" purpose="optional">
      <unit bldFile="os/kernelhwsrv/kernel/eka/ewsrv" mrp="os/kernelhwsrv/kernel/eka/ewsrv/base_e32_ewsrv.mrp"/>
     </component>
     <component name="textshell" long-name="Text Shell" filter="gt" purpose="development">
      <unit bldFile="os/kernelhwsrv/userlibandfileserver/fileserver/etshell" mrp="os/kernelhwsrv/userlibandfileserver/fileserver/etshell/base_f32_eshell.mrp"/>
     </component>
    </collection>
    <collection name="baseapitest" long-name="Base API Tests" level="test"/>
    <collection name="kernelhwsrv_info" long-name="Kernel and Hardware Services Info" level="test">
     <component name="kernelhwsrv_metadata" long-name="Kernel and Hardware Services Metadata" introduced="^2" purpose="development" class="config PC">
      <unit mrp="os/kernelhwsrv/kernelhwsrv_info/kernelhwsrv_metadata/kernelhwsrv_metadata.mrp"/>
     </component>
    </collection>
   </block>
   <block name="boardsupport" level="hw" long-name="Board Support" levels="bsp test 2 3 config">
    <collection name="emulator" long-name="Emulator" level="bsp">
     <component name="emulatorbsp" long-name="Emulator BSP" purpose="optional">
      <unit bldFile="os/boardsupport/emulator/emulatorbsp" mrp="os/boardsupport/emulator/emulatorbsp/base_wins.mrp"/>
     </component>
    </collection>
    <collection name="haitest" long-name="HAI Test Suites" level="test">
     <component name="bspsvs" long-name="BSP Verification Suite" introduced="^2" purpose="development">
      <unit mrp="os/boardsupport/haitest/bspsvs/group/bspsvs.mrp"/>
     </component>
    </collection>
    <collection name="boardsupport_info" long-name="Board Support Info" level="config">
     <component name="boardsupport_metadata" long-name="Board Support Metadata" introduced="^2" purpose="development" class="config PC">
      <unit mrp="os/boardsupport/boardsupport_info/boardsupport_metadata/boardsupport_metadata.mrp"/>
     </component>
    </collection>
   </block>
   <block name="buildtools" level="hw" long-name="Build Tools" levels="bld mw fw ui">
    <collection name="bldsystemtools" long-name="Build System Tools" level="bld">
     <component name="sysdeftools" long-name="System Definition Tools" purpose="development" introduced="^2">
      <unit mrp="os/buildtools/bldsystemtools/sysdeftools/group/sysdeftools.mrp"/>
     </component>
     <component name="commonbldutils" long-name="Common Utils" purpose="development">
      <unit mrp="os/buildtools/bldsystemtools/commonbldutils/tools_utils_common.mrp"/>
     </component>
    </collection>
    <collection name="toolsandutils" long-name="Tools and Utils" level="mw">
     <component name="productionbldtools" long-name="Production Build Tools" filter="gt" purpose="development">
      <unit mrp="os/buildtools/toolsandutils/productionbldtools/product_tools.mrp"/>
     </component>
     <component name="e32tools" long-name="E32 Tools" deprecated="^2" purpose="development" class="PC">
      <unit bldFile="os/buildtools/toolsandutils/e32tools/group" mrp="os/buildtools/toolsandutils/e32tools/group/tools_e32tools.mrp"/>
     </component>
     <component name="autotest" long-name="Autotest" purpose="development">
      <unit bldFile="os/buildtools/toolsandutils/autotest/group" mrp="os/buildtools/toolsandutils/autotest/group/tools_autotest.mrp"/>
     </component>
    </collection>
    <collection name="sbsv1_os" long-name="Symbian Build System v1" level="fw">
     <component name="e32toolp" long-name="E32 Perl Tools" purpose="development" filter="sf_build" class="PC">
      <unit mrp="os/buildtools/sbsv1_os/e32toolp/group/tools_e32toolp.mrp" bldFile="os/buildtools/sbsv1_os/e32toolp/group"/>
     </component>
    </collection>
    <collection name="imgtools_os" long-name="Image Tools" level="fw">
     <component name="romkiteka2" long-name="ROMKIT EKA2" deprecated="^2" purpose="development">
      <unit bldFile="os/buildtools/imgtools_os/romkiteka2/group" mrp="os/buildtools/imgtools_os/romkiteka2/group/tools_romkit.mrp"/>
     </component>
    </collection>
    <collection name="misccomponents" long-name="Misc Components" level="mw">
     <component name="emulatorlauncher" long-name="Emulator Launcher" filter="gt" purpose="development">
      <unit bldFile="os/buildtools/misccomponents/emulatorlauncher/group" mrp="os/buildtools/misccomponents/emulatorlauncher/group/tools_sdk_eng_emulator_launcher.mrp"/>
     </component>
    </collection>
    <collection name="buildtools_info" long-name="Build Tools Info" level="ui">
     <component name="buildtools_metadata" long-name="Build Tools Metadata" introduced="^2" purpose="development" class="config PC">
      <unit mrp="os/buildtools/buildtools_info/buildtools_metadata/buildtools_metadata.mrp"/>
     </component>
    </collection>
   </block>
   <block name="ossrv" level="services" long-name="Generic OS Services" levels="physical-abstraction app-libs encoding translation data-services utilities">
    <collection name="stdlibs" long-name="Standard Libraries" level="translation">
     <component name="libz" filter="s60" long-name="Z Compression Library">
      <unit bldFile="os/ossrv/stdlibs/libz/group"/>
     </component>
     <component name="libcrypt" filter="s60" long-name="Crypt Library">
      <unit bldFile="os/ossrv/stdlibs/libcrypt/group"/>
     </component>
    </collection>
    <collection name="ssl" long-name="SSL" level="data-services">
     <component name="libcrypto" filter="s60" long-name="Crypto Library">
      <unit bldFile="os/ossrv/ssl/libcrypto/group"/>
     </component>
     <component name="libssl" filter="s60" purpose="development" long-name="SSL Library">
      <unit bldFile="os/ossrv/ssl/libssl/group"/>
     </component>
    </collection>
    <collection name="glib" long-name="GLib" level="utilities">
     <component name="glibbackend" filter="s60" long-name="GLib Backend">
      <unit bldFile="os/ossrv/glib/glibbackend/group"/>
     </component>
     <component name="libglib" filter="s60" long-name="GLib Library">
      <unit bldFile="os/ossrv/glib/libglib/group"/>
     </component>
     <component name="libgthread" filter="s60" long-name="Libg Thread">
      <unit bldFile="os/ossrv/glib/libgthread/group"/>
     </component>
     <component name="libgmodule" filter="s60" long-name="Libg Module">
      <unit bldFile="os/ossrv/glib/libgmodule/group"/>
     </component>
     <component name="libgobject" filter="s60" long-name="Libg Object">
      <unit bldFile="os/ossrv/glib/libgobject/group"/>
     </component>
    </collection>
    <collection name="stdcpp" long-name="C++ Standard Library" level="translation">
     <!-- collection is really a component. Needs to be moved down a directory -->
     <component name="stdcpp_build" filter="s60" long-name="Stdcpp">
      <unit bldFile="os/ossrv/stdcpp/group"/>
     </component>
    </collection>
    <collection name="ofdbus" long-name="Open Foundation D-Bus" level="utilities">
     <component name="dbus" filter="s60" long-name="D-Bus">
      <unit bldFile="os/ossrv/ofdbus/dbus/group"/>
     </component>
     <component name="dbus-glib" filter="s60" long-name="D-Bus GLib">
      <unit bldFile="os/ossrv/ofdbus/dbus-glib/group"/>
     </component>
     <component name="ofdbus_rom" filter="s60" long-name="D-Bus ROM">
      <!-- Contains IBY for for dbus. Should remove #includes to above components and move this down a directory 
            Consider moving IBY file to one of the above as well and removing this component entirely -->
      <unit bldFile="os/ossrv/ofdbus/group"/>
     </component>
    </collection>
    <collection name="utilitylibraries" long-name="Utility Libraries" level="encoding">
     <component name="libutils" filter="s60" long-name="Utility Library">
      <unit bldFile="os/ossrv/utilitylibraries/libutils/group"/>
     </component>
    </collection>
    <collection name="genericservices" long-name="Generic Services" level="utilities">
     <component name="s60compatibilityheaders" long-name="S60 Compatibility Headers" filter="gt" purpose="optional">
      <unit bldFile="os/ossrv/genericservices/s60compatibilityheaders/groupsymtb101sf" mrp="os/ossrv/genericservices/s60compatibilityheaders/groupsymtb101sf/tools_s60_header_compatsymtb101sf.mrp" version="tb101sf"/>
     </component>
     <component name="mimerecognitionfw" long-name="MIME Recognition Framework" purpose="mandatory">
      <unit bldFile="os/ossrv/genericservices/mimerecognitionfw/group" mrp="os/ossrv/genericservices/mimerecognitionfw/group/app-framework_emime.mrp"/>
     </component>
     <component name="systemagent" long-name="System Agent" introduced="9.0" purpose="mandatory">
      <unit bldFile="os/ossrv/genericservices/systemagent/group" mrp="os/ossrv/genericservices/systemagent/group/syslibs_sysagent2.mrp"/>
     </component>
     <component name="taskscheduler" long-name="Task Scheduler" introduced="6.0" purpose="optional">
      <unit bldFile="os/ossrv/genericservices/taskscheduler/group" mrp="os/ossrv/genericservices/taskscheduler/group/syslibs_schsvr.mrp"/>
     </component>
     <component name="activebackupclient" long-name="Active Backup Client" purpose="optional">
      <unit bldFile="os/ossrv/genericservices/activebackupclient/group" mrp="os/ossrv/genericservices/activebackupclient/group/connectivity_abclient.mrp"/>
     </component>
     <component name="syslibsdocs" long-name="Syslibs Documentation" purpose="development" class="doc">
      <unit mrp="os/ossrv/genericservices/syslibsdocs/syslibs_documentation.mrp"/>
     </component>
     <component name="httputils" long-name="HTTP Utilities Library" introduced="6.2" purpose="optional">
      <unit bldFile="os/ossrv/genericservices/httputils/group" mrp="os/ossrv/genericservices/httputils/group/application-protocols_inetprotutil.mrp"/>
     </component>
    </collection>
    <collection name="syslibsapitest" long-name="SysLibs API Tests" level="utilities"/>
    <collection name="compressionlibs" long-name="Compression Libraries" level="data-services">
     <component name="ziplib" long-name="Zip Compression Library" introduced="6.0" purpose="mandatory">
      <unit bldFile="os/ossrv/compressionlibs/ziplib/group" mrp="os/ossrv/compressionlibs/ziplib/group/syslibs_ezlib2.mrp"/>
     </component>
    </collection>
    <collection name="genericopenlibs" long-name="Generic Open Libraries" level="translation">
     <component name="cstdlib" long-name="C Standard Library" introduced="ER5" purpose="optional">
      <unit bldFile="os/ossrv/genericopenlibs/cstdlib/group" mrp="os/ossrv/genericopenlibs/cstdlib/group/syslibs_stdlib.mrp"/>
     </component>
     <component name="cppstdlib" long-name="C++ Standard Library" introduced="^3" purpose="mandatory">
      <unit bldFile="os/ossrv/genericopenlibs/cppstdlib/group" mrp="os/ossrv/genericopenlibs/cppstdlib/group/openenv_libstdcpp.mrp"/>
     </component>
     <component name="openenvcore" long-name="Open Environment Core" introduced="^2" purpose="mandatory">
      <unit bldFile="os/ossrv/genericopenlibs/openenvcore/group" mrp="os/ossrv/genericopenlibs/openenvcore/group/openenv.mrp"/>
     </component>
     <component name="posixrealtimeextensions" long-name="POSIX Realtime Extensions" introduced="^3" purpose="optional">
      <unit bldFile="os/ossrv/genericopenlibs/posixrealtimeextensions/group" mrp="os/ossrv/genericopenlibs/posixrealtimeextensions/group/oeaddons_librt.mrp"/>
     </component>
    </collection>
    <collection name="lowlevellibsandfws" long-name="Low Level Libraries and Frameworks" level="app-libs">
     <component name="pluginfw" long-name="Plugin Framework" introduced="6.2" purpose="mandatory">
      <unit bldFile="os/ossrv/lowlevellibsandfws/pluginfw/Group" mrp="os/ossrv/lowlevellibsandfws/pluginfw/Group/syslibs_ecom3.mrp" version="3"/>
     </component>
     <component name="apputils" long-name="Application Utilities" introduced="ER5" purpose="mandatory">
      <unit bldFile="os/ossrv/lowlevellibsandfws/apputils/group" mrp="os/ossrv/lowlevellibsandfws/apputils/group/syslibs_bafl.mrp"/>
     </component>
     <component name="genericusabilitylib" long-name="Generic Usability Library" introduced="^3" purpose="mandatory">
      <unit bldFile="os/ossrv/lowlevellibsandfws/genericusabilitylib/group" mrp="os/ossrv/lowlevellibsandfws/genericusabilitylib/group/syslibs_euserhl.mrp"/>
     </component>
    </collection>
    <collection name="ossrv_info" long-name="Generic OS Services Info" level="utilities">
     <component name="ossrv_build" filter="s60" long-name="Generic OS Services Build">
      <!-- exports should be moved to individual components -->
      <unit bldFile="os/ossrv/rom"/>
     </component>
     <component name="ossrv_plat" filter="s60" long-name="Generic OS Services Platform Interfaces" class="api">
      <unit bldFile="os/ossrv/ossrv_plat/libutils/group"/>
     </component>
     <component name="ossrv_pub" filter="s60" long-name="Generic OS Services Public Interfaces" class="api">
      <unit bldFile="os/ossrv/ossrv_pub/group"/>
     </component>
     <component name="ossrv_metadata" long-name="Generic OS Services Metadata" introduced="^2" purpose="development" class="config PC">
      <unit mrp="os/ossrv/ossrv_info/ossrv_metadata/ossrv_metadata.mrp"/>
     </component>
    </collection>
   </block>
   <block name="persistentdata" level="services" long-name="Persistent Data Services" levels="adaptation hw-if plugin framework server app-if">
    <collection name="featuremgmt" long-name="Feature Management" level="framework">
     <component name="featuremgr" long-name="Feature Manager" introduced="^3" purpose="mandatory">
      <unit bldFile="os/persistentdata/featuremgmt/featuremgr/group" mrp="os/persistentdata/featuremgmt/featuremgr/group/syslibs_featmgr.mrp"/>
     </component>
     <component name="featureregistry" long-name="Feature Registry" introduced="9.2" deprecated="^3" purpose="mandatory">
      <unit bldFile="os/persistentdata/featuremgmt/featureregistry/group" mrp="os/persistentdata/featuremgmt/featureregistry/group/syslibs_featreg.mrp"/>
     </component>
    </collection>
    <collection name="loggingservices" long-name="Logging Services" level="server">
     <component name="eventlogger" long-name="Event Logger" introduced="6.0" purpose="optional">
      <unit bldFile="os/persistentdata/loggingservices/eventlogger/group" mrp="os/persistentdata/loggingservices/eventlogger/group/syslibs_logeng.mrp"/>
     </component>
     <component name="filelogger" long-name="File Logger" introduced="ER5" purpose="optional">
      <unit bldFile="os/persistentdata/loggingservices/filelogger/group" mrp="os/persistentdata/loggingservices/filelogger/group/comms-infras_flogger.mrp"/>
     </component>
     <component name="rfilelogger" long-name="RFile Logger" deprecated="^3" introduced="9.1" purpose="development">
      <unit bldFile="os/persistentdata/loggingservices/rfilelogger/group" mrp="os/persistentdata/loggingservices/rfilelogger/group/testtools_utilities.mrp"/>
     </component>
    </collection>
    <collection name="traceservices" long-name="Trace Services" level="server">
     <component name="commsdebugutility" long-name="Comms Debug Utility" introduced="7.0s" purpose="optional">
      <unit bldFile="os/persistentdata/traceservices/commsdebugutility/group" mrp="os/persistentdata/traceservices/commsdebugutility/group/comms-infras_commsdebugutility.mrp"/>
     </component>
     <component name="tracefw" long-name="Trace Framework" introduced="9.2" purpose="development">
      <unit bldFile="os/persistentdata/traceservices/tracefw/ulogger/group" mrp="os/persistentdata/traceservices/tracefw/ulogger/group/tools_debug_trace.mrp"/>
     </component>
    </collection>
    <collection name="persistentstorage" long-name="Persistent Storage" level="framework">
     <component name="store" long-name="Store" purpose="optional">
      <unit bldFile="os/persistentdata/persistentstorage/store/group" mrp="os/persistentdata/persistentstorage/store/group/syslibs_store.mrp"/>
     </component>
     <component name="dbms" long-name="DBMS" purpose="optional">
      <unit bldFile="os/persistentdata/persistentstorage/dbms/group" mrp="os/persistentdata/persistentstorage/dbms/group/syslibs_dbms.mrp"/>
     </component>
     <component name="centralrepository" long-name="Central Repository" introduced="7.0s" purpose="mandatory">
      <unit bldFile="os/persistentdata/persistentstorage/centralrepository/group" mrp="os/persistentdata/persistentstorage/centralrepository/group/syslibs_centralrepository.mrp"/>
     </component>
     <component name="sql" long-name="SQL" introduced="9.3" purpose="optional">
      <unit bldFile="os/persistentdata/persistentstorage/sql/GROUP" mrp="os/persistentdata/persistentstorage/sql/GROUP/syslibs_sql.mrp"/>
     </component>
     <component name="sqlite3api" long-name="SQLite 3 API" introduced="^3" purpose="optional">
      <unit bldFile="os/persistentdata/persistentstorage/sqlite3api/GROUP" mrp="os/persistentdata/persistentstorage/sqlite3api/GROUP/syslibs_sqlite3.mrp"/>
     </component>
    </collection>
    <collection name="persistentdata_info" long-name="Persistent Data Services Info" level="app-if">
     <component name="persistentdata_metadata" long-name="Persistent Data Services Metadata" introduced="^2" purpose="development" class="config PC">
      <unit mrp="os/persistentdata/persistentdata_info/persistentdata_metadata/persistentdata_metadata.mrp"/>
     </component>
    </collection>
   </block>
   <block name="devicesrv" level="services" long-name="Device Services" levels="adaptation hw-if plugin framework server app-if">
    <collection name="accessoryservices" long-name="Accessory Services" level="framework">
     <component name="accessorymonitor" filter="s60" long-name="Accessory Monitor">
      <unit bldFile="os/devicesrv/accessoryservices/accessorymonitor/group"/>
     </component>
     <component name="accessoryremotecontrol" filter="s60" long-name="Accessory Remote Control">
      <unit bldFile="os/devicesrv/accessoryservices/accessoryremotecontrol/group"/>
     </component>
     <component name="accessoryserver" filter="s60" long-name="Accessory Server">
      <unit bldFile="os/devicesrv/accessoryservices/accessoryserver/group"/>
     </component>
     <component name="pluggeddisplay" filter="s60" long-name="Plugged Display" introduced="^3">
      <unit bldFile="os/devicesrv/accessoryservices/pluggeddisplay/group"/>
     </component>
     <component name="headsetstatusapi" filter="s60" long-name="Headset Status API">
      <unit bldFile="os/devicesrv/accessoryservices/headsetstatusapi/group"/>
     </component>
     <component name="tspclientmapper" filter="s60" long-name="TSP Client Mapper">
      <unit bldFile="os/devicesrv/accessoryservices/tspclientmapper/group"/>
     </component>
     <component name="remotecontrolfw" long-name="Remote Control Framework" introduced="9.1" purpose="optional">
      <unit bldFile="os/devicesrv/accessoryservices/remotecontrolfw/group" mrp="os/devicesrv/accessoryservices/remotecontrolfw/group/bluetooth_remotecontrol.mrp"/>
     </component>
     <component name="gid_pc_tool" filter="s60" long-name="Generic ID PC Tool" class="tool PC">
      <unit bldFile="os/devicesrv/accessoryservices/gid_pc_tool/group"/>
     </component>
    </collection>
    <collection name="commonservices" long-name="Common Services" level="app-if">
     <component name="commonengine" filter="s60" long-name="Common Engine">
      <unit bldFile="os/devicesrv/commonservices/commonengine/group"/>
     </component>
     <component name="commonengineresources" filter="s60" long-name="Common Engine Resources" class="config">
      <unit bldFile="os/devicesrv/commonservices/commonengineresources/group"/>
     </component>
     <component name="platformenv" filter="s60" long-name="Platform Environment">
      <unit bldFile="os/devicesrv/commonservices/platformenv/group"/>
     </component>
     <component name="sysutil" long-name="System Utilities" purpose="mandatory" introduced="ER5">
      <unit bldFile="os/devicesrv/commonservices/sysutil/group" mrp="os/devicesrv/commonservices/sysutil/group/sysutil.mrp"/>
     </component>
     <component name="activitymanager" long-name="Activity Manager" purpose="mandatory" introduced="ER5">
      <unit bldFile="os/devicesrv/commonservices/activitymanager/group" mrp="os/devicesrv/commonservices/activitymanager/group/activitymanager.mrp"/>
     </component>
    </collection>
    <collection name="dosservices" long-name="Domestic Operating System Services" level="hw-if">
     <component name="commondsy" filter="s60" long-name="Common DSY" plugin="Y">
      <unit bldFile="os/devicesrv/dosservices/commondsy/group"/>
     </component>
     <component name="dosserver" filter="s60" long-name="Domestic OS Server">
      <unit bldFile="os/devicesrv/dosservices/dosserver/group"/>
     </component>
    </collection>
    <collection name="sensorservices" long-name="Sensor Services" level="framework">
     <component name="sensorserver" filter="s60" long-name="Sensor Server">
      <unit bldFile="os/devicesrv/sensorservices/sensorserver/group"/>
     </component>
     <component name="orientationssy" filter="s60" long-name="Orientation SSY" plugin="Y">
      <unit bldFile="os/devicesrv/sensorservices/orientationssy/group"/>
     </component>
     <component name="tiltcompensationssy" filter="s60" long-name="Tilt Compensation SSY" plugin="Y">
      <unit bldFile="os/devicesrv/sensorservices/tiltcompensationssy/group"/>
     </component>
     <component name="sensordatacompensator" filter="s60" long-name="Sensor Data Compensator">
      <unit bldFile="os/devicesrv/sensorservices/sensordatacompensator/group"/>
     </component>
    </collection>
    <collection name="hwrmhaptics" long-name="HWRM Haptics" level="plugin">
     <component name="hapticseffectdatagetterfw" filter="s60" long-name="Haptics Effect Data Getter Framework">
      <unit bldFile="os/devicesrv/hwrmhaptics/hapticseffectdatagetterfw/group"/>
     </component>
     <component name="hapticspluginservice" filter="s60" long-name="Haptics Plugin Service">
      <unit bldFile="os/devicesrv/hwrmhaptics/hapticspluginservice/group"/>
     </component>
     <component name="hapticspacketizer" filter="s60" long-name="Haptics Packetizer">
      <unit bldFile="os/devicesrv/hwrmhaptics/hapticspacketizer/group"/>
     </component>
     <component name="hapticspluginmanager" filter="s60" long-name="Haptics Plugin Manager">
      <unit bldFile="os/devicesrv/hwrmhaptics/hapticspluginmanager/group"/>
     </component>
     <component name="hapticsserver" filter="s60" long-name="Haptics Server">
      <unit bldFile="os/devicesrv/hwrmhaptics/hapticsserver/group"/>
     </component>
     <component name="hapticsclient" filter="s60" long-name="Haptics Client">
      <unit bldFile="os/devicesrv/hwrmhaptics/hapticsclient/group"/>
     </component>
     <component name="hwrmhaptics_build" filter="s60" long-name="HWRM Haptics Build">
      <!-- move these exports into the appropriate above components and delete this component-->
      <unit bldFile="os/devicesrv/hwrmhaptics/group"/>
     </component>
    </collection>
    <collection name="mediator" long-name="Mediator" level="app-if">
     <!--collection is really a component. Move it down a directory -->
     <component name="mediator_build" filter="s60" long-name="Mediator Build">
      <unit bldFile="os/devicesrv/mediator/group"/>
     </component>
    </collection>
    <collection name="psmservices" long-name="Power Save Mode Services" level="app-if">
     <component name="psmserver" filter="s60" long-name="PSM Server">
      <unit bldFile="os/devicesrv/psmservices/psmserver/group"/>
     </component>
    </collection>
    <collection name="resourcemgmt" long-name="Resource Management" level="hw-if">
     <component name="hwrmfmtxwatcherplugin" filter="s60" long-name="HWRM FM Transmitter Watcher Plugin" plugin="Y">
      <unit bldFile="os/devicesrv/resourcemgmt/hwrmfmtxwatcherplugin/group"/>
     </component>
     <component name="hwrmtargetmodifierplugin" filter="s60" long-name="HWRM Target Modifier Plugin" plugin="Y">
      <!-- uncomment the unit when configuration is in place, it's currently #included from resourcemgmt_build, 
      		may need to  -->
      <!-- <unit bldFile="resourcemgmt/hwrmtargetmodifierplugin/group"/> -->
     </component>
     <component name="vibractrl" filter="s60" long-name="Vibra Control" deprecated="9.1">
      <unit bldFile="os/devicesrv/resourcemgmt/vibractrl/group"/>
     </component>
     <component name="hwresourcesmgr" long-name="Hardware Resources Manager" introduced="^2" purpose="optional">
      <unit bldFile="os/devicesrv/resourcemgmt/hwresourcesmgr/group" mrp="os/devicesrv/resourcemgmt/hwresourcesmgr/group/telephony_hwrm.mrp"/>
     </component>
     <component name="hwresourcesmgrconfig" long-name="Hardware Resources Manager Config" introduced="^3" purpose="optional" class="config">
      <unit bldFile="os/devicesrv/resourcemgmt/hwresourcesmgrconfig" mrp="os/devicesrv/resourcemgmt/hwresourcesmgrconfig/telephony_hwrm-config.mrp"/>
     </component>
     <component name="resourcemgmt_build" filter="s60" long-name="Resource Management Build">
      <!-- Move exports to a self-contained component.
         	This needs to be kept around until configuration is in place -->
      <unit bldFile="os/devicesrv/resourcemgmt/group"/>
     </component>
     <component name="powerandmemorynotificationservice" long-name="Power and Memory Notification Service" introduced="6.0" purpose="mandatory">
      <unit bldFile="os/devicesrv/resourcemgmt/powerandmemorynotificationservice/group" mrp="os/devicesrv/resourcemgmt/powerandmemorynotificationservice/group/syslibs_pwrcli.mrp"/>
     </component>
    </collection>
    <collection name="sysstatemgmt" long-name="System State Management" level="server">
     <component name="ssmmapperutility" filter="s60" long-name="SSM Mapper Utility" introduced="^3">
      <unit bldFile="os/devicesrv/sysstatemgmt/ssmmapperutility/group"/>
     </component>
     <component name="ssmpolicyplugins" filter="s60" long-name="SSM Policy Plugins" introduced="^3" plugin="Y">
      <unit bldFile="os/devicesrv/sysstatemgmt/ssmpolicyplugins/group"/>
     </component>
     <component name="ssmutilityplugins" filter="s60" long-name="SSM Utility Plugins" introduced="^3" plugin="Y">
      <unit bldFile="os/devicesrv/sysstatemgmt/ssmutilityplugins/group"/>
     </component>
     <component name="ssmcmdlists" filter="s60" long-name="SSM Command Lists" introduced="^3">
      <unit bldFile="os/devicesrv/sysstatemgmt/ssmcmdlists/group"/>
     </component>
     <component name="ssmcustcmds" filter="s60" long-name="SSM Custom Commands" introduced="^3">
      <unit bldFile="os/devicesrv/sysstatemgmt/ssmcustcmds/group"/>
     </component>
     <component name="syslangutil" filter="s60" long-name="System Language Utility" introduced="^3">
      <unit bldFile="os/devicesrv/sysstatemgmt/syslangutil/group"/>
     </component>
     <component name="sysrestart" filter="s60" long-name="System Restart" introduced="^3">
      <unit bldFile="os/devicesrv/sysstatemgmt/sysrestart/group"/>
     </component>
     <component name="sysuiprovider" filter="s60" long-name="System UI Provider" introduced="^3">
      <unit bldFile="os/devicesrv/sysstatemgmt/sysuiprovider/group"/>
     </component>
     <component name="systemstarter" long-name="System Starter" introduced="9.1" deprecated="^3" purpose="mandatory">
      <unit bldFile="os/devicesrv/sysstatemgmt/systemstarter/group" mrp="os/devicesrv/sysstatemgmt/systemstarter/group/app-framework_sysstart.mrp"/>
     </component>
     <component name="systemstatemgr" long-name="System State Manager" introduced="^3" purpose="mandatory">
      <unit bldFile="os/devicesrv/sysstatemgmt/systemstatemgr/group" mrp="os/devicesrv/sysstatemgmt/systemstatemgr/group/app-framework_ssma.mrp"/>
     </component>
     <component name="systemstateplugins" long-name="System State Plugins" introduced="^3" purpose="optional" plugin="Y">
      <unit bldFile="os/devicesrv/sysstatemgmt/systemstateplugins/group" mrp="os/devicesrv/sysstatemgmt/systemstateplugins/group/app-framework_ssplugins.mrp"/>
     </component>
     <component name="systemstatereferenceplugins" long-name="System State Reference Plugins" introduced="^3" purpose="optional" plugin="Y">
      <unit bldFile="os/devicesrv/sysstatemgmt/systemstatereferenceplugins/group" mrp="os/devicesrv/sysstatemgmt/systemstatereferenceplugins/group/app-framework_ssrefplugins.mrp"/>
     </component>
    </collection>
    <collection name="resourceinterfaces" long-name="Resource Interfaces" level="hw-if">
     <component name="fmtransmittercontrol" long-name="FM Transmitter Control" introduced="^3" purpose="optional">
      <unit bldFile="os/devicesrv/resourceinterfaces/fmtransmittercontrol/group" mrp="os/devicesrv/resourceinterfaces/fmtransmittercontrol/group/telephony_hwrmfmtx.mrp"/>
     </component>
    </collection>
    <collection name="systemhealthmanagement" long-name="System Health Management" level="server">
     <component name="systemhealthmgr" long-name="System Health Manager" introduced="^3" purpose="optional">
      <unit bldFile="os/devicesrv/systemhealthmanagement/systemhealthmgr/group" mrp="os/devicesrv/systemhealthmanagement/systemhealthmgr/group/app-framework_shma.mrp"/>
     </component>
    </collection>
    <collection name="devicesrvapitest" long-name="Devices Services API Tests" level="app-if"/>
    <collection name="devicesrv_info" long-name="Device Services Info" level="app-if">
     <component name="devicesrv_plat" filter="s60" long-name="Device Services Platform Interfaces" class="api">
      <unit bldFile="os/devicesrv/devicesrv_plat/group"/>
     </component>
     <component name="devicesrv_pub" filter="s60" long-name="Device Services Public Interfaces" class="api">
      <unit bldFile="os/devicesrv/devicesrv_pub/group"/>
      <unit bldFile="os/devicesrv/devicesrv_pub/platform_path_definitions_api/group" filter="bldmefirst"/>
      <!-- separate to another component? -->
     </component>
     <component name="devicesrv_metadata" long-name="Device Services Metadata" introduced="^2" purpose="development" class="config PC">
      <unit mrp="os/devicesrv/devicesrv_info/devicesrv_metadata/devicesrv_metadata.mrp"/>
     </component>
    </collection>
   </block>
   <block name="security" level="services" long-name="OS Security" levels="physical-abstraction plugins libraries management services utilities">
    <collection name="authenticationservices" long-name="Authentication Services" level="utilities">
     <component name="authenticationserver" long-name="Authentication Server" introduced="^3" purpose="optional">
      <unit bldFile="os/security/authenticationservices/authenticationserver/group" mrp="os/security/authenticationservices/authenticationserver/group/security_authserver.mrp"/>
     </component>
    </collection>
    <collection name="authorisation" long-name="Authorisation" level="utilities">
     <component name="userpromptservice" long-name="User Prompt Service" introduced="^3" purpose="mandatory">
      <unit bldFile="os/security/authorisation/userpromptservice/group" mrp="os/security/authorisation/userpromptservice/group/security_ups.mrp"/>
     </component>
     <component name="userpromptutils" long-name="User Prompt Utils" introduced="^3" purpose="optional">
      <unit bldFile="os/security/authorisation/userpromptutils/group" mrp="os/security/authorisation/userpromptutils/group/security_ups_utils.mrp"/>
     </component>
    </collection>
    <collection name="contentmgmt" long-name="Content Management" level="utilities">
     <component name="contentaccessfwfordrm" long-name="Content Access Framework for DRM" introduced="9.1" purpose="mandatory">
      <unit bldFile="os/security/contentmgmt/contentaccessfwfordrm/group" mrp="os/security/contentmgmt/contentaccessfwfordrm/group/security_caf2.mrp"/>
     </component>
     <component name="cafrecogniserconfig" long-name="CAF Recogniser Config" introduced="9.1" purpose="mandatory">
      <unit bldFile="os/security/contentmgmt/cafrecogniserconfig" mrp="os/security/contentmgmt/cafrecogniserconfig/security_reccafconfig.mrp"/>
     </component>
    </collection>
    <collection name="crypto" long-name="Crypto Libraries" level="libraries">
     <component name="weakcryptospi" long-name="Weak Crypto SPI" filter="gt" introduced="^3" purpose="optional">
      <unit bldFile="os/security/crypto/weakcryptospi/group" mrp="os/security/crypto/weakcryptospi/group/security_cryptospi_weak.mrp"/>
     </component>
     <component name="strongcryptospi" long-name="Strong Crypto SPI" filter="gt" introduced="^3" purpose="optional">
      <unit bldFile="os/security/crypto/weakcryptospi/strong" mrp="os/security/crypto/weakcryptospi/group/security_cryptospi_strong.mrp"/>
     </component>
    </collection>
    <collection name="cryptomgmtlibs" long-name="Crypto Management Libraries" level="management">
     <component name="securityutils" long-name="Security Utils" introduced="8.0" purpose="optional">
      <unit bldFile="os/security/cryptomgmtlibs/securityutils/group" mrp="os/security/cryptomgmtlibs/securityutils/group/security_common.mrp"/>
     </component>
     <component name="securitydocs" long-name="Security Documentation" purpose="development" class="doc">
      <unit mrp="os/security/cryptomgmtlibs/securitydocs/security_documentation.mrp"/>
     </component>
     <component name="cryptotokenfw" long-name="Crypto Token Framework" introduced="7.0" purpose="optional">
      <unit bldFile="os/security/cryptomgmtlibs/cryptotokenfw/group" mrp="os/security/cryptomgmtlibs/cryptotokenfw/group/security_cryptotokens.mrp"/>
     </component>
     <component name="securitycommonutils" long-name="Security Common Utils" introduced="8.0" purpose="mandatory">
      <unit bldFile="os/security/cryptomgmtlibs/securitycommonutils/group" mrp="os/security/cryptomgmtlibs/securitycommonutils/group/security_commonutils.mrp"/>
     </component>
    </collection>
    <collection name="securityanddataprivacytools" long-name="Security and Data Privacy Tools" level="services">
     <component name="securityconfig" long-name="Security Config" introduced="9.1" purpose="optional">
      <unit bldFile="os/security/securityanddataprivacytools/securityconfig/group" mrp="os/security/securityanddataprivacytools/securityconfig/group/security_config.mrp"/>
     </component>
     <component name="securitytools" long-name="Security Tools" introduced="^3" purpose="optional" class="PC">
      <unit bldFile="os/security/securityanddataprivacytools/securitytools/group" mrp="os/security/securityanddataprivacytools/securitytools/group/security_tools.mrp"/>
     </component>
    </collection>
    <collection name="cryptoplugins" long-name="Crypto Plugins" level="plugins">
     <component name="cryptospiplugins" long-name="Crypto SPI Plugins" filter="gt" introduced="^3" purpose="optional" plugin="Y">
      <unit bldFile="os/security/cryptoplugins/cryptospiplugins/group" mrp="os/security/cryptoplugins/cryptospiplugins/group/security_cryptospi_plugins.mrp"/>
     </component>
    </collection>
    <collection name="cryptoservices" long-name="Crypto Services" level="plugins">
     <component name="certificateandkeymgmt" long-name="Certificate and Key Management" introduced="6.0" purpose="optional">
      <unit bldFile="os/security/cryptoservices/certificateandkeymgmt/group" mrp="os/security/cryptoservices/certificateandkeymgmt/group/security_certman.mrp"/>
     </component>
     <component name="filebasedcertificateandkeystores" long-name="File-based Certificate and Key Stores" introduced="8.0" purpose="optional">
      <unit bldFile="os/security/cryptoservices/filebasedcertificateandkeystores/group" mrp="os/security/cryptoservices/filebasedcertificateandkeystores/group/security_filetokens.mrp"/>
     </component>
     <component name="Browser Root Certificates" introduced="^2" purpose="optional" filter="sf_build">
      <unit mrp="os/security/cryptoservices/browserrootcertificates/browserrootcerts.mrp"/>
     </component>
     <component name="asnpkcs" long-name="ASN PKCS" introduced="8.0" purpose="optional">
      <unit bldFile="os/security/cryptoservices/asnpkcs/group" mrp="os/security/cryptoservices/asnpkcs/group/security_asnpkcs.mrp"/>
     </component>
    </collection>
    <collection name="security_info" long-name="OS Security Info" level="utilities">
     <component name="security_metadata" long-name="OS Security Metadata" introduced="^2" purpose="development" class="config PC">
      <unit mrp="os/security/security_info/security_metadata/security_metadata.mrp"/>
     </component>
    </collection>
   </block>
   <block name="lbs" level="services" long-name="Locating Services" levels="hw-if data-acquisition adaptation management application-interface">
    <collection name="datasourcemodules" long-name="Generic Positioning Plugins" level="data-acquisition">
     <component name="defaultpositioningmodule" long-name="Default Positioning Module" introduced="^2" purpose="optional" plugin="Y">
      <unit bldFile="os/lbs/datasourcemodules/defaultpositioningmodule/group" mrp="os/lbs/datasourcemodules/defaultpositioningmodule/group/lbs_default_positioning_module.mrp"/>
     </component>
     <component name="bluetoothgpspositioningmodule" long-name="Bluetooth GPS Positioning Module" introduced="^2" purpose="optional" plugin="Y">
      <unit bldFile="os/lbs/datasourcemodules/bluetoothgpspositioningmodule/group" mrp="os/lbs/datasourcemodules/bluetoothgpspositioningmodule/group/lbs_bt_positioning_module.mrp"/>
     </component>
     <component name="simulationpositioningmodule" long-name="Simulation Positioning Module" introduced="^2" purpose="development" plugin="Y">
      <unit bldFile="os/lbs/datasourcemodules/simulationpositioningmodule/group" mrp="os/lbs/datasourcemodules/simulationpositioningmodule/group/lbs_simulation_positioning_module.mrp"/>
     </component>
     <component name="gpspositioningmodule" long-name="GPS/A-GPS Positioning Module" introduced="^3" purpose="optional" plugin="Y">
      <unit bldFile="os/lbs/datasourcemodules/gpspositioningmodule/group" mrp="os/lbs/datasourcemodules/gpspositioningmodule/group/lbs_agps_positioning_module.mrp"/>
     </component>
     <component name="networkpositioningmodule" long-name="Network Positioning Module" introduced="^3" purpose="optional" plugin="Y">
      <unit bldFile="os/lbs/datasourcemodules/networkpositioningmodule/group" mrp="os/lbs/datasourcemodules/networkpositioningmodule/group/lbs_network_positioning_module.mrp"/>
     </component>
     <component name="locationapesuplpsy" long-name="APE SUPL PSY" introduced="^3" purpose="optional" filter="s60" plugin="Y">
      <unit bldFile="os/lbs/datasourcemodules/locationapesuplpsy/group"/>
     </component>
    </collection>
    <collection name="datasourceadaptation" long-name="Data Source Adaptation" level="adaptation">
     <component name="gpsdatasourceadaptation" long-name="GPS Data Source Adaptation" introduced="^2" purpose="optional" plugin="Y">
      <unit bldFile="os/lbs/datasourceadaptation/gpsdatasourceadaptation/group" mrp="os/lbs/datasourceadaptation/gpsdatasourceadaptation/group/lbs_gps_data_source_adaptation.mrp"/>
     </component>
    </collection>
    <collection name="locationrequestmgmt" long-name="Location Request Management" level="application-interface">
     <component name="locationserver" long-name="Location Server" introduced="9.2" purpose="optional">
      <unit bldFile="os/lbs/locationrequestmgmt/locationserver/group" mrp="os/lbs/locationrequestmgmt/locationserver/group/lbs_locationserver.mrp"/>
     </component>
     <component name="networkrequesthandler" long-name="Network Request Handler" introduced="9.2" purpose="optional">
      <unit bldFile="os/lbs/locationrequestmgmt/networkrequesthandler/group" mrp="os/lbs/locationrequestmgmt/networkrequesthandler/group/lbs_networkrequesthandler.mrp"/>
     </component>
    </collection>
    <collection name="lbstest" long-name="Locating Services Tests" level="application-interface">
     <component name="locationprotocoltest" long-name="Location Protocol Tests" introduced="9.2" purpose="development" plugin="Y">
      <unit bldFile="os/lbs/lbstest/locationprotocoltest/group" mrp="os/lbs/lbstest/locationprotocoltest/group/lbs_networktest.mrp"/>
     </component>
    </collection>
    <collection name="locationmgmt" long-name="Location Management" level="management">
     <component name="locmonitor" long-name="Location Monitor" introduced="^3" purpose="optional">
      <unit bldFile="os/lbs/locationmgmt/locmonitor/lbslocmonitorserver/group" mrp="os/lbs/locationmgmt/locmonitor/lbslocmonitorserver/group/lbs_locationmonitor.mrp"/>
     </component>
     <component name="agpslocationmgr" long-name="A-GPS Location Manager" introduced="9.2" purpose="optional">
      <unit bldFile="os/lbs/locationmgmt/agpslocationmgr/group" mrp="os/lbs/locationmgmt/agpslocationmgr/group/lbs_agpslocationmanager.mrp"/>
     </component>
     <component name="networklocationmgr" long-name="Network Location Manager" introduced="9.2" purpose="optional">
      <unit bldFile="os/lbs/locationmgmt/networklocationmgr/group" mrp="os/lbs/locationmgmt/networklocationmgr/group/lbs_networklocationmanager.mrp"/>
     </component>
     <component name="locationcore" long-name="Location Core" introduced="9.2" purpose="optional">
      <unit bldFile="os/lbs/locationmgmt/locationcore/group" mrp="os/lbs/locationmgmt/locationcore/group/lbs_admin.mrp"/>
     </component>
     <component name="networkgateway" long-name="Network Gateway" introduced="9.2" purpose="optional">
      <unit bldFile="os/lbs/locationmgmt/networkgateway/group" mrp="os/lbs/locationmgmt/networkgateway/group/lbs_networkgateway.mrp"/>
     </component>
    </collection>
    <collection name="networkprotocolmodules" long-name="Network Protocol Modules" level="adaptation">
     <component name="privacyprotocolmodule" long-name="Privacy Protocol Module" introduced="^2" purpose="optional" plugin="Y">
      <unit bldFile="os/lbs/networkprotocolmodules/privacyprotocolmodule/group" mrp="os/lbs/networkprotocolmodules/privacyprotocolmodule/group/lbs_privacyprotocolmodule.mrp"/>
     </component>
     <component name="suplproxyprotocolmodule" long-name="SUPL Proxy Protocol Module" introduced="^3" purpose="optional" plugin="Y">
      <unit bldFile="os/lbs/networkprotocolmodules/suplproxyprotocolmodule/group" mrp="os/lbs/networkprotocolmodules/suplproxyprotocolmodule/group/lbs_suplproxyprotocolmodule.mrp"/>
     </component>
     <component name="suplprotocolmodule" long-name="SUPL Protocol Module" introduced="^2" deprecated="^2" purpose="optional" plugin="Y">
      <unit bldFile="os/lbs/networkprotocolmodules/suplprotocolmodule/group" mrp="os/lbs/networkprotocolmodules/suplprotocolmodule/group/lbs_suplprotocolmodule.mrp"/>
     </component>
     <component name="suplrrlpasn1" filter="sf_build" long-name="SUPL RRLP ASN1 Parser">
      <!-- hack for Foundation builds needed while collection is reorganised into proper components -->
      <unit bldFile="os/lbs/networkprotocolmodules/common/suplrrlpasn1/group"/>
     </component>
     <component name="suplrrlpprotocol" filter="sf_build" long-name="SUPL RRLP Protocol Module">
      <!-- hack for Foundation builds needed while collection is reorganised into proper components -->
      <unit bldFile="os/lbs/networkprotocolmodules/suplcontrolplaneprotocols/common/suplrrlpprotocol/group"/>
     </component>
    </collection>
    <collection name="lbsapitest" long-name="Location API Tests" level="application-interface"/>
    <collection name="lbs_info" long-name="Locating Services Info" level="application-interface">
     <component name="lbs_metadata" long-name="Locating Services Metadata" introduced="^2" purpose="development" class="config PC">
      <unit mrp="os/lbs/lbs_info/lbs_metadata/lbs_metadata.mrp"/>
     </component>
    </collection>
   </block>
   <block name="commsfw" level="services" long-name="Communications Framework" levels="server support framework process app-if">
    <collection name="commsprocess" long-name="Comms Process" level="process">
     <component name="commsrootserver" long-name="Comms Root Server" introduced="7.0s" purpose="mandatory">
      <unit bldFile="os/commsfw/commsprocess/commsrootserverconfig/group" mrp="os/commsfw/commsprocess/commsrootserverconfig/group/comms-infras_rootserver.mrp"/>
     </component>
    </collection>
    <collection name="commsconfig" long-name="Comms Config" level="process">
     <component name="commsdatabase" long-name="Comms Database" purpose="mandatory">
      <unit bldFile="os/commsfw/commsfwtools/preparedefaultcommsdatabase/group" mrp="os/commsfw/commsfwtools/preparedefaultcommsdatabase/group/comms-infras_commsdat.mrp"/>
     </component>
     <component name="commsdatabaseshim" long-name="Comms Database Shim" introduced="8.1" purpose="mandatory">
      <unit bldFile="os/commsfw/commsconfig/commsdatabaseshim/group" mrp="os/commsfw/commsconfig/commsdatabaseshim/group/comms-infras_commdbshim.mrp"/>
     </component>
    </collection>
    <collection name="datacommsserver" long-name="Data Comms Server" level="framework">
     <component name="esockserver" long-name="ESock Server" purpose="mandatory">
      <unit bldFile="os/commsfw/datacommsserver/esockserver/group" mrp="os/commsfw/datacommsserver/esockserver/group/comms-infras_esock.mrp" version="3"/>
     </component>
     <component name="networkingdialogapi" long-name="Networking Dialog API" introduced="6.1" purpose="optional">
      <unit bldFile="os/commsfw/datacommsserver/networkingdialogapi/group" mrp="os/commsfw/datacommsserver/networkingdialogapi/group/networking_dialog.mrp"/>
     </component>
     <component name="networkingdialogstub" long-name="Networking Dialog Stub" introduced="6.1" purpose="optional">
      <unit bldFile="os/commsfw/datacommsserver/networkingdialogapi/default" mrp="os/commsfw/datacommsserver/networkingdialogapi/default/networking_dialog_default.mrp"/>
     </component>
     <component name="networkcontroller" long-name="Network Controller" introduced="7.0s" purpose="optional" plugin="Y">
      <unit bldFile="os/commsfw/datacommsserver/networkcontroller/group" mrp="os/commsfw/datacommsserver/networkcontroller/group/networking_netcon.mrp"/>
     </component>
    </collection>
    <collection name="serialserver" long-name="Serial Server" level="server">
     <component name="serialportcsy" long-name="Serial Port CSY" introduced="ER5" purpose="optional" plugin="Y">
      <unit bldFile="os/commsfw/serialserver/serialportcsy" mrp="os/commsfw/serialserver/serialportcsy/ser-comms_serialportcsy.mrp"/>
     </component>
     <component name="packetloopbackcsy" long-name="Packet Loopback CSY" introduced="8.1" purpose="development">
      <unit bldFile="os/commsfw/serialserver/packetloopbackcsy/group" mrp="os/commsfw/serialserver/packetloopbackcsy/group/PacketLoopbackCSY.mrp"/>
     </component>
     <component name="c32serialserver" long-name="C32 Serial Server" introduced="ER5" purpose="mandatory">
      <unit bldFile="os/commsfw/serialserver/c32serialserver/group" mrp="os/commsfw/serialserver/c32serialserver/group/ser-comms_c32.mrp"/>
     </component>
     <component name="c32serialserverconfig" long-name="C32 Serial Server Config" introduced="ER5" purpose="mandatory" class="config">
      <unit bldFile="os/commsfw/serialserver/c32serialserverconfig" mrp="os/commsfw/serialserver/c32serialserverconfig/ser-comms_c32-config.mrp"/>
     </component>
     <component name="c32serialserverdocs" long-name="C32 Serial Server Documentation" purpose="development" class="doc">
      <unit mrp="os/commsfw/serialserver/c32serialserverdocs/ser-comms_documentation.mrp"/>
     </component>
    </collection>
    <collection name="commsfwutils" long-name="Comms Framework Utilities" level="framework">
     <component name="commsbufs" long-name="Comms Buffers" introduced="^3" purpose="mandatory">
      <unit bldFile="os/commsfw/commsfwutils/commsbufs/group" mrp="os/commsfw/commsfwutils/commsbufs/group/comms-infras_commsbufs.mrp"/>
     </component>
    </collection>
    <collection name="commsfw_info" long-name="Comms Framework Info" level="app-if">
     <component name="commsinfrastructuredocs" long-name="Comms Infrastructure Documentation" introduced="7.0" purpose="development" class="doc">
      <unit mrp="os/commsfw/commsfw_info/commsinfrastructuredocs/comms-infras_documentation.mrp"/>
     </component>
     <component name="commsfw_metadata" long-name="Communications Framework Metadata" introduced="^2" purpose="development" class="config PC">
      <unit mrp="os/commsfw/commsfw_info/commsfw_metadata/commsfw_metadata.mrp"/>
     </component>
    </collection>
    <collection name="commsfwsupport" long-name="Comms Framework Support" level="support">
     <component name="commselements" long-name="Comms Elements" introduced="8.0" purpose="mandatory">
      <unit bldFile="os/commsfw/commsfwsupport/commselements/group" mrp="os/commsfw/commsfwsupport/commselements/group/comms-infras_elements.mrp"/>
     </component>
    </collection>
    <collection name="commsinfrastructureapitest" long-name="Comms-Infras API Tests" level="app-if">
     <component name="commsinfrastructuresvs" long-name="Comms Infrastructure Verification Suite" introduced="^3" purpose="development">
      <unit mrp="os/commsfw/commsinfrastructureapitest/commsinfrastructuresvs/group/commsinfrastructuresvs.mrp"/>
     </component>
    </collection>
    <collection name="commsfwtools" long-name="Comms Framework Tools" level="app-if">
     <component name="preparedefaultcommsdatabase" long-name="Prepare Default Comms Database" filter="gt" purpose="mandatory" class="config PC">
      <unit bldFile="os/commsfw/commsfwtools/preparedefaultcommsdatabase/defaultcommdb/group" mrp="os/commsfw/commsfwtools/preparedefaultcommsdatabase/defaultcommdb/group/comms-infras_defaultcommdb.mrp"/>
     </component>
     <component name="installdefaultcommsdatabase" long-name="Install Default Comms Database" purpose="mandatory" class="PC">
      <unit bldFile="os/commsfw/commsfwtools/preparedefaultcommsdatabase/installdefaultcommdb/group" mrp="os/commsfw/commsfwtools/preparedefaultcommsdatabase/installdefaultcommdb/group/comms-infras_installdefaultcommdb.mrp" priority="1010"/>
     </component>
     <component name="commstools" long-name="Comms Tools" introduced="^3" purpose="development" class="PC">
      <unit bldFile="os/commsfw/commsfwtools/commstools/group" mrp="os/commsfw/commsfwtools/commstools/group/comms-infras_tools.mrp"/>
     </component>
    </collection>
   </block>
   <block name="networkingsrv" level="services" long-name="Networking Services" levels="adaptation hw-if plugin framework server app-if">
    <collection name="esockapiextensions" long-name="ESock API Extensions" level="app-if">
     <component name="internetsockets" long-name="Internet Sockets" introduced="ER5" purpose="mandatory">
      <unit bldFile="os/networkingsrv/esockapiextensions/internetsockets/group" mrp="os/networkingsrv/esockapiextensions/internetsockets/group/networking_insock.mrp"/>
     </component>
    </collection>
    <collection name="tcpiputils" long-name="TCP/IP Utilities" level="plugin">
     <component name="dnd" long-name="DND" introduced="7.0" purpose="mandatory">
      <unit bldFile="os/networkingsrv/tcpiputils/dnd/group" mrp="os/networkingsrv/tcpiputils/dnd/group/networking_dnd.mrp"/>
     </component>
     <component name="dhcp" long-name="DHCP" introduced="8.0" purpose="optional">
      <unit bldFile="os/networkingsrv/tcpiputils/dhcp/group" mrp="os/networkingsrv/tcpiputils/dhcp/group/networking_dhcp.mrp"/>
     </component>
     <component name="networkaddressandporttranslation" long-name="Network Address and Port Translation" introduced="^2" purpose="mandatory" plugin="Y">
      <unit bldFile="os/networkingsrv/tcpiputils/networkaddressandporttranslation/group" mrp="os/networkingsrv/tcpiputils/networkaddressandporttranslation/group/networking_napt.mrp"/>
     </component>
     <component name="punycodeconv" long-name="Punycode Converter" introduced="^3" purpose="mandatory">
      <unit bldFile="os/networkingsrv/tcpiputils/punycodeconv/group" mrp="os/networkingsrv/tcpiputils/punycodeconv/group/networking_punycodeconverter.mrp"/>
     </component>
    </collection>
    <collection name="linklayercontrol" long-name="Link Layer Control" level="hw-if">
     <component name="nullagt" long-name="NULL AGT" introduced="7.0s" purpose="optional" plugin="Y">
      <unit bldFile="os/networkingsrv/linklayercontrol/nullagt/group" mrp="os/networkingsrv/linklayercontrol/nullagt/group/networking_nullagt.mrp"/>
     </component>
     <component name="genericscprparameters" long-name="Generic SCPR Parameters" introduced="^3" purpose="optional">
      <unit bldFile="os/networkingsrv/linklayercontrol/genericscprparameters/group" mrp="os/networkingsrv/linklayercontrol/genericscprparameters/group/networking_genericscprparams.mrp"/>
     </component>
     <component name="mbmsparameters" long-name="MBMS Parameters" introduced="^3" purpose="optional" plugin="Y">
      <unit bldFile="os/networkingsrv/linklayercontrol/mbmsparameters/group" mrp="os/networkingsrv/linklayercontrol/mbmsparameters/group/networking_mbmsparams.mrp"/>
     </component>
     <component name="networkinterfacemgr" long-name="Network Interface Manager" introduced="ER5U" purpose="mandatory">
      <unit bldFile="os/networkingsrv/linklayercontrol/networkinterfacemgr/group" mrp="os/networkingsrv/linklayercontrol/networkinterfacemgr/group/comms-infras_nifman.mrp" version="2"/>
     </component>
    </collection>
    <collection name="linklayerprotocols" long-name="Link Layer Protocols" level="hw-if">
     <component name="ethernetnif" long-name="Ethernet NIF" purpose="optional" plugin="Y">
      <unit bldFile="os/networkingsrv/linklayerprotocols/ethernetnif/group" mrp="os/networkingsrv/linklayerprotocols/ethernetnif/group/networking_ether802.mrp"/>
     </component>
     <component name="pppnif" long-name="PPP NIF" introduced="ER5" purpose="optional" plugin="Y">
      <unit bldFile="os/networkingsrv/linklayerprotocols/pppnif/group" mrp="os/networkingsrv/linklayerprotocols/pppnif/group/networking_ppp.mrp" version="2"/>
     </component>
     <component name="slipnif" long-name="SLIP NIF" purpose="development" plugin="Y">
      <unit bldFile="os/networkingsrv/linklayerprotocols/slipnif/group" mrp="os/networkingsrv/linklayerprotocols/slipnif/group/networking_slip.mrp"/>
     </component>
     <component name="tunnelnif" long-name="Tunnel NIF" introduced="7.0s" purpose="optional" plugin="Y">
      <unit bldFile="os/networkingsrv/linklayerprotocols/tunnelnif/group" mrp="os/networkingsrv/linklayerprotocols/tunnelnif/group/networking_tunnelnif.mrp"/>
     </component>
    </collection>
    <collection name="linklayerutils" long-name="Link Layer Utilities" level="hw-if">
     <component name="packetlogger" long-name="Packet Logger" introduced="8.1" purpose="development">
      <unit bldFile="os/networkingsrv/linklayerutils/packetlogger/group" mrp="os/networkingsrv/linklayerutils/packetlogger/group/networking_packetlogger.mrp"/>
     </component>
    </collection>
    <collection name="networkcontrol" long-name="Network Control" level="plugin">
     <component name="qoslib" long-name="QoS Library" introduced="7.0s" purpose="optional">
      <unit bldFile="os/networkingsrv/networkcontrol/qoslib/group" mrp="os/networkingsrv/networkcontrol/qoslib/group/networking_qoslib.mrp"/>
     </component>
     <component name="pfqoslib" long-name="PF QoS Library" introduced="7.0s" purpose="optional">
      <unit bldFile="os/networkingsrv/networkcontrol/pfqoslib/group" mrp="os/networkingsrv/networkcontrol/pfqoslib/group/networking_pfqoslib.mrp"/>
     </component>
     <component name="qosfwprt" long-name="QoS Framework PRT" introduced="7.0s" purpose="optional" plugin="Y">
      <unit bldFile="os/networkingsrv/networkcontrol/qosfwconfig/qos/group" mrp="os/networkingsrv/networkcontrol/qosfwconfig/qos/group/networking_qos.mrp"/>
     </component>
     <component name="qosipscpr" long-name="QoS IP SCPR" purpose="optional" plugin="Y">
      <unit bldFile="os/networkingsrv/networkcontrol/qosipscpr/group" mrp="os/networkingsrv/networkcontrol/qosipscpr/group/networking_qosipscpr.mrp"/>
     </component>
     <component name="ipnetworklayer" long-name="IP Network Layer" introduced="^3" purpose="optional" plugin="Y">
      <unit bldFile="os/networkingsrv/networkcontrol/ipnetworklayer/group" mrp="os/networkingsrv/networkcontrol/ipnetworklayer/group/networking_ipproto.mrp"/>
     </component>
     <component name="iptransportlayer" long-name="IP Transport Layer" introduced="^3" purpose="optional" plugin="Y">
      <unit bldFile="os/networkingsrv/networkcontrol/iptransportlayer/group" mrp="os/networkingsrv/networkcontrol/iptransportlayer/group/networking_iptransport.mrp"/>
     </component>
     <component name="commsuserpromptmgr" long-name="Comms User Prompt Manager" introduced="^3" purpose="mandatory">
      <unit bldFile="os/networkingsrv/networkcontrol/commsuserpromptmgr/group" mrp="os/networkingsrv/networkcontrol/commsuserpromptmgr/group/networking_netups.mrp"/>
     </component>
    </collection>
    <collection name="networkprotocols" long-name="Network Protocols" level="plugin">
     <component name="ipeventnotifier" long-name="IP Event Notifier" introduced="8.1" purpose="mandatory" plugin="Y">
      <unit bldFile="os/networkingsrv/networkprotocols/ipeventnotifier/group" mrp="os/networkingsrv/networkprotocols/ipeventnotifier/group/networking_ipeventnotifier.mrp"/>
     </component>
     <component name="tcpipv4v6prt" long-name="TCP/IPv4/v6 PRT" introduced="7.0" purpose="mandatory" plugin="Y">
      <unit bldFile="os/networkingsrv/networkprotocols/tcpipv4v6prt/group" mrp="os/networkingsrv/networkprotocols/tcpipv4v6prt/group/networking_tcpip6.mrp"/>
     </component>
     <component name="iphook" long-name="IP Hook" introduced="7.0" purpose="mandatory">
      <unit bldFile="os/networkingsrv/networkprotocols/iphook/inhook6/group" mrp="os/networkingsrv/networkprotocols/iphook/inhook6/group/networking_inhook6.mrp"/>
     </component>
     <component name="mobileip" long-name="Mobile IP" introduced="8.1" purpose="optional" plugin="Y">
      <unit bldFile="os/networkingsrv/networkprotocols/mobileip/group" mrp="os/networkingsrv/networkprotocols/mobileip/group/networking_mobileip.mrp"/>
     </component>
     <component name="dnsproxy" long-name="DNS Proxy" introduced="^3" purpose="optional">
      <unit bldFile="os/networkingsrv/networkprotocols/dnsproxy/group" mrp="os/networkingsrv/networkprotocols/dnsproxy/group/networking_dnsproxy.mrp"/>
     </component>
    </collection>
    <collection name="networksecurity" long-name="Network Security" level="framework">
     <component name="tls" long-name="TLS" introduced="6.0" purpose="mandatory">
      <unit bldFile="os/networkingsrv/networksecurity/tls/group" mrp="os/networkingsrv/networksecurity/tls/group/networking_tls.mrp"/>
     </component>
     <component name="tlsprovider" long-name="TLS Provider" introduced="8.1" purpose="mandatory">
      <unit bldFile="os/networkingsrv/networksecurity/tlsprovider/group" mrp="os/networkingsrv/networksecurity/tlsprovider/group/security_tlsprovider.mrp"/>
     </component>
     <component name="ipsec" long-name="IPsec" introduced="7.0" purpose="optional">
      <unit bldFile="os/networkingsrv/networksecurity/ipsec/group" mrp="os/networkingsrv/networksecurity/ipsec/group/networking_ipsec.mrp"/>
     </component>
    </collection>
    <collection name="networkingtestandutils" long-name="Networking Test and Utils" level="app-if">
     <component name="networkingexamples" long-name="Networking Examples" introduced="7.0" purpose="development">
      <unit bldFile="os/networkingsrv/networkingtestandutils/networkingexamples/examplecode/group" mrp="os/networkingsrv/networkingtestandutils/networkingexamples/examplecode/group/networking_examplecode.mrp"/>
     </component>
     <component name="networkingintegrationtest" long-name="Networking Integration Test" introduced="ER5" purpose="development">
      <unit bldFile="os/networkingsrv/networkingtestandutils/networkingintegrationtest/Group" mrp="os/networkingsrv/networkingtestandutils/networkingintegrationtest/Group/networking_integrationtest.mrp"/>
     </component>
     <component name="networkingperformancemeasurementtools" long-name="Networking Performance Measurement Tools" introduced="^3" purpose="development">
      <unit bldFile="os/networkingsrv/networkingtestandutils/networkingperformancemeasurementtools/group" mrp="os/networkingsrv/networkingtestandutils/networkingperformancemeasurementtools/group/networking_netperf.mrp"/>
     </component>
    </collection>
    <collection name="networkingsrv_info" long-name="Networking Services Info" level="app-if">
     <component name="networkingrom" long-name="Networking ROM" purpose="mandatory">
      <!--  production component: contains the IBY files -->
      <unit bldFile="os/networkingsrv/networkingsrv_info/networkingrom/group" mrp="os/networkingsrv/networkingsrv_info/networkingrom/group/networking_general.mrp"/>
     </component>
     <component name="networkingdocs" long-name="Networking Documentation" purpose="development" class="doc">
      <unit mrp="os/networkingsrv/networkingsrv_info/networkingdocs/networking_documentation.mrp"/>
     </component>
     <component name="networkingsrv_metadata" long-name="Networking Services Metadata" introduced="^2" purpose="development" class="config PC">
      <unit mrp="os/networkingsrv/networkingsrv_info/networkingsrv_metadata/networkingsrv_metadata.mrp"/>
     </component>
    </collection>
    <collection name="pppcompressionplugins" long-name="PPP Compression Plugins" level="plugin">
     <component name="predictorcompression" long-name="Predictor Compression" introduced="6.0" purpose="optional" plugin="Y">
      <unit bldFile="os/networkingsrv/pppcompressionplugins/predictorcompression/group" mrp="os/networkingsrv/pppcompressionplugins/predictorcompression/group/networking_predcomp.mrp"/>
     </component>
    </collection>
   </block>
   <block name="wlan" level="services" long-name="WLAN" levels="hw low mid high tools test">
    <collection name="wlan_bearer" long-name="WLAN Bearer" level="hw">
     <component name="wlanpsmplugin" filter="s60" long-name="WLAN PSM Plugin" plugin="Y">
      <unit bldFile="os/wlan/wlan_bearer/wlanpsmplugin/group"/>
     </component>
     <component name="wlanagent" filter="s60" long-name="WLAN Agent">
      <unit bldFile="os/wlan/wlan_bearer/wlanagent/group"/>
     </component>
     <component name="wlandbif_cd" filter="s60" long-name="WLAN CommsDat interface">
      <unit bldFile="os/wlan/wlan_bearer/wlandbif_cd/group"/>
     </component>
     <!-- should follow component directory rules for stuff in wlan_symbian/ and put in a single component or split up properly -->
     <component name="wlanengine" filter="s60" long-name="WLAN Engine">
      <unit bldFile="os/wlan/wlan_bearer/wlanengine/wlan_symbian/wlanengine_symbian_3.1/group"/>
     </component>
     <component name="wlanldd" filter="s60" long-name="WLAN LDD">
      <unit bldFile="os/wlan/wlan_bearer/wlanldd/wlan_symbian/wlanldd_symbian/group"/>
     </component>
     <component name="wlannwif" filter="s60" long-name="WLAN Network Interface">
      <unit bldFile="os/wlan/wlan_bearer/wlannwif/group"/>
     </component>
    </collection>
    <collection name="wlanapitest" long-name="WLAN API Tests" level="test"/>
    <collection name="wlan_info" long-name="WLAN Info" level="test">
     <component name="wlan_pub" filter="s60" long-name="WLAN Public Interfaces" class="api">
      <unit bldFile="os/wlan/wlan_pub/group"/>
     </component>
     <component name="wlan_plat" filter="s60" long-name="WLAN Platform Interfaces" class="api">
      <unit bldFile="os/wlan/wlan_plat/group"/>
     </component>
     <component name="wlan_metadata" long-name="WLAN Metadata" introduced="^2" purpose="development" class="config PC">
      <unit mrp="os/wlan/wlan_info/wlan_metadata/wlan_metadata.mrp"/>
     </component>
    </collection>
   </block>
   <block name="cellularsrv" level="services" long-name="Cellular Baseband Services" levels="adaptation hw-if plugin framework server app-if">
    <collection name="basebandabstraction" long-name="Baseband Abstraction" level="hw-if">
     <component name="basebandchanneladaptor" long-name="Baseband Channel Adaptor" introduced="8.1" purpose="optional">
      <unit bldFile="os/cellularsrv/basebandabstraction/basebandchanneladaptor/group" mrp="os/cellularsrv/basebandabstraction/basebandchanneladaptor/group/networking_bca.mrp"/>
     </component>
    </collection>
    <collection name="basebandadaptationplugins" long-name="Baseband Adaptation Plugins" level="adaptation">
     <component name="basebandchanneladaptorforc32" long-name="Baseband Channel Adaptor for C32" introduced="8.1" purpose="optional" plugin="Y">
      <unit bldFile="os/cellularsrv/basebandadaptationplugins/basebandchanneladaptorforc32/group" mrp="os/cellularsrv/basebandadaptationplugins/basebandchanneladaptorforc32/group/networking_c32bca.mrp"/>
     </component>
    </collection>
    <collection name="fax" long-name="Fax" level="server">
     <component name="faxclientandserver" long-name="Fax Client and Server" purpose="optional">
      <unit bldFile="os/cellularsrv/fax/faxclientandserver/Group" mrp="os/cellularsrv/fax/faxclientandserver/Group/telephony_fax.mrp"/>
     </component>
    </collection>
    <collection name="smsprotocols" long-name="SMS Protocols" level="framework">
     <component name="smsstack" long-name="SMS Stack" introduced="6.0" purpose="mandatory" plugin="Y">
      <unit bldFile="os/cellularsrv/smsprotocols/smsstack/group" mrp="os/cellularsrv/smsprotocols/smsstack/group/nbprotocols_smsstackv2.mrp"/>
     </component>
    </collection>
    <collection name="telephonyprotocols" long-name="Telephony Protocols" level="framework">
     <component name="csdagt" long-name="CSD AGT" introduced="6.1" purpose="optional" plugin="Y">
      <unit bldFile="os/cellularsrv/telephonyprotocols/csdagt/group" mrp="os/cellularsrv/telephonyprotocols/csdagt/group/networking_csdagt.mrp"/>
     </component>
     <component name="psdagt" long-name="PSD AGT" introduced="7.0s" purpose="optional" plugin="Y">
      <unit bldFile="os/cellularsrv/telephonyprotocols/psdagt/group" mrp="os/cellularsrv/telephonyprotocols/psdagt/group/networking_psdagt.mrp"/>
     </component>
     <component name="gprsumtsqosprt" long-name="GPRS/UMTS QoS PRT" introduced="7.0s" purpose="optional" plugin="Y">
      <unit bldFile="os/cellularsrv/telephonyprotocols/gprsumtsqosprt/group" mrp="os/cellularsrv/telephonyprotocols/gprsumtsqosprt/group/networking_guqos.mrp"/>
     </component>
     <component name="gprsumtsqosinterface" long-name="GPRS/UMTS QoS Interface" introduced="7.0s" purpose="optional" plugin="Y">
      <unit bldFile="os/cellularsrv/telephonyprotocols/gprsumtsqosinterface/group" mrp="os/cellularsrv/telephonyprotocols/gprsumtsqosinterface/group/networking_umtsif.mrp"/>
     </component>
     <component name="qosextnapi" long-name="QoS Extn API" introduced="9.2" purpose="optional">
      <unit bldFile="os/cellularsrv/telephonyprotocols/qosextnapi/group" mrp="os/cellularsrv/telephonyprotocols/qosextnapi/group/networking_qosextnapi.mrp"/>
     </component>
     <component name="secondarypdpcontextumtsdriver" long-name="Secondary PDP context UMTS Driver" introduced="8.1" purpose="optional">
      <unit bldFile="os/cellularsrv/telephonyprotocols/secondarypdpcontextumtsdriver/group" mrp="os/cellularsrv/telephonyprotocols/secondarypdpcontextumtsdriver/group/networking_spud.mrp"/>
     </component>
     <component name="qos3gppcpr" long-name="QoS 3GPP CPR" introduced="9.2" purpose="optional" plugin="Y">
      <unit bldFile="os/cellularsrv/telephonyprotocols/qos3gppcpr/group" mrp="os/cellularsrv/telephonyprotocols/qos3gppcpr/group/networking_Qos3GPP.mrp"/>
     </component>
     <component name="pdplayer" long-name="PDP Layer" introduced="^3" purpose="optional" plugin="Y">
      <unit bldFile="os/cellularsrv/telephonyprotocols/pdplayer/group" mrp="os/cellularsrv/telephonyprotocols/pdplayer/group/networking_pdp.mrp"/>
     </component>
     <component name="rawipnif" long-name="Raw IP NIF" introduced="8.1" purpose="optional" plugin="Y">
      <unit bldFile="os/cellularsrv/telephonyprotocols/rawipnif/group" mrp="os/cellularsrv/telephonyprotocols/rawipnif/group/networking_rawipnif.mrp"/>
     </component>
    </collection>
    <collection name="telephonyserver" long-name="Telephony Server" level="server">
     <component name="etelserverandcore" long-name="ETel Server and Core" purpose="mandatory">
      <unit bldFile="os/cellularsrv/telephonyserver/etelserverandcore/group" mrp="os/cellularsrv/telephonyserver/etelserverandcore/group/telephony_etel.mrp"/>
     </component>
     <component name="etelmultimode" long-name="ETel Multimode" introduced="7.0" purpose="mandatory">
      <unit bldFile="os/cellularsrv/telephonyserver/etelmultimode/group" mrp="os/cellularsrv/telephonyserver/etelmultimode/group/telephony_etelmm.mrp"/>
     </component>
     <component name="etelpacketdata" long-name="ETel Packet Data" introduced="7.0" purpose="mandatory">
      <unit bldFile="os/cellularsrv/telephonyserver/etelpacketdata/group" mrp="os/cellularsrv/telephonyserver/etelpacketdata/group/telephony_etelpckt.mrp"/>
     </component>
     <component name="etelsimtoolkit" long-name="ETel SIM Toolkit" introduced="6.1" purpose="mandatory">
      <unit bldFile="os/cellularsrv/telephonyserver/etelsimtoolkit/group" mrp="os/cellularsrv/telephonyserver/etelsimtoolkit/group/telephony_etelsat.mrp"/>
     </component>
    </collection>
    <collection name="telephonyserverplugins" long-name="Telephony Server Plugins" level="plugin">
     <component name="common_tsy" long-name="Common TSY" introduced="^2" purpose="optional" plugin="Y">
      <unit bldFile="os/cellularsrv/telephonyserverplugins/common_tsy/group" mrp="os/cellularsrv/telephonyserverplugins/common_tsy/group/telephony_commontsy.mrp"/>
     </component>
     <component name="licenseetsystub" long-name="Licensee TSY Stub" introduced="^2" purpose="development" filter="sf_build" plugin="Y">
      <unit mrp="os/cellularsrv/telephonyserverplugins/licenseetsystub/group/licenseetsystub.mrp" bldFile="os/cellularsrv/telephonyserverplugins/licenseetsystub/group"/>
     </component>
     <component name="multimodetsy" long-name="Multimode TSY" purpose="development" plugin="Y">
      <unit bldFile="os/cellularsrv/telephonyserverplugins/multimodetsy/group" mrp="os/cellularsrv/telephonyserverplugins/multimodetsy/group/telephony_mmtsy.mrp"/>
     </component>
     <component name="simtsy" long-name="SIM TSY" introduced="7.0" purpose="development" plugin="Y">
      <unit bldFile="os/cellularsrv/telephonyserverplugins/simtsy/group" mrp="os/cellularsrv/telephonyserverplugins/simtsy/group/telephony_simtsy.mrp"/>
     </component>
     <component name="ctsydispatchlayer" long-name="C-TSY Dispatch Layer" introduced="^3" purpose="optional" plugin="Y">
      <unit bldFile="os/cellularsrv/telephonyserverplugins/ctsydispatchlayer/group" mrp="os/cellularsrv/telephonyserverplugins/ctsydispatchlayer/group/telephony_dispatcher.mrp"/>
     </component>
     <component name="simatktsy" long-name="SIMATK TSY" introduced="^3" purpose="optional" plugin="Y">
      <unit bldFile="os/cellularsrv/telephonyserverplugins/simatktsy/group" mrp="os/cellularsrv/telephonyserverplugins/simatktsy/group/commonsimatktsy.mrp"/>
     </component>
    </collection>
    <collection name="telephonyutils" long-name="Telephony Utilities" level="app-if">
     <component name="dial" long-name="Dial" deprecated="9.1" purpose="optional">
      <unit bldFile="os/cellularsrv/telephonyutils/dial/group" mrp="os/cellularsrv/telephonyutils/dial/group/telephony_dial.mrp"/>
     </component>
     <component name="telephonywatchers" long-name="Telephony Watchers" introduced="6.0" purpose="optional" plugin="Y">
      <unit bldFile="os/cellularsrv/telephonyutils/telephonywatchers/group" mrp="os/cellularsrv/telephonyutils/telephonywatchers/group/telephony_watchers.mrp"/>
     </component>
     <component name="etel3rdpartyapi" long-name="ETel 3rd Party API" introduced="7.0" purpose="mandatory">
      <unit bldFile="os/cellularsrv/telephonyutils/etel3rdpartyapi/Group" mrp="os/cellularsrv/telephonyutils/etel3rdpartyapi/Group/telephony_etel3rdparty.mrp"/>
     </component>
    </collection>
    <collection name="cellularsrv_info" long-name="Cellular Baseband Services Info" level="app-if">
     <component name="telephonyconfidentialdocs" long-name="Telephony Confidential Documentation" purpose="development" class="doc">
      <unit mrp="os/cellularsrv/cellularsrv_info/telephonyconfidentialdocs/telephony_confidential.mrp"/>
     </component>
     <component name="telephonydocs" long-name="Telephony Documentation" purpose="development" class="doc">
      <unit mrp="os/cellularsrv/cellularsrv_info/telephonydocs/telephony_documentation.mrp"/>
     </component>
     <component name="cellularsrv_metadata" long-name="Cellular Baseband Services Metadata" introduced="^2" purpose="development" class="config PC">
      <unit mrp="os/cellularsrv/cellularsrv_info/cellularsrv_metadata/cellularsrv_metadata.mrp"/>
     </component>
    </collection>
    <collection name="hwpluginsimulation" long-name="Hardware Plugin Simulation" level="adaptation">
     <component name="mocksy" long-name="MockSY" introduced="^2" purpose="development" plugin="Y">
      <unit bldFile="os/cellularsrv/hwpluginsimulation/mocksy/group" mrp="os/cellularsrv/hwpluginsimulation/mocksy/group/telephony_tools_mocksy.mrp"/>
     </component>
    </collection>
    <collection name="cellularsrvapitest" long-name="Telephony API Tests" level="app-if"/>
   </block>
   <block name="bt" level="services" long-name="Bluetooth" levels="adaptation hw-if plugin framework server app-if">
    <collection name="bluetooth" long-name="Bluetooth Core" level="framework">
     <component name="btstack" long-name="Bluetooth Stack" introduced="6.0" purpose="optional">
      <unit bldFile="os/bt/bluetooth/btstack" mrp="os/bt/bluetooth/btstack/bluetooth_stack.mrp"/>
     </component>
     <component name="btcomm" long-name="Bluetooth CSY" introduced="6.0" purpose="optional" plugin="Y">
      <unit bldFile="os/bt/bluetooth/btcomm" mrp="os/bt/bluetooth/btcomm/bluetooth_btcomm.mrp"/>
     </component>
     <component name="btsdp" long-name="Bluetooth SDP" introduced="6.1" purpose="optional">
      <unit bldFile="os/bt/bluetooth/btsdp" mrp="os/bt/bluetooth/btsdp/bluetooth_sdp.mrp"/>
     </component>
     <component name="btextnotifiers" long-name="Bluetooth Notifiers Support" introduced="6.1" purpose="optional">
      <unit bldFile="os/bt/bluetooth/btextnotifiers" mrp="os/bt/bluetooth/btextnotifiers/bluetooth_btextnotifiers.mrp"/>
     </component>
     <component name="gavdp" long-name="Bluetooth GAVDP" introduced="8.1" purpose="optional">
      <unit bldFile="os/bt/bluetooth/gavdp/group" mrp="os/bt/bluetooth/gavdp/group/bluetooth_gavdp.mrp"/>
     </component>
     <component name="btlogger" long-name="Bluetooth Logging Engine" introduced="9.2" purpose="optional">
      <unit bldFile="os/bt/bluetooth/btlogger/group" mrp="os/bt/bluetooth/btlogger/group/bluetooth_logger.mrp"/>
     </component>
     <component name="btdocs" long-name="Bluetooth Documentation" purpose="development" class="doc">
      <unit mrp="os/bt/bluetooth/btdocs/bluetooth_documentation.mrp"/>
     </component>
    </collection>
    <collection name="bluetoothmgmt" long-name="Bluetooth Management" level="plugin">
     <component name="btmgr" long-name="Bluetooth Manager" introduced="6.0" purpose="optional">
      <unit bldFile="os/bt/bluetoothmgmt/btmgr" mrp="os/bt/bluetoothmgmt/btmgr/bluetooth_manager.mrp"/>
     </component>
     <component name="btconfig" long-name="Bluetooth Config" purpose="optional" class="config">
      <unit bldFile="os/bt/bluetoothmgmt/btconfig" mrp="os/bt/bluetoothmgmt/btconfig/bluetooth_config.mrp"/>
     </component>
     <component name="btrom" long-name="Bluetooth ROM" introduced="9.1" purpose="optional">
      <unit bldFile="os/bt/bluetoothmgmt/btrom" mrp="os/bt/bluetoothmgmt/btrom/bluetooth_rom.mrp"/>
     </component>
     <component name="bluetoothclientlib" long-name="Bluetooth Client Library" introduced="6.0" purpose="optional">
      <unit bldFile="os/bt/bluetoothmgmt/bluetoothclientlib" mrp="os/bt/bluetoothmgmt/bluetoothclientlib/bluetooth_user.mrp"/>
     </component>
    </collection>
    <collection name="bluetoothcommsprofiles" long-name="Bluetooth Comms Profiles" level="app-if">
     <component name="btpan" long-name="Bluetooth PAN Profile" introduced="8.1" purpose="optional" plugin="Y">
      <unit bldFile="os/bt/bluetoothcommsprofiles/btpan/group" mrp="os/bt/bluetoothcommsprofiles/btpan/group/bluetooth_pan.mrp"/>
     </component>
    </collection>
    <collection name="bthci" long-name="Host Controller Interface" level="server">
     <component name="bthci2" long-name="Bluetooth HCI Framework 2" introduced="9.2" purpose="optional">
      <unit bldFile="os/bt/bthci/bthci2/group" mrp="os/bt/bthci/bthci2/group/bluetooth_hci_v2_framework.mrp"/>
     </component>
     <component name="hciextensioninterface" long-name="Bluetooth HCI Extension Interface" introduced="6.1" purpose="optional">
      <unit bldFile="os/bt/bthci/hciextensioninterface" mrp="os/bt/bthci/hciextensioninterface/bluetooth_hciproxy.mrp"/>
     </component>
     <component name="hci2implementations" long-name="Bluetooth HCI 2 Reference Implementations" introduced="9.2" purpose="optional" plugin="Y">
      <unit bldFile="os/bt/bthci/hci2implementations/group" mrp="os/bt/bthci/hci2implementations/group/bluetooth_hci_v2_implementations.mrp"/>
     </component>
    </collection>
    <collection name="irda" long-name="IrDA" level="plugin">
     <component name="irdastack" long-name="IrDA Stack" purpose="optional">
      <unit bldFile="os/bt/irda/irdastack/group" mrp="os/bt/irda/irdastack/group/infra-red_irda.mrp"/>
     </component>
    </collection>
    <collection name="bluetoothapitest" long-name="Bluetooth API Tests" level="app-if"/>
    <collection name="atext" long-name="AT Extensions" level="server">
     <!-- collection is really a component. Need to move down a directory -->
     <component name="atext_build" long-name="AT Extension Build" introduced="^3" purpose="optional" filter="s60">
      <unit bldFile="os/bt/atext/group"/>
     </component>
    </collection>
    <collection name="bt_info" long-name="Bluetooth Info" level="app-if">
     <component name="bt_plat" filter="s60" class="api">
      <unit bldFile="os/bt/bt_plat/group"/>
     </component>
     <component name="bt_metadata" long-name="Bluetooth Metadata" introduced="^3" purpose="development" class="config PC">
      <unit mrp="os/bt/bt_info/bt_metadata/bt_metadata.mrp"/>
     </component>
    </collection>
   </block>
   <block name="usb" level="services" long-name="USB" levels="adaptation hw-if plugin framework server app-if">
    <collection name="usbldd" long-name="USB Logical Device Drivers" level="hw-if">
     <!-- usbclientdrivers  to be moved here from kernelhwsrv-->
    </collection>
    <collection name="usbmgmt" long-name="USB Management" level="server">
     <component name="usbmgr" long-name="USB Manager" purpose="optional">
      <unit bldFile="os/usb/usbmgmt/usbmgr/group" mrp="os/usb/usbmgmt/usbmgr/group/usb_manager.mrp" version="2"/>
     </component>
     <component name="usbclassandmgrdocs" long-name="USB Class and Manager Documentation" purpose="development" class="doc">
      <unit mrp="os/usb/usbmgmt/usbclassandmgrdocs/usb_documentation.mrp"/>
     </component>
    </collection>
    <collection name="usb_info" long-name="USB Info" level="app-if">
     <component name="usb_plat" filter="s60" long-name="USB Platform Interfaces" class="api">
      <unit bldFile="os/usb/usb_plat/group"/>
     </component>
     <component name="usb_metadata" long-name="USB Metadata" introduced="^3" purpose="development" class="config PC">
      <unit mrp="os/usb/usb_info/usb_metadata/usb_metadata.mrp"/>
     </component>
    </collection>
   </block>
   <block name="mm" level="services" long-name="Multimedia" levels="adaptation hw-if device-fw devices middleware app-if">
    <collection name="devsoundextensions" long-name="Devsound Extensions" level="device-fw">
     <component name="drmaudioplayer" filter="s60" long-name="DRM Audio Player">
      <unit bldFile="os/mm/devsoundextensions/drmaudioplayer/group"/>
     </component>
     <component name="mmextfw" filter="s60" long-name="Multimedia Extension Framework">
      <unit bldFile="os/mm/devsoundextensions/mmextfw/group"/>
     </component>
     <component name="audiorouting" filter="s60" long-name="Audio Routing">
      <unit bldFile="os/mm/devsoundextensions/audiorouting/group"/>
     </component>
     <component name="effects" filter="s60" long-name="Effects">
      <unit bldFile="os/mm/devsoundextensions/effects/group"/>
     </component>
     <component name="effectspresets" filter="s60" long-name="Effects Presets">
      <unit bldFile="os/mm/devsoundextensions/effectspresets/group"/>
     </component>
     <component name="effectspresets_utils" filter="s60" long-name="Effects Presets Utils">
      <!-- need to #include the lot from a single bld.inf
      		Also move to a standard component location, not under effectspresets -->
      <unit bldFile="os/mm/devsoundextensions/effectspresets/AudioEqualizerUtility/group" filter="!dfs_build"/>
      <unit bldFile="os/mm/devsoundextensions/effectspresets/EnvironmentalReverbUtility/group" filter="!dfs_build"/>
      <unit bldFile="os/mm/devsoundextensions/effectspresets/StereoWideningUtility/group" filter="!dfs_build"/>
     </component>
     <component name="telephonyaudiorouting" filter="s60" long-name="Telephony Audio Routing">
      <unit bldFile="os/mm/devsoundextensions/telephonyaudiorouting/group"/>
     </component>
     <component name="mmfcustominterfaces" filter="s60" long-name="MMF Custom Interfaces">
      <unit bldFile="os/mm/devsoundextensions/mmfcustominterfaces/group"/>
     </component>
     <component name="addeddevsoundcontrol" filter="s60" long-name="Added DevSound Control">
      <unit bldFile="os/mm/devsoundextensions/addeddevsoundcontrol/group"/>
     </component>
     <component name="globalaudiosettings" filter="s60" long-name="Global Audio Settings">
      <unit bldFile="os/mm/devsoundextensions/globalaudiosettings/group"/>
     </component>
     <component name="restrictedaudiooutput" filter="s60" long-name="Restricted Audio Output">
      <unit bldFile="os/mm/devsoundextensions/restrictedaudiooutput/group"/>
     </component>
     <component name="ciextnfactoryplugins" filter="s60" long-name="Custom Interface Extension Factory Plugins" plugin="Y">
      <unit bldFile="os/mm/devsoundextensions/ciextnfactoryplugins/group"/>
     </component>
    </collection>
    <collection name="mdfdevvideoextensions" long-name="MDF Dev Video Extensions" level="device-fw">
     <component name="nga_mdf_postprocessor" long-name="NGA MDF Postprocessor" filter="s60">
      <unit bldFile="os/mm/mdfdevvideoextensions/nga_mdf_postprocessor/group"/>
     </component>
    </collection>
    <collection name="audio" long-name="Audio Codecs" level="middleware">
     <component name="arm_cmmf_codecs" filter="s60" long-name="ARM CMMF Codecs" plugin="Y">
      <unit bldFile="os/mm/audio/arm_cmmf_codecs/group"/>
     </component>
    </collection>
    <collection name="video" long-name="Video Codecs" level="middleware">
     <!-- empty -->
    </collection>
    <collection name="imagingandcamerafws" long-name="Imaging and Camera Frameworks" level="app-if">
     <component name="imagingfws" long-name="Imaging Frameworks" introduced="7.0s" purpose="mandatory">
      <unit bldFile="os/mm/imagingandcamerafws/imagingfws/group" mrp="os/mm/imagingandcamerafws/imagingfws/group/multimedia_icl.mrp"/>
     </component>
     <component name="camerafw" long-name="Camera Framework" introduced="7.0s" purpose="optional">
      <unit bldFile="os/mm/imagingandcamerafws/camerafw/group" mrp="os/mm/imagingandcamerafws/camerafw/group/multimedia_ecam_framework.mrp"/>
     </component>
    </collection>
    <collection name="mmlibs" long-name="Multimedia Libraries" level="middleware">
     <component name="mmutilitylib" long-name="Multimedia Utility Library" introduced="8.1" purpose="mandatory">
      <unit bldFile="os/mm/mmlibs/mmutilitylib/group" mrp="os/mm/mmlibs/mmutilitylib/group/multimedia_common.mrp"/>
     </component>
     <component name="mmfw" long-name="Multimedia Framework" introduced="7.0s" purpose="mandatory">
      <unit bldFile="os/mm/mmlibs/mmfw/group" mrp="os/mm/mmlibs/mmfw/group/multimedia_mmf.mrp"/>
     </component>
    </collection>
    <collection name="mmplugins" long-name="Multimedia Plugins" level="middleware">
     <component name="imagingplugins" long-name="Imaging Plugins" introduced="7.0s" purpose="optional" plugin="Y">
      <unit bldFile="os/mm/mmplugins/imagingplugins/group" mrp="os/mm/mmplugins/imagingplugins/group/multimedia_icl_plugin.mrp"/>
     </component>
     <component name="cameraplugins" long-name="Camera Plugins" introduced="7.0s" purpose="optional" plugin="Y">
      <unit bldFile="os/mm/mmplugins/cameraplugins/group" mrp="os/mm/mmplugins/cameraplugins/group/multimedia_ecam_plugins.mrp"/>
     </component>
     <component name="lib3gp" long-name="3GP Library" introduced="^2" purpose="optional">
      <unit bldFile="os/mm/mmplugins/lib3gp/group" mrp="os/mm/mmplugins/lib3gp/group/multimedia_3gplibrary.mrp"/>
     </component>
     <component name="mmfwplugins" long-name="Multimedia Framework Plugins" introduced="7.0s" purpose="optional" plugin="Y">
      <unit bldFile="os/mm/mmplugins/mmfwplugins/group" mrp="os/mm/mmplugins/mmfwplugins/group/multimedia_mmf_plugin.mrp"/>
     </component>
    </collection>
    <collection name="mm_info" long-name="Multimedia Info" level="app-if">
     <component name="mm_plat" filter="s60" long-name="Multimedia Platform Interfaces" class="api">
      <unit bldFile="os/mm/mm_plat/group"/>
     </component>
     <component name="mm_pub" filter="s60" long-name="Multimedia Public Interfaces" class="api">
      <unit bldFile="os/mm/mm_pub/group"/>
     </component>
     <component name="mmdocs" long-name="Multimedia Documentation" purpose="development" class="doc">
      <unit mrp="os/mm/mm_info/mmdocs/multimedia_documentation.mrp"/>
     </component>
     <component name="mm_metadata" long-name="Multimedia Metadata" introduced="^2" purpose="development" class="config PC">
      <unit mrp="os/mm/mm_info/mm_metadata/mm_metadata.mrp"/>
     </component>
    </collection>
    <collection name="mmresourcemgmt" long-name="Multimedia Resource Management" level="middleware">
     <component name="mmresctrl" long-name="Multimedia Resource Controller" introduced="^2" purpose="development">
      <unit bldFile="os/mm/mmresourcemgmt/mmresctrl/group" mrp="os/mm/mmresourcemgmt/mmresctrl/group/multimedia_a3f_refmmrc.mrp"/>
     </component>
    </collection>
    <collection name="mmdevicefw" long-name="Multimedia Device Framework" level="device-fw">
     <component name="mdf" long-name="Media Device Framework" introduced="9.2" purpose="mandatory">
      <unit bldFile="os/mm/mmdevicefw/mdf/group" mrp="os/mm/mmdevicefw/mdf/group/multimedia_mdf.mrp"/>
     </component>
     <component name="speechrecogsupport" long-name="Speech Recognition Support" introduced="7.0s" purpose="mandatory">
      <unit bldFile="os/mm/mmdevicefw/speechrecogsupport/group" mrp="os/mm/mmdevicefw/speechrecogsupport/group/multimedia_mmf_ASR.mrp"/>
     </component>
    </collection>
    <collection name="mmswadaptation" long-name="Multimedia Software Adaptation" level="adaptation">
     <component name="videorenderer" long-name="Video Renderer" introduced="^3" purpose="optional">
      <unit bldFile="os/mm/mmswadaptation/videorenderer/group" mrp="os/mm/mmswadaptation/videorenderer/group/multimedia_videorenderer.mrp"/>
     </component>
    </collection>
    <collection name="mmtestenv" long-name="Multimedia Test Environment" level="device-fw"/>
    <collection name="omxil" long-name="OpenMAX IL" level="hw-if">
     <component name="omxilapi" long-name="OpenMAX IL API" introduced="^3" purpose="optional">
      <unit bldFile="os/mm/omxil/omxilapi/group" mrp="os/mm/omxil/omxilapi/group/multimedia_omx_il_api.mrp" version="1"/>
     </component>
     <component name="omxilcore" long-name="OpenMAX IL Core" introduced="^3" purpose="optional">
      <unit bldFile="os/mm/omxil/omxilcore/group" mrp="os/mm/omxil/omxilcore/group/multimedia_omx_il_core.mrp" version="1"/>
     </component>
     <component name="omxilcomponentcommon" long-name="OpenMAX IL Component Framework" introduced="^3" purpose="optional">
      <unit bldFile="os/mm/omxil/omxilcomponentcommon/group" mrp="os/mm/omxil/omxilcomponentcommon/group/multimedia_omx_il_comp.mrp" version="1"/>
     </component>
     <component name="omxilrefcomps" long-name="OpenMAX IL Reference Components" introduced="^3" purpose="optional">
      <unit bldFile="os/mm/omxil/omxilrefcomps/ref_components/group" mrp="os/mm/omxil/omxilrefcomps/ref_components/group/multimedia_omx_il_comp_ref.mrp" version="1"/>
     </component>
     <component name="mmilapi" long-name="Multimedia Integration Layer API" introduced="^3" purpose="development">
      <unit bldFile="os/mm/omxil/mmilapi/group" mrp="os/mm/omxil/mmilapi/group/multimedia_il_api.mrp"/>
     </component>
    </collection>
    <collection name="devsound" long-name="Sound Device" level="devices">
     <component name="devsoundapi" long-name="DevSound API" introduced="7.0s" purpose="mandatory">
      <unit bldFile="os/mm/devsound/devsoundapi/group" mrp="os/mm/devsound/devsoundapi/group/multimedia_mdf_devsound_api.mrp"/>
     </component>
     <component name="a3fdevsound" long-name="A3F DevSound" introduced="^2" purpose="optional">
      <unit bldFile="os/mm/devsound/a3fdevsound/group" mrp="os/mm/devsound/a3fdevsound/group/multimedia_a3f_devsound.mrp"/>
     </component>
     <component name="a3facf" long-name="A3F Audio Component Framework" introduced="^2" purpose="optional">
      <unit bldFile="os/mm/devsound/a3facf/group" mrp="os/mm/devsound/a3facf/group/multimedia_a3f_acf.mrp"/>
     </component>
     <component name="devsoundpluginsupport" long-name="DevSound Plugin Support" introduced="7.0s" purpose="optional">
      <unit bldFile="os/mm/devsound/devsoundpluginsupport/group" mrp="os/mm/devsound/devsoundpluginsupport/group/multimedia_mdf_devsound_pluginsupport.mrp"/>
     </component>
     <component name="refdevsound" long-name="Reference DevSound Plugins" introduced="7.0s" purpose="optional">
      <unit bldFile="os/mm/devsound/devsoundrefplugin/group" mrp="os/mm/devsound/devsoundrefplugin/group/multimedia_mdf_devsound_refplugin.mrp"/>
     </component>
     <component name="btdevsound" long-name="Bluetooth DevSound Plugin" introduced="7.0s" purpose="development" plugin="Y">
      <unit bldFile="os/mm/devsound/sounddevbt/group" mrp="os/mm/devsound/sounddevbt/group/multimedia_mdf_devsound_refbtplugin.mrp"/>
     </component>
     <component name="a3ftrace" long-name="A3F Trace Utility" introduced="^2" purpose="development">
      <unit bldFile="os/mm/devsound/a3ftrace/group" mrp="os/mm/devsound/a3ftrace/group/multimedia_a3f_traces.mrp"/>
     </component>
     <component name="a3fsrvstart" long-name="A3F Server Start" introduced="^2" purpose="optional" plugin="Y">
      <unit bldFile="os/mm/devsound/a3fsrvstart/group" mrp="os/mm/devsound/a3fsrvstart/group/multimedia_a3f_serverstart.mrp"/>
     </component>
    </collection>
    <collection name="mmhais" long-name="Multimedia Hardware Adaptation Interfaces" level="adaptation">
     <component name="devsoundhwdeviceapi" long-name="DevSound Hardware Device API" introduced="7.0s" purpose="optional">
      <unit bldFile="os/mm/devsound/hwdevapi/group" mrp="os/mm/devsound/hwdevapi/group/multimedia_mdf_devsound_hwdev.mrp"/>
     </component>
     <component name="a3facl" long-name="A3F Audio Component Library" introduced="^2" purpose="development">
      <unit bldFile="os/mm/mmhais/a3facl/group" mrp="os/mm/mmhais/a3facl/group/multimedia_a3f_acl.mrp"/>
     </component>
     <component name="a3fdevsoundcustomisation" long-name="A3F DevSound Customisation" introduced="^2" purpose="optional">
      <unit bldFile="os/mm/mmhais/a3fdevsoundcustomisation/group" mrp="os/mm/mmhais/a3fdevsoundcustomisation/group/multimedia_a3f_devsoundadaptationinfo.mrp"/>
     </component>
     <component name="refacladapt" long-name="Reference ACL Adaptation" introduced="^2" purpose="optional">
      <unit bldFile="os/mm/mmhais/refacladapt/group" mrp="os/mm/mmhais/refacladapt/group/multimedia_a3f_refacladaptation.mrp"/>
     </component>
     <component name="videohai" long-name="Video HAI" introduced="7.0s" purpose="mandatory">
      <unit bldFile="os/mm/mmhais/videohai/group" mrp="os/mm/mmhais/videohai/group/multimedia_videohai.mrp"/>
     </component>
     <component name="dvbhreceiverhai" long-name="Mobile TV DVB-H Receiver HAI" introduced="^2" purpose="optional">
      <unit bldFile="os/mm/mmhais/dvbhreceiverhai/hai/dvbh/group" mrp="os/mm/mmhais/dvbhreceiverhai/hai/dvbh/group/multimedia_mobiletv_dvbh_hai.mrp"/>
     </component>
    </collection>
    <collection name="mmapitest" long-name="Multimedia API Tests" level="app-if">
     <component name="mmsvs" long-name="Multimedia Verification Suite" introduced="^2" purpose="development">
      <unit mrp="os/mm/mmapitest/mmsvs/group/mmsvs.mrp"/>
     </component>
    </collection>
   </block>
   <block name="imagingext" level="services" long-name="Imaging Extensions" levels="adaptation hw-if plugin framework server app-if">
    <collection name="imageadaptationextensions" long-name="Image Adaptation Extensions" level="app-if">
     <component name="iclextjpegapi" filter="s60" long-name="ICL Extension JPEG API">
      <unit bldFile="os/imagingext/imageadaptationextensions/iclextjpegapi/group"/>
     </component>
     <component name="imageadaptationextensions_build" filter="s60" long-name="Image Adaptation Extensions Build">
      <!--  Move the export from this bld.inf into the above one and remove this component, or make this a ROM component -->
      <unit bldFile="os/imagingext/imageadaptationextensions/group"/>
     </component>
    </collection>
    <collection name="imagingmodules" long-name="Imaging Modules" level="hw-if">
     <component name="exiflib" filter="s60" long-name="Exif Library">
      <unit bldFile="os/imagingext/imagingmodules/exiflib/group"/>
     </component>
     <component name="jp2kcodec" filter="s60" long-name="JPEG2000 Decoder Plugin" plugin="Y">
      <unit bldFile="os/imagingext/imagingmodules/jp2kcodec/group"/>
     </component>
    </collection>
    <collection name="imagingext_info" long-name="Imaging Extensions Info" level="app-if">
     <component name="imagingext_plat" filter="s60" long-name="Imaging Extensions Platform Interfaces" class="api">
      <unit bldFile="os/imagingext/imagingext_plat/group"/>
     </component>
     <component name="imagingext_pub" filter="s60" long-name="Imaging Extensions Public Interfaces" class="api">
      <unit bldFile="os/imagingext/imagingext_pub/group"/>
     </component>
    </collection>
   </block>
   <block name="graphics" level="services" long-name="Graphics" levels="adaptation engines internal-adaptations device-interface internal-utils app-if">
    <collection name="graphicsaccelaration" long-name="Graphics Acceleration" level="adaptation">
     <component name="vgi" filter="s60" long-name="VGI">
      <unit bldFile="os/graphics/graphicsaccelaration/vgi/group"/>
     </component>
    </collection>
    <collection name="m3g" long-name="Mobile 3D Graphics" level="internal-adaptations">
     <component name="m3gcore11" filter="s60" long-name="M3G Core 1.1">
      <unit bldFile="os/graphics/m3g/m3gcore11/group"/>
     </component>
    </collection>
    <collection name="graphicsresourceservices" long-name="Graphics Resource Services" level="engines">
     <component name="graphicsresource" long-name="Graphics Resource" introduced="^3" deprecated="^3" purpose="optional">
      <unit bldFile="os/graphics/graphicsresourceservices/graphicsresource/group" mrp="os/graphics/graphicsresourceservices/graphicsresource/group/graphics_graphicsresource.mrp"/>
     </component>
     <component name="graphicsresourceadaptation" long-name="Graphics Resource Adaptation" introduced="^3" deprecated="^3" purpose="optional">
      <unit bldFile="os/graphics/graphicsresourceservices/graphicsresourceadaptation/group" mrp="os/graphics/graphicsresourceservices/graphicsresourceadaptation/group/graphics_graphicsresourceadapter.mrp"/>
     </component>
    </collection>
    <collection name="graphicsutils" long-name="Graphics Utils" level="engines">
     <component name="commongraphicsheaders" long-name="Common Graphics Headers" introduced="^3" purpose="mandatory">
      <unit bldFile="os/graphics/graphicsutils/commongraphicsheaders/group" mrp="os/graphics/graphicsutils/commongraphicsheaders/group/graphics_commonheader.mrp"/>
     </component>
    </collection>
    <collection name="graphicshwdrivers" long-name="Graphics Hardware Drivers" level="adaptation">
     <!-- displayldd to be moved here -->
     <component name="surfacemgr" long-name="Surface Manager" introduced="^3" purpose="optional">
      <unit bldFile="os/graphics/graphicshwdrivers/surfacemgr/group" mrp="os/graphics/graphicshwdrivers/surfacemgr/group/graphics_surfacemanager.mrp"/>
     </component>
    </collection>
    <collection name="graphicscomposition" long-name="Graphics Composition" level="engines">
     <component name="openwfcinterface" long-name="OpenWF Composition Interface" introduced="^3" purpose="optional">
      <unit bldFile="os/graphics/graphicscomposition/openwfcinterface/group" mrp="os/graphics/graphicscomposition/openwfcinterface/group/graphics_openwfcinterface.mrp"/>
     </component>
     <component name="openwfcompositionengine" long-name="OpenWF Composition Engine" introduced="^3" purpose="development">
      <unit bldFile="os/graphics/graphicscomposition/openwfcompositionengine/group" mrp="os/graphics/graphicscomposition/openwfcompositionengine/group/graphics_openwfcompositionengine.mrp"/>
     </component>
     <component name="openwfsupport" long-name="OpenWF Support" introduced="^3" purpose="optional">
      <unit bldFile="os/graphics/graphicscomposition/openwfsupport/group" mrp="os/graphics/graphicscomposition/openwfsupport/group/graphics_openwfsupport.mrp"/>
     </component>
     <component name="surfaceupdate" long-name="Surface Update" introduced="^3" purpose="optional">
      <unit bldFile="os/graphics/graphicscomposition/surfaceupdate/group" mrp="os/graphics/graphicscomposition/surfaceupdate/group/graphics_surfaceupdate.mrp"/>
     </component>
    </collection>
    <collection name="graphicstest" long-name="Graphics Test" level="app-if">
     <component name="uibench" long-name="UI Bench" introduced="9.2" purpose="development">
      <unit bldFile="os/graphics/graphicstest/uibench/group" mrp="os/graphics/graphicstest/uibench/group/graphics_ui_bench.mrp"/>
     </component>
    </collection>
    <collection name="graphics_info" long-name="Graphics Info" level="app-if">
     <component name="m3g_core_api" filter="sf_build" long-name="M3G Core API" class="api">
      <unit bldFile="os/graphics/graphics_plat/m3g_core_api/group"/>
      <!-- cope with missing graphics_plat/group -->
     </component>
     <component name="graphicsdocs" long-name="Graphics Documentation" purpose="development" class="doc">
      <unit mrp="os/graphics/graphics_info/graphicsdocs/graphics_documentation.mrp"/>
     </component>
     <component name="graphics_metadata" long-name="Graphics Metadata" introduced="^2" purpose="development" class="config PC">
      <unit mrp="os/graphics/graphics_info/graphics_metadata/graphics_metadata.mrp"/>
     </component>
    </collection>
    <collection name="windowing" long-name="Windowing" level="app-if">
     <component name="windowserver" long-name="Window Server" purpose="mandatory">
      <unit bldFile="os/graphics/windowing/windowserver/group" mrp="os/graphics/windowing/windowserver/group/graphics_wserv.mrp"/>
     </component>
     <component name="windowserverplugins" long-name="Window Server Plugins" introduced="^3" purpose="optional" plugin="Y">
      <unit bldFile="os/graphics/windowing/windowserverplugins/group" mrp="os/graphics/windowing/windowserverplugins/group/graphics_wserv_std_plugins.mrp"/>
     </component>
    </collection>
    <collection name="printingservices" long-name="Printing Services" level="app-if">
     <component name="printerdriversupport" long-name="Printer Driver Support" purpose="optional">
      <unit bldFile="os/graphics/printingservices/printerdriversupport/group" mrp="os/graphics/printingservices/printerdriversupport/group/graphics_pdrstore.mrp"/>
     </component>
     <component name="printerdrivers" long-name="Printer Drivers" purpose="optional" plugin="Y">
      <unit bldFile="os/graphics/printingservices/printerdrivers/group" mrp="os/graphics/printingservices/printerdrivers/group/graphics_printdrv.mrp"/>
     </component>
    </collection>
    <collection name="fbs" long-name="Font and Bitmap Server" level="device-interface">
     <component name="fontandbitmapserver" long-name="Font and Bitmap Server" purpose="mandatory">
      <unit bldFile="os/graphics/fbs/fontandbitmapserver/group" mrp="os/graphics/fbs/fontandbitmapserver/group/graphics_fbserv.mrp"/>
     </component>
    </collection>
    <collection name="opengles" long-name="OpenGLES" level="internal-adaptations">
     <component name="openglesinterface" long-name="OpenGL ES Interface" introduced="8.0" purpose="optional">
      <unit bldFile="os/graphics/opengles/openglesinterface/group" mrp="os/graphics/opengles/openglesinterface/group/graphics_openglesheaders.mrp"/>
     </component>
     <component name="opengles_stub" filter="sf_build" long-name="OpenGL ES Stub" purpose="optional" introduced="^2">
      <unit bldFile="os/graphics/opengles/openglesinterface/group/opengles_stub"/>
     </component>
    </collection>
    <collection name="openvg" long-name="OpenVG" level="internal-adaptations">
     <component name="openvginterface" long-name="OpenVG Interface" introduced="^2" purpose="optional">
      <unit bldFile="os/graphics/openvg/openvginterface/group" mrp="os/graphics/openvg/openvginterface/group/graphics_openvgheaders.mrp"/>
     </component>
     <component name="openvg11" filter="s60" long-name="OpenVG 1.1">
      <!-- this needs to be moved to it's own component directory, ie openvg/openvg11 -->
      <unit bldFile="os/graphics/openvg/openvginterface/group/openvg11"/>
     </component>
     <component name="sfopenvg" filter="sf_build" long-name="Khronos OpenVG Reference Implementation" introduced="^2" purpose="optional">
      <unit bldFile="os/graphics/openvg/openvgrefimplementation/sfopenvg/group"/>
     </component>
    </collection>
    <collection name="egl" long-name="EGL" level="internal-adaptations">
     <component name="eglinterface" long-name="EGL Interface" introduced="^2" purpose="optional">
      <unit bldFile="os/graphics/egl/eglinterface/group" mrp="os/graphics/egl/eglinterface/group/graphics_eglheaders.mrp"/>
     </component>
     <component name="eglswitch" long-name="EGL Switch" introduced="^3" purpose="optional">
      <unit bldFile="os/graphics/egl/eglswitch/group" mrp="os/graphics/egl/eglswitch/group/graphics_eglswitch.mrp"/>
     </component>
     <component name="eglrefimpl" long-name="EGL Reference Implementation" introduced="^3" purpose="optional">
      <unit bldFile="os/graphics/egl/eglrefimpl/group" mrp="os/graphics/egl/eglrefimpl/group/graphics_eglrefimpl.mrp"/>
     </component>
     <component name="egltest" long-name="EGL Tests" introduced="^3" purpose="development">
      <unit bldFile="os/graphics/egl/egltest/group" mrp="os/graphics/egl/egltest/group/graphics_egltest.mrp"/>
     </component>
    </collection>
    <collection name="graphicsdeviceinterface" long-name="Graphics Device Interface" level="device-interface">
     <component name="gdi" long-name="GDI" purpose="mandatory">
      <unit bldFile="os/graphics/graphicsdeviceinterface/gdi/group" mrp="os/graphics/graphicsdeviceinterface/gdi/group/graphics_gdi.mrp"/>
     </component>
     <component name="bitgdi" long-name="BitGDI" purpose="mandatory">
      <unit bldFile="os/graphics/graphicsdeviceinterface/bitgdi/group" mrp="os/graphics/graphicsdeviceinterface/bitgdi/group/graphics_bitgdi.mrp"/>
     </component>
     <component name="colourpalette" long-name="Colour Palette" introduced="7.0s" purpose="optional">
      <unit bldFile="os/graphics/graphicsdeviceinterface/colourpalette/group" mrp="os/graphics/graphicsdeviceinterface/colourpalette/group/graphics_palette.mrp"/>
     </component>
     <component name="screendriver" long-name="Screen Driver" introduced="6.1" purpose="optional" plugin="Y">
      <unit bldFile="os/graphics/graphicsdeviceinterface/screendriver/group" mrp="os/graphics/graphicsdeviceinterface/screendriver/group/graphics_screendriver.mrp"/>
     </component>
     <component name="directgdi" long-name="DirectGDI" introduced="^3" deprecated="^3" purpose="optional">
      <unit bldFile="os/graphics/graphicsdeviceinterface/directgdi/group" mrp="os/graphics/graphicsdeviceinterface/directgdi/group/graphics_directgdi.mrp"/>
     </component>
     <component name="directgdiinterface" long-name="DirectGDI Interface" introduced="^3" deprecated="^3" purpose="optional">
      <unit bldFile="os/graphics/graphicsdeviceinterface/directgdiinterface/group" mrp="os/graphics/graphicsdeviceinterface/directgdiinterface/group/graphics_directgdiheaders.mrp"/>
     </component>
     <component name="directgdiadaptation" long-name="DirectGDI Adaptation" introduced="^3" deprecated="^3" purpose="optional">
      <unit bldFile="os/graphics/graphicsdeviceinterface/directgdiadaptation/group" mrp="os/graphics/graphicsdeviceinterface/directgdiadaptation/group/graphics_directgdiadapter.mrp"/>
     </component>
    </collection>
    <collection name="graphicstools" long-name="Graphics Tools" level="internal-utils">
     <component name="gdi_tools" long-name="GDI Tools" purpose="development" class="PC">
      <unit bldFile="os/graphics/graphicstools/gdi_tools/group" mrp="os/graphics/graphicstools/gdi_tools/group/graphics_gditools.mrp"/>
     </component>
    </collection>
    <collection name="graphicsapitest" long-name="Graphics API Tests" level="app-if"/>
   </block>
   <block name="textandloc" level="services" long-name="Text and Localisation Services" levels="encoding util fonts tools text">
    <collection name="charconvfw" long-name="Character Conversion" level="encoding">
     <component name="charconv_fw" long-name="Character Encoding and Conversion Framework" purpose="optional">
      <unit bldFile="os/textandloc/charconvfw/charconv_fw/group" mrp="os/textandloc/charconvfw/charconv_fw/group/syslibs_charconv.mrp"/>
     </component>
     <component name="charconvplugins" long-name="Character Encoding and Conversion Plugins" purpose="optional" plugin="Y">
      <unit bldFile="os/textandloc/charconvfw/charconvplugins/group" mrp="os/textandloc/charconvfw/charconvplugins/group/syslibs_charconv_plugins.mrp"/>
     </component>
     <component name="fatfilenameconversionplugins" long-name="FAT Filename Conversion Plugins" introduced="9.1" purpose="optional" plugin="Y">
      <unit bldFile="os/textandloc/charconvfw/fatfilenameconversionplugins/group" mrp="os/textandloc/charconvfw/fatfilenameconversionplugins/group/syslibs_FATCharsetConv.mrp"/>
     </component>
    </collection>
    <collection name="fontandtxtsrv" long-name="Font and Text Services" level="fonts">
     <component name="iculayoutengine" long-name="ICU Layout Engine" introduced="9.2" purpose="optional" plugin="Y">
      <unit bldFile="os/textandloc/fontservices/textshaperplugin/group" mrp="os/textandloc/fontservices/textshaperplugin/group/graphics_iculayoutengine.mrp"/>
     </component>
     <component name="fontstore" long-name="Font Store" purpose="mandatory">
      <unit bldFile="os/textandloc/fontservices/fontstore/group" mrp="os/textandloc/fontservices/fontstore/group/graphics_fntstore.mrp"/>
     </component>
     <component name="textrendering" long-name="Text Rendering" purpose="mandatory" class="placeholder">
      <!-- placeholder for text code from GDI -->
     </component>
     <component name="freetypefontrasteriser" long-name="FreeType Font Rasteriser" purpose="optional" plugin="Y">
      <unit bldFile="os/textandloc/fontservices/freetypefontrasteriser/group" mrp="os/textandloc/fontservices/freetypefontrasteriser/group/graphics_freetype.mrp"/>
     </component>
     <component name="referencefonts" long-name="Reference Fonts" introduced="6.0" purpose="optional">
      <unit bldFile="os/textandloc/fontservices/referencefonts/group" mrp="os/textandloc/fontservices/referencefonts/group/graphics_fonts.mrp"/>
     </component>
    </collection>
    <collection name="textlayout" long-name="Text Layout" level="text">
     <component name="texthandling" long-name="Text Handling" purpose="optional">
      <unit bldFile="os/textandloc/textrendering/texthandling/group" mrp="os/textandloc/textrendering/texthandling/group/app-framework_etext.mrp"/>
     </component>
     <component name="textformatting" long-name="Text Formatting" purpose="optional">
      <unit bldFile="os/textandloc/textrendering/textformatting/group" mrp="os/textandloc/textrendering/textformatting/group/app-framework_form.mrp"/>
     </component>
    </collection>
    <collection name="textandlocutils" long-name="Text and Localisation Utils" level="util">
     <!-- components in this collection need to be moved to the right collection.
    		Either move into the units' directories, or create a new textandlocutils directory -->
     <component name="numbergrouping" filter="s60" long-name="Number Grouping">
      <unit bldFile="os/textandloc/charconvfw/numbergrouping/group"/>
     </component>
     <component name="jplangutil" filter="s60" long-name="Japanese Language Utilities">
      <unit bldFile="os/textandloc/charconvfw/jplangutil/group"/>
     </component>
     <component name="sortutil" filter="s60" long-name="Sorting Utility">
      <unit bldFile="os/textandloc/charconvfw/sortutil/group"/>
     </component>
     <component name="inlinetext" filter="s60" long-name="Inline Text">
      <unit bldFile="os/textandloc/charconvfw/inlinetext/group"/>
     </component>
     <component name="nearestlangutil" long-name="Nearest Language Util" introduced="^2" purpose="mandatory" class="placeholder">
      <!-- placeholder for split from bafl -->
     </component>
     <component name="numberformatting" long-name="Number Formatting" introduced="7.0s" purpose="optional">
      <unit bldFile="os/textandloc/textrendering/numberformatting/group" mrp="os/textandloc/textrendering/numberformatting/group/app-framework_numberconversion.mrp"/>
     </component>
    </collection>
    <collection name="localesupport" long-name="Locale Support" level="util">
     <component name="reflocales" long-name="Reference Locales" purpose="optional" plugin="Y">
      <unit bldFile="os/textandloc/localisation/localesupport" mrp="os/textandloc/localisation/localesupport/mmpfiles/base_loce32.mrp"/>
     </component>
     <component name="initlocale" long-name="Initialise Locale" introduced="^2" purpose="mandatory" class="placeholder">
      <!-- placeholder for split from bafl -->
     </component>
    </collection>
    <collection name="textandloctools" long-name="Text and Localisation Tools" level="tools">
     <component name="fontcompiler" long-name="Font Compiler" purpose="development" class="placeholder PC">
      <!-- placeholder for split from GDI Tools -->
     </component>
     <component name="bitmapfonttools" long-name="Bitmap Font Tools" purpose="development" class="PC">
      <unit bldFile="os/graphics/graphicstools/bitmapfonttools/group" mrp="os/graphics/graphicstools/bitmapfonttools/group/graphics_gdtran.mrp"/>
     </component>
    </collection>
    <collection name="textandloc_info" long-name="Text and Localisation Info" level="text">
     <component name="textandloc_pub" filter="s60" long-name="Text and Localisation Public Interfaces" class="api">
      <unit bldFile="os/textandloc/textandloc_pub/group"/>
     </component>
     <component name="textandloc_plat" filter="s60" long-name="Text and Localisation Platform Interfaces" class="api">
      <unit bldFile="os/textandloc/textandloc_plat/group"/>
     </component>
     <component name="textandloc_metadata" long-name="Text and Localisation Metadata" introduced="^2" purpose="development" class="config PC">
      <unit mrp="os/textandloc/textandloc_info/textandloc_metadata/textandloc_metadata.mrp"/>
     </component>
    </collection>
   </block>
   <block name="xmlsrv" level="services" long-name="XML Services" levels="plugin server framework generic specific">
    <collection name="xmlsecurityengine" long-name="XML Security Engine" level="framework">
     <component name="xmlseccertman" filter="s60" long-name="XML Security Certificate Manager">
      <unit bldFile="os/xmlsrv/xmlsecurityengine/xmlseccertman/group"/>
     </component>
     <component name="xmlsec" filter="s60" long-name="XML Security">
      <unit bldFile="os/xmlsrv/xmlsecurityengine/xmlsec/group"/>
     </component>
     <component name="xmlseccrypto" filter="s60" long-name="XML Security Crypto">
      <unit bldFile="os/xmlsrv/xmlsecurityengine/xmlseccrypto/group"/>
     </component>
     <component name="xmlsecwrapper" filter="s60" long-name="XML Security Wrapper">
      <unit bldFile="os/xmlsrv/xmlsecurityengine/xmlsecwrapper/group"/>
     </component>
    </collection>
    <collection name="xml" long-name="XML" level="generic">
     <component name="xmlfw" long-name="XML Framework" introduced="7.0s" purpose="optional">
      <unit bldFile="os/xmlsrv/xml/xmlfw/group" mrp="os/xmlsrv/xml/xmlfw/group/syslibs_xml.mrp"/>
     </component>
     <component name="libxml2libs" long-name="Libxml2 Libraries" introduced="^3" purpose="optional">
      <unit bldFile="os/xmlsrv/xml/libxml2libs/group" mrp="os/xmlsrv/xml/libxml2libs/group/syslibs_libxml2.mrp"/>
     </component>
     <component name="legacyminidomparser" long-name="Legacy Mini-DOM Parser" introduced="7.0s" purpose="optional">
      <unit bldFile="os/xmlsrv/xml/legacyminidomparser/GROUP" mrp="os/xmlsrv/xml/legacyminidomparser/GROUP/syslibs_legacyminidomparser.mrp"/>
     </component>
     <component name="xmldomandxpath" long-name="XML DOM and XPath" introduced="^3" purpose="optional">
      <unit bldFile="os/xmlsrv/xml/xmldomandxpath/group" mrp="os/xmlsrv/xml/xmldomandxpath/group/syslibs_xmldom.mrp"/>
     </component>
     <component name="xmlexpatparser" long-name="XML Expat Parser" introduced="7.0s" purpose="optional" plugin="Y">
      <unit bldFile="os/xmlsrv/xml/xmlexpatparser/group" mrp="os/xmlsrv/xml/xmlexpatparser/group/syslibs_xmlparser.mrp"/>
     </component>
     <component name="xmllibxml2parser" long-name="XML Libxml2 Parser" introduced="^3" purpose="optional" plugin="Y">
      <unit bldFile="os/xmlsrv/xml/xmllibxml2parser/group" mrp="os/xmlsrv/xml/xmllibxml2parser/group/syslibs_xmlparser2.mrp"/>
     </component>
     <component name="wbxmlparser" long-name="WBXML Parser" introduced="7.0s" purpose="optional" plugin="Y">
      <unit bldFile="os/xmlsrv/xml/wbxmlparser/group" mrp="os/xmlsrv/xml/wbxmlparser/group/syslibs_wbxmlparser.mrp"/>
     </component>
    </collection>
    <collection name="xmlsrv_info" long-name="XML Services Info" level="specific">
     <component name="xmlsrv_plat" filter="s60" long-name="XML Services Platform Interfaces" class="api">
      <unit bldFile="os/xmlsrv/xmlsrv_plat/group"/>
     </component>
     <component name="xmlsrv_metadata" long-name="XML Services Metadata" introduced="^2" purpose="development" class="config PC">
      <unit mrp="os/xmlsrv/xmlsrv_info/xmlsrv_metadata/xmlsrv_metadata.mrp"/>
     </component>
    </collection>
   </block>
   <block name="deviceplatformrelease" level="services" long-name="Device Platform Release" levels="bld mid top">
    <collection name="s60extras" long-name="S60 Extras" level="mid">
     <!-- collection is really a component. Need to move down a directory -->
     <component name="s60extras_build" filter="s60" long-name="S60 Extras Build" purpose="development" class="config">
      <unit bldFile="os/deviceplatformrelease/S60Extras/group"/>
     </component>
    </collection>
    <collection name="locfiles" long-name="Locale Files" level="mid">
     <component name="locfiles_build" filter="s60" long-name="S60 Locale Files Build" purpose="development" class="config">
      <!-- need to move component down a directory -->
      <unit bldFile="os/deviceplatformrelease/locfiles/group"/>
     </component>
     <component name="locfiles_set1" long-name="Locale Files Set 1" filter="s60" class="config">
      <unit bldFile="os/deviceplatformrelease/locfiles/group/set1"/>
     </component>
     <component name="locfiles_set2" long-name="Locale Files Set 2" filter="s60" class="config">
      <unit bldFile="os/deviceplatformrelease/locfiles/group/set2"/>
     </component>
     <component name="locfiles_set3" long-name="Locale Files Set 3" filter="s60" class="config">
      <unit bldFile="os/deviceplatformrelease/locfiles/group/set3"/>
     </component>
     <component name="locfiles_set4" long-name="Locale Files Set 4" filter="s60" class="config">
      <unit bldFile="os/deviceplatformrelease/locfiles/group/set4"/>
     </component>
     <component name="locfiles_set5" long-name="Locale Files Set 5" filter="s60" class="config">
      <unit bldFile="os/deviceplatformrelease/locfiles/group/set5"/>
     </component>
     <component name="locfiles_set6" long-name="Locale Files Set 6" filter="s60" class="config">
      <unit bldFile="os/deviceplatformrelease/locfiles/group/set6"/>
     </component>
     <!-- is the a problem with SF builds with the following? -->
     <component name="locfiles_set7" long-name="Locale Files Set 7" filter="s60" class="config">
      <unit bldFile="os/deviceplatformrelease/locfiles/group/set7"/>
     </component>
     <component name="locfiles_set8" long-name="Locale Files Set 8" filter="s60" class="config">
      <unit bldFile="os/deviceplatformrelease/locfiles/group/set8"/>
     </component>
     <component name="locfiles_set9" long-name="Locale Files Set 9" filter="s60" class="config">
      <unit bldFile="os/deviceplatformrelease/locfiles/group/set9"/>
     </component>
     <component name="locfiles_set10" long-name="Locale Files Set 10" filter="s60" class="config">
      <unit bldFile="os/deviceplatformrelease/locfiles/group/set10"/>
     </component>
     <component name="locfiles_set11" long-name="Locale Files Set 11" filter="s60" class="config">
      <unit bldFile="os/deviceplatformrelease/locfiles/group/set11"/>
     </component>
     <component name="locfiles_set12" long-name="Locale Files Set 12" filter="s60" class="config">
      <unit bldFile="os/deviceplatformrelease/locfiles/group/set12"/>
     </component>
     <component name="locfiles_set13" long-name="Locale Files Set 13" filter="s60" class="config">
      <unit bldFile="os/deviceplatformrelease/locfiles/group/set13"/>
     </component>
     <component name="locfiles_set14" long-name="Locale Files Set 14" filter="s60" class="config">
      <unit bldFile="os/deviceplatformrelease/locfiles/group/set14"/>
     </component>
     <component name="locfiles_set15" long-name="Locale Files Set 15" filter="s60" class="config">
      <unit bldFile="os/deviceplatformrelease/locfiles/group/set15"/>
     </component>
     <component name="locfiles_set16" long-name="Locale Files Set 16" filter="s60" class="config">
      <unit bldFile="os/deviceplatformrelease/locfiles/group/set16"/>
     </component>
    </collection>
    <collection name="version" long-name="Version" level="top">
     <!-- collection is really a component. Need to move down a directory -->
     <component name="version_build" filter="s60" long-name="Version Build" purpose="development" class="config">
      <unit bldFile="os/deviceplatformrelease/Version/group"/>
     </component>
    </collection>
    <collection name="helps_loc2" long-name="Helps Locale 2" level="top">
     <!-- collection is really a component. Need to move down a directory -->
     <component name="helps_loc2_build" long-name="Helps Locale 2 Build" filter="s60">
      <unit bldFile="os/deviceplatformrelease/helps_loc2/group"/>
     </component>
    </collection>
    <collection name="sf_config" long-name="SF Config" level="mid">
     <component name="config" filter="s60" long-name="Config" purpose="development" class="config"/>
     <component name="cenrep" filter="sf_build" long-name="ConE Central Repository Config" purpose="development" class="config">
      <!-- will shoudl give the id/path something more unique than cenrep -->
      <unit bldFile="os/deviceplatformrelease/sf_config/cenrep/group"/>
     </component>
    </collection>
    <!-- should be located locally in buildplatforms/group 
    <collection id="s60bld" name="S60 Build">
      <component id="buildplatforms" filter="s60" name="Build Platforms">
        <unit bldFile="/tools/buildplatforms/group"/>
      </component>
    </collection>-->
    <collection name="symbianosbld" long-name="Symbian OS Build" level="bld">
     <component name="cedarutils" long-name="Cedar Utils" purpose="development">
      <unit mrp="os/deviceplatformrelease/symbianosbld/cedarutils/tools_utils_cedar.mrp"/>
     </component>
     <component name="productionbldcbrconfig" long-name="Production Build CBR Config" filter="gt" purpose="development" class="config">
      <unit mrp="os/deviceplatformrelease/symbianosbld/productionbldcbrconfig/product_cbr_config.mrp"/>
     </component>
     <component name="foundation_s60_packages" long-name="Foundation S60 Packages" introduced="^3" deprecated="^3" purpose="development" class="config PC">
      <unit mrp="os/deviceplatformrelease/symbianosbld/foundation_s60_packages/foundation_s60_packages.mrp"/>
     </component>
    </collection>
    <collection name="foundation_system" long-name="Foundation System" level="top">
     <component name="system_model" long-name="System Model" introduced="^2" purpose="development" class="config PC">
      <unit mrp="os/deviceplatformrelease/foundation_system/system_model/system_model.mrp"/>
     </component>
    </collection>
    <collection name="deviceplatformrelease_info" long-name="Device Platform Release Info" level="top">
     <component name="deviceplatformrelease_metadata" long-name="Device Platform Release Metadata" introduced="^2" purpose="development" class="config PC">
      <unit mrp="os/deviceplatformrelease/deviceplatformrelease_info/deviceplatformrelease_metadata/deviceplatformrelease_metadata.mrp"/>
     </component>
    </collection>
   </block>
   <block name="osrndtools" level="services" long-name="OS R&amp;D tools" levels="fw trace">
    <collection name="stif" long-name="STIF" level="fw">
     <component name="stif_plat" filter="s60" long-name="STIF Platform Interfaces" purpose="development" class="api">
      <unit bldFile="os/osrndtools/stif/stif_plat/group"/>
     </component>
     <component name="testinterface" filter="s60" long-name="Test Interface" purpose="development">
      <unit bldFile="os/osrndtools/stif/testinterface/group"/>
     </component>
     <component name="testserver" filter="s60" long-name="Test Server" purpose="development">
      <unit bldFile="os/osrndtools/stif/testserver/group"/>
     </component>
     <component name="testengine" filter="s60" long-name="Test Engine" purpose="development">
      <unit bldFile="os/osrndtools/stif/testengine/group"/>
     </component>
     <component name="testserverstarter" filter="s60" long-name="Test Server Starter" purpose="development">
      <unit bldFile="os/osrndtools/stif/testserverstarter/group"/>
     </component>
     <component name="stiftfwif" filter="s60" long-name="STIF Test Framework Interface" purpose="development">
      <unit bldFile="os/osrndtools/stif/stiftfwif/group"/>
     </component>
     <component name="consoleui" filter="s60" long-name="Console UI" purpose="development">
      <unit bldFile="os/osrndtools/stif/consoleui/group"/>
     </component>
     <component name="testcombiner" filter="s60" long-name="Test Combiner" purpose="development">
      <unit bldFile="os/osrndtools/stif/testcombiner/group"/>
     </component>
     <component name="demomodule" filter="s60" long-name="Demo Module" purpose="development">
      <unit bldFile="os/osrndtools/stif/demomodule/group"/>
     </component>
     <component name="atslogger" filter="s60" long-name="ATS Logger" purpose="development">
      <unit bldFile="os/osrndtools/stif/atslogger/group"/>
     </component>
     <component name="atsinterface" filter="s60" long-name="ATS Interface" purpose="development">
      <unit bldFile="os/osrndtools/stif/atsinterface/group"/>
     </component>
     <component name="testscripter" filter="s60" long-name="Test Scripter" purpose="development">
      <unit bldFile="os/osrndtools/stif/testscripter/group"/>
     </component>
     <component name="suevent" filter="s60" long-name="SU Event" purpose="development">
      <unit bldFile="os/osrndtools/stif/suevent/group"/>
     </component>
     <component name="stifkerneltestclassbase" filter="s60" long-name="STIF Kernel Test Class Base" purpose="development">
      <!-- uncomment the unit when configuration is in place, it's currently #included from stif_build -->
      <!-- <unit bldFile="stif/stifkerneltestclassbase/group"/>-->
     </component>
     <component name="stif_build" filter="s60" long-name="STIF Build" purpose="development">
      <!--  move exports into self-contained component. Remove this when configuration is in place-->
      <unit bldFile="os/osrndtools/stif/group"/>
     </component>
    </collection>
    <collection name="memspy" long-name="Memspy" level="trace">
     <component name="memspy_plat" filter="s60" long-name="Memspy Platform Interfaces" purpose="development" class="api">
      <unit bldFile="os/osrndtools/memspy/memspy_plat/group"/>
     </component>
     <component name="driver" filter="s60" long-name="Memspy Driver" purpose="development">
      <unit bldFile="os/osrndtools/memspy/driver/group"/>
     </component>
     <component name="memspy_engine" filter="s60" long-name="Memspy Engine" purpose="development">
      <unit bldFile="os/osrndtools/memspy/engine/group"/>
     </component>
     <component name="commandline" filter="s60" long-name="Memspy Command Line" purpose="development">
      <unit bldFile="os/osrndtools/memspy/commandline/group"/>
     </component>
     <component name="console" filter="s60" long-name="Memspy Console" purpose="development">
      <unit bldFile="os/osrndtools/memspy/console/group"/>
     </component>
     <component name="memspy_build" filter="s60" long-name="Memspy Build" purpose="development">
      <!--  move exports into self-contained component.-->
      <unit bldFile="os/osrndtools/memspy/group"/>
     </component>
    </collection>
    <collection name="hti" long-name="Harmonized Test Interface" level="trace">
     <component name="hti_plat" filter="s60" long-name="HTI Platform Interfaces" purpose="development" class="api">
      <unit bldFile="os/osrndtools/hti/hti_plat/group"/>
     </component>
     <component name="hticfg" filter="s60" long-name="HTI Config" purpose="development">
      <unit bldFile="os/osrndtools/hti/hticfg/group"/>
     </component>
     <component name="htiautostart" filter="s60" long-name="HTI Autostart" purpose="development">
      <unit bldFile="os/osrndtools/hti/htiautostart/group"/>
     </component>
     <component name="htiframework" filter="s60" long-name="HTI Framework" purpose="development">
      <unit bldFile="os/osrndtools/hti/htiframework/group"/>
     </component>
     <component name="hticommplugins" filter="s60" long-name="HTI Communication Plugins" purpose="development" plugin="Y">
      <!-- need to #include these from a single unit or separate into component at the right directory level -->
      <unit bldFile="os/osrndtools/hti/HtiCommPlugins/HtiBtCommPlugin/group"/>
      <unit bldFile="os/osrndtools/hti/HtiCommPlugins/HtiIPCommPlugin/group"/>
      <unit bldFile="os/osrndtools/hti/HtiCommPlugins/HtiSerialCommPlugin/group"/>
      <unit bldFile="os/osrndtools/hti/HtiCommPlugins/HtiUsbSerialCommPlugin/group"/>
     </component>
     <component name="htiserviceplugins" filter="s60" long-name="HTI Service Plugins" purpose="development" plugin="Y">
      <!-- need to #include these from a single unit or separate into component at the right directory level -->
      <unit bldFile="os/osrndtools/hti/HtiServicePlugins/HtiAppServicePlugin/group"/>
      <unit bldFile="os/osrndtools/hti/HtiServicePlugins/HtiEchoServicePlugin/group"/>
      <unit bldFile="os/osrndtools/hti/HtiServicePlugins/HtiFtpServicePlugin/group"/>
      <unit bldFile="os/osrndtools/hti/HtiServicePlugins/HtiIpProxyServicePlugin/group"/>
      <unit bldFile="os/osrndtools/hti/HtiServicePlugins/HtiStifTfServicePlugin/group"/>
     </component>
     <component name="htifilehlp" filter="s60" long-name="HTI File Help" purpose="development">
      <unit bldFile="os/osrndtools/hti/htifilehlp/group"/>
     </component>
     <component name="htiwatchdog" filter="s60" long-name="HTI Watchdog" purpose="development">
      <unit bldFile="os/osrndtools/hti/htiwatchdog/group"/>
     </component>
     <component name="hti_build" filter="s60" long-name="HTI Build" purpose="development">
      <!--  move exports into self-contained component.-->
      <unit bldFile="os/osrndtools/hti/group"/>
     </component>
    </collection>
    <collection name="osrndtools_info" long-name="OS R&amp;D tools Info" level="trace">
     <component name="osrndtools_plat" filter="s60" long-name="OS R&amp;D tools Platform Interfaces" purpose="development" class="api">
      <unit bldFile="os/osrndtools/osrndtools_plat/group"/>
      <!-- currently empty. Remove? -->
     </component>
     <component name="osrndtools_metadata" long-name="OS R&amp;D tools Metadata" introduced="^2" purpose="development" class="config PC">
      <unit mrp="os/osrndtools/osrndtools_info/osrndtools_metadata/osrndtools_metadata.mrp"/>
     </component>
    </collection>
   </block>
  </layer>
  <layer name="mw" long-name="Middleware" levels="generic specific">
   <block name="appsupport" level="generic" long-name="Generic Application Support" levels="system plugin framework server generic specific">
    <collection name="contextframework" long-name="Context Framework" level="framework">
     <!-- the units that are commented out need to be put back when configuration is in place.
		They're currently #included by contextframework_build, which should be removed when the other units are uncommented -->
     <component name="cfw" filter="s60" long-name="Context Framework">
      <!--<unit bldFile="contextframework/cfw/group"/> -->
     </component>
     <component name="cfwplugins" filter="s60" long-name="Context Framework Plugins" plugin="Y">
      <!--<unit bldFile="contextframework/cfwplugins/group"/>-->
     </component>
     <component name="contextframework_build" filter="s60" long-name="Context Framework Build">
      <unit bldFile="mw/appsupport/contextframework/group"/>
     </component>
    </collection>
    <collection name="coreapplicationuis" long-name="Core Application UIs" level="server">
     <component name="dbrecovery" filter="s60" long-name="Database Recovery">
      <unit bldFile="mw/appsupport/coreapplicationuis/dbrecovery/group"/>
     </component>
     <component name="nspswsplugin" filter="s60" long-name="NSPS WS Plugin" plugin="Y">
      <!-- No Service Power Save? Window Server? Please elaborate-->
      <unit bldFile="mw/appsupport/coreapplicationuis/nspswsplugin/group"/>
     </component>
     <component name="rfs" filter="s60" long-name="Restore Factory Settings">
      <unit bldFile="mw/appsupport/coreapplicationuis/rfs/group"/>
     </component>
     <component name="rfsplugins" filter="s60" long-name="Restore Factory Settings Plugins" plugin="Y">
      <unit bldFile="mw/appsupport/coreapplicationuis/rfsplugins/group"/>
     </component>
     <component name="sysap" filter="s60" long-name="System Application">
      <unit bldFile="mw/appsupport/coreapplicationuis/sysap/group"/>
     </component>
     <component name="variatedsettings" filter="s60" long-name="Variated Settings" class="config">
      <unit bldFile="mw/appsupport/coreapplicationuis/variatedsettings/group"/>
     </component>
     <component name="accfwuinotifier" filter="s60" long-name="Accessory Framework UI Notifier" plugin="Y">
      <unit bldFile="mw/appsupport/coreapplicationuis/accfwuinotifier/group"/>
     </component>
     <component name="kefmapper" filter="s60" long-name="Key Event Framework">
      <unit bldFile="mw/appsupport/coreapplicationuis/kefmapper/group"/>
     </component>
     <component name="advancedtspcontroller" filter="s60" long-name="Advanced TSP Controller">
      <unit bldFile="mw/appsupport/coreapplicationuis/advancedtspcontroller/group"/>
     </component>
     <component name="powersaveutilities" filter="s60" long-name="Power Save Utilities">
      <unit bldFile="mw/appsupport/coreapplicationuis/powersaveutilities/group"/>
     </component>
     <component name="gsserverenginestub" filter="s60" long-name="GS Server Engine Stub">
      <unit bldFile="mw/appsupport/coreapplicationuis/gsserverenginestub/group"/>
     </component>
     <component name="gsserverengine" filter="s60" long-name="GS Server Engine">
      <unit bldFile="mw/appsupport/coreapplicationuis/gsserverengine/group"/>
     </component>
     <component name="sensordatacompensatorplugin" filter="s60" long-name="Sensor Data Compensator Plugin" plugin="Y">
      <unit bldFile="mw/appsupport/coreapplicationuis/sensordatacompensatorplugin/group"/>
     </component>
    </collection>
    <collection name="flashliteapi_3_1" long-name="Flash Lite API 3.1" level="specific">
     <!--  collection is really a component. Move down a directory -->
     <component name="flashliteapi_3_1_build" long-name="Flash Lite API Build" filter="s60" introduced="^2"/>
    </collection>
    <collection name="mediakeys" long-name="Media Keys" level="plugin">
     <!--  collection is really a component. Move down a directory -->
     <component name="mediakeys_build" filter="s60" long-name="Media Keys Build">
      <unit bldFile="mw/appsupport/mediakeys/group"/>
     </component>
    </collection>
    <collection name="startupservices" long-name="Startup Services" level="system">
     <component name="splashscreen" filter="s60" long-name="Splash Screen">
      <unit bldFile="mw/appsupport/startupservices/splashscreen/group"/>
     </component>
     <component name="startupanimation" filter="s60" long-name="Startup Animation">
      <unit bldFile="mw/appsupport/startupservices/startupanimation/group"/>
     </component>
     <component name="startup" long-name="Startup Application" filter="s60">
      <unit bldFile="mw/appsupport/startupservices/startup/group"/>
     </component>
    </collection>
    <collection name="sysresmonitoring" long-name="System Resource Monitoring" level="system">
     <component name="oodmonitor" filter="s60" long-name="OOD Monitor" introduced="7.0s">
      <unit bldFile="mw/appsupport/sysresmonitoring/oodmonitor/group"/>
     </component>
     <component name="oommonitor" filter="s60" long-name="OOM Monitor" introduced="7.0s">
      <unit bldFile="mw/appsupport/sysresmonitoring/oommonitor/group"/>
     </component>
    </collection>
    <collection name="systemsettings" long-name="System Settings" level="system">
     <component name="gssensorplugin" filter="s60" long-name="GS Sensor Plugin" plugin="Y">
      <unit bldFile="mw/appsupport/systemsettings/gssensorplugin/group"/>
     </component>
     <component name="gsaccessoryplugin" filter="s60" long-name="GS Accessory Plugin" plugin="Y">
      <unit bldFile="mw/appsupport/systemsettings/gsaccessoryplugin/group"/>
     </component>
    </collection>
    <collection name="filehandling" long-name="File Handling" level="server">
     <component name="fileconverterfw" long-name="File Converter Framework" purpose="optional">
      <unit bldFile="mw/appsupport/filehandling/fileconverterfw/group" mrp="mw/appsupport/filehandling/fileconverterfw/group/app-framework_conarc.mrp"/>
     </component>
     <component name="htmltorichtextconverter" long-name="HTML to RichText Converter" introduced="7.0" purpose="optional" plugin="Y">
      <unit bldFile="mw/appsupport/filehandling/htmltorichtextconverter/group" mrp="mw/appsupport/filehandling/htmltorichtextconverter/group/app-services_chtmltocrtconv.mrp"/>
     </component>
     <component name="richtexttohtmlconverter" long-name="RichText to HTML Converter" introduced="7.0s" purpose="optional" plugin="Y">
      <unit bldFile="mw/appsupport/filehandling/richtexttohtmlconverter/Group" mrp="mw/appsupport/filehandling/richtexttohtmlconverter/Group/app-services_richtexttohtmlconv.mrp"/>
     </component>
    </collection>
    <collection name="hwresourceadaptation" long-name="Hardware Resource Adaptation" level="generic">
     <component name="hwresourcemgruiplugin" long-name="Hardware Resource Manager UI Plugin" introduced="^2" purpose="optional" plugin="Y">
      <unit bldFile="mw/appsupport/hwresourceadaptation/hwresourcemgruiplugin/group" mrp="mw/appsupport/hwresourceadaptation/hwresourcemgruiplugin/group/telephony_hwrmuiplugin.mrp"/>
     </component>
    </collection>
    <collection name="commonappservices" long-name="Common Application Services" level="framework">
     <component name="alarmserver" long-name="Alarm Server" introduced="7.0" purpose="optional">
      <unit bldFile="mw/appsupport/commonappservices/alarmserver/Group" mrp="mw/appsupport/commonappservices/alarmserver/Group/app-services_alarmserver.mrp"/>
     </component>
     <component name="alarmservertest" long-name="Alarm Server Test" deprecated="^3" introduced="8.1" purpose="development">
      <unit bldFile="mw/appsupport/commonappservices/alarmservertest/TestAlarmSrv" mrp="mw/appsupport/commonappservices/alarmservertest/TestAlarmSrv/app-services_testalarmsrv.mrp"/>
     </component>
     <component name="appservicesdocs" long-name="Application Services Documentation" purpose="development" class="doc">
      <unit mrp="mw/appsupport/commonappservices/appservicesdocs/app-services_documentation.mrp"/>
     </component>
     <component name="backuprestorenotification" long-name="Backup Restore Notification" introduced="8.1" purpose="optional">
      <unit bldFile="mw/appsupport/commonappservices/backuprestorenotification/group" mrp="mw/appsupport/commonappservices/backuprestorenotification/group/app-services_BackupRestoreNotification.mrp"/>
     </component>
    </collection>
    <collection name="tzservices" long-name="Time Zone Services" level="plugin">
     <component name="tzserver" long-name="Time Zone Server" introduced="9.1" purpose="optional">
      <unit bldFile="mw/appsupport/tzservices/tzserver/group" mrp="mw/appsupport/tzservices/tzserver/group/app-services_tz.mrp"/>
     </component>
     <component name="tzloc" long-name="Time Zone Localization" introduced="9.1" purpose="optional">
      <unit bldFile="mw/appsupport/tzservices/tzloc/group" mrp="mw/appsupport/tzservices/tzloc/group/app-services_timezonelocalization.mrp"/>
     </component>
     <component name="tzlocrscfactory" long-name="Time Zone Localization Resource Factory" introduced="9.1" purpose="optional" class="config">
      <unit bldFile="mw/appsupport/tzservices/tzlocrscfactory/group" mrp="mw/appsupport/tzservices/tzlocrscfactory/group/app-services_tzlocalizationrscfactory.mrp"/>
     </component>
    </collection>
    <collection name="contenthandling" long-name="Content Handling" level="plugin">
     <component name="webrecognisers" long-name="Web Recognisers" purpose="optional" plugin="Y">
      <unit bldFile="mw/appsupport/contenthandling/webrecognisers/group" mrp="mw/appsupport/contenthandling/webrecognisers/group/application-protocols_recognisers.mrp"/>
     </component>
    </collection>
    <collection name="openenvutils" long-name="Open Environment Utilities" level="specific">
     <component name="commandshell" long-name="Command Shell" introduced="^3" purpose="development">
      <unit bldFile="mw/appsupport/openenvutils/commandshell/group" mrp="mw/appsupport/openenvutils/commandshell/group/oetools_zsh.mrp"/>
     </component>
     <component name="telnetserver" long-name="Telnet Server" introduced="^3" purpose="development">
      <unit bldFile="mw/appsupport/openenvutils/telnetserver/group" mrp="mw/appsupport/openenvutils/telnetserver/group/oetools_telnetd.mrp"/>
     </component>
    </collection>
    <collection name="printingsupport" long-name="Printing Support" level="generic">
     <component name="printinguisupport" long-name="Printing UI Support" purpose="optional" introduced="^2" deprecated="^3">
      <unit bldFile="mw/appsupport/printingsupport/printinguisupport/group" mrp="mw/appsupport/printingsupport/printinguisupport/group/app-framework_print.mrp"/>
     </component>
    </collection>
    <collection name="appfw" long-name="Application Framework" level="framework">
     <component name="apparchitecture" long-name="Application Architecture" purpose="mandatory">
      <unit bldFile="mw/appsupport/appfw/apparchitecture/group" mrp="mw/appsupport/appfw/apparchitecture/group/app-framework_apparc.mrp"/>
     </component>
     <component name="viewserver" long-name="View Server" introduced="6.0" purpose="mandatory">
      <unit bldFile="mw/appsupport/appfw/viewserver/group" mrp="mw/appsupport/appfw/viewserver/group/app-framework_viewsrv.mrp"/>
     </component>
    </collection>
    <collection name="applaunchservices" long-name="Application Launch Services" level="generic">
     <component name="aftermarketappstarter" long-name="After Market Application Starter" introduced="^3" purpose="optional">
      <unit bldFile="mw/appsupport/applaunchservices/aftermarketappstarter/group" mrp="mw/appsupport/applaunchservices/aftermarketappstarter/group/app-framework_amastart.mrp"/>
     </component>
     <component name="applaunchplugins" long-name="Application Launch Plugins" introduced="^3" purpose="optional">
      <unit bldFile="mw/appsupport/applaunchservices/applaunchplugins/group" mrp="mw/appsupport/applaunchservices/applaunchplugins/group/app-framework_aplp.mrp"/>
     </component>
    </collection>
    <collection name="tzpcside" long-name="Time Zone PC Side" level="plugin">
     <component name="tzcompiler" long-name="Time Zone Compiler" introduced="9.1" purpose="optional" class="config PC">
      <unit bldFile="mw/appsupport/tzpcside/tzcompiler/group" mrp="mw/appsupport/tzpcside/tzcompiler/group/app-services_tzcompiler.mrp"/>
     </component>
    </collection>
    <collection name="appsupport_info" long-name="Generic Application Support Info" level="specific">
     <component name="appsupport_plat" filter="s60" long-name="Generic Application Support Platform Interfaces" class="api">
      <unit bldFile="mw/appsupport/appsupport_plat/group"/>
     </component>
     <component name="appsupport_pub" filter="s60" long-name="Generic Application Support Public Interfaces" class="api">
      <unit bldFile="mw/appsupport/appsupport_pub/group"/>
     </component>
     <component name="appsupport_metadata" long-name="Generic Application Support Metadata" introduced="^2" purpose="development" class="config PC">
      <unit mrp="mw/appsupport/appsupport_info/appsupport_metadata/appsupport_metadata.mrp"/>
     </component>
    </collection>
   </block>
   <block name="securitysrv" level="generic" long-name="Security Services" levels="plugin framework server generic specific">
    <collection name="cms" long-name="Certificate Management Service" level="server">
     <!-- collection is really a component. Need to move down a directory-->
     <component name="cms_build" filter="s60" long-name="CMS" introduced="^3">
      <unit bldFile="mw/securitysrv/cms/group"/>
     </component>
    </collection>
    <collection name="pkiutilities" long-name="PKI Utilities" level="plugin">
     <component name="x509certnameparser" filter="s60" long-name="X.509 Certificate Name Parser">
      <unit bldFile="mw/securitysrv/pkiutilities/x509certnameparser/group"/>
     </component>
     <component name="pkcs12" filter="s60" long-name="PKCS #12">
      <unit bldFile="mw/securitysrv/pkiutilities/pkcs12/group"/>
     </component>
     <component name="certmanui" filter="s60" long-name="Certificate Management UI">
      <unit bldFile="mw/securitysrv/pkiutilities/certmanui/group"/>
     </component>
     <component name="ctsecuritydialogs" filter="s60" long-name="Crypto Token Security Dialogs">
      <unit bldFile="mw/securitysrv/pkiutilities/ctsecuritydialogs/group"/>
     </component>
     <component name="certsaver" filter="s60" long-name="Certificate Saver">
      <unit bldFile="mw/securitysrv/pkiutilities/certsaver/group"/>
     </component>
     <component name="secmodui" filter="s60" long-name="Security Module UI">
      <unit bldFile="mw/securitysrv/pkiutilities/secmodui/group"/>
     </component>
     <component name="devicetoken" filter="s60" long-name="Device Token">
      <unit bldFile="mw/securitysrv/pkiutilities/devicetoken/group"/>
     </component>
     <component name="certificates" filter="s60" long-name="Certificates">
      <unit bldFile="mw/securitysrv/pkiutilities/Certificates/group" filter="sf_build"/>
     </component>
     <component name="pkiutilities_build" filter="s60" long-name="PKI Utilities Build">
      <!-- need to split this into the above components -->
      <unit bldFile="mw/securitysrv/pkiutilities/group"/>
     </component>
     <component name="ocsp" long-name="Online Certificate Status Protocol" introduced="^2" purpose="optional">
      <unit bldFile="mw/securitysrv/pkiutilities/ocsp/group" mrp="mw/securitysrv/pkiutilities/ocsp/group/securitysrv_ocsp.mrp"/>
     </component>
    </collection>
    <collection name="wim" long-name="Wireless Identity Module " level="framework">
     <!-- collection is really a component. Need to move down a directory-->
     <component name="wim_build" filter="s60" long-name="WIM Build">
      <unit bldFile="mw/securitysrv/wim/group"/>
     </component>
    </collection>
    <collection name="remotelock" long-name="Remote Lock" level="generic">
     <!-- collection is really a component. Need to move down a directory-->
     <component name="remotelock_build" filter="s60" long-name="Remote Lock Build">
      <unit bldFile="mw/securitysrv/remotelock/group"/>
     </component>
    </collection>
    <collection name="securitydialogs" long-name="Security Dialogs" level="specific">
     <component name="keylockpolicyapi" filter="s60" long-name="Keylock Policy API">
      <unit bldFile="mw/securitysrv/securitydialogs/keylockpolicyapi/group"/>
     </component>
     <component name="autolock" long-name="Autolock" filter="s60">
      <unit bldFile="mw/securitysrv/securitydialogs/autolock/group"/>
     </component>
     <component name="secui" filter="s60" long-name="Security UI">
      <unit bldFile="mw/securitysrv/securitydialogs/secui/group"/>
     </component>
     <component name="securitynotifier" filter="s60" long-name="Security Notifier">
      <unit bldFile="mw/securitysrv/securitydialogs/securitynotifier/group"/>
     </component>
     <component name="lockclient" filter="s60" long-name="Lock Client" introduced="^3">
      <unit bldFile="mw/securitysrv/securitydialogs/lockclient/group"/>
     </component>
     <component name="lockapp" filter="s60" long-name="Lock Application" introduced="^3">
      <unit bldFile="mw/securitysrv/securitydialogs/lockapp/group"/>
     </component>
     <component name="simlockui" filter="s60" long-name="SIM Lock UI" introduced="^3">
      <unit bldFile="mw/securitysrv/securitydialogs/simlockui/group"/>
     </component>
    </collection>
    <collection name="boottimeintegritycheck" long-name="Boot Time Integrity Check" level="plugin">
     <!-- collection is really a component. Need to move down a directory-->
     <component name="boottimeintegritycheck_build" filter="s60" long-name="Boot Time Integrity Check Build">
      <unit bldFile="mw/securitysrv/boottimeintegritycheck/group"/>
     </component>
    </collection>
    <collection name="gba" long-name="Generic Bootstrapping Architecture" level="server">
     <component name="uicc" filter="s60" long-name="UICC" introduced="^2" plugin="Y">
      <unit bldFile="mw/securitysrv/gba/uicc/group"/>
     </component>
     <component name="gbaserver" filter="s60" long-name="GBA Server" introduced="^2">
      <unit bldFile="mw/securitysrv/gba/gbaserver/group"/>
     </component>
     <component name="gbaapi" filter="s60" long-name="GBA API" introduced="^2">
      <unit bldFile="mw/securitysrv/gba/gbaapi/group"/>
     </component>
     <component name="gbafilter" filter="s60" long-name="GBA HTTP Filter" introduced="^2" plugin="Y">
      <unit bldFile="mw/securitysrv/gba/gbafilter/group"/>
     </component>
     <component name="gba_build" filter="s60" long-name="Generic Boot Architecture Build" introduced="^2">
      <!-- need to split this into the above components, or remove #includes and make this GBA ROM  -->
      <unit bldFile="mw/securitysrv/gba/group"/>
     </component>
    </collection>
    <collection name="devencdiskutils" long-name="Device Encryption Disk Utils" level="server">
     <component name="devenccommonutils" filter="s60" long-name="Device Encryption Common Utils" introduced="^3">
      <unit bldFile="mw/securitysrv/devencdiskutils/DevEncCommonUtils/group"/>
     </component>
     <component name="devencrfsplugin" filter="s60" long-name="Device Encryption RFS Plugin" introduced="^3" plugin="Y">
      <unit bldFile="mw/securitysrv/devencdiskutils/DevEncRfsPlugin/group"/>
     </component>
     <component name="pk5recognizer" filter="s60" long-name="Device Encryption Pk5 Recognizer" introduced="^3" plugin="Y">
      <unit bldFile="mw/securitysrv/devencdiskutils/Pk5Recognizer/group"/>
     </component>
     <component name="devencstarter" filter="s60" long-name="Device Encryption Starter" introduced="^3" plugin="Y">
      <unit bldFile="mw/securitysrv/devencdiskutils/DevEncStarter/group"/>
     </component>
     <component name="devencdiskutils" filter="s60" long-name="Device Encryption Disk Utils Build" introduced="^3">
      <!-- need to split this into the above components, or remove #includes and make this a ROM  component-->
      <unit bldFile="mw/securitysrv/devencdiskutils/group"/>
     </component>
    </collection>
    <collection name="securitysrv_info" long-name="Security Services Info" level="specific">
     <component name="secsrv_plat" long-name="Security Services Platform Interfaces" filter="s60" class="api">
      <unit bldFile="mw/securitysrv/secsrv_plat/group"/>
     </component>
     <component name="securitysrv_metadata" long-name="Security Services Metadata" introduced="^2" purpose="development" class="config PC">
      <unit mrp="mw/securitysrv/securitysrv_info/securitysrv_metadata/securitysrv_metadata.mrp"/>
     </component>
    </collection>
   </block>
   <block name="drm" level="generic" long-name="DRM" levels="plugin framework server generic specific">
    <collection name="commondrm" long-name="Common DRM" level="generic">
     <!-- it looks like this collection would be better as a component. If so, move down a directory. Otherwise, split up the bld.inf -->
     <component name="drmencryptor" filter="s60" long-name="DRM Encryptor" class="placeholder">
      <!-- this should have its own bld.inf or be removed as a component -->
     </component>
     <component name="drmsettingsplugin" filter="s60" long-name="DRM Settings Plugin" plugin="Y" class="placeholder">
      <!-- this should have its own bld.inf or be removed as a component -->
     </component>
     <component name="drmrightsmanagerui" filter="s60" long-name="DRM Rights Manager UI">
      <unit bldFile="mw/drm/commondrm/drmrightsmanagerui/help/group"/>
     </component>
     <component name="drmutility" filter="s60" long-name="DRM Utility">
      <!-- Uncomment unit when configuration is in place. Currently #included from commondrm_build -->
      <!--<unit bldFile="commondrm/drmutility/group"/>-->
     </component>
     <component name="drmserviceapiwrapper" filter="s60" long-name="DRM Service API Wrapper">
      <unit bldFile="mw/drm/commondrm/drmserviceapiwrapper/group"/>
     </component>
     <component name="drmrightsstoringlocation" filter="s60" long-name="DRM Rights Storing Location">
      <unit bldFile="mw/drm/commondrm/drmrightsstoringlocation/group"/>
     </component>
     <component name="commondrm_build" filter="s60" long-name="Common DRM Build">
      <!-- should be split into the above files, or them collapsed into a single component -->
      <unit bldFile="mw/drm/commondrm/group"/>
     </component>
    </collection>
    <collection name="omadrm" long-name="OMA DRM" level="server">
     <!-- collection is really a component. Move down a directory -->
     <component name="omadrm_build" filter="s60" long-name="OMA DRM Build">
      <unit bldFile="mw/drm/omadrm/group"/>
     </component>
     <component name="foundationcerts" filter="sf_build" long-name="Foundation Certificates">
      <unit bldFile="mw/drm/omadrm/foundationcerts/group"/>
     </component>
    </collection>
    <collection name="wmdrm" long-name="Windows Media DRM" level="framework">
     <!-- collection is really a component. Move down a directory -->
     <component name="wmdrm_build" filter="s60" long-name="WM DRM Build">
      <unit bldFile="mw/drm/wmdrm/group"/>
     </component>
    </collection>
    <collection name="drm_info" long-name="DRM Info" level="specific">
     <component name="drm_pub" filter="s60" long-name="DRM Public Interfaces" class="api">
      <unit bldFile="mw/drm/drm_pub/group"/>
     </component>
     <component name="drm_plat" filter="s60" long-name="DRM Platform Interfaces" class="api">
      <unit bldFile="mw/drm/drm_plat/group"/>
     </component>
    </collection>
   </block>
   <block name="locationsrv" level="specific" long-name="Location Services" levels="plugin fw server if">
    <collection name="genericpositioningplugins" long-name="Generic Positioning Plugins" level="plugin">
     <component name="locationnpppsy" filter="s60" long-name="Location Positioning Proxy PSY" plugin="Y">
      <unit bldFile="mw/locationsrv/genericpositioningplugins/locationnpppsy/group"/>
     </component>
     <component name="locationsuplpsy" filter="s60" long-name="Location SUPL PSY" introduced="^3" plugin="Y">
      <unit bldFile="mw/locationsrv/genericpositioningplugins/locationsuplpsy/group"/>
     </component>
     <component name="genericpositioningplugins_build" filter="s60" long-name="Generic Positioning Plugins Build">
      <!-- need to break this up into the other components -->
      <unit bldFile="mw/locationsrv/genericpositioningplugins/group"/>
     </component>
    </collection>
    <collection name="landmarks" long-name="Landmarks" level="server">
     <component name="locationlandmarks" filter="s60" long-name="Location Landmarks">
      <unit bldFile="mw/locationsrv/landmarks/locationlandmarks/group"/>
     </component>
    </collection>
    <collection name="locationmapnavfw" long-name="Location Map and Navigation Framework" level="fw">
     <component name="mnlibrary" filter="s60" long-name="Map and Navigation Library">
      <unit bldFile="mw/locationsrv/locationmapnavfw/library/group"/>
     </component>
     <component name="mnaiwprovider" filter="s60" long-name="Map and Navigation AIW Provider" plugin="Y">
      <unit bldFile="mw/locationsrv/locationmapnavfw/aiwprovider/group"/>
     </component>
     <component name="locationmapnavfw_build" filter="s60" long-name="Location Map and Navigation Framework Build">
      <!-- need to break this up into the other components -->
      <unit bldFile="mw/locationsrv/locationmapnavfw/group"/>
     </component>
    </collection>
    <collection name="locationsystemui" long-name="Location System UI" level="if">
     <component name="locationsysui" filter="s60" long-name="Location System UI">
      <unit bldFile="mw/locationsrv/locationsystemui/locationsysui/group"/>
     </component>
    </collection>
    <collection name="supl" long-name="SUPL" level="fw">
     <component name="locationsuplfw" filter="s60" long-name="Location SUPL Framework">
      <unit bldFile="mw/locationsrv/supl/locationsuplfw/group"/>
     </component>
     <component name="locationomasuplprotocolhandler" filter="s60" long-name="OMA SUPL Protocol Handler">
      <unit bldFile="mw/locationsrv/supl/locationomasuplprotocolhandler/group"/>
     </component>
     <component name="supltiapiimplementation" filter="s60" long-name="SUPL TI API Implementation" introduced="^3">
      <unit bldFile="mw/locationsrv/supl/supltiapiimplementation/group"/>
     </component>
    </collection>
    <collection name="locationtriggering" long-name="Location Triggering" level="server">
     <component name="ltlogger" filter="s60" long-name="LT Logger">
      <unit bldFile="mw/locationsrv/locationtriggering/ltlogger/group"/>
     </component>
     <component name="ltclientlib" filter="s60" long-name="LT Client Library">
      <unit bldFile="mw/locationsrv/locationtriggering/ltclientlib/group"/>
     </component>
     <component name="ltmanagementlib" filter="s60" long-name="LT Management Library">
      <unit bldFile="mw/locationsrv/locationtriggering/ltmanagementlib/group"/>
     </component>
     <component name="ltcontainer" filter="s60" long-name="LT Container">
      <unit bldFile="mw/locationsrv/locationtriggering/ltcontainer/group"/>
     </component>
     <component name="ltserver" filter="s60" long-name="LT Server">
      <unit bldFile="mw/locationsrv/locationtriggering/ltserver/group"/>
     </component>
     <component name="ltstrategypluginapi" filter="s60" long-name="LT Strategy Plugin API">
      <unit bldFile="mw/locationsrv/locationtriggering/ltstrategypluginapi/group"/>
     </component>
     <component name="ltstrategyengine" filter="s60" long-name="LT Strategy Engine">
      <unit bldFile="mw/locationsrv/locationtriggering/ltstrategyengine/group"/>
     </component>
     <component name="ltmovementdetectionpluginapi" filter="s60" long-name="Movement Detection Plugin API">
      <unit bldFile="mw/locationsrv/locationtriggering/ltmovementdetectionpluginapi/group"/>
     </component>
     <component name="ltcellidmovementdetector" filter="s60" long-name="Cell ID Movement Detector">
      <unit bldFile="mw/locationsrv/locationtriggering/ltcellidmovementdetector/group"/>
     </component>
     <component name="lbtmgmtui" filter="s60" long-name="LBT Management UI" plugin="Y">
      <unit bldFile="mw/locationsrv/locationtriggering/lbtmgmtui/group"/>
     </component>
     <component name="ltcontextsourceplugin" filter="s60" long-name="LT Context Source Plugin" introduced="^3" plugin="Y">
      <unit bldFile="mw/locationsrv/locationtriggering/ltcontextsourceplugin/group"/>
     </component>
     <component name="locationtriggering_build" filter="s60" long-name="Location Triggering Build">
      <!--  should remove #include from this and maybe put exports in the above components -->
      <unit bldFile="mw/locationsrv/locationtriggering/group"/>
     </component>
    </collection>
    <collection name="locationsrv_info" long-name="Location Services Info" level="if">
     <component name="locsrv_plat" filter="s60" long-name="Location Services Platform Interfaces" class="api">
      <unit bldFile="mw/locationsrv/locsrv_plat/group"/>
     </component>
     <component name="locsrv_pub" filter="s60" long-name="Location Services Public Interfaces" class="api">
      <unit bldFile="mw/locationsrv/locsrv_pub/group"/>
     </component>
    </collection>
   </block>
   <block name="accesssec" level="generic" long-name="Access Security" levels="plugin framework server generic specific">
    <collection name="wlansecuritysettings" long-name="WLAN Security Settings" level="specific">
     <component name="wapisecuritysettingsui" filter="s60" long-name="WAPI Security Settings UI" introduced="9.1">
      <!-- the directory for this needs to be moved up to the right level -->
      <unit bldFile="mw/accesssec/wlansecuritysettings/wapisecuritysettingsui/stub/group"/>
     </component>
     <component name="wepsecuritysettingsui" filter="s60" long-name="WEP Security Settings UI" introduced="9.1">
      <unit bldFile="mw/accesssec/wlansecuritysettings/wepsecuritysettingsui/group"/>
     </component>
     <component name="wifiprotectedsetup" filter="s60" long-name="WIFI Protected Setup" introduced="^1">
      <unit bldFile="mw/accesssec/wlansecuritysettings/wifiprotectedsetup/group"/>
     </component>
     <component name="wlaneapsettingsui" filter="s60" long-name="WLAN EAP Settings UI" introduced="9.3">
      <unit bldFile="mw/accesssec/wlansecuritysettings/wlaneapsettingsui/group"/>
     </component>
     <component name="wpasecuritysettingsui" filter="s60" long-name="WPA Security Settings UI" introduced="9.1">
      <unit bldFile="mw/accesssec/wlansecuritysettings/wpasecuritysettingsui/group"/>
     </component>
    </collection>
    <collection name="eapol" long-name="EAPOL" level="framework">
     <component name="eapol_framework" filter="s60" long-name="EAPOL Framework" introduced="9.2">
      <unit bldFile="mw/accesssec/eapol/eapol_framework/eapol_symbian/group"/>
     </component>
    </collection>
    <collection name="accesssec_info" long-name="Access Security Info" level="specific">
     <component name="accesssec_plat" filter="s60" long-name="Access Security Platform Interfaces" class="api">
      <unit bldFile="mw/accesssec/accesssec_plat/group"/>
     </component>
    </collection>
   </block>
   <block name="ipconnmgmt" level="generic" long-name="IP Connectivity Management" levels="plugin framework server generic utils">
    <collection name="accesspointcontrol" long-name="Access Point Control" level="plugin">
     <component name="apcontrollistplugin" filter="s60" long-name="Access Point Control List Plugin" introduced="^2" plugin="Y">
      <unit bldFile="mw/ipconnmgmt/accesspointcontrol/apcontrollistplugin/group"/>
     </component>
    </collection>
    <collection name="alwayson_net_plugin" long-name="Always Online Net Plugin" level="server">
     <component name="pdpcontextmanager2" filter="s60" long-name="PDP Context Manager 2">
      <unit bldFile="mw/ipconnmgmt/alwayson_net_plugin/pdpcontextmanager2/group"/>
     </component>
    </collection>
    <collection name="apengine" long-name="Access Point Engine" level="framework">
     <component name="apeng" filter="s60" long-name="Access Point Engine">
      <unit bldFile="mw/ipconnmgmt/apengine/apeng/group"/>
     </component>
     <component name="apsettingshandlerui" filter="s60" long-name="Access Point Settings Handler UI">
      <unit bldFile="mw/ipconnmgmt/apengine/apsettingshandlerui/group"/>
     </component>
     <component name="apsettingsplugin" filter="s60" long-name="Access Point Settings Plugin" plugin="Y">
      <unit bldFile="mw/ipconnmgmt/apengine/apsettingsplugin/group"/>
     </component>
    </collection>
    <collection name="bearermanagement" long-name="Bearer Management" level="framework">
     <component name="mpm" filter="s60" long-name="Mobility Policy Manager">
      <unit bldFile="mw/ipconnmgmt/bearermanagement/mpm/group"/>
     </component>
     <component name="extendedconnpref" filter="s60" long-name="Extended Connection Preferences">
      <unit bldFile="mw/ipconnmgmt/bearermanagement/extendedconnpref/group"/>
     </component>
     <component name="s60mcpr" filter="s60" long-name="S60 Meta-Connection Provider" plugin="Y">
      <unit bldFile="mw/ipconnmgmt/bearermanagement/S60MCPR/group"/>
     </component>
    </collection>
    <collection name="cmmanager" long-name="Connection Method Manager" level="framework">
     <component name="cmmgr" filter="s60" long-name="CM Manager">
      <unit bldFile="mw/ipconnmgmt/cmmanager/cmmgr/group"/>
     </component>
     <component name="gsconnsettingsplugin" filter="s60" long-name="GS Connection Settings Plugin" introduced="^3" plugin="Y">
      <unit bldFile="mw/ipconnmgmt/cmmanager/gsconnsettingsplugin/group"/>
     </component>
    </collection>
    <collection name="connectionmonitoring" long-name="Connection Monitoring" level="server">
     <component name="connectionmonitorplugin" filter="s60" long-name="Connection Monitor Plugin" plugin="Y">
      <unit bldFile="mw/ipconnmgmt/connectionmonitoring/connectionmonitorplugin/group"/>
     </component>
     <component name="connectionmonitorui" filter="s60" long-name="Connection Monitor UI">
      <unit bldFile="mw/ipconnmgmt/connectionmonitoring/connectionmonitorui/group"/>
     </component>
     <component name="connmon" filter="s60" long-name="Connection Monitor">
      <!-- either split into two components, or #include from a common bld.inf -->
      <unit bldFile="mw/ipconnmgmt/connectionmonitoring/connmon/connectionmonitor/group"/>
      <unit bldFile="mw/ipconnmgmt/connectionmonitoring/connmon/dataconnectionlogger/group"/>
     </component>
     <component name="connmonext" filter="s60" long-name="Connection Monitor Extension API">
      <unit bldFile="mw/ipconnmgmt/connectionmonitoring/connmonext/group"/>
     </component>
    </collection>
    <collection name="connectionutilities" long-name="Connection Utilities" level="utils">
     <component name="connectiondialogs" filter="s60" long-name="Connection Dialogs">
      <unit bldFile="mw/ipconnmgmt/connectionutilities/connectiondialogs/group"/>
     </component>
    </collection>
    <collection name="dbcreator" long-name="DB Creator" level="utils">
     <component name="commsdatcreator" filter="s60" long-name="Comms Database Creator" introduced="9.3">
      <unit bldFile="mw/ipconnmgmt/dbcreator/commsdatcreator/group"/>
     </component>
     <component name="commsdatcreatorrfsplugin" filter="s60" long-name="Comms Database Creator RFS Plugin" introduced="9.3" plugin="Y">
      <!-- uncomment when config is turned on -->
      <!-- <unit bldFile="dbcreator/commsdatcreatorrfsplugin/group"/>-->
     </component>
     <component name="commsdatstartup" filter="s60" long-name="Comms Database Startup" introduced="9.3">
      <unit bldFile="mw/ipconnmgmt/dbcreator/commsdatstartup/group"/>
     </component>
     <component name="dbcreatorexe" filter="s60" long-name="DB Creator" introduced="9.3">
      <unit bldFile="mw/ipconnmgmt/dbcreator/dbcreatorexe/group"/>
     </component>
     <component name="dbcreator_build" filter="s60" long-name="DB Creator Build" introduced="9.3">
      <!-- move exports to another component, this is needed for the #ifndef for commsdatcreatorrfsplugin until configuration is in place-->
      <unit bldFile="mw/ipconnmgmt/dbcreator/group"/>
     </component>
    </collection>
    <collection name="ipconnmgmt_info" long-name="IP Connectivity Management Info" level="utils">
     <component name="ipcm_pub" filter="s60" long-name="IP Connectivity Management Public Interfaces" class="api">
      <unit bldFile="mw/ipconnmgmt/ipcm_pub/group"/>
     </component>
     <component name="ipcm_plat" filter="s60" long-name="IP Connectivity Management Platform Interfaces" class="api">
      <unit bldFile="mw/ipconnmgmt/ipcm_plat/group"/>
     </component>
     <component name="ipcm_build" filter="s60" long-name="IP Connectivity Management Build">
      <!-- need to move exports to another component, or maek this a config component and revmove the #includes -->
      <unit bldFile="mw/ipconnmgmt/group"/>
     </component>
    </collection>
   </block>
   <block name="netprotocols" level="generic" long-name="High-level Internet Protocols" levels="plugin framework server generic specific">
    <collection name="httpfilters" long-name="HTTP Filters" level="plugin">
     <component name="httpfiltercommon" filter="s60" long-name="HTTP Filter Common">
      <unit bldFile="mw/netprotocols/httpfilters/httpfiltercommon/group"/>
     </component>
     <component name="cookie" filter="s60" long-name="Cookie Filter" plugin="Y">
      <unit bldFile="mw/netprotocols/httpfilters/cookie/group"/>
     </component>
     <component name="deflatefilter" filter="s60" long-name="Deflate Filter" plugin="Y">
      <unit bldFile="mw/netprotocols/httpfilters/deflatefilter/group"/>
     </component>
     <component name="httpfilteracceptheader" filter="s60" long-name="Accept Header Filter" plugin="Y">
      <unit bldFile="mw/netprotocols/httpfilters/httpfilteracceptheader/group"/>
     </component>
     <component name="httpfilterauthentication" filter="s60" long-name="Authentication Filter" plugin="Y">
      <unit bldFile="mw/netprotocols/httpfilters/httpfilterauthentication/group"/>
     </component>
     <component name="httpfilterconnhandler" filter="s60" long-name="Connection Handler Fitler" plugin="Y">
      <unit bldFile="mw/netprotocols/httpfilters/httpfilterconnhandler/group"/>
     </component>
     <component name="httpfilteriop" filter="s60" long-name="HTTP IOP Filter" plugin="Y">
      <unit bldFile="mw/netprotocols/httpfilters/httpfilteriop/group"/>
     </component>
     <component name="httpfilterproxy" filter="s60" long-name="HTTP Proxy Filter" plugin="Y">
      <unit bldFile="mw/netprotocols/httpfilters/httpfilterproxy/group"/>
     </component>
     <component name="uaproffilter" filter="s60" long-name="UAProf Filter" plugin="Y">
      <unit bldFile="mw/netprotocols/httpfilters/uaproffilter/group"/>
     </component>
    </collection>
    <collection name="applayerprotocols" long-name="Application Layer Protocols" level="server">
     <component name="httptransportfw" long-name="HTTP Transport Framework" introduced="6.2" purpose="optional">
      <unit bldFile="mw/netprotocols/applayerprotocols/httptransportfw/group" mrp="mw/netprotocols/applayerprotocols/httptransportfw/group/http_transport-framework.mrp"/>
     </component>
     <component name="httpexamples" long-name="HTTP Examples" introduced="6.2" purpose="development">
      <unit bldFile="mw/netprotocols/applayerprotocols/httpexamples/group" mrp="mw/netprotocols/applayerprotocols/httpexamples/group/http_examples.mrp"/>
     </component>
     <component name="wappushsupport" long-name="WAP Push Support" introduced="6.2" purpose="optional">
      <unit bldFile="mw/netprotocols/applayerprotocols/wappushsupport/Group" mrp="mw/netprotocols/applayerprotocols/wappushsupport/Group/wap-browser_wappushsupport.mrp"/>
     </component>
     <component name="wapbase" long-name="WAP Base" introduced="6.0" purpose="optional">
      <unit bldFile="mw/netprotocols/applayerprotocols/wapbase/Group" mrp="mw/netprotocols/applayerprotocols/wapbase/Group/wap-browser_wapbase.mrp"/>
     </component>
     <component name="ftpengine" long-name="FTP Engine" introduced="6.0" purpose="optional">
      <unit bldFile="mw/netprotocols/applayerprotocols/ftpengine/group" mrp="mw/netprotocols/applayerprotocols/ftpengine/group/networking_ftp_e.mrp"/>
     </component>
     <component name="telnetengine" long-name="Telnet Engine" introduced="6.0" purpose="optional">
      <unit bldFile="mw/netprotocols/applayerprotocols/telnetengine/group" mrp="mw/netprotocols/applayerprotocols/telnetengine/group/networking_telnet_e.mrp"/>
     </component>
     <component name="httpserviceapi" long-name="HTTP Service API" introduced="TB9.2" purpose="optional">
      <unit bldFile="mw/netprotocols/applayerprotocols/httpservice/group" mrp="mw/netprotocols/applayerprotocols/httpservice/group/http_service.mrp"/>
     </component>
    </collection>
    <collection name="applayerpluginsandutils" long-name="Application Layer Plugins and Utils" level="framework">
     <component name="uripermissionservices" long-name="URI Permission Services" introduced="^2" purpose="optional">
      <unit bldFile="mw/netprotocols/applayerpluginsandutils/uripermissionservices/group" mrp="mw/netprotocols/applayerpluginsandutils/uripermissionservices/group/application-protocols_ineturilist.mrp"/>
     </component>
     <component name="bookmarksupport" long-name="Bookmark Support" introduced="9.1" purpose="optional">
      <unit bldFile="mw/netprotocols/applayerpluginsandutils/bookmarksupport/group" mrp="mw/netprotocols/applayerpluginsandutils/bookmarksupport/group/application-protocols_bookmarks.mrp"/>
     </component>
     <component name="httpprotocolplugins" long-name="HTTP Protocol Plugins" introduced="6.2" purpose="optional" plugin="Y">
      <unit bldFile="mw/netprotocols/applayerpluginsandutils/httpprotocolplugins/group" mrp="mw/netprotocols/applayerpluginsandutils/httpprotocolplugins/group/http_protocol-plugin.mrp"/>
     </component>
     <component name="httptransportplugins" long-name="HTTP Transport Plugins" introduced="6.2" purpose="optional" plugin="Y">
      <unit bldFile="mw/netprotocols/applayerpluginsandutils/httptransportplugins/group" mrp="mw/netprotocols/applayerpluginsandutils/httptransportplugins/group/http_transport-plugin.mrp"/>
     </component>
    </collection>
    <collection name="netprotocols_info" long-name="High-level Internet Protocols Info" level="specific">
     <component name="netprotocols_plat" filter="s60" long-name="High-level Internet Protocols Platform Interfaces" class="api">
      <unit bldFile="mw/netprotocols/netprotocols_plat/group"/>
     </component>
     <component name="netprotocols_metadata" long-name="High-level Internet Protocols Metadata" introduced="^2" purpose="development" class="config PC">
      <unit mrp="mw/netprotocols/netprotocols_info/netprotocols_metadata/netprotocols_metadata.mrp"/>
     </component>
    </collection>
   </block>
   <block name="ipappprotocols" level="generic" long-name="IP App Protocols" levels="plugin conn server if">
    <collection name="rtp" long-name="RTP" level="server">
     <component name="srtpstack" filter="s60" long-name="SRTP Stack">
      <unit bldFile="mw/ipappprotocols/rtp/srtpstack/group"/>
     </component>
     <component name="rtpstack" filter="s60" long-name="RTP Stack">
      <unit bldFile="mw/ipappprotocols/rtp/rtpstack/group"/>
     </component>
    </collection>
    <collection name="realtimenetprots" long-name="Real Time Net Protocols" level="server">
     <component name="symrtp" long-name="RTP" introduced="9.0" purpose="optional">
      <!-- Real Time Data Protocol -->
      <unit bldFile="mw/ipappprotocols/realtimenetprots/rtp/group" mrp="mw/ipappprotocols/realtimenetprots/rtp/group/mm-protocols_rtp.mrp"/>
     </component>
     <component name="sipfw" long-name="SIP Framework" introduced="9.2" purpose="optional">
      <unit bldFile="mw/ipappprotocols/realtimenetprots/sipfw/Group" mrp="mw/ipappprotocols/realtimenetprots/sipfw/Group/mm-protocols_SIP2_Com.mrp" version="2"/>
     </component>
    </collection>
    <collection name="sipplugins" long-name="SIP Plugins" level="plugin">
     <component name="sippwlanplugin" filter="s60" long-name="SIP WLAN Plugin" plugin="Y">
      <unit bldFile="mw/ipappprotocols/sipplugins/sippwlanplugin/group"/>
     </component>
     <component name="sippsipsettingsui" filter="s60" long-name="SIP Settings UI" plugin="Y">
      <unit bldFile="mw/ipappprotocols/sipplugins/sippsipsettingsui/group"/>
     </component>
     <component name="sippdevmgmtsipadapter" filter="s60" long-name="Device Management SIP Settings Adapter" plugin="Y">
      <unit bldFile="mw/ipappprotocols/sipplugins/sippdevmgmtsipadapter/group"/>
     </component>
     <component name="sippsystemstatemonitor" filter="s60" long-name="SIP System State Monitor" plugin="Y">
      <unit bldFile="mw/ipappprotocols/sipplugins/sippsystemstatemonitor/group"/>
     </component>
     <component name="sippsipadapter" filter="s60" long-name="SIP Adapter" introduced="^3" plugin="Y">
      <unit bldFile="mw/ipappprotocols/sipplugins/sippsipadapter/group"/>
     </component>
    </collection>
    <collection name="sipproviderplugins" long-name="SIP Provider Plugins" level="conn">
     <component name="sipprovider" long-name="SIP Provider" introduced="^2" purpose="optional" plugin="Y">
      <unit bldFile="mw/ipappprotocols/sipproviderplugins/sipprovider/group" mrp="mw/ipappprotocols/sipproviderplugins/sipprovider/group/mm-protocols_SipProvider.mrp"/>
     </component>
    </collection>
    <collection name="ipappprotocols_info" long-name="IP App Protocols Info" level="if">
     <component name="ipappprotocols_plat" filter="s60" long-name="IP App Protocols Platform Interfaces" class="api">
      <unit bldFile="mw/ipappprotocols/ipappprotocols_plat/group"/>
     </component>
     <component name="ipappprotocols_metadata" long-name="IP App Protocols Metadata" introduced="^2" purpose="development" class="config PC">
      <unit mrp="mw/ipappprotocols/ipappprotocols_info/ipappprotocols_metadata/ipappprotocols_metadata.mrp"/>
     </component>
    </collection>
   </block>
   <block name="wirelessacc" level="specific" long-name="Wireless Access" levels="framework generic ui">
    <collection name="hotspotfw" long-name="HotSpot Framework" level="framework">
     <component name="hsserver" filter="s60" long-name="HotSpot Server" class="placeholder">
      <!-- needs bld.inf extracted from the hotspotfw/group one, or this component should be removed-->
     </component>
     <component name="hsclient" filter="s60" long-name="HotSpot Client" class="placeholder">
      <!-- needs bld.inf extracted from the hotspotfw/group one, or this component should be removed-->
     </component>
     <component name="internetconnectivitytestservice" filter="s60" long-name="Internet Connectivity Test Service" class="placeholder">
      <!-- needs bld.inf un-#included from hotspotfw/group/bld.inf, or this component should be removed-->
      <!-- <unit bldFile="hotspotfw/internetconnectivitytestservice/group"/> -->
     </component>
     <component name="ictsdialogs" filter="s60" long-name="Internet Connectivity Test Service Dialogs" deprecated="^3" class="placeholder">
      <!-- needs bld.inf un-#included from hotspotfw/group/bld.inf, or this component should be removed-->
      <!-- <unit bldFile="hotspotfw/ictsdialogs/group"/> -->
     </component>
     <component name="hspluginforagent" filter="s60" long-name="HotSpot Plugin for Agent" plugin="Y" class="placeholder">
      <!-- needs bld.inf un-#included from hotspotfw/group/bld.inf, or this component should be removed-->
      <!-- <unit bldFile="hotspotfw/hspluginforagent/group"/> -->
     </component>
     <component name="hsbrowser" filter="s60" long-name="HotSpot Browser" class="placeholder">
      <!-- needs bld.inf un-#included from hotspotfw/group/bld.inf, or this component should be removed-->
      <!-- <unit bldFile="hotspotfw/hsbrowser/group"/> -->
     </component>
     <component name="hotspotfw_build" filter="s60" long-name="Hotspot Framework Build">
      <!--  should break up this bld.inf into the above components, or collapse them all into a single component -->
      <unit bldFile="mw/wirelessacc/hotspotfw/group"/>
     </component>
    </collection>
    <collection name="wlanutilities" long-name="WLAN Utilities" level="generic">
     <component name="wlanplugin" filter="s60" long-name="WLAN Plugin" plugin="Y">
      <unit bldFile="mw/wirelessacc/wlanutilities/wlanplugin/group"/>
     </component>
     <component name="wlansettingsui" filter="s60" long-name="WLAN Settings UI">
      <unit bldFile="mw/wirelessacc/wlanutilities/wlansettingsui/group"/>
     </component>
     <component name="wlansniffer" filter="s60" long-name="WLAN Sniffer">
      <unit bldFile="mw/wirelessacc/wlanutilities/wlansniffer/group"/>
     </component>
     <component name="wlanindicatorplugin" filter="s60" long-name="WLAN Indicator Plugin" plugin="Y">
      <unit bldFile="mw/wirelessacc/wlanutilities/wlanindicatorplugin/group"/>
     </component>
    </collection>
    <collection name="wirelessacc_info" long-name="Wireless Access Info" level="ui">
     <component name="hsfw_plat" long-name="HotSpot Framework Platform Interfaces" filter="s60" class="api">
      <unit bldFile="mw/wirelessacc/hsfw_plat/group"/>
     </component>
    </collection>
   </block>
   <block name="vpnclient" level="specific" long-name="VPN Client" levels="engine ui api">
    <!-- is the !oem_build filter needed? -->
    <collection name="vpnapiimpl" long-name="VPN API Implementation" level="api">
     <component name="vpnapi" filter="s60" long-name="VPN API">
      <unit bldFile="mw/vpnclient/vpnapiimpl/group" filter="!oem_build"/>
     </component>
    </collection>
    <collection name="vpnengine" long-name="VPN Engine" level="engine">
     <!-- too many components in this collection.
    		Probably best to group the binaries together into larger components
    		or maybe split the collection into more reasonable groups  -->
     <component name="eventmediatorapi" filter="s60" long-name="Event Mediator API">
      <unit bldFile="mw/vpnclient/vpnengine/eventmediatorapi/group" filter="!oem_build"/>
     </component>
     <component name="eventviewer" filter="s60" long-name="Event Viewer">
      <unit bldFile="mw/vpnclient/vpnengine/eventviewer/group" filter="!oem_build"/>
     </component>
     <component name="vpnins" filter="s60" long-name="VPN Installer">
      <unit bldFile="mw/vpnclient/vpnengine/vpnins/group" filter="!oem_build"/>
     </component>
     <component name="ikepolparser" filter="s60" long-name="IKE Policy Parser">
      <unit bldFile="mw/vpnclient/vpnengine/ikepolparser/group" filter="!oem_build"/>
     </component>
     <component name="utlbase64" filter="s60" long-name="Base64 Utilities">
      <unit bldFile="mw/vpnclient/vpnengine/utlbase64/group" filter="!oem_build"/>
     </component>
     <component name="utlcrypto" filter="s60" long-name="Crypto Utilities">
      <unit bldFile="mw/vpnclient/vpnengine/utlcrypto/group" filter="!oem_build"/>
     </component>
     <component name="utlxml" filter="s60" long-name="XML Utilities">
      <unit bldFile="mw/vpnclient/vpnengine/utlxml/group" filter="!oem_build"/>
     </component>
     <component name="utlpkcs10" filter="s60" long-name="PKCS#10 Utilities">
      <unit bldFile="mw/vpnclient/vpnengine/utlpkcs10/group" filter="!oem_build"/>
     </component>
     <component name="pkiserviceapi" filter="s60" long-name="PKI Service API">
      <unit bldFile="mw/vpnclient/vpnengine/pkiserviceapi/group" filter="!oem_build"/>
     </component>
     <component name="ikecert" filter="s60" long-name="IKE Certificate Management">
      <unit bldFile="mw/vpnclient/vpnengine/ikecert/group" filter="!oem_build"/>
     </component>
     <component name="kmdapi" filter="s60" long-name="Key Management Daemon API">
      <unit bldFile="mw/vpnclient/vpnengine/kmdapi/group" filter="!oem_build"/>
     </component>
     <component name="kmdserver" filter="s60" long-name="Key Management Daemon Server">
      <unit bldFile="mw/vpnclient/vpnengine/kmdserver/group" filter="!oem_build"/>
     </component>
     <component name="ikeutils" filter="s60" long-name="Internet Key Exchange Utils">
      <unit bldFile="mw/vpnclient/vpnengine/ikeutils/group" filter="!oem_build"/>
     </component>
     <component name="ikev1lib" filter="s60" long-name="IKEv1 Library">
      <unit bldFile="mw/vpnclient/vpnengine/ikev1lib/group" filter="!oem_build"/>
     </component>
     <component name="ikev2lib" filter="s60" long-name="IKEv2 Library">
      <unit bldFile="mw/vpnclient/vpnengine/ikev2lib/group" filter="!oem_build"/>
     </component>
     <component name="vpnipsecpolparser" filter="s60" long-name="VPN IPsec Policy Parser">
      <unit bldFile="mw/vpnclient/vpnengine/vpnipsecpolparser/group" filter="!oem_build"/>
     </component>
     <component name="sit" filter="s60" long-name="Socket Interaction Thread">
      <unit bldFile="mw/vpnclient/vpnengine/sit/group" filter="!oem_build"/>
     </component>
     <component name="vpntcwrapper" filter="s60" long-name="VPN Terminal Control Wrapper">
      <unit bldFile="mw/vpnclient/vpnengine/vpntcwrapper/group" filter="!oem_build"/>
     </component>
     <component name="eventmediator" filter="s60" long-name="Event Mediator">
      <unit bldFile="mw/vpnclient/vpnengine/eventmediator/group" filter="!oem_build"/>
     </component>
     <component name="pkiservice" filter="s60" long-name="PKI Service">
      <unit bldFile="mw/vpnclient/vpnengine/pkiservice/group" filter="!oem_build"/>
     </component>
     <component name="vpnconnagt" filter="s60" long-name="VPN Connection Agent">
      <unit bldFile="mw/vpnclient/vpnengine/vpnconnagt/group" filter="!oem_build"/>
     </component>
     <component name="vpnmanager" filter="s60" long-name="VPN Manager">
      <unit bldFile="mw/vpnclient/vpnengine/vpnmanager/group" filter="!oem_build"/>
     </component>
     <component name="vpncleaner" filter="s60" long-name="VPN Cleaner">
      <unit bldFile="mw/vpnclient/vpnengine/vpncleaner/group" filter="!oem_build"/>
     </component>
     <component name="utlpkcs12" filter="s60" long-name="PKCS#12 Utilities">
      <unit bldFile="mw/vpnclient/vpnengine/utlpkcs12/group" filter="!oem_build"/>
     </component>
     <component name="dmadengine" filter="s60" long-name="DM Adapter Engine">
      <unit bldFile="mw/vpnclient/vpnengine/dmadengine/group" filter="!oem_build"/>
     </component>
     <component name="dmadipsecvpn" filter="s60" long-name="IPsec VPN DM Adapter" plugin="Y">
      <unit bldFile="mw/vpnclient/vpnengine/dmadipsecvpn/group" filter="!oem_build"/>
     </component>
     <component name="dmadpki" filter="s60" long-name="PKI DM Adapter" plugin="Y">
      <unit bldFile="mw/vpnclient/vpnengine/dmadpki/group" filter="!oem_build"/>
     </component>
     <component name="ikesocket" filter="s60" long-name="IKE Socket" introduced="^3">
      <unit bldFile="mw/vpnclient/vpnengine/ikesocket/group" filter="!oem_build"/>
     </component>
    </collection>
    <collection name="vpnui" long-name="VPN UI" level="ui">
     <component name="vpnecomnotifier" filter="s60" long-name="VPN ECOM Notifier" plugin="Y">
      <unit bldFile="mw/vpnclient/vpnui/vpnecomnotifier/group" filter="!oem_build"/>
     </component>
     <component name="vpndialogmanager" filter="s60" long-name="VPN Dialog Manager">
      <unit bldFile="mw/vpnclient/vpnui/vpndialogmanager/group" filter="!oem_build"/>
     </component>
     <component name="vpnmanagementui" filter="s60" long-name="VPN Management UI" plugin="Y">
      <unit bldFile="mw/vpnclient/vpnui/vpnmanagementui/group" filter="!oem_build"/>
     </component>
     <component name="vpnpolins" filter="s60" long-name="VPN Policy Installer">
      <unit bldFile="mw/vpnclient/vpnui/vpnpolins/group" filter="!oem_build"/>
     </component>
     <component name="vpnpolicyrecognizer" filter="s60" long-name="VPN Policy Recognizer" plugin="Y">
      <unit bldFile="mw/vpnclient/vpnui/vpnpolicyrecognizer/group" filter="!oem_build"/>
     </component>
    </collection>
    <collection name="vpnclient_info" long-name="VPN Client Info" level="api">
     <component name="vpnclient_help" filter="s60" long-name="VPN Client Help">
      <unit bldFile="mw/vpnclient/help/group" filter="!oem_build"/>
     </component>
     <component name="vpnclient_build" filter="s60" long-name="VPN Client Build">
      <!-- should split this up into the other components and remove this-->
      <unit bldFile="mw/vpnclient/group" filter="!oem_build"/>
     </component>
     <component name="vpnc_plat" filter="s60" long-name="VPN Client Platform Interfaces" class="api">
      <unit bldFile="mw/vpnclient/vpnc_plat/vpnapi/group" filter="!oem_build"/>
     </component>
    </collection>
   </block>
   <block name="ipappsrv" level="specific" long-name="IP App Services" levels="framework generic server conn plugin">
    <collection name="natfw" long-name="NAT Framework" level="framework">
     <!-- collection is really a component. Need to move down a directory -->
     <component name="natfw_build" filter="s60" long-name="NAT Framework Build" introduced="^2">
      <unit bldFile="mw/ipappsrv/natfw/group"/>
     </component>
    </collection>
    <collection name="multimediacommscontroller" long-name="Multimedia Comms Controller" level="conn">
     <!-- collection is really a component. Need to move down a directory -->
     <component name="multimediacommscontroller_build" filter="s60" long-name="Multimedia Comms Controller Build">
      <unit bldFile="mw/ipappsrv/multimediacommscontroller/group"/>
     </component>
    </collection>
    <collection name="multimediacommsengine" long-name="Multimedia Comms Engine" level="generic">
     <!-- collection is really a component. Need to move down a directory -->
     <component name="multimediacommsengine_build" filter="s60" long-name="Multimedia Comms Engine Build">
      <unit bldFile="mw/ipappsrv/multimediacommsengine/group"/>
     </component>
    </collection>
    <collection name="natplugins" long-name="NAT Plugins" level="plugin">
     <component name="natpcliprovisioningnatfwadapter" filter="s60" long-name="Client Provisioning NAT Framework Traversal Adapter" introduced="^2" plugin="Y">
      <unit bldFile="mw/ipappsrv/natplugins/natpcliprovisioningnatfwadapter/group"/>
     </component>
     <component name="natpdevmgmtnatfwadapter" filter="s60" long-name="Device Management NAT Framework Traversal Adapter" plugin="Y">
      <unit bldFile="mw/ipappsrv/natplugins/natpdevmgmtnatfwadapter/group"/>
     </component>
     <component name="natptraversalcontroller" filter="s60" long-name="NAT Traversal Controller" plugin="Y">
      <unit bldFile="mw/ipappsrv/natplugins/natptraversalcontroller/group"/>
     </component>
     <component name="natpnatfwsdpprovider" filter="s60" long-name="NAT Framework SDP Provider" plugin="Y">
      <unit bldFile="mw/ipappsrv/natplugins/natpnatfwsdpprovider/group"/>
     </component>
    </collection>
    <collection name="ipappsrv_info" long-name="IP App Services Info" level="plugin">
     <component name="ipappsrv_plat" filter="s60" long-name="IP App Services Platform Interfaces" class="api">
      <unit bldFile="mw/ipappsrv/ipappsrv_plat/group"/>
     </component>
     <component name="ipappsrv_build" long-name="IP App Services Build" filter="s60">
      <!-- remove the #includes from here and rename as xxx ROM or move iby/sis files into another component-->
      <unit mrp="mw/ipappsrv/group"/>
     </component>
     <component name="ipappsrv_metadata" long-name="IP App Services Metadata" introduced="^2" purpose="development" class="config PC">
      <unit mrp="mw/ipappsrv/ipappsrv_info/ipappsrv_metadata/ipappsrv_metadata.mrp"/>
     </component>
    </collection>
   </block>
   <block name="phonesrv" level="specific" long-name="Telephony and SIM Services" levels="plugin framework server generic specific">
    <collection name="telutils" long-name="Telephony Utils" level="generic">
     <component name="phoneparser" filter="s60" long-name="Phone Parser">
      <unit bldFile="mw/phonesrv/telutils/phoneparser/group"/>
     </component>
     <component name="telephonyservice" filter="s60" long-name="Telephony Service">
      <unit bldFile="mw/phonesrv/telutils/telephonyservice/group"/>
     </component>
    </collection>
    <collection name="cbs" long-name="Cellular Baseband Services" level="plugin">
     <component name="cbsserver" filter="s60" long-name="CBS Server">
      <unit bldFile="mw/phonesrv/cbs/cbsserver/group"/>
     </component>
     <component name="cbsui" filter="s60" long-name="CBS UI">
      <unit bldFile="mw/phonesrv/cbs/cbsui/group"/>
     </component>
    </collection>
    <collection name="cellular" long-name="Cellular" level="server">
     <component name="telephonysettings" filter="s60" long-name="Telephony Settings">
      <unit bldFile="mw/phonesrv/cellular/telephonysettings/group"/>
     </component>
     <component name="sssettings" filter="s60" long-name="Supplementary Service Settings">
      <unit bldFile="mw/phonesrv/cellular/sssettings/group"/>
     </component>
     <component name="psetnotesui" filter="s60" long-name="Phone Settings Notes UI">
      <unit bldFile="mw/phonesrv/cellular/psetnotesui/group"/>
     </component>
     <component name="servicerequest" filter="s60" long-name="Service Request">
      <unit bldFile="mw/phonesrv/cellular/servicerequest/group"/>
     </component>
    </collection>
    <collection name="convergedcallengine" long-name="Converged Call Engine" level="framework">
     <component name="callprovider" filter="s60" long-name="Call Provider">
      <unit bldFile="mw/phonesrv/convergedcallengine/callprovider/group"/>
     </component>
     <component name="cce" filter="s60" long-name="CCE">
      <unit bldFile="mw/phonesrv/convergedcallengine/cce/group"/>
     </component>
     <component name="spsettings" filter="s60" long-name="Service Provider Settings">
      <unit bldFile="mw/phonesrv/convergedcallengine/spsettings/group"/>
     </component>
     <component name="cenrepdatabase" filter="s60" long-name="CCE Cenrep Database">
      <unit bldFile="mw/phonesrv/convergedcallengine/cenrepdatabase/group"/>
     </component>
     <component name="serviceselector" filter="s60" long-name="Service Selector">
      <unit bldFile="mw/phonesrv/convergedcallengine/serviceselector/group"/>
     </component>
     <component name="csplugin" filter="s60" long-name="CS Plugin" plugin="Y">
      <!--  should spell out CS in name -->
      <unit bldFile="mw/phonesrv/convergedcallengine/csplugin/group"/>
     </component>
    </collection>
    <collection name="engines" long-name="Telephony Engines" level="specific">
     <component name="vmbxengine" filter="s60" long-name="Voice Mailbox Engine">
      <unit bldFile="mw/phonesrv/engines/vmbxengine/group"/>
     </component>
    </collection>
    <collection name="networkhandling" long-name="Network Handling" level="plugin">
     <component name="networkhandlingengine" filter="s60" long-name="Network Handling Engine">
      <unit bldFile="mw/phonesrv/networkhandling/networkhandlingengine/group"/>
     </component>
    </collection>
    <collection name="phoneclientserver" long-name="Phone Client/Server" level="server">
     <component name="enpolicy" filter="s60" long-name="Emergency Number Policy">
      <unit bldFile="mw/phonesrv/phoneclientserver/enpolicy/group"/>
     </component>
     <component name="aiwdialdata" filter="s60" long-name="AIW Dial Data">
      <unit bldFile="mw/phonesrv/phoneclientserver/aiwdialdata/group"/>
     </component>
     <component name="dialutils" filter="s60" long-name="Dial Utils">
      <unit bldFile="mw/phonesrv/phoneclientserver/dialutils/group"/>
     </component>
     <component name="phoneclient" filter="s60" long-name="Phone Client">
      <unit bldFile="mw/phonesrv/phoneclientserver/phoneclient/group"/>
     </component>
     <component name="phoneserver" filter="s60" long-name="Phone Server">
      <unit bldFile="mw/phonesrv/phoneclientserver/phoneserver/group"/>
     </component>
     <component name="callui" filter="s60" long-name="Call UI">
      <unit bldFile="mw/phonesrv/phoneclientserver/callui/group"/>
     </component>
    </collection>
    <collection name="satengine" long-name="SIM Application Toolkit Engine" level="generic">
     <component name="satserver" filter="s60" long-name="SAT Server">
      <unit bldFile="mw/phonesrv/satengine/satserver/group"/>
     </component>
    </collection>
    <collection name="satui" long-name="SIM Application Toolkit UI" level="specific">
     <component name="satapp" filter="s60" long-name="SAT Application">
      <unit bldFile="mw/phonesrv/satui/satapp/group"/>
     </component>
     <component name="satplugin" filter="s60" long-name="SAT Plugin" plugin="Y">
      <unit bldFile="mw/phonesrv/satui/satplugin/group"/>
     </component>
    </collection>
    <collection name="phonecmdhandler" long-name="Phone Command Handler" level="generic">
     <component name="phonecmdhnlr" filter="s60" long-name="Phone Command Handler">
      <unit bldFile="mw/phonesrv/phonecmdhandler/phonecmdhnlr/group"/>
     </component>
    </collection>
    <collection name="phonesrv_info" long-name="Telephony and SIM Services Info" level="specific">
     <component name="phonesrv_plat" filter="s60" long-name="Telephony and SIM Services Platform Interfaces" class="api">
      <unit bldFile="mw/phonesrv/phonesrv_plat/group"/>
     </component>
     <component name="phonesrv_pub" filter="s60" long-name="Telephony and SIM Services Public Interfaces" class="api">
      <unit bldFile="mw/phonesrv/phonesrv_pub/group"/>
     </component>
    </collection>
   </block>
   <block name="messagingmw" level="specific" long-name="Messaging Middleware" levels="stack fw api">
    <collection name="msgbranched" long-name="Messaging Branched" level="fw">
     <!-- collection is really a component. Need to move down a directory -->
     <component name="msgbranched_build" filter="s60" long-name="Messaging Branched Build">
      <unit bldFile="mw/messagingmw/msgbranched/group"/>
     </component>
    </collection>
    <collection name="messagingfw" long-name="Messaging Framework" level="fw">
     <!-- should break this collection up into smaller related collections -->
     <component name="alwaysonline" filter="s60" long-name="Always Online Server" introduced="^2">
      <unit bldFile="mw/messagingmw/messagingfw/alwaysonline/group"/>
     </component>
     <component name="msgcommonutils" filter="s60" long-name="Messaging Common Utils" introduced="^2">
      <unit bldFile="mw/messagingmw/messagingfw/msgcommonutils/group"/>
     </component>
     <component name="senduiservices" filter="s60" long-name="Send UI Services" introduced="^2">
      <unit bldFile="mw/messagingmw/messagingfw/senduiservices/group"/>
     </component>
     <component name="scheduledsendmtm" long-name="Scheduled Send MTM" introduced="6.0" purpose="optional" plugin="Y">
      <unit bldFile="mw/messagingmw/messagingfw/scheduledsendmtm/group" mrp="mw/messagingmw/messagingfw/scheduledsendmtm/group/messaging_schedulesend.mrp"/>
     </component>
     <component name="msgsrvnstore" long-name="Message Server and Store" purpose="optional">
      <unit bldFile="mw/messagingmw/messagingfw/msgsrvnstore/group" mrp="mw/messagingmw/messagingfw/msgsrvnstore/group/messaging_framework.mrp"/>
     </component>
     <component name="biomsgfw" long-name="BIO Messaging Framework" introduced="6.0" purpose="optional">
      <unit bldFile="mw/messagingmw/messagingfw/biomsgfw/group" mrp="mw/messagingmw/messagingfw/biomsgfw/group/messaging_biomsg.mrp"/>
     </component>
     <component name="msgconf" long-name="Messaging Config" introduced="^2" purpose="optional" class="config">
      <unit bldFile="mw/messagingmw/messagingfw/msgconf/group" mrp="mw/messagingmw/messagingfw/msgconf/group/messaging_config.mrp"/>
     </component>
     <component name="watcherfw" long-name="Watcher Framework" purpose="optional">
      <unit bldFile="mw/messagingmw/messagingfw/watcherfw/group" mrp="mw/messagingmw/messagingfw/watcherfw/group/messaging_watcher.mrp"/>
     </component>
     <component name="msgtest" long-name="Messaging Test" purpose="development">
      <unit bldFile="mw/messagingmw/messagingfw/msgtest/group" mrp="mw/messagingmw/messagingfw/msgtest/group/messaging_test.mrp"/>
     </component>
     <component name="sendas" long-name="Send As" purpose="optional">
      <unit bldFile="mw/messagingmw/messagingfw/sendas/group" mrp="mw/messagingmw/messagingfw/sendas/group/messaging_sendas2.mrp"/>
     </component>
     <component name="msgurlhandler" long-name="Message URL Handler" introduced="7.0" purpose="optional">
      <unit bldFile="mw/messagingmw/messagingfw/msgurlhandler/group" mrp="mw/messagingmw/messagingfw/msgurlhandler/group/messaging_urlhandler.mrp"/>
     </component>
     <component name="wappushfw" long-name="WAP Push Framework" introduced="6.1" purpose="optional">
      <unit bldFile="mw/messagingmw/messagingfw/wappushfw/group" mrp="mw/messagingmw/messagingfw/wappushfw/group/wap-browser_wappush.mrp"/>
     </component>
     <component name="suplsmshandler" long-name="SUPL SMS Handler" introduced="^2" purpose="development" plugin="Y">
      <unit bldFile="mw/messagingmw/messagingfw/suplsmshandler/group" mrp="mw/messagingmw/messagingfw/suplsmshandler/group/lbs_suplsmstrigger.mrp"/>
     </component>
     <component name="suplwappushhandler" long-name="SUPL WAP Push Handler" introduced="^2" purpose="optional" plugin="Y">
      <unit bldFile="mw/messagingmw/messagingfw/suplwappushhandler/group" mrp="mw/messagingmw/messagingfw/suplwappushhandler/group/lbs_suplwappush.mrp"/>
     </component>
    </collection>
    <collection name="messagingmw_info" long-name="Messaging Middleware Info" level="api">
     <component name="msgfw_plat" filter="s60" long-name="Messaging Middleware Platform Interfaces" class="api">
      <unit bldFile="mw/messagingmw/msgfw_plat/group"/>
     </component>
     <component name="msgfw_pub" filter="s60" long-name="Messaging Middleware Public Interfaces" class="api">
      <unit bldFile="mw/messagingmw/msgfw_pub/group"/>
     </component>
     <component name="messagingmw_metadata" long-name="Messaging Middleware Metadata" introduced="^2" purpose="development" class="config PC">
      <unit mrp="mw/messagingmw/messagingmw_info/messagingmw_metadata/messagingmw_metadata.mrp"/>
     </component>
    </collection>
   </block>
   <block name="imsrv" level="specific" long-name="Instant Messaging and Presence Services" levels="plugin framework server generic specific">
    <collection name="ximpfw" long-name="XIMP Framework" level="framework">
     <!-- collection is really a component. Needs to be moved down a directory -->
     <component name="ximpfw_build" filter="s60" long-name="XIMP Framework Build">
      <unit bldFile="mw/imsrv/ximpfw/group"/>
     </component>
    </collection>
    <collection name="imservices" long-name="IM Services" level="generic">
     <component name="imfeatureplugin" filter="s60" long-name="IM Feature Plugin" introduced="^2" plugin="Y">
      <unit bldFile="mw/imsrv/imservices/imfeatureplugin/group"/>
     </component>
     <component name="searchfeatureplugin" filter="s60" long-name="Search Feature Plugin" introduced="^2" plugin="Y">
      <unit bldFile="mw/imsrv/imservices/searchfeatureplugin/group"/>
     </component>
     <component name="xmppsettingsapi" filter="s60" long-name="XMPP Settings API" introduced="^2">
      <unit bldFile="mw/imsrv/imservices/xmppsettingsapi/group"/>
     </component>
     <component name="xmppsettingsfetcher" filter="s60" long-name="XMPP Settings Fetcher" introduced="^2">
      <unit bldFile="mw/imsrv/imservices/xmppsettingsfetcher/group"/>
     </component>
     <component name="ossprotocoladaptation" filter="s60" long-name="OSS Protocol Adaptation" introduced="^2" plugin="Y">
      <unit bldFile="mw/imsrv/imservices/ossprotocoladaptation/group"/>
     </component>
     <component name="instantmessagingcache" filter="s60" long-name="Instant Messaging Cache" introduced="^2">
      <unit bldFile="mw/imsrv/imservices/instantmessagingcache/group"/>
     </component>
    </collection>
    <collection name="brandingserver" long-name="Branding Server" level="specific">
     <!-- collection is really a component. Needs to be moved down a directory -->
     <component name="brandingserver_build" filter="s60" long-name="Branding Server Build">
      <unit bldFile="mw/imsrv/brandingserver/group"/>
     </component>
    </collection>
    <collection name="imsrv_info" long-name="Instant Messaging and Presence Services Info" level="specific">
     <component name="imsrv_plat" filter="s60" long-name="Instant Messaging and Presence Services Platform Interfaces" class="api">
      <unit bldFile="mw/imsrv/imsrv_plat/group"/>
     </component>
    </collection>
   </block>
   <block name="legacypresence" level="specific" long-name="Legacy Presence Services" levels="engine fw ui">
    <collection name="xdmengine" long-name="XDM Engine" level="engine">
     <!-- collection is really a component. Need to move down a directory (eg xdm/xdmengine)-->
     <component name="xdmengine_build" filter="s60" long-name="XDM Engine Build">
      <unit bldFile="mw/legacypresence/xdmengine/group"/>
     </component>
    </collection>
    <collection name="xdmsettingsui" long-name="XDM Settings UI" level="ui">
     <!-- collection is really a component. Need to move down a directory (eg xdm/xdmsettingsui)-->
     <component name="xdmsettingsui_build" filter="s60" long-name="XDM Settings UI Build">
      <unit bldFile="mw/legacypresence/xdmsettingsui/group"/>
     </component>
    </collection>
    <collection name="xdmprotocols" long-name="XDM Protocols" level="fw">
     <!-- collection is really a component. Need to move down a directory (eg xdm/xdmprotocols)-->
     <component name="xdmprotocols_build" filter="s60" long-name="XDM Protocols Build">
      <unit bldFile="mw/legacypresence/xdmprotocols/group"/>
     </component>
    </collection>
    <collection name="msgconnmanager" long-name="Messaging Connection Manager" level="fw">
     <!-- collection is really a component. Need to move down a directory-->
     <component name="msgconnmanager_build" filter="s60" long-name="Messaging Connection Manager Build">
      <unit bldFile="mw/legacypresence/msgconnmanager/group"/>
     </component>
    </collection>
    <collection name="presencesettingsui" long-name="Presence Settings UI" level="ui">
     <!-- collection is really a component. Need to move down a directory-->
     <component name="presencesettingsui_build" filter="s60" long-name="Presence Settings UI Build">
      <unit bldFile="mw/legacypresence/presencesettingsui/group"/>
     </component>
    </collection>
    <collection name="simpleengine" long-name="SIMPLE Engine" level="engine">
     <!-- collection is really a component. Need to move down a directory-->
     <component name="simpleengine_build" filter="s60" long-name="SIMPLE Engine Build">
      <unit bldFile="mw/legacypresence/simpleengine/group"/>
     </component>
    </collection>
    <collection name="presencefwsimpleadpt" long-name="Presence Framework SIMPLE Adaptation" level="fw">
     <!-- collection is really a component. Need to move down a directory-->
     <component name="simpleplugin" filter="s60" long-name="SIMPLE Plugin" plugin="Y">
      <unit bldFile="mw/legacypresence/presencefwsimpleadpt/group"/>
     </component>
    </collection>
    <collection name="simpledatamodeladapter" long-name="SIMPLE Data Model Adapter" level="fw">
     <component name="presenceplugin" filter="s60" long-name="Presence Plugin" introduced="^2" plugin="Y">
      <unit bldFile="mw/legacypresence/simpledatamodeladapter/group"/>
     </component>
    </collection>
    <collection name="legacypresence_info" long-name="Legacy Presence Services Info" level="ui">
     <component name="pressrv_plat" filter="s60" long-name="Legacy Presence Services Platform Interfaces" class="api">
      <unit bldFile="mw/legacypresence/pressrv_plat/group"/>
     </component>
    </collection>
   </block>
   <block name="opensrv" level="specific" long-name="Open Services" levels="prt lib server eng">
    <collection name="loudmouth" long-name="Loudmouth" level="prt">
     <!-- collection is really a component so it needs to be moved down a directory -->
     <component name="loudmouth_build" filter="s60" long-name="Loudmouth Build" introduced="^2">
      <unit bldFile="mw/opensrv/loudmouth/group"/>
     </component>
    </collection>
    <collection name="libtelepathy" long-name="Telepathy Library" level="lib">
     <!-- collection is really a component so it needs to be moved down a directory -->
     <component name="libtelepathy_build" filter="s60" long-name="Telepathy Library Build" introduced="^2">
      <unit bldFile="mw/opensrv/libtelepathy/group"/>
     </component>
    </collection>
    <collection name="telepathygabble" long-name="Telepathy Gabble" level="eng">
     <!-- collection is really a component so it needs to be moved down a directory -->
     <component name="telepathygabble_build" filter="s60" long-name="Telepathy Gabble Build" introduced="^2">
      <unit bldFile="mw/opensrv/telepathygabble/group"/>
     </component>
    </collection>
    <collection name="isolationserver" long-name="Isolation Server" level="server">
     <component name="messagequeue" filter="s60" long-name="Message Queue" introduced="^2">
      <unit bldFile="mw/opensrv/isolationserver/messagequeue/group"/>
     </component>
     <component name="isoserver" filter="s60" long-name="ISO Server" introduced="^2">
      <unit bldFile="mw/opensrv/isolationserver/isoserver/group"/>
     </component>
     <component name="isolationserver_build" filter="s60" long-name="Isloation Server Build" introduced="^2">
      <!-- needs #includes removed. either move the exports to another component or make this a ROM component -->
      <unit bldFile="mw/opensrv/isolationserver/group"/>
     </component>
    </collection>
    <collection name="opensrv_info" long-name="Open Services Info" level="eng">
     <component name="opensrv_plat" filter="s60" long-name="Open Services Platform Interfaces" introduced="^2" class="api">
      <unit bldFile="mw/opensrv/opensrv_plat/group"/>
     </component>
    </collection>
   </block>
   <block name="remotemgmt" level="specific" long-name="Remote Management" levels="plugin framework server generic specific">
    <collection name="policymanagement" long-name="Policy Management" level="generic">
     <component name="pmdmadapter" filter="s60" long-name="PM DM Adapter" plugin="Y">
      <unit bldFile="mw/remotemgmt/policymanagement/pmdmadapter/group"/>
     </component>
     <component name="dmutilserver" filter="s60" long-name="DM Util Server">
      <unit bldFile="mw/remotemgmt/policymanagement/dmutilserver/group"/>
     </component>
     <component name="policyengine" filter="s60" long-name="Policy Engine">
      <unit bldFile="mw/remotemgmt/policymanagement/policyengine/group"/>
     </component>
     <component name="policymanagement_build" filter="s60" long-name="Policy Management Build">
      <!--  need to distribute exports, etc into the other components and remove this-->
      <unit bldFile="mw/remotemgmt/policymanagement/group"/>
     </component>
    </collection>
    <collection name="syncmlfw" long-name="SyncML Framework" level="server">
     <component name="syncmlfw_build" filter="s60" long-name="SyncML Framework Build">
      <!--  need to break this up into components. Too convoluted a structure to be in a single bld.inf-->
      <unit bldFile="mw/remotemgmt/syncmlfw/group"/>
     </component>
    </collection>
    <collection name="terminalsecurity" long-name="Terminal Security" level="specific">
     <component name="scp" filter="s60" long-name="Security Code Proxy">
      <!-- can only have one unit, need to have these #included from a single bld.inf -->
      <unit bldFile="mw/remotemgmt/terminalsecurity/scp/scpclient/group"/>
      <unit bldFile="mw/remotemgmt/terminalsecurity/scp/scpdatabase/group"/>
      <unit bldFile="mw/remotemgmt/terminalsecurity/scp/scpserver/group"/>
      <unit bldFile="mw/remotemgmt/terminalsecurity/scp/scppatternplugin/group"/>
      <unit bldFile="mw/remotemgmt/terminalsecurity/scp/scphistoryplugin/group"/>
      <unit bldFile="mw/remotemgmt/terminalsecurity/scp/scptimestampplugin/group"/>
      <unit bldFile="mw/remotemgmt/terminalsecurity/scp/scpeventhandler/group"/>
      <unit bldFile="mw/remotemgmt/terminalsecurity/scp/dmeventnotifier/group"/>
     </component>
     <component name="terminalsecurity_client" filter="s60" long-name="Terminal Control Client">
      <unit bldFile="mw/remotemgmt/terminalsecurity/client/group"/>
     </component>
     <component name="terminalsecurity_server" filter="s60" long-name="Terminal Control Server">
      <unit bldFile="mw/remotemgmt/terminalsecurity/server/group"/>
     </component>
     <component name="tcadapter" filter="s60" long-name="Terminal Control Adapter">
      <unit bldFile="mw/remotemgmt/terminalsecurity/tcadapter/bld"/>
     </component>
     <component name="terminalsecurity_build" filter="s60" long-name="Terminal Security Build">
      <!--  need to distribute exports, etc into the other components and remove this-->
      <unit bldFile="mw/remotemgmt/terminalsecurity/group"/>
     </component>
    </collection>
    <collection name="omaprovisioning" long-name="OMA Provisioning" level="specific">
     <component name="pnputil" filter="s60" long-name="PnP Util">
      <unit bldFile="mw/remotemgmt/omaprovisioning/pnputil/group"/>
     </component>
     <component name="provisioning" filter="s60" long-name="Provisioning">
      <unit bldFile="mw/remotemgmt/omaprovisioning/provisioning/group"/>
     </component>
    </collection>
    <collection name="devicediagnosticsfw" long-name="Device Diagnostics Framework" level="framework">
     <component name="diagframework" filter="s60" long-name="Diagnostics Framework">
      <unit bldFile="mw/remotemgmt/devicediagnosticsfw/diagframework/group"/>
     </component>
     <component name="diagpluginbase" filter="s60" long-name="Diagnostics Plugin Base">
      <unit bldFile="mw/remotemgmt/devicediagnosticsfw/diagpluginbase/group"/>
     </component>
     <component name="diagresultsdb" filter="s60" long-name="Diagnostics Results Database">
      <!--  can only have one unit, merge or split into two components -->
      <unit bldFile="mw/remotemgmt/devicediagnosticsfw/diagresultsdb/client/group"/>
      <unit bldFile="mw/remotemgmt/devicediagnosticsfw/diagresultsdb/server/group"/>
     </component>
     <component name="devicediagnosticsfw_build" filter="s60" long-name="Device Diagnostics Framework Build">
      <!--  need to distribute exports, etc into the other components and remove this-->
      <unit bldFile="mw/remotemgmt/devicediagnosticsfw/group"/>
     </component>
    </collection>
    <collection name="dcmofw" long-name="Device Capability Management Object Framework" level="framework">
     <component name="dcmoclient" filter="s60" long-name="DCMO Client">
      <unit bldFile="mw/remotemgmt/dcmofw/dcmoclient/group"/>
     </component>
     <component name="dcmoserver" filter="s60" long-name="DCMO Server">
      <unit bldFile="mw/remotemgmt/dcmofw/dcmoserver/group"/>
     </component>
     <component name="dcmocustcmd" filter="s60" long-name="DCMO Custom Commands">
      <unit bldFile="mw/remotemgmt/dcmofw/dcmocustcmd/group"/>
     </component>
     <component name="dcmofw_build" filter="s60" long-name="DCMO Build">
      <!--  need to distribute exports, etc into the other components and remove this-->
      <unit bldFile="mw/remotemgmt/dcmofw/group"/>
     </component>
    </collection>
    <collection name="fotaapplication" long-name="FOTA Application" level="generic">
     <component name="fotaapplication_build" filter="s60" long-name="FOTA Application Build">
      <!-- remove this component when configuration is in place and the #ifdefs have been worked out -->
      <unit bldFile="mw/remotemgmt/fotaapplication/group"/>
     </component>
     <component name="fotaserver" filter="s60" long-name="FOTA Server">
      <!-- uncomment when #ifdefs are resolved -->
      <!--<unit bldFile="fotaapplication/fotaserver/group"/>-->
     </component>
     <component name="fotacustcmds" filter="s60" long-name="FOTA Custom Commands" class="placeholder">
      <!-- uncomment when #ifdefs are resolved. Need to put a config meta here-->
      <!--<unit bldFile="fotaapplication/fotaserver/fotacustcmds/group"/>-->
     </component>
    </collection>
    <collection name="remotemgmt_info" long-name="Remote Management Info" level="specific">
     <component name="remotemgmt_plat" filter="s60" long-name="Remote Management Platform Interfaces" class="api">
      <unit bldFile="mw/remotemgmt/remotemgmt_plat/group"/>
     </component>
     <component name="remotemgmt_pub" filter="s60" long-name="Remote Management Public Interfaces" class="api">
      <unit bldFile="mw/remotemgmt/remotemgmt_pub/group"/>
     </component>
    </collection>
   </block>
   <block name="remotestorage" level="generic" long-name="Remote Storage" levels="framework if">
    <collection name="remotestoragefw" long-name="Remote Storage Framework" level="framework">
     <component name="mountstore" filter="s60" long-name="RSFW Mount Store">
      <unit bldFile="mw/remotestorage/remotestoragefw/mountstore/group"/>
     </component>
     <component name="rsfwnotifierplugins" filter="s60" long-name="RSFW Notifier Plugins" plugin="Y">
      <unit bldFile="mw/remotestorage/remotestoragefw/rsfwnotifierplugins/group"/>
     </component>
     <component name="remotefileengine" filter="s60" long-name="Remote File Engine">
      <unit bldFile="mw/remotestorage/remotestoragefw/remotefileengine/group"/>
     </component>
     <component name="mountmanager" filter="s60" long-name="RSFW Mount Manager">
      <unit bldFile="mw/remotestorage/remotestoragefw/mountmanager/group"/>
     </component>
     <component name="webdavaccessplugin" filter="s60" long-name="WebDAV Access Plugin" plugin="Y">
      <unit bldFile="mw/remotestorage/remotestoragefw/webdavaccessplugin/group"/>
     </component>
     <component name="remotefilesystemplugin" filter="s60" long-name="Remote Filesystem Plugin" plugin="Y">
      <unit bldFile="mw/remotestorage/remotestoragefw/remotefilesystemplugin/group"/>
     </component>
     <component name="remotestoragegsplugin" filter="s60" long-name="RS GS Plugin" plugin="Y">
      <!-- uncomment the unit when configuration is in place, it's currently #included from remotestoragefw_build -->
      <!-- <unit bldFile="remotestoragefw/gsplugin/group"/>-->
     </component>
     <component name="remotedriveconfigurationbiocontrol" filter="s60" long-name="Remote Drive Configuration BIO Control">
      <!-- uncomment the unit when configuration is in place, it's currently #included from remotestoragefw_build -->
      <!--   <unit bldFile="remotestoragefw/remotedriveconfigurationbiocontrol/group"/>-->
     </component>
     <component name="remotestoragefw_build" filter="s60" long-name="Remote Storage Framework Build">
      <!-- move exports to other components.
				This is needed for #includes of configured component until congigiration is in place -->
      <unit bldFile="mw/remotestorage/remotestoragefw/group"/>
     </component>
    </collection>
    <collection name="remotestorage_info" long-name="Remote Storage Info" level="if">
     <component name="rsfw_plat" filter="s60" long-name="Remote Storage Platform Interfaces" class="api">
      <unit bldFile="mw/remotestorage/rsfw_plat/rsfw_access_protocol_plugin_api/group"/>
     </component>
    </collection>
   </block>
   <block name="remoteconn" level="generic" long-name="Remote Connectivity" levels="plugin framework server generic specific">
    <collection name="connectivitymodules" long-name="Connectivity Modules" level="framework">
     <component name="secon" filter="s60" long-name="Service Controllers">
      <unit bldFile="mw/remoteconn/connectivitymodules/secon/group"/>
     </component>
    </collection>
    <collection name="remoteconn_info" long-name="Remote Connectivity Info" level="specific">
     <component name="remoteconn_plat" filter="s60" long-name="Remote Connectivity Platform Interfaces" class="api">
      <unit bldFile="mw/remoteconn/remoteconn_plat/group"/>
     </component>
     <component name="remoteconn_metadata" long-name="Remote Connectivity Metadata" introduced="^2" purpose="development" class="config PC">
      <unit mrp="mw/remoteconn/remoteconn_info/remoteconn_metadata/remoteconn_metadata.mrp"/>
     </component>
    </collection>
    <collection name="mtptransports" long-name="MTP Transports" level="plugin">
     <component name="mtpusbtransport" long-name="MTP USB Transport" introduced="^2" purpose="optional" plugin="Y">
      <unit bldFile="mw/remoteconn/mtptransports/mtpusbtransport/group" mrp="mw/remoteconn/mtptransports/mtpusbtransport/group/mtp_usbsic.mrp"/>
     </component>
     <component name="mtpptpiptransport" long-name="MTP PTP-IP Transport" introduced="^3" purpose="optional" plugin="Y">
      <unit bldFile="mw/remoteconn/mtptransports/mtpptpiptransport/group" mrp="mw/remoteconn/mtptransports/mtpptpiptransport/group/mtp_ptpip.mrp"/>
     </component>
     <component name="mtpcontroller" long-name="MTP Controller" introduced="^3" purpose="optional" plugin="Y">
      <unit bldFile="mw/remoteconn/mtptransports/mtpcontroller/group" mrp="mw/remoteconn/mtptransports/mtpcontroller/group/mtpcontroller.mrp"/>
     </component>
    </collection>
    <collection name="mtpfws" long-name="MTP Frameworks" level="framework">
     <component name="mtpfw" long-name="MTP Framework" introduced="^2" purpose="optional">
      <unit bldFile="mw/remoteconn/mtpfws/mtpfw/group" mrp="mw/remoteconn/mtpfws/mtpfw/group/mtp_framework.mrp"/>
     </component>
    </collection>
    <collection name="mtpdataproviders" long-name="MTP Data Providers" level="generic">
     <component name="mtpfileandfolderdp" long-name="MTP File and Folder Provider" introduced="^2" purpose="optional" plugin="Y">
      <unit bldFile="mw/remoteconn/mtpdataproviders/mtpfileandfolderdp/group" mrp="mw/remoteconn/mtpdataproviders/mtpfileandfolderdp/group/mtp_filedp.mrp"/>
     </component>
     <component name="mtpimagedp" long-name="MTP Image Data Provider" filter="gt" introduced="^3" purpose="optional" plugin="Y">
      <unit bldFile="mw/remoteconn/mtpdataproviders/mtpimagedp/group" mrp="mw/remoteconn/mtpdataproviders/mtpimagedp/group/mtp_imagedp.mrp"/>
     </component>
     <component name="mtppictbridgedp" long-name="MTP PictBridge Data Provider" filter="gt" introduced="^3" purpose="optional" plugin="Y">
      <unit bldFile="mw/remoteconn/mtpdataproviders/mtppictbridgedp/group" mrp="mw/remoteconn/mtpdataproviders/mtppictbridgedp/group/mtp_pictbridgedp.mrp"/>
     </component>
    </collection>
    <collection name="backupandrestore" long-name="Backup and Restore" level="specific">
     <component name="backupengine" long-name="Backup Engine" introduced="9.0" purpose="optional">
      <unit bldFile="mw/remoteconn/backupandrestore/backupengine/group" mrp="mw/remoteconn/backupandrestore/backupengine/group/connectivity_backupengine.mrp"/>
     </component>
     <component name="backuptest" long-name="Backup Test" introduced="^2" purpose="development">
      <unit bldFile="mw/remoteconn/backupandrestore/backuptest/group" mrp="mw/remoteconn/backupandrestore/backuptest/group/connectivity_backuptest.mrp"/>
     </component>
    </collection>
    <collection name="obex" long-name="OBEX" level="generic">
     <component name="obexprotocol" long-name="OBEX Protocol" introduced="9.1" purpose="optional">
      <unit bldFile="mw/remoteconn/obex/obexprotocol/group" mrp="mw/remoteconn/obex/obexprotocol/group/obex.mrp"/>
     </component>
     <component name="obexextensionapi" long-name="OBEX Extension API" introduced="9.2" purpose="optional">
      <unit bldFile="mw/remoteconn/obex/obexextensionapi/group" mrp="mw/remoteconn/obex/obexextensionapi/group/obex_extensionapis.mrp"/>
     </component>
    </collection>
   </block>
   <block name="srvdiscovery" level="generic" long-name="Service Discovery and Usage" levels="plugin framework server generic specific">
    <collection name="servicediscoveryandcontrol" long-name="Service Discovery and Control" level="framework">
     <component name="servicediscoveryfw" long-name="Service Discovery Framework" introduced="^3" purpose="optional">
      <unit bldFile="mw/srvdiscovery/servicediscoveryandcontrol/pnp/group" mrp="mw/srvdiscovery/servicediscoveryandcontrol/pnp/group/servicediscoveryframework.mrp"/>
     </component>
    </collection>
    <collection name="upnp" long-name="UPnP" level="server">
     <component name="upnpstack_plat" long-name="UPnP Stack Platform Interfaces" introduced="^3" purpose="optional" class="api">
      <unit bldFile="mw/srvdiscovery/upnp/upnpstack_plat/group"/>
     </component>
     <component name="upnpstack" long-name="UPnP Stack" introduced="^3" purpose="optional">
      <unit bldFile="mw/srvdiscovery/upnp/upnpstack/group"/>
     </component>
    </collection>
    <collection name="srvdiscovery_info" long-name="Service Discovery and Usage Info" level="specific">
     <component name="srvdiscovery_metadata" long-name="Service Discovery and Usage Metadata" introduced="^2" purpose="development" class="config PC">
      <unit mrp="mw/srvdiscovery/srvdiscovery_info/srvdiscovery_metadata/srvdiscovery_metadata.mrp"/>
     </component>
    </collection>
   </block>
   <block name="dlnasrv" level="specific" long-name="DLNA Services" levels="stack server ctrl framework plugin">
    <!-- uncomment all the units when configuration is in place, they're currently #included from other xxx_build components -->
    <collection name="upnpavcontrolpoint" long-name="UPnP A/V Control Point" level="plugin">
     <component name="avcontrolframework" filter="s60" long-name="A/V Control Famework" introduced="9.1" deprecated="^3">
      <unit bldFile="mw/dlnasrv/upnpavcontrolpoint/avcontrolframework/group"/>
     </component>
     <component name="upnpavcontrolpoint_build" filter="s60" long-name="UPnP A/V Control Point Build" introduced="9.1" deprecated="^3">
      <!-- put exports in other component instead -->
      <unit bldFile="mw/dlnasrv/upnpavcontrolpoint/group"/>
     </component>
    </collection>
    <collection name="upnpmediaserver" long-name="UPnP Media Server" level="server">
     <component name="avobjects" filter="s60" long-name="A/V Objects">
      <unit bldFile="mw/dlnasrv/upnpmediaserver/avobjects/group"/>
     </component>
     <component name="mediaserverclient" filter="s60" long-name="Media Server Client">
      <unit bldFile="mw/dlnasrv/upnpmediaserver/mediaserverclient/group"/>
     </component>
     <component name="connectionmanagerservice" filter="s60" long-name="Connection Manager Service">
      <unit bldFile="mw/dlnasrv/upnpmediaserver/connectionmanagerservice/group"/>
     </component>
     <component name="contentdirectoryservice" filter="s60" long-name="Content Directory Service">
      <unit bldFile="mw/dlnasrv/upnpmediaserver/contentdirectoryservice/group"/>
     </component>
     <component name="mediaserverengine" filter="s60" long-name="Media Server Engine">
      <unit bldFile="mw/dlnasrv/upnpmediaserver/mediaserverengine/group"/>
     </component>
     <component name="upnpmediaserver_build" filter="s60" long-name="UPnP Media Server Build">
      <!-- move exports into one of above components -->
      <unit bldFile="mw/dlnasrv/upnpmediaserver/group"/>
     </component>
    </collection>
    <collection name="upnpavcontroller" long-name="UPnP A/V Controller" level="ctrl">
     <component name="upnpxmlparser" filter="s60" long-name="UPnP XML Parser" introduced="^2">
      <unit bldFile="mw/dlnasrv/upnpavcontroller/upnpxmlparser/group"/>
     </component>
     <component name="upnpavcontrollerserver" filter="s60" long-name="UPnP A/V Controller Server" introduced="^2">
      <unit bldFile="mw/dlnasrv/upnpavcontroller/upnpavcontrollerserver/group"/>
     </component>
     <component name="upnpavcontrollerclient" filter="s60" long-name="UPnP A/V Ccontroller Client" introduced="^2">
      <unit bldFile="mw/dlnasrv/upnpavcontroller/upnpavcontrollerclient/group"/>
     </component>
     <component name="upnpavcontrollerhelper" filter="s60" long-name="UPnP A/V Controller Helper" introduced="^2">
      <unit bldFile="mw/dlnasrv/upnpavcontroller/upnpavcontrollerhelper/group"/>
     </component>
     <component name="upnpavcontroller_build" filter="s60" long-name="UPnP A/V Controller Build" introduced="^2">
      <!-- move exports content into one of above components -->
      <unit bldFile="mw/dlnasrv/upnpavcontroller/group"/>
     </component>
    </collection>
    <collection name="upnpframework" long-name="UPnP Framework" level="framework">
     <component name="upnputilities" filter="s60" long-name="UPnP Utilities" introduced="^2">
      <unit bldFile="mw/dlnasrv/upnpframework/upnputilities/group"/>
     </component>
     <component name="upnpextensionpluginif" filter="s60" long-name="UPnP Home Media Extension Plugin Interface" introduced="^2" deprecated="^3">
      <!-- <unit bldFile="upnpframework/upnpextensionpluginif/group"/> -->
     </component>
     <component name="upnpfiletransferengine" filter="s60" long-name="UPnP File Transfer Engine" introduced="^2" deprecated="^3">
      <!-- <unit bldFile="upnpframework/upnpfiletransferengine/group"/>-->
     </component>
     <component name="upnpcommonui" filter="s60" long-name="UPnP Common UI" introduced="^2" deprecated="^3">
      <!--<unit bldFile="upnpframework/upnpcommonui/group"/>-->
     </component>
     <component name="upnpaiwengine" filter="s60" long-name="UPnP AIW Engine" introduced="^2" deprecated="^3">
      <!--<unit bldFile="upnpframework/upnpaiwengine/group"/> -->
     </component>
     <component name="upnpaiwprovider" filter="s60" long-name="UPnP AIW Provider" introduced="^2" deprecated="^3" plugin="Y">
      <!--<unit bldFile="upnpframework/upnpaiwprovider/group"/>-->
     </component>
     <component name="upnpmusicadapter" filter="s60" long-name="UPnP Music Adapter" introduced="^2">
      <unit bldFile="mw/dlnasrv/upnpframework/upnpmusicadapter/group"/>
     </component>
     <component name="upnpcommand" filter="s60" long-name="UPnP Command" introduced="^2">
      <unit bldFile="mw/dlnasrv/upnpframework/upnpcommand/group"/>
     </component>
     <component name="upnpframework_build" filter="s60" long-name="UPnP Framework Build" introduced="^2">
      <!-- move exports content into one of above components -->
      <unit bldFile="mw/dlnasrv/upnpframework/group"/>
     </component>
    </collection>
    <collection name="upnpsettings" long-name="UPnP Settings" level="framework">
     <component name="upnpsettingsengine" filter="s60" long-name="UPnP Settings Engine" introduced="^2">
      <unit bldFile="mw/dlnasrv/upnpsettings/upnpsettingsengine/group"/>
     </component>
     <component name="multiselectionui" filter="s60" long-name="Multi-Selection UI" introduced="^2" deprecated="^3">
      <!--<unit bldFile="upnpsettings/multiselectionui/group"/>-->
     </component>
     <component name="appwizard" filter="s60" long-name="UPnP Settings Wizard App" introduced="^2" deprecated="^3">
      <!--<unit bldFile="upnpsettings/appwizard/group"/>-->
     </component>
     <component name="upnpsharingui" filter="s60" long-name="UPnP Sharing UI" introduced="^2" deprecated="^3">
      <!--<unit bldFile="upnpsettings/upnpsharingui/group"/>-->
     </component>
     <component name="upnpgsplugin" filter="s60" long-name="UPnP GS Plugin" introduced="^2" plugin="Y">
      <unit bldFile="mw/dlnasrv/upnpsettings/upnpgsplugin/group"/>
     </component>
     <component name="upnpsettings_build" filter="s60" long-name="UPnP Settings Build" introduced="^2">
      <!-- move exports content into one of above components -->
      <unit bldFile="mw/dlnasrv/upnpsettings/group"/>
     </component>
    </collection>
    <collection name="upnpsharing" long-name="UPnP Sharing" level="server">
     <component name="upnpdlnaprofiler" filter="s60" long-name="UPnP DLNA Profiler" introduced="^2">
      <unit bldFile="mw/dlnasrv/upnpsharing/upnpdlnaprofiler/group"/>
     </component>
     <component name="upnpsecurity" filter="s60" long-name="UPnP Security" introduced="^2">
      <unit bldFile="mw/dlnasrv/upnpsharing/upnpsecurity/group"/>
     </component>
     <component name="upnpcontentserver" filter="s60" long-name="UPnP Content Server" introduced="^2">
      <unit bldFile="mw/dlnasrv/upnpsharing/upnpcontentserver/group"/>
     </component>
     <component name="applicationengine" filter="s60" long-name="UPnP Application Engine" introduced="^2">
      <unit bldFile="mw/dlnasrv/upnpsharing/applicationengine/group"/>
     </component>
     <component name="upnpsharing_build" filter="s60" long-name="UPnP Sharing Build" introduced="^2">
      <!-- move exports content into one of above components -->
      <unit bldFile="mw/dlnasrv/upnpsharing/group"/>
     </component>
    </collection>
    <collection name="upnpmpxplugins" long-name="UPnP MPX Plugins" level="plugin">
     <component name="upnpplaybackplugins" filter="s60" long-name="UPnP Playback Plugins" introduced="^2" plugin="Y">
      <unit bldFile="mw/dlnasrv/upnpmpxplugins/upnpplaybackplugins/group"/>
     </component>
     <component name="upnpmpxplugins_build" filter="s60" long-name="UPnP MPX Plugins Build" introduced="^2">
      <!-- move exports content into other component? -->
      <unit bldFile="mw/dlnasrv/upnpmpxplugins/group"/>
     </component>
    </collection>
    <collection name="upnpharvester" long-name="UPnP Harvester" level="ctrl">
     <component name="upnpharvester_common" filter="s60" long-name="UPnP Harvester Common" introduced="^2" deprecated="^3" class="placeholder">
      <!-- need to merge or #include these to a single bld.inf -->
      <!--<unit bldFile="upnpharvester/common/cmlibrary/group"/>
        <unit bldFile="upnpharvester/common/cmsettings/group"/>
        <unit bldFile="upnpharvester/common/cmsqlwrapper/group"/>
        <unit bldFile="upnpharvester/common/dbmanager/group"/>-->
     </component>
     <component name="cdssync" filter="s60" long-name="CDS Sync" introduced="^2" deprecated="^3" class="placeholder">
      <!-- <unit bldFile="upnpharvester/cdssync/common"/>-->
     </component>
     <component name="mdhserver" filter="s60" long-name="Metadata Harvester Server" introduced="^2" deprecated="^3" class="placeholder">
      <!--<unit bldFile="upnpharvester/mdhserver/group"/>-->
     </component>
     <component name="upnpharvester_build" filter="s60" long-name="UPnP Harvester Build" introduced="^2" deprecated="^3" class="placeholder">
      <!-- could just make the whole collection one component and move down a dir. Or move the exports here into the other component -->
      <!--<unit bldFile="upnpharvester/group"/>-->
     </component>
    </collection>
    <collection name="homesync" long-name="Home Sync" level="plugin">
     <component name="contentmanager" filter="s60" long-name="Content Manager" introduced="^2" deprecated="^3" class="placeholder">
      <!-- <unit bldFile="homesync/group"/>-->
      <!-- move bld.inf into contentmanager dir -->
     </component>
    </collection>
    <collection name="homemedia" long-name="Home Media" level="framework">
     <!-- collection is really just a component. Move down a directory -->
     <component name="homemedia_build" filter="s60" long-name="Home Media" introduced="^2" deprecated="^3" class="placeholder">
      <!-- <unit bldFile="homemedia/group"/> -->
     </component>
    </collection>
    <collection name="dlnasrv_info" long-name="DLNA Services Info" level="plugin">
     <component name="dlnasrv_plat" filter="s60" long-name="DLNA Services Platform Interfaces" class="api">
      <unit bldFile="mw/dlnasrv/dlnasrv_plat/group"/>
     </component>
     <component name="dlnasrv_build" filter="s60" long-name="DLNA Services Build">
      <!-- need to #include upnpplatformvar.hrh from each #included bld.inf, then this can be removed  -->
      <unit bldFile="mw/dlnasrv/group"/>
     </component>
    </collection>
   </block>
   <block name="btservices" level="generic" long-name="Bluetooth Services" levels="framework server generic specific plugin">
    <collection name="bluetoothengine" long-name="Bluetooth Engine" level="framework">
     <component name="bteng" filter="s60" long-name="Bluetooth Engine">
      <unit bldFile="mw/btservices/bluetoothengine/bteng/group"/>
     </component>
     <component name="btnotif" filter="s60" long-name="Bluetooth Notifier">
      <unit bldFile="mw/btservices/bluetoothengine/btnotif/group"/>
     </component>
     <component name="btaudioman" filter="s60" long-name="Bluetooth Audio Manager">
      <unit bldFile="mw/btservices/bluetoothengine/btaudioman/group"/>
     </component>
     <component name="btmac" filter="s60" long-name="Bluetooth Mono Audio Controller" plugin="Y">
      <unit bldFile="mw/btservices/bluetoothengine/btmac/group"/>
     </component>
     <component name="btsac" filter="s60" long-name="Bluetooth Stereo Audio Controller" plugin="Y">
      <unit bldFile="mw/btservices/bluetoothengine/btsac/group"/>
     </component>
     <component name="btaudiostreamer" filter="s60" long-name="Bluetooth Audio Streamer">
      <unit bldFile="mw/btservices/bluetoothengine/btaudiostreamer/group"/>
     </component>
     <component name="btsap" filter="s60" long-name="Bluetooth SIM Access Profile" plugin="Y">
      <unit bldFile="mw/btservices/bluetoothengine/btsap/group"/>
     </component>
     <component name="btui" filter="s60" long-name="Bluetooth UI">
      <unit bldFile="mw/btservices/bluetoothengine/btui/group"/>
     </component>
     <component name="btpbap" filter="s60" long-name="Bluetooth Phonebook Access Profile" plugin="Y">
      <unit bldFile="mw/btservices/bluetoothengine/btpbap/group"/>
     </component>
     <component name="bthid" filter="s60" long-name="Bluetooth HID">
      <unit bldFile="mw/btservices/bluetoothengine/bthid/group"/>
     </component>
     <component name="btctrldcmoadapter" filter="s60" long-name="Bluetooth Control DCMO Adapter" introduced="^3" plugin="Y">
      <unit bldFile="mw/btservices/bluetoothengine/btctrldcmoadapter/group"/>
     </component>
    </collection>
    <collection name="bluetoothappprofiles" long-name="Bluetooth Application Profiles" level="plugin">
     <component name="avrcp" long-name="Bluetooth AVRCP" introduced="9.1" purpose="optional">
      <unit bldFile="mw/btservices/bluetoothappprofiles/avrcp" mrp="mw/btservices/bluetoothappprofiles/avrcp/bluetooth_avrcp.mrp"/>
     </component>
    </collection>
    <collection name="btservices_info" long-name="BT Services Info" level="plugin">
     <component name="btservices_plat" filter="s60" long-name="BT Services Platform Interfaces" class="api">
      <unit bldFile="mw/btservices/btservices_plat/group"/>
     </component>
     <component name="btservices_pub" filter="s60" long-name="BT Services Public Interfaces" class="api">
      <unit bldFile="mw/btservices/btservices_pub/group"/>
     </component>
     <component name="btservices_metadata" long-name="BT Services Metadata" introduced="^3" purpose="development" class="config PC">
      <unit mrp="mw/btservices/btservices_info/btservices_metadata/btservices_metadata.mrp"/>
     </component>
    </collection>
   </block>
   <block name="usbservices" level="generic" long-name="USB Services" levels="framework server generic specific plugin">
    <collection name="usbservices_info" long-name="USB Services Info" level="plugin">
     <component name="usbservices_plat" filter="s60" long-name="USB Services Platform Interfaces" class="api">
      <unit bldFile="mw/usbservices/usbservices_plat/group"/>
     </component>
    </collection>
    <collection name="usbengines" long-name="USB Engines" level="generic">
     <component name="usbotgwatcher" filter="s60" long-name="USB OTG Watcher">
      <unit bldFile="mw/usbservices/usbengines/usbotgwatcher/group"/>
     </component>
     <component name="usbwatcher" filter="s60" long-name="USB Watcher">
      <unit bldFile="mw/usbservices/usbengines/usbwatcher/group"/>
     </component>
     <component name="usblocodplugin" filter="s60" long-name="USB Local Connectivity Domain Plugin" plugin="Y">
      <unit bldFile="mw/usbservices/usbengines/usblocodplugin/group"/>
     </component>
     <component name="usbdevcon" filter="s60" long-name="USB Device Control">
      <unit bldFile="mw/usbservices/usbengines/usbdevcon/group"/>
     </component>
     <component name="usbremotepersonality" filter="s60" long-name="USB Remote Personality">
      <unit bldFile="mw/usbservices/usbengines/usbremotepersonality/group"/>
     </component>
    </collection>
    <collection name="usbclasses" long-name="USB Classes" level="framework">
     <component name="usbobexclasscontroller" filter="s60" long-name="USB OBEX Class Controller" plugin="Y">
      <unit bldFile="mw/usbservices/usbclasses/usbobexclasscontroller/group"/>
     </component>
     <component name="usbbasicpersonality" filter="s60" long-name="USB Basic Personality" plugin="Y">
      <unit bldFile="mw/usbservices/usbclasses/usbbasicpersonality/group"/>
     </component>
     <component name="usbmscpersonality" filter="s60" long-name="USB MSC Personality" plugin="Y">
      <unit bldFile="mw/usbservices/usbclasses/usbmscpersonality/group"/>
     </component>
     <!--	commented out in bld.inf. Should this be deleted?     
  <component id="ptpstack" filter="s60" name="Picture Transfer Protocol Stack">
        <unit bldFile="usbclasses/ptpstack/group"/>
      </component>
      <component id="sicdusbplugin" filter="s60" name="SICD USB Plugin" class="plugin">
        <unit bldFile="usbclasses/sicdusbplugin/group"/>
      </component>
      <component id="ptpserver" filter="s60" name="Picture Transfer Protocol Server">
        <unit bldFile="usbclasses/ptpserver/group"/>
      </component>-->
     <component name="pictbridgeengine" filter="s60" long-name="PictBridge Engine">
      <unit bldFile="mw/usbservices/usbclasses/pictbridgeengine/group"/>
     </component>
     <component name="usbphoneasmodem" filter="s60" long-name="USB Phone as Modem" introduced="^3">
      <unit bldFile="mw/usbservices/usbclasses/usbphoneasmodem/group"/>
     </component>
    </collection>
    <collection name="usbuis" long-name="USB UIs" level="specific">
     <component name="usbui" filter="s60" long-name="USB UI">
      <unit bldFile="mw/usbservices/usbuis/usbui/group"/>
     </component>
     <component name="usbuinotif" filter="s60" long-name="USB UI Notifiers">
      <unit bldFile="mw/usbservices/usbuis/usbuinotif/group"/>
     </component>
     <component name="imageprintuiprovider" filter="s60" long-name="ImagePrint UI Provider" plugin="Y">
      <unit bldFile="mw/usbservices/usbuis/imageprintuiprovider/group"/>
     </component>
     <component name="usbimageprintui" filter="s60" long-name="ImagePrint UI">
      <unit bldFile="mw/usbservices/usbuis/imageprintui/group"/>
     </component>
     <component name="rndisui" filter="s60" long-name="Remote NDIS UI" introduced="^3">
      <unit bldFile="mw/usbservices/usbuis/rndisui/group"/>
     </component>
    </collection>
   </block>
   <block name="shortlinkconn" level="generic" long-name="Shortlink Connectivity" levels="framework server generic specific plugin">
    <!-- Package is pending removal. Contents to be moved to remoteconn and btservices -->
    <collection name="localconnectivityservice" long-name="Local Connectivity Service" level="server">
     <component name="locod" long-name="Local Connectivity Daemon">
      <unit bldFile="mw/shortlinkconn/localconnectivityservice/locod/group"/>
     </component>
     <component name="obexserviceman" long-name="OBEX Service Managar">
      <unit bldFile="mw/shortlinkconn/localconnectivityservice/obexserviceman/group"/>
     </component>
     <component name="obexsendservices" long-name="OBEX Send Services">
      <unit bldFile="mw/shortlinkconn/localconnectivityservice/obexsendservices/group"/>
     </component>
     <component name="obexreceiveservices" long-name="OBEX Receive Services">
      <unit bldFile="mw/shortlinkconn/localconnectivityservice/obexreceiveservices/group"/>
     </component>
     <component name="dun" long-name="Dial Up Networking">
      <unit bldFile="mw/shortlinkconn/localconnectivityservice/dun/group"/>
     </component>
     <component name="lccustomplugin" long-name="LC Custom Plugins" plugin="Y">
      <unit bldFile="mw/shortlinkconn/localconnectivityservice/lccustomplugin/group"/>
     </component>
     <component name="lcstylustap" long-name="LC Stylus Tap Plugins" plugin="Y">
      <unit bldFile="mw/shortlinkconn/localconnectivityservice/lcstylustap/group"/>
     </component>
     <component name="legacymodemplugin" long-name="Legacy Modem Plugin" plugin="Y">
      <unit bldFile="mw/shortlinkconn/localconnectivityservice/legacymodemplugin/group"/>
     </component>
     <component name="modematplugin" long-name="Modem AT Plugin" plugin="Y">
      <unit bldFile="mw/shortlinkconn/localconnectivityservice/modematplugin/group"/>
     </component>
     <component name="generichid" long-name="Generic HID">
      <unit bldFile="mw/shortlinkconn/localconnectivityservice/generichid/group"/>
     </component>
     <component name="headset" long-name="Headset">
      <unit bldFile="mw/shortlinkconn/localconnectivityservice/headset/group"/>
     </component>
    </collection>
    <collection name="shortlinkconn_info" long-name="Shortlink Connectivity Info" level="plugin">
     <component name="shortlinkconn_plat" filter="s60" long-name="Shortlink Connectivity Platform Interfaces" class="api">
      <unit bldFile="mw/shortlinkconn/shortlinkconn_plat/group"/>
     </component>
    </collection>
   </block>
   <block name="imghandling" level="specific" long-name="Image Handling" levels="lib util if">
    <collection name="imagehandlinglib" long-name="Image Handling Library" level="lib">
     <!-- collection is really a component, need to move down a directory -->
     <component name="ihl" filter="s60" long-name="IHL">
      <unit bldFile="mw/imghandling/imagehandlinglib/group"/>
     </component>
    </collection>
    <collection name="imagehandlingutilities" long-name="Image Handling Utilities" level="util">
     <component name="thumbnailmanager" filter="s60" long-name="Thumbnail Manager">
      <unit bldFile="mw/imghandling/imagehandlingutilities/thumbnailmanager/group"/>
     </component>
    </collection>
    <collection name="imghandling_info" long-name="Image Handling Info" level="if">
     <component name="imagehandling_plat" filter="s60" long-name="Image Handling Platform Interfaces" class="api">
      <unit bldFile="mw/imghandling/imagehandling_plat/group"/>
     </component>
    </collection>
   </block>
   <block name="metadatasrv" level="specific" long-name="Legacy Metadata Services" levels="plugin framework server generic specific">
    <collection name="mediamanagementutilities" long-name="Media Management Utilities" level="generic">
     <component name="mediafetch" filter="s60" long-name="Media Fetch">
      <unit bldFile="mw/metadatasrv/mediamanagementutilities/mediafetch/group"/>
     </component>
    </collection>
    <collection name="metadatasrv_info" long-name="Legacy Metadata Services Info" level="specific">
     <component name="metadatasrv_plat" filter="s60" long-name="Legacy Metadata Services Platform Interfaces" class="api">
      <unit bldFile="mw/metadatasrv/metadatasrv_plat/group"/>
     </component>
     <component name="metadatasrv_pub" filter="s60" long-name="Legacy Metadata Services Public Interfaces" class="api">
      <unit bldFile="mw/metadatasrv/metadatasrv_pub/group"/>
     </component>
    </collection>
   </block>
   <block name="mds" level="specific" long-name="Metadata Services" levels="mgr eng server int">
    <collection name="metadataengine" long-name="Metadata Engine" level="eng">
     <component name="metadataengine_common" filter="s60" long-name="Metadata Engine Common" introduced="^2">
      <unit bldFile="mw/mds/metadataengine/common/group"/>
     </component>
     <component name="metadataengine_server" filter="s60" long-name="Metadata Engine Server" introduced="^2">
      <unit bldFile="mw/mds/metadataengine/server/group"/>
     </component>
     <component name="metadataengine_client" filter="s60" long-name="Metadata Engine Client" introduced="^2">
      <unit bldFile="mw/mds/metadataengine/client/group"/>
     </component>
     <component name="metadataengine_build" filter="s60" long-name="Metadata Engine Build" introduced="^2">
      <!--make this collection a single component, or split this bld.inf into the other units  -->
      <unit bldFile="mw/mds/metadataengine/group"/>
     </component>
    </collection>
    <collection name="locationmanager" long-name="Location Manager" level="mgr">
     <component name="locationtrail" filter="s60" long-name="Location Trail" introduced="^2">
      <unit bldFile="mw/mds/locationmanager/locationtrail/group"/>
     </component>
     <component name="locationmanager_server" filter="s60" long-name="Location Manager Server" introduced="^2">
      <unit bldFile="mw/mds/locationmanager/server/group"/>
     </component>
     <component name="locationmanager_client" filter="s60" long-name="Location Manager Client" introduced="^2">
      <unit bldFile="mw/mds/locationmanager/client/group"/>
     </component>
     <component name="locationmanager_build" filter="s60" long-name="Location Manager Build" introduced="^2">
      <!--make this collection a single component, or split this bld.inf into the other units  -->
      <unit bldFile="mw/mds/locationmanager/group"/>
     </component>
    </collection>
    <collection name="contextengine" long-name="Context Engine" level="eng">
     <component name="contextengine_plugins" filter="s60" long-name="Context Engine Plugins" introduced="^2" plugin="Y">
      <unit bldFile="mw/mds/contextengine/plugins/group"/>
     </component>
     <component name="contextengine_build" filter="s60" long-name="Context Engine Build" introduced="^2">
      <!--make this collection a single component, or make this unit self-contained  -->
      <unit bldFile="mw/mds/contextengine/group"/>
     </component>
    </collection>
    <collection name="harvester" long-name="Harvester" level="eng">
     <component name="blacklistclient" filter="s60" long-name="Blacklist Client" introduced="^2">
      <unit bldFile="mw/mds/harvester/blacklistclient/group"/>
     </component>
     <component name="blacklistserver" filter="s60" long-name="Blacklist Server" introduced="^2">
      <unit bldFile="mw/mds/harvester/blacklistserver/group"/>
     </component>
     <component name="harvester_common" filter="s60" long-name="Harvester Common" introduced="^2">
      <unit bldFile="mw/mds/harvester/common/group"/>
     </component>
     <component name="composerplugins" filter="s60" long-name="Composer Plugins" introduced="^2" plugin="Y">
      <unit bldFile="mw/mds/harvester/composerplugins/group"/>
     </component>
     <component name="harvesterplugins" filter="s60" long-name="Harvester Plugins" introduced="^2" plugin="Y">
      <unit bldFile="mw/mds/harvester/harvesterplugins/group"/>
     </component>
     <component name="monitorplugins" filter="s60" long-name="Monitor Plugins" introduced="^2" plugin="Y">
      <unit bldFile="mw/mds/harvester/monitorplugins/group"/>
     </component>
     <component name="harvester_server" filter="s60" long-name="Harvester Server" introduced="^2">
      <unit bldFile="mw/mds/harvester/server/group"/>
     </component>
     <component name="harvester_client" filter="s60" long-name="Harvester Client" introduced="^2">
      <unit bldFile="mw/mds/harvester/client/group"/>
     </component>
     <component name="harvester_build" filter="s60" long-name="Harvester Build" introduced="^2">
      <!-- split these exports into the other components -->
      <unit bldFile="mw/mds/harvester/group"/>
     </component>
    </collection>
    <collection name="watchdog" long-name="Watchdog" level="server">
     <!-- collection is really a component. Move down a directory -->
     <component name="mdswatchdog" filter="s60" long-name="Metadata Watchdog" introduced="^2">
      <unit bldFile="mw/mds/watchdog/group"/>
     </component>
    </collection>
    <collection name="clfwrapper" long-name="Content Listing Framework Wrapper" level="int">
     <!-- collection is really a component. Move down a directory -->
     <component name="clfwrapper_build" filter="s60" long-name="CLF Wrapper Build" introduced="^2" class="placeholder">
      <!-- Uncomment unit when configuration is in place. Currently #included from mds_build -->
      <!--<unit bldFile="clfwrapper/group"/>-->
     </component>
    </collection>
    <collection name="mds_info" long-name="Metadata Services Info" level="int">
     <component name="mds_pub" filter="s60" long-name="Metadata Services Public Interfaces" introduced="^2" class="api">
      <unit bldFile="mw/mds/mds_pub/group"/>
     </component>
     <component name="mds_plat" filter="s60" long-name="Metadata Services Platform Interfaces" introduced="^2" class="api">
      <unit bldFile="mw/mds/mds_plat/group"/>
     </component>
     <component name="mds_build" filter="s60" long-name="Metadata Services Build" introduced="^2">
      <!-- consider distributiing this into the rest of the components in the package -->
      <unit bldFile="mw/mds/group"/>
     </component>
    </collection>
   </block>
   <block name="mmuifw" level="specific" long-name="Multimedia UI Framework" levels="mgr mdl util ui">
    <collection name="mmuifw_info" long-name="Multimedia UI Framework Info" level="ui">
     <component name="mmuifw_plat" filter="s60" long-name="Multimedia UI Framework Platform Interfaces" class="api">
      <unit bldFile="mw/mmuifw/mmuifw_plat/group"/>
     </component>
     <component name="mmuifw_build" filter="s60" long-name="Multimedia UI Framework Build">
      <!-- Move exports into other componetns or remove all #includes and make this a ROM component -->
      <unit bldFile="mw/mmuifw/group"/>
     </component>
    </collection>
    <collection name="osncore" long-name="OS Neutral Library Core" level="util">
     <!-- collection is really a component. Move down a directory -->
     <component name="osncore_build" filter="s60" long-name="OSN Core Build">
      <unit bldFile="mw/mmuifw/osncore/group"/>
     </component>
    </collection>
    <collection name="alfwidgetutils" long-name="Accelerated LAF Widget Utils" level="ui">
     <!-- collection is really a component. Move down a directory -->
     <component name="alfwidgetutils_build" filter="s60" long-name="ALF Widget Utils">
      <unit bldFile="mw/mmuifw/alfwidgetutils/group"/>
     </component>
    </collection>
    <collection name="resourcepool" long-name="Resource Pool" level="util">
     <!-- collection is really a component. Move down a directory -->
     <component name="alfresourcepool" filter="s60" long-name="ALF Resource Pool">
      <unit bldFile="mw/mmuifw/resourcepool/group"/>
     </component>
    </collection>
    <collection name="widgetmodel" long-name="Widget Model" level="mdl">
     <!-- collection is really a component. Move down a directory -->
     <component name="widgetmodel_build" filter="s60" long-name="Widget Model Build">
      <unit bldFile="mw/mmuifw/widgetmodel/group"/>
     </component>
    </collection>
    <collection name="mulwidgets" long-name="MUL Widgets" level="ui">
     <!-- should spell out MUL in the collection name -->
     <component name="mullogging" filter="s60" long-name="MUL Logging">
      <unit bldFile="mw/mmuifw/mulwidgets/mullogging/group"/>
     </component>
     <component name="muldatamodel" filter="s60" long-name="MUL Data Model">
      <unit bldFile="mw/mmuifw/mulwidgets/muldatamodel/group"/>
     </component>
     <component name="mulwidgets_common" filter="s60" long-name="MUL Common Utils">
      <unit bldFile="mw/mmuifw/mulwidgets/common/group"/>
     </component>
     <component name="gesturehelper" filter="s60" long-name="Gesture Helper">
      <unit bldFile="mw/mmuifw/mulwidgets/gesturehelper/group"/>
     </component>
     <component name="mulcoverflowwidget" filter="s60" long-name="MUL CoverFlow Widget">
      <unit bldFile="mw/mmuifw/mulwidgets/mulcoverflowwidget/group"/>
     </component>
     <component name="mulsliderwidget" filter="s60" long-name="MUL Slider Widget">
      <unit bldFile="mw/mmuifw/mulwidgets/mulsliderwidget/group"/>
     </component>
     <component name="alfviewwidget" filter="s60" long-name="ALF View Widget">
      <unit bldFile="mw/mmuifw/mulwidgets/alfviewwidget/group"/>
     </component>
     <component name="alfcontainerwidget" filter="s60" long-name="ALF Container Widget">
      <unit bldFile="mw/mmuifw/mulwidgets/alfcontainerwidget/group"/>
     </component>
     <component name="alfscrollbarwidget" filter="s60" long-name="ALF Scrollbar Widget">
      <unit bldFile="mw/mmuifw/mulwidgets/alfscrollbarwidget/group"/>
     </component>
    </collection>
   </block>
   <block name="videoutils" level="specific" long-name="Video Utils" levels="eng util if">
    <collection name="videoscheduler" long-name="Video Scheduler" level="util">
     <component name="schedulerclient" filter="s60" long-name="Video Scheduler Client">
      <unit bldFile="mw/videoutils/videoscheduler/schedulerclient/group"/>
     </component>
     <component name="schedulerserver" filter="s60" long-name="Video Scheduler Server">
      <unit bldFile="mw/videoutils/videoscheduler/schedulerserver/group"/>
     </component>
    </collection>
    <collection name="videoconnutility" long-name="Video Connection Utility" level="util">
     <component name="connutilpsworker" filter="s60" long-name="Connection Utility Publish and Subscribe Worker">
      <unit bldFile="mw/videoutils/videoconnutility/connutilpsworker/group"/>
     </component>
     <component name="video_connutility" filter="s60" long-name="Video Connection Utility">
      <unit bldFile="mw/videoutils/videoconnutility/connutility/group"/>
     </component>
    </collection>
    <collection name="videoutils_info" long-name="Video Utils Info" level="if">
     <component name="videoutils_plat" filter="s60" long-name="Video Utils Platform Interfaces" class="api">
      <unit bldFile="mw/videoutils/videoutils_plat/group"/>
     </component>
    </collection>
   </block>
   <block name="mmmw" level="generic" long-name="Multimedia Middleware" levels="plugin framework server generic specific">
    <collection name="mmfenh" long-name="MMF Enhancements" level="generic">
     <component name="advancedaudiocontroller" filter="s60" long-name="Advanced Audio Controllers" plugin="Y">
      <unit bldFile="mw/mmmw/mmfenh/advancedaudiocontroller/group"/>
     </component>
     <component name="audiooutputcontrolutility" filter="s60" long-name="Audio Output Control Utility">
      <unit bldFile="mw/mmmw/mmfenh/audiooutputcontrolutility/group"/>
     </component>
     <component name="configurationcomponentsfactory" filter="s60" long-name="Configuration Components Factory">
      <unit bldFile="mw/mmmw/mmfenh/configurationcomponentsfactory/group"/>
     </component>
     <component name="enhancedaudioplayerutility" filter="s60" long-name="Enhanced Audio Player Utility">
      <unit bldFile="mw/mmmw/mmfenh/enhancedaudioplayerutility/group"/>
     </component>
     <component name="enhancedmediaclient" filter="s60" long-name="Enhanced Media Client">
      <unit bldFile="mw/mmmw/mmfenh/enhancedmediaclient/group"/>
     </component>
     <component name="profilesettingsmonitor" filter="s60" long-name="Profile Settings Monitor">
      <unit bldFile="mw/mmmw/mmfenh/profilesettingsmonitor/group"/>
     </component>
     <component name="progressivedownload" filter="s60" long-name="Progressive Download">
      <unit bldFile="mw/mmmw/mmfenh/progressivedownload/group"/>
     </component>
    </collection>
    <collection name="mm_fw" long-name="Multimedia Frameworks" level="framework">
     <!-- Id needs to be unique, mmfw already in use -->
     <!-- Placeholder for OpenAX AL and other stuff -->
    </collection>
    <collection name="mmserv" long-name="Multimedia Services" level="specific">
     <component name="audioeffectsui" filter="s60" long-name="Audio Effects UI">
      <unit bldFile="mw/mmmw/mmserv/audioeffectsui/group"/>
     </component>
     <component name="callaudiocontrol" filter="s60" long-name="Call Audio Control">
      <unit bldFile="mw/mmmw/mmserv/callaudiocontrol/group"/>
     </component>
     <component name="metadatautility" filter="s60" long-name="Metadata Utility">
      <unit bldFile="mw/mmmw/mmserv/metadatautility/group"/>
     </component>
     <component name="radioutility" filter="s60" long-name="Radio Utility">
      <unit bldFile="mw/mmmw/mmserv/radioutility/group"/>
     </component>
     <component name="thumbnailengine" filter="s60" long-name="Thumbnail Engine" introduced="^2">
      <unit bldFile="mw/mmmw/mmserv/thumbnailengine/group"/>
     </component>
     <component name="tms" filter="s60" long-name="Telephony Multimedia Service" introduced="^3">
      <unit bldFile="mw/mmmw/mmserv/tms/group"/>
     </component>
     <component name="voipaudioservices" filter="s60" long-name="VoIP Audio Services">
      <unit bldFile="mw/mmmw/mmserv/voipaudioservices/group"/>
     </component>
     <component name="lib3gpextparser" filter="s60" long-name="3GP Extension Metadata Parser Library">
      <unit bldFile="mw/mmmw/mmserv/metadatautility/3GPExtParserLib_stub/group" filter="sf_build"/>
     </component>
    </collection>
    <collection name="mmmw_info" long-name="Multimedia Middleware Info" level="specific">
     <component name="mmmw_plat" filter="s60" long-name="Multimedia Middleware Platform Interfaces" class="api">
      <unit bldFile="mw/mmmw/mmmw_plat/group"/>
     </component>
     <component name="mmmw_metadata" long-name="Multimedia Middleware Metadata" introduced="^2" purpose="development" class="config PC">
      <unit mrp="mw/mmmw/mmmw_info/mmmw_metadata/mmmw_metadata.mrp"/>
     </component>
    </collection>
   </block>
   <block name="helix" level="generic" long-name="Helix" levels="plugin framework server generic specific">
    <collection name="helix_ren" long-name="Helix Engine" level="framework">
     <!-- what does "ren" stand for? -->
     <component name="helix_stub" filter="s60" long-name="Helix Stub" introduced="^2" class="api">
      <unit bldFile="mw/helix/helix_ren/helix_stub/group"/>
     </component>
    </collection>
   </block>
   <block name="camerasrv" level="specific" long-name="Camera Services" levels="plugin fw api">
    <collection name="camappengine" long-name="Camera App Engine" level="fw">
     <!-- is this collection really a component? If so, move down a directory -->
     <component name="stillconverter" filter="s60" long-name="Still Image Converter" class="placeholder">
      <!-- should separate this from parent engine's bld.inf  -->
      <!-- <unit bldFile="camappengine/stillconverter/group"/> -->
     </component>
     <component name="camappengine_engine" filter="s60" long-name="Camera App Engine" class="placeholder">
      <!-- should separate this from parent engine's bld.inf  -->
      <!-- <unit bldFile="camappengine/engine/group"/> -->
     </component>
     <component name="asynchfilesavequeue" filter="s60" long-name="Asynch File Save Queue">
      <unit bldFile="mw/camerasrv/camappengine/asynchfilesavequeue/group"/>
     </component>
     <component name="camappengine_build" filter="s60" long-name="Camera App Engine Build">
      <unit bldFile="mw/camerasrv/camappengine/build"/>
     </component>
    </collection>
    <collection name="camcordermmfplugin" long-name="Camcorder MMF Plugin" level="plugin">
     <!-- collection is really a component. Should move down a directory -->
     <component name="camcordermmfplugin_build" filter="s60" long-name="Camcorder MMF Plugin Build" plugin="Y">
      <unit bldFile="mw/camerasrv/camcordermmfplugin/build"/>
     </component>
    </collection>
    <collection name="configmanagers" long-name="Config Managers" level="api">
     <component name="imagingconfigmanager" filter="s60" long-name="Imaging Config Manager">
      <unit bldFile="mw/camerasrv/configmanagers/imagingconfigmanager/group"/>
     </component>
    </collection>
    <collection name="camerasrv_info" long-name="Camera Services Info" level="api">
     <component name="camerasrv_plat" filter="s60" long-name="Camera Services Platform Interfaces" class="api">
      <unit bldFile="mw/camerasrv/camerasrv_plat/group"/>
     </component>
     <component name="camerasrv_build" filter="s60" long-name="Camera Services Build">
      <!-- should split into individual bld.infs -->
      <unit bldFile="mw/camerasrv/group"/>
     </component>
    </collection>
   </block>
   <block name="mmappfw" level="specific" long-name="Multimedia App Framework" levels="fw utils if">
    <collection name="mpx" long-name="Multimedia Player" level="fw">
     <component name="commonframework" filter="s60" long-name="MPX Common Framework" introduced="^1">
      <unit bldFile="mw/mmappfw/mpx/commonframework/group"/>
     </component>
     <component name="playbackframework" filter="s60" long-name="MPX Playback Framework" introduced="^1">
      <unit bldFile="mw/mmappfw/mpx/playbackframework/group"/>
     </component>
     <component name="mpxcollectionfw" filter="s60" long-name="MPX Collection Framework" introduced="^1">
      <unit bldFile="mw/mmappfw/mpx/collectionframework/group"/>
     </component>
     <component name="mpxviewfw" filter="s60" long-name="MPX View Framework" introduced="^1">
      <unit bldFile="mw/mmappfw/mpx/viewframework/group"/>
     </component>
     <component name="mpx_build" filter="s60" long-name="MPX Build" introduced="^1">
      <!--  Move the export to another component or remove the #includes from this one -->
      <unit bldFile="mw/mmappfw/mpx/group"/>
     </component>
    </collection>
    <collection name="mmappcomponents" long-name="Multimedia App Components" level="utils">
     <component name="mmappcomponents_build" filter="s60" long-name="Multimedia App Components Build" introduced="^1">
      <!-- needed for  #ifdefs and hrh include. Need to #include the .hrh file in each bld.inf
      		Can remove this once configuration is in place-->
      <unit bldFile="mw/mmappfw/mmappcomponents/group"/>
     </component>
     <component name="collectionhelper" filter="s60" long-name="Media Player Collection Helper" introduced="^1">
      <unit bldFile="mw/mmappfw/mmappcomponents/collectionhelper/group"/>
     </component>
     <component name="playlistengine" filter="s60" long-name="Playlist Engine" introduced="^1">
      <unit bldFile="mw/mmappfw/mmappcomponents/playlistengine/group"/>
     </component>
     <component name="mpxharvester" filter="s60" long-name="Media Player Harvester" introduced="^1">
      <unit bldFile="mw/mmappfw/mmappcomponents/harvester/group"/>
     </component>
     <component name="mmappcommonui" filter="s60" long-name="Multimedia App Common UI" introduced="^1">
      <unit bldFile="mw/mmappfw/mmappcomponents/mmappcommonui/group"/>
     </component>
     <component name="mediaplayersettingsengine" filter="s60" long-name="Media Player Settings Engine" introduced="^1">
      <unit bldFile="mw/mmappfw/mmappcomponents/mediaplayersettingsengine/group"/>
     </component>
     <component name="audiofetcher" filter="s60" long-name="Audio Fetcher" introduced="^1" plugin="Y">
      <!-- uncomment when config is in place, currently #included in mmappcomponents_build -->
      <!-- <unit bldFile="mmappcomponents/audiofetcher/group"/>-->
     </component>
     <component name="asxparser" filter="s60" long-name="ASX Parser" introduced="^1">
      <!-- uncomment when config is in place, currently #included in mmappcomponents_build -->
      <!-- <unit bldFile="mmappcomponents/asxparser/group"/>-->
     </component>
     <component name="playbackhelper" filter="s60" long-name="Playback Helper" introduced="^3">
      <unit bldFile="mw/mmappfw/mmappcomponents/playbackhelper/group"/>
     </component>
     <component name="videoplaylistutility" filter="s60" long-name="Video Playlist Utility" introduced="^3">
      <unit bldFile="mw/mmappfw/mmappcomponents/videoplaylistutility/group"/>
     </component>
     <component name="mmmtpdataprovider" filter="s60" long-name="Multimedia MTP Data Provider" introduced="^3">
      <unit bldFile="mw/mmappfw/mmappcomponents/mmmtpdataprovider/group"/>
     </component>
    </collection>
    <collection name="mmappfw_info" long-name="Multimedia App Framework Info" level="if">
     <component name="mmappfw_build" filter="s60" long-name="Multimedia App Framework Build" introduced="^1">
      <!--  Move the export to another component or remove the #includes from this one -->
      <unit bldFile="mw/mmappfw/group"/>
     </component>
     <component name="mmappfw_test" filter="s60,test,api_test,pref_test" long-name="Multimedia App Framework Test" purpose="development" introduced="^1"/>
     <component name="mmappfw_plat" filter="s60" long-name="Multimedia App Framework Platform Interfaces" introduced="^1" class="api">
      <unit bldFile="mw/mmappfw/mmappfw_plat/group"/>
     </component>
    </collection>
   </block>
   <block name="inputmethods" level="generic" long-name="Input Methods" levels="plugin engine framework">
    <collection name="textinput" long-name="Text Input" level="framework">
     <component name="ptienginev2" filter="s60" long-name="Predictive Text Input Engine">
      <!--uncomment when configuration is turned on and textinput_build is removed-->
      <!--  <unit bldFile="textinput/ptienginev2/group"/>-->
     </component>
     <component name="akninputlanguage" filter="s60" long-name="Avkon Input Language">
      <unit bldFile="mw/inputmethods/textinput/akninputlanguage/group"/>
     </component>
     <component name="ptihangulcore" filter="s60" long-name="PIT Hangul Core" introduced="^3">
      <unit bldFile="mw/inputmethods/textinput/ptihangulcore/group"/>
     </component>
     <component name="ptikoreanqwertycore" filter="s60" long-name="PTI Korean QWERTY Core" introduced="^3">
      <unit bldFile="mw/inputmethods/textinput/ptikoreanqwertycore/group"/>
     </component>
     <component name="peninputarc" filter="s60" long-name="Pen Input Arc">
      <unit bldFile="mw/inputmethods/textinput/peninputarc/group"/>
     </component>
     <component name="peninputcommonctrls" filter="s60" long-name="Pen Input Common Controls">
      <unit bldFile="mw/inputmethods/textinput/peninputcommonctrls/group"/>
     </component>
     <component name="peninputhwrboxcn" filter="s60" long-name="Chinese Handwriting Recognition Box" plugin="Y">
      <unit bldFile="mw/inputmethods/textinput/peninputhwrboxcn/group"/>
     </component>
     <component name="peninputvkbcn" filter="s60" long-name="Chinese Virtual Keyboard" plugin="Y">
      <unit bldFile="mw/inputmethods/textinput/peninputvkbcn/group"/>
     </component>
     <component name="peninputcommonlayout" filter="s60" long-name="Pen Input Common Layout">
      <unit bldFile="mw/inputmethods/textinput/peninputcommonlayout/group"/>
     </component>
     <component name="peninputgenerichwr" filter="s60" long-name="Pen Input Generic Handwriting Recognition" plugin="Y">
      <unit bldFile="mw/inputmethods/textinput/peninputgenerichwr/group"/>
     </component>
     <component name="peninputgenericvkb" filter="s60" long-name="Pen Input Generic Virtual Keyboard" plugin="Y">
      <unit bldFile="mw/inputmethods/textinput/peninputgenericvkb/group"/>
     </component>
     <component name="peninputcommonctrlsjp" filter="s60" long-name="Pen Input Common Controls Japanese">
      <unit bldFile="mw/inputmethods/textinput/peninputcommonctrlsjp/group"/>
     </component>
     <component name="peninputhwrboxjp" filter="s60" long-name="Japanese Handwriting Recognition Box" plugin="Y">
      <unit bldFile="mw/inputmethods/textinput/peninputhwrboxjp/group"/>
     </component>
     <component name="peninputvkbjp" filter="s60" long-name="Japanese Virtual Keyboard" plugin="Y">
      <unit bldFile="mw/inputmethods/textinput/peninputvkbjp/group"/>
     </component>
     <component name="gslangplugin" filter="s60" long-name="GS Language Plugin" plugin="Y">
      <unit bldFile="mw/inputmethods/textinput/GSLangPlugin"/>
     </component>
     <component name="peninputgenericitut" filter="s60" long-name="Pen Input Generic ITU-T" introduced="^3" plugin="Y">
      <unit bldFile="mw/inputmethods/textinput/peninputgenericitut/group"/>
     </component>
     <component name="peninputhwrtrui" filter="s60" long-name="Pen Input Handwriting Recognition Training UI" introduced="^3" plugin="Y">
      <unit bldFile="mw/inputmethods/textinput/peninputhwrtrui/group"/>
     </component>
     <component name="peninputhwrfscn" filter="s60" long-name="Pen Input Chinese Full Screen Handwriting Recognition" introduced="^3" plugin="Y">
      <unit bldFile="mw/inputmethods/textinput/peninputhwrfscn/group"/>
     </component>
     <component name="peninputvkbkr" filter="s60" long-name="Pen Input Korean Virtual Keyboard" introduced="^3" plugin="Y">
      <unit bldFile="mw/inputmethods/textinput/peninputvkbkr/group"/>
     </component>
     <component name="peninputfingerhwr" filter="s60" long-name="Pen Input Finger Handwriting Recognition" introduced="^3" plugin="Y">
      <unit bldFile="mw/inputmethods/textinput/peninputfingerhwr/group"/>
     </component>
     <component name="peninputsplititut" filter="s60" long-name="Pen Input Split ITU-T" introduced="^3" plugin="Y">
      <unit bldFile="mw/inputmethods/textinput/peninputsplititut/group"/>
     </component>
     <component name="peninputsplitqwerty" filter="s60" long-name="Pen Input Split QWERTY" introduced="^3" plugin="Y">
      <unit bldFile="mw/inputmethods/textinput/peninputsplitqwerty/group"/>
     </component>
     <component name="textinput_build" filter="s60" long-name="Text Input Build">
      <!--needed for #ifdef, can be removed when configuration is implemented -->
      <unit bldFile="mw/inputmethods/textinput/group"/>
     </component>
    </collection>
    <collection name="fep" long-name="FEP" level="engine">
     <component name="aknfep" filter="s60" long-name="Avkon FEP" plugin="Y">
      <unit bldFile="mw/inputmethods/fep/aknfep/group"/>
     </component>
     <component name="frontendprocessor" long-name="Front End Processor" purpose="mandatory">
      <unit bldFile="mw/inputmethods/fep/frontendprocessor/group" mrp="mw/inputmethods/fep/frontendprocessor/group/app-framework_fepbase.mrp"/>
     </component>
    </collection>
    <collection name="inputmethods_info" long-name="Input Methods Info" level="framework">
     <component name="inputmethods_plat" filter="s60" long-name="Input Methods Platform Interfaces" class="api">
      <unit bldFile="mw/inputmethods/inputmethods_plat/group"/>
     </component>
     <component name="inputmethods_pub" filter="s60" long-name="Input Methods Public Interfaces" class="api">
      <unit bldFile="mw/inputmethods/inputmethods_pub/group"/>
     </component>
     <component name="inputmethods_metadata" long-name="Input Methods Metadata" introduced="^2" purpose="development" class="config PC">
      <unit mrp="mw/inputmethods/inputmethods_info/inputmethods_metadata/inputmethods_metadata.mrp"/>
     </component>
    </collection>
   </block>
   <block name="qt" level="generic" long-name="Qt"/>
   <block name="classicui" level="generic" long-name="Classic UI" levels="base support server generic specific">
    <collection name="ode" long-name="Open Dynamics Engine" level="support">
     <!-- the collection is really a component. Move down a directory.-->
     <component name="ode_build" filter="s60" long-name="ODE">
      <unit bldFile="mw/classicui/ode/group"/>
     </component>
    </collection>
    <collection name="uifw" long-name="UI Framework" level="server">
     <component name="uiklaf" filter="s60" long-name="Uikon Look-and-Feel">
      <unit bldFile="mw/classicui/uifw/uiklaf/group"/>
     </component>
     <component name="eikctl" filter="s60" long-name="Eikon Controls">
      <unit bldFile="mw/classicui/uifw/eikctl/group"/>
     </component>
     <component name="avkon" filter="s60" long-name="Avkon">
      <!-- can only have one unit. Split into 3 components, or #include all from same bld.inf -->
      <unit bldFile="mw/classicui/uifw/avkon/aknphysics/group"/>
      <unit bldFile="mw/classicui/uifw/avkon/group"/>
      <unit bldFile="mw/classicui/uifw/avkon/aknconf/group"/>
     </component>
     <component name="eikstd" filter="s60" long-name="Eikon Standard">
      <unit bldFile="mw/classicui/uifw/eikstd/group"/>
     </component>
     <component name="aknglobalui" filter="s60" long-name="Avkon Global UI">
      <unit bldFile="mw/classicui/uifw/aknglobalui/group"/>
     </component>
     <component name="ganes" filter="s60" long-name="Ganes">
      <unit bldFile="mw/classicui/uifw/ganes/group"/>
     </component>
    </collection>
    <collection name="commonuis" long-name="Common UIs" level="specific">
     <component name="commonui" filter="s60" long-name="Common UI">
      <unit bldFile="mw/classicui/commonuis/commonui/group"/>
     </component>
     <component name="commondialogs" filter="s60" long-name="Common Dialogs">
      <unit bldFile="mw/classicui/commonuis/commondialogs/group"/>
     </component>
    </collection>
    <collection name="applicationinterworkingfw" long-name="Application Interworking Framework" level="generic">
     <component name="aifwservicehandler" filter="s60" long-name="Application Interworking Service Handler">
      <unit bldFile="mw/classicui/applicationinterworkingfw/servicehandler/group"/>
     </component>
    </collection>
    <collection name="psln" long-name="Personalization" level="specific">
     <!-- the collection is really a component. Move down a directory. Or it could be split into multiple components-->
     <component name="psln_build" filter="s60" long-name="Personalization Build">
      <unit bldFile="mw/classicui/psln/group"/>
     </component>
    </collection>
    <collection name="commonadapter" long-name="Common Adapter" level="support">
     <!-- the collection is really a component. Move down a directory.-->
     <component name="commonadapter_build" filter="s60" long-name="Common Adapter Build">
      <unit bldFile="mw/classicui/commonadapter/group"/>
     </component>
    </collection>
    <collection name="akntouchgesturefw" long-name="Avkon Touch Gesture Framework" level="generic">
     <!-- the collection is really a component. Move down a directory.-->
     <component name="akntouchgesturefw_build" filter="s60" long-name="Avkon Touch Gesture Framework Build" introduced="^3">
      <unit bldFile="mw/classicui/akntouchgesturefw/group"/>
     </component>
    </collection>
    <collection name="uiutils" long-name="UI Utils" level="specific">
     <component name="localizer" filter="s60" long-name="Directory Localizer">
      <unit bldFile="mw/classicui/uiutils/localizer/group"/>
     </component>
     <component name="findutil" filter="s60" long-name="Find Utility">
      <unit bldFile="mw/classicui/uiutils/findutil/group"/>
     </component>
     <component name="gamerecognizer" filter="s60" long-name="Game Recognizer" plugin="Y">
      <unit bldFile="mw/classicui/uiutils/gamerecognizer/group"/>
     </component>
     <component name="aknjapanesereading" filter="s60" long-name="Avkon Japanese Reading">
      <unit bldFile="mw/classicui/uiutils/aknjapanesereading/group"/>
     </component>
    </collection>
    <collection name="commonuisupport" long-name="Common UI Support" level="support">
     <component name="uikon" long-name="Uikon" introduced="6.0" purpose="mandatory">
      <unit bldFile="mw/classicui/commonuisupport/uikon/group" mrp="mw/classicui/commonuisupport/uikon/group/app-framework_uikon.mrp"/>
     </component>
     <component name="errorresolverdata" long-name="Error Resolver Data" purpose="mandatory">
      <unit bldFile="mw/classicui/commonuisupport/errorresolverdata/group" mrp="mw/classicui/commonuisupport/errorresolverdata/group/app-framework_errorresgt.mrp"/>
     </component>
     <component name="uilaf" long-name="UI Look and Feel" introduced="6.0" purpose="mandatory">
      <unit bldFile="mw/classicui/commonuisupport/uilaf/GROUP" mrp="mw/classicui/commonuisupport/uilaf/GROUP/app-framework_uiklafgt.mrp"/>
     </component>
     <component name="grid" long-name="Grid" purpose="optional">
      <unit bldFile="mw/classicui/commonuisupport/grid/group" mrp="mw/classicui/commonuisupport/grid/group/app-framework_grid.mrp"/>
     </component>
     <component name="uifwsdocs" long-name="UI Frameworks Documentation" purpose="development" class="doc">
      <unit mrp="mw/classicui/commonuisupport/uifwsdocs/app-framework_documentation.mrp"/>
     </component>
    </collection>
    <collection name="lafagnosticuifoundation" long-name="Look-and-Feel Agnostic UI Foundation" level="base">
     <component name="cone" long-name="Control Environment" purpose="mandatory">
      <unit bldFile="mw/classicui/lafagnosticuifoundation/cone/group" mrp="mw/classicui/lafagnosticuifoundation/cone/group/app-framework_cone.mrp"/>
     </component>
     <component name="graphicseffects" long-name="Graphics Effects" introduced="9.2" purpose="optional">
      <unit bldFile="mw/classicui/lafagnosticuifoundation/graphicseffects/group" mrp="mw/classicui/lafagnosticuifoundation/graphicseffects/group/app-framework_gfxtranseffect.mrp"/>
     </component>
     <component name="uigraphicsutils" long-name="UI Graphics Utilities" purpose="mandatory">
      <unit bldFile="mw/classicui/lafagnosticuifoundation/uigraphicsutils/group" mrp="mw/classicui/lafagnosticuifoundation/uigraphicsutils/group/app-framework_egul.mrp"/>
     </component>
     <component name="clockanim" long-name="Clock" purpose="optional" plugin="Y">
      <unit bldFile="mw/classicui/lafagnosticuifoundation/clockanim/group" mrp="mw/classicui/lafagnosticuifoundation/clockanim/group/app-framework_clock.mrp"/>
     </component>
     <component name="bmpanimation" long-name="BMP Animation" introduced="6.0" purpose="optional">
      <unit bldFile="mw/classicui/lafagnosticuifoundation/bmpanimation/group" mrp="mw/classicui/lafagnosticuifoundation/bmpanimation/group/app-framework_bmpanim.mrp"/>
     </component>
     <component name="animation" long-name="Animation" introduced="9.1" purpose="optional">
      <unit bldFile="mw/classicui/lafagnosticuifoundation/animation/group" mrp="mw/classicui/lafagnosticuifoundation/animation/group/app-framework_animation.mrp"/>
     </component>
    </collection>
    <collection name="classicui_info" long-name="Classic UI Info" level="specific">
     <component name="classicui_pub" filter="s60" long-name="Classic UI Public Interfaces" class="api">
      <unit bldFile="mw/classicui/classicui_pub/group"/>
     </component>
     <component name="classicui_plat" filter="s60" long-name="Classic UI Platform Interfaces" class="api">
      <unit bldFile="mw/classicui/classicui_plat/group"/>
     </component>
     <!-- the multiple units in the API test components need to be resolved -->
     <component name="classicui_metadata" long-name="Classic UI Metadata" introduced="^2" purpose="development" class="config PC">
      <unit mrp="mw/classicui/classicui_info/classicui_metadata/classicui_metadata.mrp"/>
     </component>
    </collection>
   </block>
   <block name="svgt" level="generic" long-name="SVG Tiny" levels="util ui">
    <collection name="svgt_info" long-name="SVG Tiny Info" level="ui">
     <component name="svgt_plat" filter="s60" long-name="SVG Tiny Platform Interfaces" introduced="9.2" class="api">
      <unit bldFile="mw/svgt/svgt_plat/group"/>
     </component>
    </collection>
    <collection name="svgtopt" long-name="SVG-T Engine" level="util">
     <component name="svgtopt_build" filter="s60" long-name="SVG Engine" introduced="9.2">
      <!-- component is at collection level. Needs to be moved down a directory -->
      <unit bldFile="mw/svgt/svgtopt/group"/>
     </component>
     <component name="svgtplugin" filter="s60" long-name="SVG Plugin" introduced="9.2" plugin="Y">
      <unit bldFile="mw/svgt/svgtopt/svgtplugin/group"/>
     </component>
    </collection>
   </block>
   <block name="uiaccelerator" level="generic" long-name="UI Accelerator" levels="plugin framework server ex if">
    <collection name="uiaccelerator_info" long-name="UI Accelerator Info" level="if">
     <component name="uiaccelerator_plat" filter="s60" long-name="UI Accelerator Platform Interfaces" class="api">
      <unit bldFile="mw/uiaccelerator/uiaccelerator_plat/group"/>
     </component>
    </collection>
    <collection name="uiacceltk" long-name="UI Accelerator Toolkit" level="framework">
     <component name="hitchcock" filter="s60" long-name="Hitchcock">
      <unit bldFile="mw/uiaccelerator/uiacceltk/hitchcock/group"/>
     </component>
     <component name="uiacceltk_build" filter="s60" long-name="UI Accelerator Toolkit Build">
      <!-- move into the other component, or  remove the #include and make this UI Accelerator Toolkit ROM-->
      <unit bldFile="mw/uiaccelerator/uiacceltk/group"/>
     </component>
    </collection>
   </block>
   <block name="uiresources" level="generic" long-name="UI Resources" levels="compile plugin framework server generic data">
    <collection name="uiresources_info" long-name="UI Resources Info" level="data">
     <component name="uiresources_plat" filter="s60" long-name="UI Resources Platform Interfaces" class="api">
      <unit bldFile="mw/uiresources/uiresources_plat/group"/>
     </component>
     <component name="uiresources_pub" filter="s60" long-name="UI Resources Public Interfaces" class="api">
      <unit bldFile="mw/uiresources/uiresources_pub/group"/>
     </component>
     <component name="uiresources_test" filter="s60,test,api_test" long-name="UI Resources Tests" purpose="development"/>
     <!-- are these custom filters needed? -->
     <component name="uiresources_test_pat" filter="s60,test,api_test" long-name="UI Resources Platform API Tests" purpose="development" class="placeholder">
      <!-- can only have one unit. Need to #include from a common one -->
     </component>
     <component name="uiresources_test_pat" filter="s60,test,api_test" long-name="UI Resources Public API Tests" purpose="development" class="placeholder">
      <!-- can only have one unit. Need to #include from a common one -->
     </component>
    </collection>
    <collection name="uigraphics" long-name="UI Graphics" level="generic">
     <component name="bitmaps2" filter="s60" long-name="Bitmaps 2" class="config">
      <unit bldFile="mw/uiresources/uigraphics/bitmaps2/group"/>
     </component>
     <component name="icons" filter="s60" long-name="Icons" class="config">
      <unit bldFile="mw/uiresources/uigraphics/icons/group"/>
     </component>
     <component name="variatedbitmaps" filter="s60" long-name="Variated Bitmaps" class="config">
      <unit bldFile="mw/uiresources/uigraphics/variatedbitmaps/group"/>
     </component>
     <component name="aknicon" filter="s60" long-name="Avkon Icon Framework">
      <unit bldFile="mw/uiresources/uigraphics/aknicon/group"/>
     </component>
     <component name="nvgrenderstage" filter="sf_build" long-name="NVG Render Stage">
      <unit bldFile="mw/uiresources/uigraphics/nvgrenderstage/group"/>
     </component>
    </collection>
    <collection name="layouts" long-name="Layouts" level="plugin">
     <component name="cdl" filter="s60" long-name="Customization Definition Language">
      <!-- can only have one unit. Need to #include them or split into multiple components -->
      <unit bldFile="mw/uiresources/layouts/cdl/cdlengine/group"/>
      <unit bldFile="mw/uiresources/layouts/cdl/cdlserver/group"/>
     </component>
     <component name="aknlayout2" filter="s60" long-name="Avkon Layout 2">
      <unit bldFile="mw/uiresources/layouts/aknlayout2/group"/>
     </component>
    </collection>
    <collection name="skins" long-name="Skins" level="data">
     <component name="aknskincontent" filter="s60" long-name="Avkon Skin Content" class="config">
      <unit bldFile="mw/uiresources/skins/aknskincontent/group"/>
     </component>
     <component name="aknskins" filter="s60" long-name="Avkon Skin Compiler">
      <unit bldFile="mw/uiresources/skins/aknskins/group"/>
     </component>
    </collection>
    <collection name="pictographs" long-name="Pictographs" level="data">
     <component name="aknpictograph" filter="s60" long-name="Avkon Pictograph">
      <unit bldFile="mw/uiresources/pictographs/aknpictograph/group"/>
     </component>
    </collection>
    <collection name="locales" long-name="Locales" level="framework">
     <component name="locales_build" filter="s60" long-name="Locales Build">
      <unit bldFile="mw/uiresources/locales/loce32"/>
     </component>
    </collection>
    <collection name="uiconfig" long-name="UI Config" level="server">
     <component name="s60config" filter="s60" long-name="S60 UI Config">
      <unit bldFile="mw/uiresources/uiconfig/s60config/group"/>
     </component>
    </collection>
    <collection name="fontsupport" long-name="Font Support" level="generic">
     <component name="fontprovider" filter="s60" long-name="Font Provider">
      <unit bldFile="mw/uiresources/fontsupport/fontprovider/group"/>
     </component>
     <!-- R&D materials, should be Nokia only: exports S60 fonts, removes freetype
      <component id="s60_fonts" filter="s60" name="S60 Fonts">
        <unit bldFile="fontsupport/fontutils/group"/>
      </component>
-->
     <component name="fontutils" filter="sf_build" long-name="Font Utils">
      <unit bldFile="mw/uiresources/fontsupport/fontutils/FontUtils/group"/>
     </component>
    </collection>
    <collection name="helpthemes" long-name="Help Themes" level="data">
     <!-- collection is really a component. Need to move down a directory -->
     <component name="helpthemes_build" filter="s60" long-name="Help Themes Build" class="config">
      <unit bldFile="mw/uiresources/helpthemes/group"/>
     </component>
    </collection>
   </block>
   <block name="hapticsservices" level="generic" long-name="Haptics Services" levels="fw server api">
    <collection name="tacticonserver" long-name="Tacticon Server" level="server">
     <!-- collection is really a component. Move down a directory  -->
     <component name="tacticonserver_build" filter="s60" long-name="Tacticon Server Build" introduced="^3">
      <unit bldFile="mw/hapticsservices/tacticonserver/group"/>
      <!-- clients and servers are suauly the same component. Consider moving pluign to a separate component if needed -->
     </component>
    </collection>
    <collection name="tactilefeedback" long-name="Tactile Feedback" level="fw">
     <component name="tactilearearegistry" filter="s60" long-name="Tactile Area Registry" introduced="^1">
      <unit bldFile="mw/hapticsservices/tactilefeedback/tactilearearegistry/group"/>
     </component>
     <component name="tactilefeedbackresolver" filter="s60" long-name="Tactile Feedback Resolver" introduced="^1">
      <unit bldFile="mw/hapticsservices/tactilefeedback/tactilefeedbackresolver/group"/>
     </component>
     <component name="tactileclickplugin" filter="s60" long-name="Tactile Click Plugin" introduced="^1" plugin="Y">
      <unit bldFile="mw/hapticsservices/tactilefeedback/tactileclickplugin/group"/>
     </component>
     <component name="tactilefeedbackclient" filter="s60" long-name="Tactile Feedback Client" introduced="^1">
      <unit bldFile="mw/hapticsservices/tactilefeedback/tactilefeedbackclient/group"/>
     </component>
     <component name="tactileactionplugin" filter="s60" long-name="Tactile Action Plugin" introduced="^1" plugin="Y">
      <unit bldFile="mw/hapticsservices/tactilefeedback/tactileactionplugin/group"/>
     </component>
     <component name="tactilefeedback_build" filter="s60" long-name="Tactile Feedback Build" introduced="^1">
      <!-- consider moving IBY to one fo the above components -->
      <unit bldFile="mw/hapticsservices/tactilefeedback/group"/>
     </component>
    </collection>
    <collection name="hapticsservices_info" long-name="Haptics Services Info" level="api">
     <component name="hapticsservices_pub" filter="s60" long-name="Haptics Services Public Interfaces" introduced="^1" class="api">
      <unit bldFile="mw/hapticsservices/hapticsservices_pub/group"/>
     </component>
     <component name="hapticsservices_plat" filter="s60" long-name="Haptics Services Platform Interfaces" introduced="^1" class="api">
      <unit bldFile="mw/hapticsservices/hapticsservices_plat/group"/>
     </component>
    </collection>
   </block>
   <block name="gsprofilesrv" level="generic" long-name="General Settings and Profiles Services" levels="system plugin framework server generic specific">
    <collection name="gssettingsuis" long-name="General Settings UIs" level="framework">
     <component name="gs" filter="s60" long-name="General Settings" introduced="9.2">
      <unit bldFile="mw/gsprofilesrv/gssettingsuis/gs/group"/>
     </component>
    </collection>
    <collection name="profilesservices" long-name="Profiles Services" level="server">
     <component name="filelist" filter="s60" long-name="File List" introduced="9.1">
      <unit bldFile="mw/gsprofilesrv/profilesservices/filelist/group"/>
     </component>
     <component name="mediafilelist" filter="s60" long-name="Media File List" introduced="^2">
      <unit bldFile="mw/gsprofilesrv/profilesservices/mediafilelist/group"/>
     </component>
     <component name="profileengine" filter="s60" long-name="Profile Engine" introduced="9.1">
      <unit bldFile="mw/gsprofilesrv/profilesservices/profileengine/group"/>
     </component>
     <component name="ringingtone3dplugin" filter="s60" long-name="Ringing Tone 3D Plugin" introduced="^2" plugin="Y">
      <unit bldFile="mw/gsprofilesrv/profilesservices/ringingtone3dplugin/group"/>
     </component>
    </collection>
    <collection name="gsprofilesrv_info" long-name="GS and Profiles Services Info" level="specific">
     <component name="gsprofilesrv_plat" filter="s60" long-name="GS and Profiles Services Platform Interfaces" class="api">
      <unit bldFile="mw/gsprofilesrv/gsprofilesrv_plat/group"/>
     </component>
     <component name="gsprofilesrv_pub" filter="s60" long-name="GS and Profiles Services Public Interfaces" class="api">
      <unit bldFile="mw/gsprofilesrv/gsprofilesrv_pub/group"/>
     </component>
    </collection>
   </block>
   <block name="homescreensrv" level="specific" long-name="Home Screen Services" levels="plugin framework server generic specific">
    <collection name="xcfw" long-name="XML Content Framework" level="framework">
     <!-- collection is really a component, needs to be moved down a directory -->
     <component name="xcfw_build" filter="s60" long-name="XML Content Framework Build">
      <unit bldFile="mw/homescreensrv/xcfw/group"/>
     </component>
    </collection>
    <collection name="homescreenpluginsrv" long-name="Home Screen Plugin Service" level="plugin">
     <component name="hspsdefinitionengine" filter="s60" long-name="HS Plugin Service Definition Engine" class="placeholder">
      <!-- <unit bldFile="homescreenpluginsrv/hspsdefinitionengine/group"/> -->
     </component>
     <component name="hspsdom" filter="s60" long-name="HS Plugin Service DOM" class="placeholder">
      <!-- <unit bldFile="homescreenpluginsrv/hspsdom/group"/> -->
     </component>
     <component name="hspstools" filter="s60" long-name="HS Server Tools">
      <!-- <unit bldFile="homescreenpluginsrv/hspstools/group"/> -->
     </component>
     <component name="hspspluginregistry" filter="s60" long-name="HS Plugin Registry" class="placeholder">
      <!-- <unit bldFile="homescreenpluginsrv/hspspluginregistry/group"/>-->
     </component>
     <component name="hspsmanager" filter="s60" long-name="HSPS Manager" class="placeholder">
      <!-- <unit bldFile="homescreenpluginsrv/hspsmanager/group"/>-->
     </component>
     <component name="hspsodt" filter="s60" long-name="HSPS Object Description Tree" class="placeholder">
      <!-- <unit bldFile="homescreenpluginsrv/hspsodt/group"/>-->
     </component>
     <component name="hspsresource" filter="s60" long-name="HS Plugin Server Resource" class="placeholder">
      <!-- <unit bldFile="homescreenpluginsrv/hspsresource/group"/>-->
     </component>
     <component name="hspsresult" filter="s60" long-name="HS Plugin Server Result" class="placeholder">
      <!-- <unit bldFile="homescreenpluginsrv/hspsresult/group"/>-->
     </component>
     <component name="homescreen_settings_api" filter="s60" long-name="HS Settings API" class="api placeholder">
      <!-- <unit bldFile="homescreenpluginsrv/hspsresult/group"/>-->
     </component>
     <component name="homescreenpluginsrv_build" filter="s60" long-name="HSPS Build">
      <!-- need to break this up into the self-contained components above and uncomment them -->
      <unit bldFile="mw/homescreensrv/homescreenpluginsrv/group"/>
     </component>
    </collection>
    <collection name="idlefw" long-name="Idle Framework" level="framework">
     <!-- Uncomment all units when configuration is in place. All currently #included from idlefw_build -->
     <component name="idlefw_plugins" filter="s60" long-name="Idle Framework Plugins" plugin="Y" class="placeholder">
      <!--<unit bldFile="idlefw/plugins/group"/>-->
     </component>
     <component name="hslaunch" filter="s60" long-name="Home Screen Launch" class="placeholder">
      <!--<unit bldFile="idlefw/plugins/group"/>-->
     </component>
     <component name="idlefw_build" filter="s60" long-name="Idle Framework Build">
      <!--split this into components, or separate from the above components and move this down a directory -->
      <unit bldFile="mw/homescreensrv/idlefw/group"/>
     </component>
    </collection>
    <collection name="menucontentsrv" long-name="Menu Content Service" level="generic">
     <component name="menusatinterface" filter="s60" long-name="Menu SAT Interface">
      <unit bldFile="mw/homescreensrv/menucontentsrv/menusatinterface/group"/>
     </component>
     <component name="menucontentsrv_build" filter="s60" long-name="Menu Content Service Build">
      <!--split this into components, or separate from the above component and move this down a directory -->
      <unit bldFile="mw/homescreensrv/menucontentsrv/group"/>
     </component>
    </collection>
    <collection name="backsteppingsrv" long-name="Back Stepping Service" level="server">
     <!-- collection is really a component, needs to be moved down a directory -->
     <component name="bsengine" long-name="Back Stepping Engine" filter="s60">
      <unit bldFile="mw/homescreensrv/backsteppingsrv/group"/>
     </component>
    </collection>
    <collection name="contentpublishingsrv" long-name="Content Publishing Service" level="server">
     <component name="contentpublishingdebug" filter="s60" long-name="Content Publishing Debug">
      <!-- <unit bldFile="contentpublishingsrv/contentpublishingutils/contentpublishingdebug/group"/> -->
     </component>
     <component name="contentpublishingutils" filter="s60" long-name="Content Publishing Utils">
      <unit bldFile="mw/homescreensrv/contentpublishingsrv/contentpublishingutils/group"/>
     </component>
     <component name="contentpublishingserver" filter="s60" long-name="Content Publishing Server">
      <unit bldFile="mw/homescreensrv/contentpublishingsrv/contentpublishingserver/group"/>
     </component>
     <component name="contentharvester" filter="s60" long-name="Content Harvester">
      <unit bldFile="mw/homescreensrv/contentpublishingsrv/contentharvester/group"/>
     </component>
     <component name="contentpublishingsrv_build" filter="s60" long-name="Content Publishing Service Build">
      <!-- need to remove links to the above components and just contain the IBY (or move the IBY into another component). 
      		If keeping, it need to move down a directory.-->
      <unit bldFile="mw/homescreensrv/contentpublishingsrv/group"/>
     </component>
    </collection>
    <collection name="contextutility" long-name="Context Utility" level="generic">
     <!-- collection is really a component, needs to be moved down a directory -->
     <component name="contextutility_build" long-name="Context Utility Build" filter="s60" introduced="^3">
      <unit bldFile="mw/homescreensrv/contextutility/group"/>
     </component>
    </collection>
    <collection name="contentcontrolsrv" long-name="Content Control Service" level="server">
     <component name="ccsrv" long-name="Content Control Service" filter="s60" introduced="^3">
      <unit bldFile="mw/homescreensrv/contentcontrolsrv/ccsrv/group"/>
     </component>
     <component name="ccsrvapi" long-name="Content Control Service API" filter="s60" introduced="^3" class="api">
      <unit bldFile="mw/homescreensrv/contentcontrolsrv/ccsrvapi/group"/>
     </component>
     <component name="ccclientsession" long-name="Content Control Client Session" filter="s60" introduced="^3">
      <unit bldFile="mw/homescreensrv/contentcontrolsrv/ccclientsession/group"/>
     </component>
     <component name="hsccclient" long-name="HS Content Control Client" filter="s60" introduced="^3">
      <unit bldFile="mw/homescreensrv/contentcontrolsrv/hsccclient/group"/>
     </component>
     <component name="hscontentinfo" long-name="Home Screen Content Info" filter="s60" introduced="^3">
      <unit bldFile="mw/homescreensrv/contentcontrolsrv/hscontentinfo/group"/>
     </component>
     <component name="contentcontrolsrv_build" long-name="Content Control Service Build" filter="s60" introduced="^3">
      <!-- need to remove links to the above components and just contain the IBY (or move the IBY into another component). 
      		If keeping, it need to move down a directory.-->
      <unit bldFile="mw/homescreensrv/contentcontrolsrv/group"/>
     </component>
    </collection>
    <collection name="homescreensrv_info" long-name="Home Screen Services Info" level="specific">
     <component name="homescreensrv_plat" filter="s60" long-name="Home Screen Services Platform Interfaces" class="api">
      <unit bldFile="mw/homescreensrv/homescreensrv_plat/group"/>
     </component>
    </collection>
   </block>
   <block name="appinstall" level="generic" long-name="Application Installation" levels="tool framework generic api">
    <collection name="ncdengine" long-name="Nokia Content Discover" level="framework">
     <!-- is this really just a component? If so move down one diretcory. Otherwise properly split up the bld.inf -->
     <component name="ncdengine_engine" filter="s60" long-name="NCD Engine" introduced="^1">
      <unit bldFile="mw/appinstall/ncdengine/engine/group"/>
     </component>
     <component name="debuglogger" filter="s60" long-name="NCD Debug Logger" introduced="^1" class="placeholder">
      <!-- <unit bldFile="ncdengine/debuglogger/group"/> -->
     </component>
     <component name="ncdengine_build" filter="s60" long-name="NCD Build" introduced="^1">
      <unit bldFile="mw/appinstall/ncdengine/group"/>
     </component>
    </collection>
    <collection name="appinstaller" long-name="Application Installer" level="generic">
     <component name="appmngr2" filter="s60" long-name="Application Manager 2" introduced="^2">
      <unit bldFile="mw/appinstall/appinstaller/appmngr2/group"/>
     </component>
     <component name="appinstui" filter="s60" long-name="Application Installer UI" introduced="^2">
      <unit bldFile="mw/appinstall/appinstaller/appinstui/group"/>
     </component>
    </collection>
    <collection name="iaupdateapi_stub" long-name="IA Update API Stub" level="api">
     <!-- the collection is really a component. Move down a directory.-->
     <component name="iaupdateapi_stub_build" long-name="IA Update API Stub Build" filter="s60" introduced="^2">
      <unit bldFile="mw/appinstall/iaupdateapi_stub/group"/>
     </component>
    </collection>
    <collection name="iaupdate" long-name="Independent Apps Update" level="api">
     <!-- is this really just a component? If so move down one diretcory. Otherwise properly split up the bld.inf -->
     <component name="iad" long-name="Software Update" filter="s60" introduced="^2">
      <unit bldFile="mw/appinstall/iaupdate/iad/group"/>
     </component>
     <component name="iaupdate_help" filter="s60" long-name="IA Update Help" introduced="^2">
      <unit bldFile="mw/appinstall/iaupdate/help/group"/>
     </component>
     <component name="iaupdate_build" filter="s60" long-name="IA Update Build" introduced="^2">
      <unit bldFile="mw/appinstall/iaupdate/group"/>
     </component>
    </collection>
    <collection name="installationservices" long-name="Installation Services" level="generic">
     <component name="swi" long-name="Secure Software Install" purpose="optional">
      <unit bldFile="mw/appinstall/installationservices/swi/group" mrp="mw/appinstall/installationservices/swi/group/security_swi.mrp"/>
     </component>
     <component name="swidevicetools" long-name="Secure Software Install Device Tools" introduced="8.1" purpose="development">
      <unit bldFile="mw/appinstall/installationservices/swidevicetools/group" mrp="mw/appinstall/installationservices/swidevicetools/group/security_switools_device.mrp"/>
     </component>
     <component name="swiconfig" long-name="Software Install Config" introduced="9.1" purpose="optional" class="config">
      <unit bldFile="mw/appinstall/installationservices/swiconfig/group" mrp="mw/appinstall/installationservices/swiconfig/group/install_config.mrp"/>
     </component>
    </collection>
    <collection name="secureswitools" long-name="Secure Software Install Tools" level="tool">
     <component name="makekeys" long-name="MakeKeys" filter="gt" introduced="6.0" purpose="optional" class="PC">
      <unit bldFile="mw/appinstall/secureswitools/makekeys/group" mrp="mw/appinstall/secureswitools/makekeys/group/security_makekeys.mrp"/>
     </component>
     <component name="swianalysistoolkit" long-name="SWI Analysis Toolkit" purpose="development" class="PC">
      <unit bldFile="mw/appinstall/secureswitools/swianalysistoolkit/group" mrp="mw/appinstall/secureswitools/swianalysistoolkit/group/security_switools.mrp"/>
     </component>
     <component name="openssllib" long-name="OpenSSL Library" purpose="optional" class="PC">
      <unit mrp="mw/appinstall/secureswitools/openssllib/security_openssl.mrp"/>
     </component>
     <component name="swisistools" long-name="Secure Software Install SIS Tools" purpose="optional" class="PC">
      <unit bldFile="mw/appinstall/secureswitools/swisistools/group" mrp="mw/appinstall/secureswitools/swisistools/group/security_sistools.mrp"/>
     </component>
    </collection>
    <collection name="appinstall_info" long-name="Application Installation Info" level="api">
     <component name="appinstall_pub" filter="s60" long-name="Application Installation Public Interfaces" class="api">
      <unit bldFile="mw/appinstall/appinstall_pub/group"/>
     </component>
     <component name="appinstall_plat" filter="s60" long-name="Application Installation Platform Interfaces" class="api">
      <unit bldFile="mw/appinstall/appinstall_plat/group"/>
     </component>
     <component name="appinstall_metadata" long-name="Application Installation Metadata" introduced="^2" purpose="development" class="config PC">
      <unit mrp="mw/appinstall/appinstall_info/appinstall_metadata/appinstall_metadata.mrp"/>
     </component>
    </collection>
   </block>
   <block name="serviceapifw" level="specific" long-name="Service API Framework" levels="plugin framework server generic specific">
    <collection name="rtsecuritymanager" long-name="Runtime Security Manager" level="server">
     <component name="rtsecuritymanagerutil" filter="s60" long-name="Runtime Security Manager Util">
      <unit bldFile="mw/serviceapifw/rtsecuritymanager/rtsecuritymanagerutil/group"/>
     </component>
     <component name="rtsecuritymanagerserver" filter="s60" long-name="Runtime Security Manager Server">
      <unit bldFile="mw/serviceapifw/rtsecuritymanager/rtsecuritymanagerserver/group"/>
     </component>
     <component name="rtsecuritymanagerclient" filter="s60" long-name="Runtime Security Manager Client">
      <unit bldFile="mw/serviceapifw/rtsecuritymanager/rtsecuritymanagerclient/group"/>
     </component>
     <component name="rtsecuritymanager_build" filter="s60" long-name="Runtime Security Manager Build">
      <!-- Move the export to the appropriate components, or make this a ROM component by removing the #includes -->
      <unit bldFile="mw/serviceapifw/rtsecuritymanager/group"/>
     </component>
    </collection>
    <collection name="languageinterworkingfw" long-name="Language Interworking Framework" level="framework">
     <component name="lifwservicehandler" filter="s60" long-name="Service Handler">
      <unit bldFile="mw/serviceapifw/languageinterworkingfw/servicehandler/group"/>
     </component>
    </collection>
    <collection name="serviceapifw_info" long-name="Service API Framework Info" level="specific">
     <component name="serviceapifw_plat" filter="s60" long-name="Service API Framework Platform Interfaces" class="api">
      <unit bldFile="mw/serviceapifw/serviceapifw_plat/group"/>
     </component>
     <component name="serviceapifw_pub" filter="s60" long-name="Service API Framework Public Interfaces" class="api">
      <unit bldFile="mw/serviceapifw/serviceapifw_pub/group"/>
     </component>
    </collection>
   </block>
   <block name="serviceapi" level="specific" long-name="Service API" levels="os mw1 mw2 app">
    <!-- should break up this collection into something meaningful -->
    <collection name="serviceproviders" long-name="Service Providers" level="mw1">
     <component name="sapi_contacts_vpbk" long-name="Contacts Phonebook SAPI" filter="s60" plugin="Y">
      <unit bldFile="mw/serviceapi/serviceproviders/sapi_contacts_vpbk/group"/>
     </component>
     <component name="sapi_location" long-name="Location SAPI" filter="s60" plugin="Y">
      <unit bldFile="mw/serviceapi/serviceproviders/sapi_location/group"/>
     </component>
     <component name="sapi_mediamanagement" long-name="Media Management SAPI" filter="s60" plugin="Y">
      <unit bldFile="mw/serviceapi/serviceproviders/sapi_mediamanagement/group"/>
     </component>
     <component name="sapi_landmarks" long-name="Landmarks SAPI" filter="s60" plugin="Y">
      <unit bldFile="mw/serviceapi/serviceproviders/sapi_landmarks/group"/>
     </component>
     <component name="sapi_messaging" long-name="Messaging SAPI" filter="s60" plugin="Y">
      <unit bldFile="mw/serviceapi/serviceproviders/sapi_messaging/group"/>
     </component>
     <component name="sapi_applicationmanager" long-name="Application Manager SAPI" filter="s60" plugin="Y">
      <unit bldFile="mw/serviceapi/serviceproviders/sapi_applicationmanager/group"/>
     </component>
     <component name="sapi_calendar" long-name="Calendar SAPI" filter="s60" plugin="Y">
      <unit bldFile="mw/serviceapi/serviceproviders/sapi_calendar/group"/>
     </component>
     <component name="sapi_logging" long-name="Logging SAPI" filter="s60" plugin="Y">
      <unit bldFile="mw/serviceapi/serviceproviders/sapi_logging/group"/>
     </component>
     <component name="sapi_sensor" long-name="Sensor SAPI" filter="s60" plugin="Y">
      <unit bldFile="mw/serviceapi/serviceproviders/sapi_sensor/group"/>
     </component>
     <component name="sapi_sysinfo" long-name="Sysinfo SAPI" filter="s60" plugin="Y">
      <unit bldFile="mw/serviceapi/serviceproviders/sapi_sysinfo/group"/>
     </component>
     <component name="sapi_serviceregistry" long-name="Service Registry SAPI" filter="s60" plugin="Y">
      <unit bldFile="mw/serviceapi/serviceproviders/sapi_serviceregistry/group"/>
     </component>
     <component name="jsapi" long-name="Javascript API" filter="s60" plugin="Y">
      <unit bldFile="mw/serviceapi/serviceproviders/jsapi/group"/>
     </component>
     <component name="serviceproviders_build" filter="s60" long-name="Service API Build">
      <!--  distribute the exports or make this a ROM component by removing the #includes -->
      <unit bldFile="mw/serviceapi/serviceproviders/group"/>
     </component>
    </collection>
   </block>
   <block name="web" level="specific" long-name="Web" levels="plugin utils server generic specific">
    <collection name="web_info" long-name="Web Info" level="specific">
     <component name="web_plat" filter="s60" long-name="Web Platform Interfaces" class="api">
      <unit bldFile="mw/web/web_plat/group"/>
     </component>
     <component name="web_pub" filter="s60" long-name="Web Public Interfaces" class="api">
      <unit bldFile="mw/web/web_pub/group"/>
     </component>
     <component name="web_build" filter="s60" long-name="Web Build">
      <!-- when configuration is in place, the #ifdef is no longer needed and this component can be removed -->
      <unit bldFile="mw/web/group"/>
     </component>
    </collection>
    <collection name="browserutilities" long-name="Browser Utilities" level="utils">
     <component name="browserdialogsprovider" filter="s60" long-name="Browser Dialogs Provider">
      <unit bldFile="mw/web/browserutilities/browserdialogsprovider/group"/>
     </component>
     <component name="recenturlstore" filter="s60" long-name="Recent URL Store">
      <unit bldFile="mw/web/browserutilities/recenturlstore/group"/>
     </component>
     <component name="xmlparser" filter="s60" long-name="XML Interface">
      <unit bldFile="mw/web/browserutilities/xmlparser/group"/>
     </component>
     <component name="cxmllibrary" filter="s60" long-name="XML Parser Implementation">
      <unit bldFile="mw/web/browserutilities/cxmllibrary/group"/>
     </component>
     <component name="downloadmgr" filter="s60" long-name="Download Manager">
      <unit bldFile="mw/web/browserutilities/downloadmgr/group"/>
     </component>
     <component name="connectionmanager" filter="s60" long-name="Connection Manager">
      <unit bldFile="mw/web/browserutilities/connectionmanager/group"/>
     </component>
     <component name="browsertelservice" filter="s60" long-name="Browser Telephony Service">
      <unit bldFile="mw/web/browserutilities/browsertelservice/group"/>
     </component>
     <component name="favouritesengine" filter="s60" long-name="Favourites Engine">
      <unit bldFile="mw/web/browserutilities/favouritesengine/group"/>
     </component>
     <component name="feedsengine" filter="s60" long-name="Feeds Engine">
      <unit bldFile="mw/web/browserutilities/feedsengine/group"/>
     </component>
     <component name="multipartparser" filter="s60" long-name="Multipart Parser">
      <!-- uncomment the unit when configuration is in place, it's currently #included from browserutilities_build -->
      <!-- <unit bldFile="browserutilities/multipartparser/group"/> -->
     </component>
     <component name="schemehandler" filter="s60" long-name="Scheme Handler">
      <unit bldFile="mw/web/browserutilities/schemehandler/group"/>
     </component>
     <component name="webutils" filter="s60" long-name="Web Utils">
      <unit bldFile="mw/web/browserutilities/webutils/group"/>
     </component>
     <component name="aiwbrowserprovider" filter="s60" long-name="AIW Browser Provider" plugin="Y">
      <unit bldFile="mw/web/browserutilities/aiwbrowserprovider/group"/>
     </component>
     <component name="browserutilities_build" filter="s60" long-name="Browser Utilities Build">
      <!-- when configuration is in place, the #ifdef is no longer needed and this component can be removed -->
      <unit bldFile="mw/web/browserutilities/group"/>
     </component>
    </collection>
    <collection name="webengine" long-name="Web Engine" level="server">
     <component name="osswebengine" filter="s60" long-name="OSS Web Engine">
      <!-- can only have one unit. Either split into multiple components or #include from a single main bld.inf -->
      <unit bldFile="mw/web/webengine/osswebengine/cache/group"/>
      <unit bldFile="mw/web/webengine/osswebengine/memorymanager/group"/>
      <unit bldFile="mw/web/webengine/osswebengine/npscript/group"/>
      <unit bldFile="mw/web/webengine/osswebengine/webkit/s60/group"/>
      <unit bldFile="mw/web/webengine/osswebengine/webkit/s60/group/javascriptcore"/>
     </component>
     <component name="webkitutils" filter="s60" long-name="WebKit Utils">
      <unit bldFile="mw/web/webengine/webkitutils/group"/>
     </component>
     <component name="pagescaler" filter="s60" long-name="Page Scaler">
      <unit bldFile="mw/web/webengine/pagescaler/group"/>
     </component>
     <component name="webwidgetinstaller" filter="s60" long-name="Widget Installer">
      <unit bldFile="mw/web/webengine/widgetinstaller/group"/>
     </component>
     <component name="widgetregistry" filter="s60" long-name="Widget Registry">
      <unit bldFile="mw/web/webengine/widgetregistry/group"/>
     </component>
     <component name="wmlengine" filter="s60" long-name="WML Engine">
      <unit bldFile="mw/web/webengine/wmlengine/group"/>
     </component>
     <component name="device" filter="s60" long-name="Device">
      <!-- this needs a more meaningful name -->
      <unit bldFile="mw/web/webengine/device/group"/>
     </component>
     <component name="widgetengine" filter="s60" long-name="Widget Engine">
      <unit bldFile="mw/web/webengine/widgetengine/group"/>
     </component>
     <component name="web_memoryplugin" long-name="Memory Plugin" filter="s60" plugin="Y">
      <unit bldFile="mw/web/webengine/memoryplugin/group"/>
     </component>
     <component name="widgetmemoryplugin" filter="s60" long-name="Widget Memory Plugin" plugin="Y">
      <unit bldFile="mw/web/webengine/widgetmemoryplugin/group"/>
     </component>
     <component name="widgetbackuprestore" filter="s60" long-name="Widget Backup and Restore">
      <unit bldFile="mw/web/webengine/widgetbackuprestore/group"/>
     </component>
     <component name="browserrecognizers" filter="s60" long-name="Browser Recognizers" plugin="Y">
      <unit bldFile="mw/web/webengine/browserrecognizers/group"/>
     </component>
     <component name="wrtharvester" filter="s60" long-name="Web Runtime Harvester" plugin="Y">
      <unit bldFile="mw/web/webengine/wrtharvester/group"/>
     </component>
    </collection>
    <collection name="codhandler" long-name="Content Object Descriptor Handler" level="specific">
     <component name="codeng" filter="s60" long-name="COD Engine">
      <unit bldFile="mw/web/codhandler/codeng/group"/>
     </component>
     <component name="codui" filter="s60" long-name="COD UI">
      <unit bldFile="mw/web/codhandler/codui/group"/>
     </component>
     <component name="codrecog" filter="s60" long-name="COD Recogniser" plugin="Y">
      <unit bldFile="mw/web/codhandler/codrecog/group"/>
     </component>
     <component name="codviewer" filter="s60" long-name="COD Viewer">
      <unit bldFile="mw/web/codhandler/codviewer/group"/>
     </component>
     <component name="ddrecog" filter="s60" long-name="Download Descriptor Recogniser" plugin="Y">
      <unit bldFile="mw/web/codhandler/ddrecog/group"/>
     </component>
     <component name="ddviewer" filter="s60" long-name="Download Descriptor Viewer">
      <unit bldFile="mw/web/codhandler/ddviewer/group"/>
     </component>
     <component name="coddownload" filter="s60" long-name="COD Download">
      <unit bldFile="mw/web/codhandler/coddownload/group"/>
     </component>
     <component name="roapapp" filter="s60" long-name="ROAP Application">
      <unit bldFile="mw/web/codhandler/roapapp/group"/>
     </component>
     <component name="codhandler_build" filter="s60" long-name="COD Handler Build">
      <!-- Exports need to go into another component or make this self-contained.
      		#included .hrh file needs to be #included in each of the other components -->
      <unit bldFile="mw/web/codhandler/group"/>
     </component>
    </collection>
    <collection name="widgets" long-name="Web Widget Framework" level="generic">
     <!-- the following units can be uncommented when configuration is put in place -->
     <component name="widgetrecognizer" filter="s60" long-name="Widget Recognizer" plugin="Y">
      <!--<unit bldFile="widgets/widgetrecognizer/group"/>-->
     </component>
     <component name="widgetinstaller" filter="s60" long-name="Widget Installer UI" plugin="Y">
      <!--<unit bldFile="widgets/widgetinstaller/group"/>-->
     </component>
     <component name="widgetlauncher" filter="s60" long-name="Widget Launcher">
      <!-- <unit bldFile="widgets/widgetlauncher/group"/>-->
     </component>
     <component name="widgetapp" filter="s60" long-name="Widget UI">
      <!--<unit bldFile="widgets/widgetapp/group"/>-->
     </component>
     <component name="widgetsidchecker" filter="s60" long-name="Widget SID Checker" introduced="^3">
      <!--<unit bldFile="widgets/widgetsidchecker/group"/>-->
     </component>
     <component name="widgetpreinstaller" filter="s60" long-name="Widget Pre-Installer">
      <!--<unit bldFile="widgets/widgetpreinstaller/group"/>-->
     </component>
     <component name="widgetstartup" filter="s60" long-name="Widget Startup">
      <!--<unit bldFile="widgets/widgetstartup/group"/>-->
     </component>
     <component name="widgets_build" filter="s60" long-name="Widgets Build">
      <!-- when configuration is in place, the #ifdef is no longer needed and this component can be removed 
      		#included .hrh file needs to be #included in each of the other components -->
      <unit bldFile="mw/web/widgets/group"/>
     </component>
    </collection>
   </block>
   <block name="websrv" level="generic" long-name="Web Services" levels="plugin framework server generic specific">
    <collection name="webservices" long-name="Web Services Framework" level="generic">
     <!-- consider breaking this collection into more meaningful subsets -->
     <component name="wsnotifierplugins" filter="s60" long-name="WS Notifier Plugins" plugin="Y">
      <unit bldFile="mw/websrv/webservices/wsnotifierplugins/group"/>
     </component>
     <component name="wslogger" filter="s60" long-name="WS Logger">
      <unit bldFile="mw/websrv/webservices/wslogger/group"/>
     </component>
     <component name="wsxml" filter="s60" long-name="WS XML Extensions">
      <unit bldFile="mw/websrv/webservices/wsxml/group"/>
     </component>
     <component name="wsutils" filter="s60" long-name="WS Utils">
      <unit bldFile="mw/websrv/webservices/wsutils/group"/>
     </component>
     <component name="wsfragment" filter="s60" long-name="WS Fragment">
      <unit bldFile="mw/websrv/webservices/wsfragment/group"/>
     </component>
     <component name="wsdescription" filter="s60" long-name="WS Service Description">
      <unit bldFile="mw/websrv/webservices/wsdescription/group"/>
     </component>
     <component name="wsconnection" filter="s60" long-name="WS Service Connection">
      <unit bldFile="mw/websrv/webservices/wsconnection/group"/>
     </component>
     <component name="wsmessages" filter="s60" long-name="WS Messages">
      <unit bldFile="mw/websrv/webservices/wsmessages/group"/>
     </component>
     <component name="wscredentialmanager" filter="s60" long-name="WS Credential Manager">
      <unit bldFile="mw/websrv/webservices/wscredentialmanager/group"/>
     </component>
     <component name="wsframework" filter="s60" long-name="WS Framework">
      <unit bldFile="mw/websrv/webservices/wsframework/group"/>
     </component>
     <component name="wshttpchanneltransportplugin" filter="s60" long-name="WS HTTP Channel Transport Plugin" plugin="Y">
      <unit bldFile="mw/websrv/webservices/wshttpchanneltransportplugin/group"/>
     </component>
     <component name="wsconnectionagent" filter="s60" long-name="WS Connection Agent">
      <unit bldFile="mw/websrv/webservices/wsconnectionagent/group"/>
     </component>
     <component name="wsprovider" filter="s60" long-name="WS Provider">
      <unit bldFile="mw/websrv/webservices/wsprovider/group"/>
     </component>
     <component name="wshostletconnection" filter="s60" long-name="WS Hostlet Connection">
      <unit bldFile="mw/websrv/webservices/wshostletconnection/group"/>
     </component>
     <component name="wsmanager" filter="s60" long-name="WS Service Manager">
      <unit bldFile="mw/websrv/webservices/wsmanager/group"/>
     </component>
     <component name="wsidentitymanager" filter="s60" long-name="WS Identity Manager">
      <unit bldFile="mw/websrv/webservices/wsidentitymanager/group"/>
     </component>
     <component name="idwsfplugin" filter="s60" long-name="ID-WSF Plugin" plugin="Y">
      <unit bldFile="mw/websrv/webservices/idwsfplugin/group"/>
     </component>
     <component name="wsibasicplugin" filter="s60" long-name="WS-I Basic Plugin" plugin="Y">
      <unit bldFile="mw/websrv/webservices/wsibasicplugin/group"/>
     </component>
     <component name="wsrestplugin" filter="s60" long-name="WS REST Plugin" plugin="Y">
      <unit bldFile="mw/websrv/webservices/wsrestplugin/group"/>
     </component>
     <component name="idwsfsecuritymechanism" filter="s60" long-name="ID-WSF Security Mechanism">
      <unit bldFile="mw/websrv/webservices/idwsfsecuritymechanism/group"/>
     </component>
     <component name="wspasswordtransforms" filter="s60" long-name="WS Password Transforms">
      <unit bldFile="mw/websrv/webservices/wspasswordtransforms/group"/>
     </component>
     <component name="wscore" filter="s60" long-name="WS Core Service Manager">
      <unit bldFile="mw/websrv/webservices/wscore/group"/>
     </component>
     <component name="wslocaltransportplugin" filter="s60" long-name="WS Local Transport Plugin" plugin="Y">
      <unit bldFile="mw/websrv/webservices/wslocaltransportplugin/group"/>
     </component>
     <component name="wshostlettransportplugin" filter="s60" long-name="WS Hostlet Transport Plugin" plugin="Y">
      <unit bldFile="mw/websrv/webservices/wshostlettransportplugin/group"/>
     </component>
     <component name="wsstar" filter="s60" long-name="WS Star">
      <!-- can only have one unit. Need to split into separate components or #include from a single bld.inf -->
      <unit bldFile="mw/websrv/webservices/wsstar/wsstarpolicy/group"/>
      <unit bldFile="mw/websrv/webservices/wsstar/wsstarplugin/group"/>
      <unit bldFile="mw/websrv/webservices/wsstar/wsstarmessagehandlers/group"/>
     </component>
     <component name="wsoviplugin" filter="s60" long-name="WS Ovi Plugin">
      <unit bldFile="mw/websrv/webservices/wsoviplugin/group"/>
     </component>
     <component name="wsoviplugin" filter="s60" long-name="WS Ovi Plugin">
      <unit bldFile="mw/websrv/webservices/wsoviplugin/group"/>
     </component>
     <component name="webservices_build" filter="s60" long-name="Web Services Build">
      <!-- need to split into self-contained components -->
      <unit bldFile="mw/websrv/webservices/group"/>
     </component>
    </collection>
    <collection name="websrv_info" long-name="Web Services Info" level="specific">
     <component name="websrv_bld" filter="s60" long-name="Web Services Build">
      <!-- need to include common .hrh in each unit -->
      <unit bldFile="mw/websrv/group"/>
     </component>
     <component name="websrv_pub" filter="s60" long-name="Web Services Public Interfaces" class="api">
      <unit bldFile="mw/websrv/websrv_pub/group"/>
     </component>
    </collection>
   </block>
   <block name="platformtools" level="generic" long-name="Platform Tools">
    <collection name="gfxconversion" long-name="Graphics Conversion">
     <component name="bmconv_s60" filter="s60" long-name="S60 Bitmap Converter" class="PC">
      <unit bldFile="mw/platformtools/gfxconversion/bmconv_s60/group"/>
     </component>
     <component name="mifconv" filter="s60" long-name="Multi Icon File Converter" class="PC">
      <unit bldFile="mw/platformtools/gfxconversion/mifconv/group"/>
     </component>
    </collection>
   </block>
   <block name="uitools" level="specific" long-name="UI Tools" levels="compile encode tool if">
    <collection name="cdlcompilertoolkit" long-name="CDL Compiler Toolkit" level="compile">
     <!-- collection is actually a component. Needs to be moved down a directory -->
     <component name="cdlcompilertoolkit_build" filter="s60" long-name="CDL Compiler Toolkit Build">
      <unit bldFile="mw/uitools/cdlcompilertoolkit/group"/>
     </component>
    </collection>
    <collection name="cdlcompiler" long-name="CDL Compiler" level="compile">
     <!-- collection is actually a component. Needs to be moved down a directory -->
     <component name="cdlcompiler_build" filter="s60" long-name="CDL Compiler Build">
      <unit bldFile="mw/uitools/cdlcompiler/group"/>
     </component>
    </collection>
    <collection name="gfxtools" long-name="Graphics Tools" level="tool">
     <component name="gditools" filter="s60" long-name="GDI Tools" class="PC">
      <unit bldFile="mw/uitools/gfxtools/gditools/group"/>
     </component>
     <component name="color" filter="s60" long-name="Bitmap Colour Palette" class="PC">
      <unit bldFile="mw/uitools/gfxtools/color/group"/>
     </component>
    </collection>
    <collection name="aknlayoutcompiler" long-name="Avkon Layout Compiler" level="compile">
     <!-- collection is actually a component. Needs to be moved down a directory -->
     <component name="aknlayoutcompiler_build" filter="s60" long-name="Avkon Layout Compiler Build">
      <unit bldFile="mw/uitools/aknlayoutcompiler/group"/>
     </component>
    </collection>
    <collection name="skincompiler" long-name="Skin Compiler" level="compile">
     <component name="aknskindesccompiler" filter="s60" long-name="Avkon Skin Descriptor Compiler">
      <unit bldFile="mw/uitools/skincompiler/AknSkinDescCompiler/group"/>
     </component>
    </collection>
    <collection name="reszip" long-name="Resource Zip" level="encode">
     <!-- collection is actually a component. Needs to be moved down a directory -->
     <component name="reszip_build" filter="s60" long-name="Resource Zip Build">
      <unit bldFile="mw/uitools/reszip/group"/>
     </component>
    </collection>
    <collection name="toollibraries" long-name="Tool Libraries" level="tool"/>
    <collection name="svgtencoder" long-name="SVGT Encoder" level="encode">
     <component name="svgtenc" filter="s60" long-name="Standalone SVGT Encoder" class="PC">
      <unit bldFile="mw/uitools/svgtencoder/svgtenc/standalone/group"/>
     </component>
    </collection>
    <collection name="uitools_info" long-name="UI Tools Info" level="if">
     <component name="uitools_plat" filter="s60" long-name="UI Tools Platform Interfaces" class="api">
      <unit bldFile="mw/uitools/uitools_plat/group"/>
     </component>
     <component name="uitools_pub" filter="s60" long-name="UI Tools Public Interfaces" class="api">
      <unit bldFile="mw/uitools/uitools_pub/group"/>
     </component>
    </collection>
   </block>
  </layer>
  <layer name="app" long-name="Applications" levels="services apps">
   <block name="location" level="apps" long-name="Location Apps" levels="ui events loc apps">
    <collection name="basiclocationinfodisplay" long-name="Basic Location Info Display" level="ui">
     <component name="blid" filter="s60" long-name="Basic Location Info Display Build">
      <unit bldFile="app/location/basiclocationinfodisplay/blid/group"/>
     </component>
    </collection>
    <collection name="landmarksui" long-name="Landmarks UI" level="loc">
     <component name="landmarksui_help" filter="s60" long-name="Landmarks UI Help">
      <unit bldFile="app/location/landmarksui/help/group"/>
     </component>
     <component name="landmarksui_engine" filter="s60" long-name="Landmarks UI Engine">
      <unit bldFile="app/location/landmarksui/engine/group"/>
     </component>
     <component name="uicontrols" filter="s60" long-name="Landmarks UI Controls">
      <unit bldFile="app/location/landmarksui/uicontrols/group"/>
     </component>
     <component name="landmarksui_commonui" filter="s60" long-name="Landmarks Common UI">
      <unit bldFile="app/location/landmarksui/commonui/group"/>
     </component>
     <component name="landmarksui_app" filter="s60" long-name="Landmarks Application">
      <unit bldFile="app/location/landmarksui/app/group"/>
     </component>
     <component name="msgviewer" filter="s60" long-name="Landmarks Message Viewer">
      <unit bldFile="app/location/landmarksui/msgviewer/group"/>
     </component>
     <component name="landmarksui_build" filter="s60" long-name="Landmarks UI Build">
      <!-- consider distributing this into the other components or collapsing into a single component -->
      <unit bldFile="app/location/landmarksui/group"/>
     </component>
    </collection>
    <collection name="eventsui" long-name="Location Events UI" level="events">
     <component name="eventsui_help" filter="s60" long-name="Events Help">
      <unit bldFile="app/location/eventsui/help/group"/>
     </component>
     <component name="eventsutils" filter="s60" long-name="Events Utils">
      <unit bldFile="app/location/eventsui/eventsutils/group"/>
     </component>
     <component name="eventsengine" filter="s60" long-name="Events Engine">
      <unit bldFile="app/location/eventsui/eventsengine/group"/>
     </component>
     <component name="eventshandlerui" filter="s60" long-name="Events Handler UI">
      <unit bldFile="app/location/eventsui/eventshandlerui/group"/>
     </component>
     <component name="eventseditor" filter="s60" long-name="Events Editor">
      <unit bldFile="app/location/eventsui/eventseditor/group"/>
     </component>
     <component name="eventsmgmtui" filter="s60" long-name="Events Management UI">
      <unit bldFile="app/location/eventsui/eventsmgmtui/group"/>
     </component>
     <component name="eventsui_build" filter="s60" long-name="Events UI Build">
      <!-- consider distributing this into the other components or collapsing into a single component -->
      <unit bldFile="app/location/eventsui/group"/>
     </component>
    </collection>
    <collection name="locationlandmarksrefappfors60" long-name="Location Landmarks Reference App for S60" level="apps">
     <!-- this is a component, needs to be moved down a directory -->
     <component name="lmrefapp" filter="s60" long-name="Landmarks Reference Application">
      <unit bldFile="app/location/locationlandmarksrefappfors60/group"/>
     </component>
    </collection>
    <collection name="locationlandmarksuirefapp" long-name="Location Landmarks UI Reference App" level="apps">
     <!-- this is a component, needs to be moved down a directory -->
     <component name="lmuirefapp" filter="s60" long-name="Landmarks UI Reference Application">
      <unit bldFile="app/location/locationlandmarksuirefapp/group"/>
     </component>
    </collection>
    <collection name="locationsatviewrefapp" long-name="Location Satellite View Reference App" level="apps">
     <!-- this is a component, needs to be moved down a directory -->
     <component name="satellitereference" filter="s60" long-name="Satellite Info UI Reference Application">
      <unit bldFile="app/location/locationsatviewrefapp/group"/>
     </component>
    </collection>
    <collection name="simpsyconfigurator" long-name="Simulation PSY Configurator" level="ui">
     <!-- this is a component, needs to be moved down a directory -->
     <component name="simpsyui" filter="s60" long-name="Simulation PSY UI">
      <unit bldFile="app/location/simpsyconfigurator/group"/>
     </component>
    </collection>
    <collection name="mapnavproviderrefapp" long-name="Map and Navigation Provider Reference App" level="apps">
     <!-- this is a component, needs to be moved down a directory -->
     <component name="mapnavproviderrefapp_build" filter="s60" long-name="Map and Navigation Provider Reference Application">
      <unit bldFile="app/location/mapnavproviderrefapp/group"/>
     </component>
    </collection>
    <collection name="locationcentre" long-name="Location Centre" level="loc">
     <component name="lcutils" long-name="Location Centre Utilities" filter="s60" introduced="^3">
      <unit bldFile="app/location/locationcentre/lcutils/group"/>
     </component>
     <component name="lcservice" long-name="Location Centre Service Project" filter="s60" introduced="^3">
      <unit bldFile="app/location/locationcentre/lcservice/group"/>
     </component>
     <component name="lcserver" long-name="Location Centre Server Project" filter="s60" introduced="^3">
      <unit bldFile="app/location/locationcentre/lcserver/group"/>
     </component>
     <component name="lcapp" long-name="Location Centre Application" filter="s60" introduced="^3">
      <unit bldFile="app/location/locationcentre/lcapp/group"/>
     </component>
     <component name="locationcentre_build" filter="s60" long-name="Location Centre Build" introduced="^3">
      <!-- consider distributing this into the other components or collapsing into a single component -->
      <unit bldFile="app/location/locationcentre/group"/>
     </component>
    </collection>
    <collection name="location_info" long-name="Location Apps Info" level="loc">
     <component name="loc_pub" filter="s60" long-name="Location Apps Public Interfaces" class="api">
      <unit bldFile="app/location/loc_pub/group"/>
     </component>
     <component name="loc_plat" filter="s60" long-name="Location Apps Platform Interfaces" introduced="^3" class="api">
      <unit bldFile="app/location/loc_plat/group"/>
     </component>
    </collection>
   </block>
   <block name="mmsharinguis" level="services" long-name="Multimedia Sharing UIs" levels="base plugin if">
    <collection name="mmsharing" long-name="Multimedia Sharing" level="base">
     <component name="mmshavailability" filter="s60" long-name="Multimedia Sharing Availability">
      <unit bldFile="app/mmsharinguis/mmsharing/mmshavailability/group"/>
     </component>
     <component name="mmshindicator" filter="s60" long-name="Multimedia Sharing Indicator">
      <unit bldFile="app/mmsharinguis/mmsharing/mmshindicator/group"/>
     </component>
     <!-- consider putting client and server in the same component -->
     <component name="mmshmanagercli" filter="s60" long-name="Multimedia Sharing Manager Client">
      <unit bldFile="app/mmsharinguis/mmsharing/mmshmanagercli/group"/>
     </component>
     <component name="mmshmanagersrv" filter="s60" long-name="Multimedia Sharing Manager Server">
      <unit bldFile="app/mmsharinguis/mmsharing/mmshmanagersrv/group"/>
     </component>
     <component name="mmshengine" filter="s60" long-name="Multimedia Sharing Engine">
      <unit bldFile="app/mmsharinguis/mmsharing/mmshengine/group"/>
     </component>
     <component name="mmshui" filter="s60" long-name="Multimedia Sharing UI">
      <!-- can only have one unti: need to #include one from the other if it's needed -->
      <unit bldFile="app/mmsharinguis/mmsharing/mmshui/group"/>
      <unit bldFile="app/mmsharinguis/mmsharing/mmshui/help/group"/>
     </component>
     <component name="mmsharing_build" filter="s60" long-name="MM Sharing Build">
      <unit bldFile="app/mmsharinguis/mmsharing/group"/>
     </component>
    </collection>
    <collection name="mmshplugins" long-name="Multimedia Sharing Plugins" level="plugin">
     <component name="mmshaoplugin" filter="s60" long-name="Multimedia Sharing Always Online Plugin" plugin="Y">
      <unit bldFile="app/mmsharinguis/mmshplugins/mmshaoplugin/group"/>
     </component>
     <component name="mmshaiwplugin" filter="s60" long-name="Multimedia Sharing AIW Plugin" plugin="Y">
      <unit bldFile="app/mmsharinguis/mmshplugins/mmshaiwplugin/group"/>
     </component>
     <component name="mmshsipcrplugin" filter="s60" long-name="Multimedia Sharing SIP Client Resolver Plugin" plugin="Y">
      <unit bldFile="app/mmsharinguis/mmshplugins/mmshsipcrplugin/group"/>
     </component>
     <component name="mmshsettingsuiplugin" filter="s60" long-name="Multimedia Sharing Settings UI Plugin" plugin="Y">
      <unit bldFile="app/mmsharinguis/mmshplugins/mmshsettingsuiplugin/group"/>
     </component>
     <component name="mmshwpadapterplugin" filter="s60" long-name="Multimedia Sharing WAP Provisioning Adapter" plugin="Y">
      <unit bldFile="app/mmsharinguis/mmshplugins/mmshwpadapterplugin/group"/>
     </component>
    </collection>
    <collection name="mmsharinguis_info" long-name="Multimedia Sharing UIs Info" level="if">
     <component name="mmsharinguis_build" filter="s60" long-name="Multimedia Sharing UIs Build">
      <!--  consider distributing to other components -->
      <unit bldFile="app/mmsharinguis/group"/>
     </component>
     <component name="mmsharinguis_plat" filter="s60" long-name="Multimedia Sharing UIs Platform Interfaces" class="api">
      <unit bldFile="app/mmsharinguis/mmsharinguis_plat/group"/>
     </component>
    </collection>
   </block>
   <block name="phone" level="apps" span="2" long-name="Phone Apps" levels="engine plugin ui app">
    <collection name="phoneapp" long-name="Phone Application" level="app">
     <component name="blacklist" filter="s60" long-name="Phone Blacklist Clearing" plugin="Y">
      <unit bldFile="app/phone/phoneapp/blacklist/group"/>
     </component>
     <component name="phoneui" filter="s60" long-name="Phone UI">
      <unit bldFile="app/phone/phoneapp/phoneui/group"/>
     </component>
     <component name="phoneuicontrol" filter="s60" long-name="Phone UI Control">
      <unit bldFile="app/phone/phoneapp/phoneuicontrol/group"/>
     </component>
     <component name="phoneuistates" filter="s60" long-name="Phone UI States">
      <unit bldFile="app/phone/phoneapp/phoneuistates/group"/>
     </component>
     <component name="phoneuiutils" filter="s60" long-name="Phone UI Utils">
      <unit bldFile="app/phone/phoneapp/phoneuiutils/group"/>
     </component>
     <component name="phoneuiview" filter="s60" long-name="Phone UI View">
      <unit bldFile="app/phone/phoneapp/phoneuiview/group"/>
     </component>
     <component name="phoneuivoipextension" filter="s60" long-name="Phone UI VOIP Extension">
      <unit bldFile="app/phone/phoneapp/phoneuivoipextension/group"/>
     </component>
     <component name="silenceactionplugin" filter="s60" long-name="Silence Action Plugin" plugin="Y">
      <unit bldFile="app/phone/phoneapp/silenceactionplugin/group"/>
     </component>
     <component name="phonemediatorcenter" filter="s60" long-name="Phone Mediator Center">
      <unit bldFile="app/phone/phoneapp/phonemediatorcenter/group"/>
     </component>
    </collection>
    <collection name="phoneengine" long-name="Phone Engine" level="engine">
     <component name="phonecntfinder" filter="s60" long-name="Phone Contact Finder">
      <unit bldFile="app/phone/phoneengine/phonecntfinder/group"/>
     </component>
     <component name="audiohandling" filter="s60" long-name="Phone Audio Handling">
      <unit bldFile="app/phone/phoneengine/audiohandling/group"/>
     </component>
     <component name="callhandling" filter="s60" long-name="Call Handling">
      <unit bldFile="app/phone/phoneengine/callhandling/group"/>
     </component>
     <component name="contacthandling" filter="s60" long-name="Phone Contact Handling">
      <unit bldFile="app/phone/phoneengine/contacthandling/group"/>
     </component>
     <component name="loghandling" filter="s60" long-name="Phone Log Handling">
      <unit bldFile="app/phone/phoneengine/loghandling/group"/>
     </component>
     <component name="engineinfo" filter="s60" long-name="Phone Engine Info">
      <unit bldFile="app/phone/phoneengine/engineinfo/group"/>
     </component>
     <component name="phonemodel" filter="s60" long-name="Phone Model">
      <unit bldFile="app/phone/phoneengine/phonemodel/group"/>
     </component>
     <component name="servicehandling" filter="s60" long-name="Phone Service Handling">
      <unit bldFile="app/phone/phoneengine/servicehandling/group"/>
     </component>
    </collection>
    <collection name="phonesettings" long-name="Phone Settings" level="plugin">
     <component name="aiwcallimageplugin" filter="s60" long-name="Call Image AIW Plugin" plugin="Y">
      <unit bldFile="app/phone/phonesettings/aiwcallimageplugin/group"/>
     </component>
     <component name="pslncallimageplugin" filter="s60" long-name="Call Image Personalization Plugin" plugin="Y">
      <unit bldFile="app/phone/phonesettings/pslncallimageplugin/group"/>
     </component>
    </collection>
    <collection name="phoneuis" long-name="Phone UIs" level="ui">
     <component name="dialer" filter="s60" long-name="Dialer">
      <unit bldFile="app/phone/phoneuis/dialer/group"/>
     </component>
     <component name="easydialing" filter="s60" long-name="Easy Dialing Plugin" introduced="^3" plugin="Y">
      <unit bldFile="app/phone/phoneuis/easydialing/group"/>
     </component>
     <component name="bubblemanager" filter="s60" long-name="Phone Bubble Manager">
      <unit bldFile="app/phone/phoneuis/bubblemanager/group"/>
     </component>
     <component name="connectutil" filter="s60" long-name="Connection Utility" plugin="Y">
      <unit bldFile="app/phone/phoneuis/connectutil/group"/>
     </component>
     <component name="ussd" filter="s60" long-name="Unstructured Supplementary Services Data">
      <unit bldFile="app/phone/phoneuis/ussd/group"/>
     </component>
     <component name="vmbx" filter="s60" long-name="Voice Mailbox">
      <unit bldFile="app/phone/phoneuis/vmbx/group"/>
     </component>
     <component name="telephonydevicemode" filter="s60" long-name="Telephony Device Mode">
      <unit bldFile="app/phone/phoneuis/telephonydevicemode/group"/>
     </component>
    </collection>
    <collection name="phone_info" long-name="Phone Apps Info" level="app">
     <component name="phone_plat" filter="s60" long-name="Phone Apps Platform Interfaces" class="api">
      <unit bldFile="app/phone/phone_plat/group"/>
     </component>
    </collection>
    <collection name="phoneplugins" long-name="Phone Plugins" level="plugin">
     <component name="telbranding" filter="s60" long-name="Tel Branding" introduced="^2" plugin="Y">
      <unit bldFile="app/phone/phoneplugins/telbranding/group"/>
     </component>
    </collection>
   </block>
   <block name="videotelephony" level="apps" long-name="Video Telephony Apps" levels="engine plugin prot ui">
    <collection name="vtengines" long-name="Video Telephony Engines" level="engine">
     <component name="videoteleng" filter="s60" long-name="Video Telephony Engine">
      <unit bldFile="app/videotelephony/vtengines/videoteleng/Group"/>
     </component>
     <component name="vtmediatorplugin" filter="s60" long-name="VT Mediator Plugin" plugin="Y">
      <unit bldFile="app/videotelephony/vtengines/vtmediatorplugin/group"/>
     </component>
    </collection>
    <collection name="vtuis" long-name="Video Telephony UIs" level="ui">
     <component name="videotelui" filter="s60" long-name="Video Telephony UI">
      <unit bldFile="app/videotelephony/vtuis/videotelui/group"/>
     </component>
    </collection>
    <collection name="vtprotocolplugins" long-name="VT Protocol Plugins" level="plugin">
     <component name="displaysink" filter="s60" long-name="Display Sink" introduced="^2">
      <unit bldFile="app/videotelephony/vtprotocolplugins/DisplaySink/group"/>
     </component>
     <component name="videosource" filter="s60" long-name="Video Source" introduced="^2">
      <unit bldFile="app/videotelephony/vtprotocolplugins/VideoSource/group"/>
     </component>
    </collection>
    <collection name="vtprotocolsstub" long-name="VT Protocols Stub" level="prot">
     <!--  this collection is really a component, move down a directory -->
     <component name="videotelproto" filter="s60" long-name="Video Telephony Protocol">
      <unit bldFile="app/videotelephony/vtprotocolsstub/group" filter="sf_build"/>
     </component>
    </collection>
    <collection name="videotelephony_info" long-name="VT Apps Info" level="ui">
     <component name="videotelephony_plat" filter="s60" long-name="VT Apps Platform Interfaces" class="api">
      <unit bldFile="app/videotelephony/videotelephony_plat/group"/>
     </component>
    </collection>
   </block>
   <block name="iptelephony" level="apps" long-name="IP Telephony" levels="eng plugin util ui">
    <collection name="iptelcommsconfig" long-name="IP Telephony Comms Config" level="ui">
     <component name="cscgsplugin" filter="s60" long-name="CSC GS Plugin" introduced="^2" plugin="Y">
      <unit bldFile="app/iptelephony/commsconfig/cscgsplugin/group"/>
     </component>
     <component name="cscsipvoipcleanupplugin" filter="s60" long-name="CSC SIP VoIP Cleanup Plugin" introduced="^2" plugin="Y">
      <unit bldFile="app/iptelephony/commsconfig/cscsipvoipcleanupplugin/group"/>
     </component>
     <component name="cscengine" filter="s60" long-name="Connection Service Configurator Engine" introduced="^2">
      <unit bldFile="app/iptelephony/commsconfig/cscengine/group"/>
     </component>
     <component name="cscsettingsui" filter="s60" long-name="CSC Settings UI" introduced="^2">
      <unit bldFile="app/iptelephony/commsconfig/cscsettingsui/group"/>
     </component>
     <component name="cscapplicationui" filter="s60" long-name="CSC Application UI" introduced="^2">
      <unit bldFile="app/iptelephony/commsconfig/cscapplicationui/group"/>
     </component>
     <component name="commsconfig_build" filter="s60" long-name="Comms Config Build" introduced="^2">
      <!--  consider distributing this into the above components -->
      <unit bldFile="app/iptelephony/commsconfig/group"/>
     </component>
    </collection>
    <collection name="convergedconnectionhandler" long-name="Converged Connection Handler" level="eng">
     <component name="cchserver" filter="s60" long-name="CCH Server" introduced="^2">
      <unit bldFile="app/iptelephony/convergedconnectionhandler/cchserver/group"/>
     </component>
     <component name="cchclient" filter="s60" long-name="CCH Client" introduced="^2">
      <unit bldFile="app/iptelephony/convergedconnectionhandler/cchclient/group"/>
     </component>
     <component name="cchclientapi" filter="s60" long-name="CCH Client API" introduced="^2">
      <unit bldFile="app/iptelephony/convergedconnectionhandler/cchclientapi/group"/>
     </component>
     <component name="convergedconnectionhandler_build" filter="s60" long-name="CCH Build" introduced="^2">
      <!--  consider distributing this into the above components, or collapse the collection into a single component. 
      		The latter is a better option since clients and sevrers are rarely separate components -->
      <unit bldFile="app/iptelephony/convergedconnectionhandler/group"/>
     </component>
    </collection>
    <collection name="richcallsettingsengine" long-name="Rich Call Settings Engine" level="eng">
     <component name="rcse2" filter="s60" long-name="Rich Call Settings Engine Build" introduced="^2">
      <unit bldFile="app/iptelephony/richcallsettingsengine/rcse2/group"/>
     </component>
    </collection>
    <collection name="sipvoipprovider" long-name="SIP VoIP Provider" level="plugin">
     <!-- collection is really a component. Should move down a directory -->
     <component name="svp" filter="s60" long-name="SIP VoIP Provider Build" introduced="^2" plugin="Y">
      <unit bldFile="app/iptelephony/sipvoipprovider/group"/>
     </component>
    </collection>
    <collection name="voipplugins" long-name="VoIP Plugins" level="plugin">
     <component name="sipmxresolver" filter="s60" long-name="SIP MX Resolver" introduced="^2" plugin="Y">
      <unit bldFile="app/iptelephony/voipplugins/sipmxresolver/group"/>
     </component>
     <component name="sipconnectionprovider" filter="s60" long-name="SIP Connection Provider" introduced="^2" plugin="Y">
      <unit bldFile="app/iptelephony/voipplugins/sipconnectionprovider/group"/>
      <!-- can only have one unit, can the next be #'included from the above? -->
      <unit bldFile="app/iptelephony/voipplugins/sipconnectionprovider/ipvoicemailengine/group"/>
     </component>
     <component name="ipapputils" filter="s60" long-name="IP App Utils" introduced="^2">
      <unit bldFile="app/iptelephony/voipplugins/ipapputils/group"/>
     </component>
     <component name="voipadapters" filter="s60" long-name="VoIP Adapters" introduced="^2" plugin="Y">
      <unit bldFile="app/iptelephony/voipplugins/voipadapters/group"/>
     </component>
     <component name="accountcreationplugin" filter="s60" long-name="Account Creation Plugin" introduced="^2" plugin="Y">
      <unit bldFile="app/iptelephony/voipplugins/accountcreationplugin/group"/>
     </component>
     <component name="dhcppositionprovider" filter="s60" long-name="DHCP Position Provider" introduced="^2" plugin="Y">
      <unit bldFile="app/iptelephony/voipplugins/dhcppositionprovider/group"/>
     </component>
     <component name="svtmatching" filter="s60" long-name="SIP VoIP Telephony Matching" introduced="^2" plugin="Y">
      <unit bldFile="app/iptelephony/voipplugins/svtmatching/group"/>
     </component>
     <component name="svtlogging" filter="s60" long-name="SVT Logging" introduced="^2" plugin="Y">
      <unit bldFile="app/iptelephony/voipplugins/svtlogging/group"/>
     </component>
     <component name="svtcallmenu" filter="s60" long-name="SVT Call Menu" introduced="^2" plugin="Y">
      <unit bldFile="app/iptelephony/voipplugins/svtcallmenu/group"/>
     </component>
     <component name="sipimresolver" filter="s60" long-name="SIP IM Resolver" introduced="^3" plugin="Y">
      <unit bldFile="app/iptelephony/voipplugins/sipimresolver/group"/>
     </component>
    </collection>
    <collection name="callcontinuity" long-name="Call Continuity" level="util">
     <component name="vccutils" filter="s60" long-name="VCC Utils" introduced="^2">
      <unit bldFile="app/iptelephony/callcontinuity/vccutils/group"/>
     </component>
     <component name="nsmldmvccadapter" filter="s60" long-name="SyncML DM VCC Adapter" introduced="^2" plugin="Y">
      <unit bldFile="app/iptelephony/callcontinuity/nsmldmvccadapter/group"/>
     </component>
     <component name="vccclientprovisioningadapter" filter="s60" long-name="VCC Client Provisioning Adapter" introduced="^2" plugin="Y">
      <unit bldFile="app/iptelephony/callcontinuity/vccclientprovisioningadapter/group"/>
     </component>
     <component name="vccpropertyhandler" filter="s60" long-name="VCC Property Handler" introduced="^2">
      <unit bldFile="app/iptelephony/callcontinuity/vccpropertyhandler/group"/>
     </component>
     <component name="vcchotrigger" filter="s60" long-name="VCC HO Trigger" introduced="^2">
      <unit bldFile="app/iptelephony/callcontinuity/vcchotrigger/group"/>
     </component>
     <component name="vcc" filter="s60" long-name="VoIP Call Continuity" introduced="^2" plugin="Y">
      <unit bldFile="app/iptelephony/callcontinuity/vcc/group"/>
     </component>
     <component name="callcontinuity_build" filter="s60" long-name="Call Continuity Build" introduced="^2">
      <!--  consider distributing this into the above components -->
      <unit bldFile="app/iptelephony/callcontinuity/group"/>
     </component>
    </collection>
    <collection name="iptelephony_info" long-name="IP Telephony Info" level="ui">
     <component name="iptel_plat" filter="s60" long-name="IP Telephony Platform Interfaces" introduced="^2" class="api">
      <unit bldFile="app/iptelephony/iptel_plat/group"/>
     </component>
    </collection>
   </block>
   <block name="settingsuis" level="services" long-name="Settings UIs" levels="rsc ui">
    <collection name="defaultapplicationsettings" long-name="Default Application Settings" level="rsc">
     <component name="services_db" filter="s60" long-name="Services Database" introduced="^1">
      <unit bldFile="app/settingsuis/defaultapplicationsettings/services_db/group"/>
     </component>
     <component name="defaultapplicationsettings_server" filter="s60" long-name="Default Application Server" introduced="^1">
      <unit bldFile="app/settingsuis/defaultapplicationsettings/server/group"/>
     </component>
     <component name="service" filter="s60" long-name="Default Application Service" introduced="^1">
      <unit bldFile="app/settingsuis/defaultapplicationsettings/service/group"/>
     </component>
     <component name="dasgsplugin" filter="s60" long-name="Default Application Settings GS Plugin" introduced="^1" plugin="Y">
      <unit bldFile="app/settingsuis/defaultapplicationsettings/gsplugin/group"/>
     </component>
     <component name="defaultapplicationsettings_build" filter="s60" long-name="Default Application Settings Build" introduced="^1">
      <!-- split the IBYs up into the appropriate components? Make this a ROM component? -->
      <unit bldFile="app/settingsuis/defaultapplicationsettings/group"/>
     </component>
    </collection>
    <collection name="systemswuis" long-name="System SW UIs" level="ui">
     <component name="touchscreencalib" filter="s60" long-name="Touchscreen Calibration" introduced="^1">
      <unit bldFile="app/settingsuis/systemswuis/touchscreencalib/group"/>
     </component>
    </collection>
    <collection name="settingsuis_info" long-name="Settings UIs Info" level="ui">
     <component name="devmngt_plat" filter="s60" long-name="Settings UIs Platform Interfaces" introduced="^1" class="api">
      <unit bldFile="app/settingsuis/devmngt_plat/group"/>
     </component>
     <component name="devmngt_pub" filter="s60" long-name="Settings UIs Public Interfaces" introduced="^1" class="api">
      <unit bldFile="app/settingsuis/devmngt_pub/group"/>
     </component>
    </collection>
   </block>
   <block name="contentcontrol" level="services" long-name="Content Control Daemons" levels="plugin app">
    <collection name="dsdcmoadapter" long-name="Data Sync DCMO Adapter" level="plugin">
     <!-- Component at wrong rank, should move down a directory -->
     <component name="dsdcmoadapter_build" filter="s60" long-name="Data Sync Control DCMO Adapter">
      <unit bldFile="app/contentcontrol/dsdcmoadapter/group"/>
     </component>
    </collection>
    <collection name="omads" long-name="OMA Data Sync" level="app">
     <component name="omadsappui" filter="s60" long-name="OMA DS Application UI">
      <unit bldFile="app/contentcontrol/omads/omadsappui/group"/>
     </component>
     <component name="omadsextensions" filter="s60" long-name="OMA DS Extensions" plugin="Y">
      <unit bldFile="app/contentcontrol/omads/omadsextensions/group"/>
     </component>
    </collection>
    <collection name="contentcontrol_info" long-name="Content Control Daemons Info" level="app">
     <component name="contentctrl_plat" filter="s60" long-name="Content Control Daemons Platforn Interfaces" class="api">
      <unit bldFile="app/contentcontrol/contentctrl_plat/group"/>
     </component>
    </collection>
   </block>
   <block name="devicecontrol" level="services" long-name="Device Control Daemons" levels="oma mid app">
    <collection name="devicediagnostics" long-name="Device Diagnostics" level="app">
     <component name="devdiagapp" filter="s60" long-name="Device Diagnostics App">
      <unit bldFile="app/devicecontrol/devicediagnostics/devdiagapp/group"/>
     </component>
     <component name="devdiaggsplugin" filter="s60" long-name="Device Diagnostics GS Plugin" plugin="Y">
      <unit bldFile="app/devicecontrol/devicediagnostics/devdiaggsplugin/group"/>
     </component>
     <component name="diagplugins" filter="s60" long-name="Diagnostics Plugins" plugin="Y">
      <unit bldFile="app/devicecontrol/devicediagnostics/diagplugins/group"/>
     </component>
     <component name="diagsuites" filter="s60" long-name="Diagnostics Suites" plugin="Y">
      <unit bldFile="app/devicecontrol/devicediagnostics/diagsuites/group"/>
     </component>
     <component name="devicediagnostics_build" filter="s60" long-name="Device Diagnostics Build">
      <!-- can the exports be moved to one of the other components?
			or all  #includes removed from here, and it renamed Device Diagnostics ROM -->
      <unit bldFile="app/devicecontrol/devicediagnostics/group"/>
     </component>
    </collection>
    <collection name="omadm" long-name="OMA Device Management" level="oma">
     <component name="omadmappui" filter="s60" long-name="OMA DM Application UI">
      <unit bldFile="app/devicecontrol/omadm/omadmappui/group"/>
     </component>
     <component name="omadmextensions" filter="s60" long-name="OMA DM Extensions" plugin="Y">
      <unit bldFile="app/devicecontrol/omadm/omadmextensions/group"/>
     </component>
     <component name="dcmo" filter="s60" long-name="Device Capabilities Management Object" introduced="^3" plugin="Y">
      <unit bldFile="app/devicecontrol/omadm/dcmo/group"/>
     </component>
    </collection>
    <collection name="pnpmobileservices" long-name="PnP Mobile Services" level="mid">
     <component name="pnpms" filter="s60" long-name="PnP MS">
      <unit bldFile="app/devicecontrol/pnpmobileservices/pnpms/group"/>
     </component>
    </collection>
    <collection name="applicationmanagement" long-name="Application Management" level="app">
     <!-- could this collection be collapsed into a single component and moved down a dir? Do all these need to be noted separately? -->
     <component name="applicationmanagement_options" filter="s60" long-name="AM Install Options">
      <unit bldFile="app/devicecontrol/applicationmanagement/options/group"/>
     </component>
     <component name="applicationmanagement_client" filter="s60" long-name="AM Client">
      <unit bldFile="app/devicecontrol/applicationmanagement/client/group"/>
     </component>
     <component name="applicationmanagement_server" filter="s60" long-name="AM Server">
      <unit bldFile="app/devicecontrol/applicationmanagement/server/group"/>
     </component>
     <component name="rfsplugin" filter="s60" long-name="AM RFS Plugin" plugin="Y">
      <unit bldFile="app/devicecontrol/applicationmanagement/rfsplugin/group"/>
     </component>
     <component name="amadapter2" filter="s60" long-name="AM Adapter" plugin="Y">
      <unit bldFile="app/devicecontrol/applicationmanagement/amadapter2/group"/>
     </component>
     <component name="omascomoadapter" filter="s60" long-name="OMA SCOMO Adapter" introduced="^3" plugin="Y">
      <unit bldFile="app/devicecontrol/applicationmanagement/amadapter2/group"/>
     </component>
     <component name="applicationmanagement_build" filter="s60" long-name="AM Build">
      <!-- If thes aren't collapsed into one cmp, can all  #includes removed from here, and it renamed AM ROM? -->
      <unit bldFile="app/devicecontrol/applicationmanagement/group"/>
     </component>
    </collection>
    <collection name="customization" long-name="DM Customization Adapters" level="mid">
     <component name="dmutils" long-name="DM Utils" filter="s60">
      <unit bldFile="app/devicecontrol/customization/dmutils/bld"/>
     </component>
     <component name="uisettingssrv" filter="s60" long-name="UI Settings Server">
      <unit bldFile="app/devicecontrol/customization/uisettingssrv/bld"/>
     </component>
     <component name="isadapter" filter="s60" long-name="Idle State Adapter" plugin="Y">
      <unit bldFile="app/devicecontrol/customization/isadapter/bld"/>
     </component>
     <component name="supadapter" filter="s60" long-name="Startup Adapter" plugin="Y">
      <unit bldFile="app/devicecontrol/customization/supadapter/bld"/>
     </component>
     <component name="wallpaperadapter" filter="s60" long-name="Wallpaper Adapter" plugin="Y">
      <unit bldFile="app/devicecontrol/customization/wallpaperadapter/bld"/>
     </component>
     <component name="operatorlogoadapter" filter="s60" long-name="Operator Logo Adapter" plugin="Y">
      <unit bldFile="app/devicecontrol/customization/operatorlogoadapter/bld"/>
     </component>
     <component name="screensaveradapter" filter="s60" long-name="Screen Saver Adapter" plugin="Y">
      <unit bldFile="app/devicecontrol/customization/screensaveradapter/bld"/>
     </component>
     <component name="themesadapter" filter="s60" long-name="Themes Adapter" plugin="Y">
      <unit bldFile="app/devicecontrol/customization/themesadapter/bld"/>
     </component>
     <component name="embeddedlinkadapter" filter="s60" long-name="Embedded Link Adapter" plugin="Y">
      <unit bldFile="app/devicecontrol/customization/embeddedlinkadapter/bld"/>
     </component>
     <component name="customization_build" filter="s60" long-name="DM Customization Build">
      <!-- If thes aren't collapsed into one cmp, can all  #includes removed from here, and it renamed DM Customization ROM? -->
      <unit bldFile="app/devicecontrol/customization/group"/>
     </component>
    </collection>
    <collection name="omacp" long-name="OMA Content Provisioning" level="oma">
     <component name="omacpadapters" filter="s60" long-name="OMA CP Adapters" plugin="Y">
      <unit bldFile="app/devicecontrol/omacp/omacpadapters/group"/>
     </component>
    </collection>
   </block>
   <block name="printing" level="services" long-name="Printing" levels="app">
    <collection name="imageprint" long-name="ImagePrint" level="app">
     <component name="clog" filter="s60" long-name="ImagePrint Logging" introduced="^2">
      <unit bldFile="app/printing/imageprint/clog/group"/>
     </component>
     <component name="imageprintengine" filter="s60" long-name="ImagePrint Engine" introduced="^2">
      <unit bldFile="app/printing/imageprint/imageprintengine/group"/>
     </component>
     <component name="imageprintui" filter="s60" long-name="ImagePrint UI" introduced="^2">
      <unit bldFile="app/printing/imageprint/imageprintui/group"/>
     </component>
     <component name="imageprint_build" filter="s60" long-name="ImagePrint Build" introduced="^2">
      <!--  Need to break the IBY includes into the other components, or remove #includes and make this a ROM component -->
      <unit bldFile="app/printing/imageprint/group"/>
     </component>
    </collection>
   </block>
   <block name="files" level="apps" long-name="File Manager Apps" levels="support apps">
    <collection name="deviceencryption" long-name="Device Encryption" level="support">
     <!-- this is either needs to be broken up into idependent bld.infs, or it's really a component and should move down a directory -->
     <component name="devencnotifplugin" filter="s60" long-name="Device Encryption Notifier Plugin" introduced="^3" plugin="Y">
      <unit bldFile="app/files/deviceencryption/devencnotifplugin/group"/>
     </component>
     <component name="devencui" filter="s60" long-name="Device Encryption UI" introduced="^3">
      <unit bldFile="app/files/deviceencryption/devencui/group"/>
     </component>
     <component name="devencdmadapter" filter="s60" long-name="Device Encryption DM Adapter" introduced="^3" plugin="Y">
      <unit bldFile="app/files/deviceencryption/devencdmadapter/group"/>
     </component>
     <component name="devencgsplugin" filter="s60" long-name="Device Encryption GS Plugin" introduced="^3" plugin="Y">
      <unit bldFile="app/files/deviceencryption/devencgsplugin/group"/>
     </component>
     <component name="deviceencryption_help" filter="s60" long-name="Device Encryption Help" introduced="^3">
      <unit bldFile="app/files/deviceencryption/help/group"/>
     </component>
     <component name="deviceencryption_build" filter="s60" long-name="Device Encryption Build" introduced="^3">
      <unit bldFile="app/files/deviceencryption/group"/>
     </component>
    </collection>
    <collection name="filemanager" long-name="File Manager" level="apps">
     <!-- this is really a component, should move down a directory -->
     <component name="filemanager_build" filter="s60" long-name="File Manager Build">
      <unit bldFile="app/files/filemanager/group"/>
     </component>
    </collection>
    <collection name="filesystemuis" long-name="File System UIs" level="support">
     <component name="memscaneng" filter="s60" long-name="Memory Scan Server">
      <unit bldFile="app/files/filesystemuis/memscaneng/group"/>
     </component>
     <component name="memstatepopup" filter="s60" long-name="Memory State Popup">
      <unit bldFile="app/files/filesystemuis/memstatepopup/group"/>
     </component>
    </collection>
    <collection name="files_info" long-name="File Manager Apps Info" level="apps">
     <component name="files_plat" filter="s60" long-name="File Manager Apps Platform Interfaces" class="api">
      <unit bldFile="app/files/files_plat/group"/>
     </component>
    </collection>
   </block>
   <block name="utils" level="apps" long-name="Utility Apps" levels="app">
    <collection name="extras" long-name="Extras" level="app">
     <component name="about" filter="s60" long-name="About Application">
      <unit bldFile="app/utils/extras/about/group"/>
     </component>
     <component name="calcsoft" filter="s60" long-name="Calculator Application">
      <unit bldFile="app/utils/extras/calcsoft/group"/>
     </component>
     <component name="converter" filter="s60" long-name="Unit Converter">
      <unit bldFile="app/utils/extras/converter/group"/>
     </component>
    </collection>
   </block>
   <block name="contacts" level="apps" span="2" long-name="Contacts Apps" levels="engine support services ui">
    <collection name="contactextensions" long-name="Contacts Extensions" level="services">
     <component name="predefinedcontacts" filter="s60" long-name="Predefined Contacts">
      <unit bldFile="app/contacts/contactextensions/predefinedcontacts/group"/>
     </component>
    </collection>
    <collection name="logsui" long-name="Logs UI" level="ui">
     <component name="logsui_build" filter="s60" long-name="Logs UI Build">
      <!-- component at too high a rank, should move down one directory -->
      <unit bldFile="app/contacts/logsui/group"/>
     </component>
    </collection>
    <collection name="phonebookui" long-name="Phonebook UI" level="ui">
     <component name="phonebook" filter="s60" long-name="Phonebook">
      <unit bldFile="app/contacts/phonebookui/phonebook/group"/>
     </component>
     <component name="speeddial" filter="s60" long-name="Speed Dial">
      <unit bldFile="app/contacts/phonebookui/speeddial/group"/>
     </component>
     <component name="phonebook2" filter="s60" long-name="Phone Book 2">
      <unit bldFile="app/contacts/phonebookui/phonebook2/group"/>
     </component>
    </collection>
    <collection name="phonebookengines" long-name="Phonebook Engines" level="engine">
     <component name="cntfindplugin" filter="s60" long-name="Contacts Find Plugin" introduced="^2" plugin="Y">
      <unit bldFile="app/contacts/phonebookengines/cntfindplugin/group"/>
     </component>
     <component name="cntsortplugin" filter="s60" long-name="Contacts Sort Plugin" introduced="^2" plugin="Y">
      <unit bldFile="app/contacts/phonebookengines/cntsortplugin/group"/>
     </component>
     <component name="virtualphonebook" filter="s60" long-name="Virtual Phonebook" introduced="^2">
      <unit bldFile="app/contacts/phonebookengines/virtualphonebook/group"/>
     </component>
     <component name="contactsmodel" long-name="Contacts Model" introduced="ER5" purpose="optional">
      <unit bldFile="app/contacts/phonebookengines/contactsmodel/groupsql" mrp="app/contacts/phonebookengines/contactsmodel/groupsql/app-engines_cntmodel.mrp" version="2"/>
     </component>
    </collection>
    <collection name="pimprotocols" long-name="PIM Protocols" level="services">
     <component name="phonebooksync" long-name="Phonebook Sync" purpose="optional" plugin="Y">
      <unit bldFile="app/contacts/pimprotocols/phonebooksync/group" mrp="app/contacts/pimprotocols/phonebooksync/group/telephony_phbksync.mrp"/>
     </component>
     <component name="pbap" long-name="Bluetooth PBAP" introduced="9.2" purpose="optional">
      <unit bldFile="app/contacts/pimprotocols/pbap/group" mrp="app/contacts/pimprotocols/pbap/group/bluetooth_accesshost.mrp"/>
     </component>
    </collection>
    <collection name="ccservices" long-name="Contacts Centric Services" level="services">
     <component name="cmsservices" filter="s60" long-name="Contact Method Selector Services" introduced="^2">
      <unit bldFile="app/contacts/ccservices/cmsservices/group"/>
     </component>
    </collection>
    <collection name="presencecache" long-name="Presence Cache" level="support">
     <component name="presencecacheutils" filter="s60" long-name="Presence Cache Utils" introduced="^2" class="placeholder">
      <!-- <unit bldFile="presencecache/presencecacheutils/group"/> -->
     </component>
     <component name="presencecacheserver2" filter="s60" long-name="Presence Cache Server" introduced="^2" class="placeholder">
      <!-- <unit bldFile="presencecache/presencecacheserver2/group"/> -->
     </component>
     <component name="presencecacheclient2" filter="s60" long-name="Presence Cache Client" introduced="^2" class="placeholder">
      <!-- <unit bldFile="presencecache/presencecacheclient2/group"/> -->
     </component>
     <component name="presencecache_build" filter="s60" long-name="Presence Cache Build" introduced="^2">
      <!-- should divide this bld.inf into the other components, or collapse them into a single component -->
      <unit bldFile="app/contacts/presencecache/group"/>
     </component>
    </collection>
    <collection name="predictivesearch" long-name="Predictive Search" level="support">
     <component name="pcsutils" filter="s60" long-name="PCS Utils" introduced="^2">
      <unit bldFile="app/contacts/predictivesearch/pcsutils/group"/>
     </component>
     <component name="pcsserverclientapi" filter="s60" long-name="PCS Server Client API" introduced="^2">
      <unit bldFile="app/contacts/predictivesearch/pcsserverclientapi/group"/>
     </component>
     <component name="pcsserver" filter="s60" long-name="PCS Server" introduced="^2">
      <unit bldFile="app/contacts/predictivesearch/pcsserver/group"/>
     </component>
     <component name="pcsadapters" filter="s60" long-name="PCS Adapters" introduced="^2" plugin="Y">
      <unit bldFile="app/contacts/predictivesearch/adapters/contacts/group"/>
     </component>
     <component name="pcsalgorithm" filter="s60" long-name="PCS Algorithm" introduced="^2" plugin="Y">
      <unit bldFile="app/contacts/predictivesearch/pcsalgorithm/group"/>
     </component>
     <component name="predictivesearch_build" filter="s60" long-name="Predictive Search Build" introduced="^2">
      <!-- need to remove #includes from bld.inf and rename as Predictive Search ROM -->
      <unit bldFile="app/contacts/predictivesearch/group"/>
     </component>
    </collection>
    <collection name="contacts_info" long-name="Contacts Apps Info" level="ui">
     <component name="contacts_plat" filter="s60" long-name="Contacts Apps Platform Interfaces" class="api">
      <unit bldFile="app/contacts/contacts_plat/group"/>
     </component>
     <component name="contacts_pub" filter="s60" long-name="Contacts Apps Public Interfaces" class="api">
      <unit bldFile="app/contacts/contacts_pub/group"/>
     </component>
     <component name="contacts_metadata" long-name="Contacts Apps Metadata" introduced="^2" purpose="development" class="config PC">
      <unit mrp="app/contacts/contacts_info/contacts_metadata/contacts_metadata.mrp"/>
     </component>
    </collection>
   </block>
   <block name="organizer" level="apps" span="2" long-name="Organizer Application Suite" levels="support services engine ui app">
    <collection name="alarmengines" long-name="Alarm Engines" level="engine">
     <component name="missedalarmstore" filter="s60" long-name="Missed Alarm Store">
      <unit bldFile="app/organizer/alarmengines/missedalarmstore/group"/>
     </component>
    </collection>
    <collection name="calendarengines" long-name="Calendar Engines" level="engine">
     <component name="versit2" filter="s60" long-name="Versit 2 iCal Parser" introduced="9.2">
      <unit bldFile="app/organizer/calendarengines/versit2/group"/>
     </component>
     <component name="agnversit2" filter="s60" long-name="Versit 2 Agenda Interface" introduced="9.2" plugin="Y">
      <unit bldFile="app/organizer/calendarengines/agnversit2/group"/>
     </component>
     <component name="caleninterimutils" filter="s60" long-name="Calendar Interim Utils" introduced="9.1">
      <unit bldFile="app/organizer/calendarengines/caleninterimutils/group"/>
     </component>
     <component name="calenimp" filter="s60" long-name="Calendar Import Wrapper" introduced="7.0s">
      <unit bldFile="app/organizer/calendarengines/calenimp/group"/>
     </component>
     <component name="calenlauncher" filter="s60" long-name="Calendar Launcher">
      <unit bldFile="app/organizer/calendarengines/calenlauncher/group"/>
     </component>
     <component name="caldavsrv" filter="sf_build" long-name="CalDAV Server" introduced="^3">
      <unit bldFile="app/organizer/calendarengines/caldav/group"/>
     </component>
    </collection>
    <collection name="meetingrequestengines" long-name="Meeting Request Engines" level="engine">
     <component name="mrmailbox" filter="s60" long-name="Meeting Request Mailbox">
      <unit bldFile="app/organizer/meetingrequestengines/mrmailbox/group"/>
     </component>
     <component name="mrmailboxutils" filter="s60" long-name="Meeting Request Mailbox Utils" plugin="Y">
      <unit bldFile="app/organizer/meetingrequestengines/mrmailboxutils/group"/>
     </component>
    </collection>
    <collection name="searchfw" long-name="Search Framework" level="services">
     <!-- Uncomment all units when configuration is in place. All currently #included from searchfw_build, which should be removed at the same time. -->
     <component name="coresearchfw" filter="s60" long-name="Core Search Framework" introduced="^1" class="placeholder">
      <!--<unit bldFile="searchfw/coresearchfw/group"/>-->
     </component>
     <component name="searchfw_plugins" filter="s60" long-name="Search Plugins" introduced="^1" plugin="Y" class="placeholder">
      <!--<unit bldFile="searchfw/plugins/group"/>-->
     </component>
     <component name="searchfw_build" filter="s60" long-name="Search Framework Build" introduced="^1">
      <unit bldFile="app/organizer/searchfw/group"/>
     </component>
    </collection>
    <collection name="alarmui" long-name="Alarm UI" level="app">
     <!-- collection is really a component, should move down a directory -->
     <component name="alarmui_build" filter="s60" long-name="Alarm UI Build">
      <unit bldFile="app/organizer/alarmui/group"/>
     </component>
    </collection>
    <collection name="calendarui" long-name="Calendar UI" level="ui">
     <component name="calendarui_help" filter="s60" long-name="Calendar UI Help">
      <unit bldFile="app/organizer/calendarui/help/group"/>
     </component>
     <component name="commonutils" filter="s60" long-name="Calendar Common Utils">
      <unit bldFile="app/organizer/calendarui/commonutils/group"/>
     </component>
     <component name="globaldata" filter="s60" long-name="Calendar Global Data">
      <unit bldFile="app/organizer/calendarui/globaldata/group"/>
     </component>
     <component name="settings" filter="s60" long-name="Calendar Settings">
      <!-- these should be merged into a single bld.inf or split into two components -->
      <unit bldFile="app/organizer/calendarui/settings/gsplugin/group"/>
      <unit bldFile="app/organizer/calendarui/settings/settingsui/group"/>
     </component>
     <component name="customisation" filter="s60" long-name="Calendar Customisation">
      <unit bldFile="app/organizer/calendarui/customisation/group"/>
     </component>
     <component name="customisationmanager" filter="s60" long-name="Calendar Customisation Manager">
      <unit bldFile="app/organizer/calendarui/customisationmanager/group"/>
     </component>
     <component name="multicaluidialog" filter="s60" long-name="Multi-Calendar UI Dialog" introduced="^3">
      <unit bldFile="app/organizer/calendarui/multicaluidialog/group"/>
     </component>
     <component name="views" filter="s60" long-name="Calendar Views">
      <unit bldFile="app/organizer/calendarui/views/group"/>
     </component>
     <component name="calendarui_controller" filter="s60" long-name="Calendar Controller">
      <unit bldFile="app/organizer/calendarui/controller/group"/>
     </component>
     <component name="calendarui_editors" filter="s60" long-name="Calendar Editors">
      <unit bldFile="app/organizer/calendarui/editors/group"/>
     </component>
     <component name="calendarui_application" filter="s60" long-name="Calendar Application">
      <unit bldFile="app/organizer/calendarui/application/group"/>
     </component>
     <component name="missedalarmindicatorplugin" filter="s60" long-name="Missed Alarm Indicator Plugin" plugin="Y">
      <unit bldFile="app/organizer/calendarui/missedalarmindicatorplugin/group"/>
     </component>
     <component name="calendarui_server" filter="s60" long-name="Calendar Server">
      <!-- these should be merged into a single bld.inf or split into two components -->
      <unit bldFile="app/organizer/calendarui/server/calensvr/group"/>
      <unit bldFile="app/organizer/calendarui/server/calensvrclient/group"/>
     </component>
     <component name="regionalplugins" filter="s60" long-name="Calendar Regional Plugins" plugin="Y">
      <!-- these should be merged into a single bld.inf or split into four components -->
      <unit bldFile="app/organizer/calendarui/regionalplugins/calenregionalutil/group"/>
      <unit bldFile="app/organizer/calendarui/regionalplugins/lunarchinese/group"/>
      <unit bldFile="app/organizer/calendarui/regionalplugins/lunarvietnamese/group"/>
      <unit bldFile="app/organizer/calendarui/regionalplugins/thai/group"/>
     </component>
     <component name="calenaiwprovider" filter="s60" long-name="Calendar AIW Proivder" introduced="^3" plugin="Y">
      <unit bldFile="app/organizer/calendarui/calenaiwprovider/group"/>
     </component>
     <component name="caldav" filter="sf_build" long-name="CalDAV" introduced="^3" plugin="Y">
      <unit bldFile="app/organizer/calendarui/caldav/group"/>
     </component>
     <component name="calendarui_build" filter="s60" long-name="Calendar UI Build">
      <!-- split contents into separate components -->
      <unit bldFile="app/organizer/calendarui/group"/>
     </component>
    </collection>
    <collection name="meetingui" long-name="Meeting UI" level="ui">
     <component name="attendeeview" filter="s60" long-name="Attendee View">
      <unit bldFile="app/organizer/meetingui/attendeeview/group"/>
     </component>
     <component name="agnentryui" filter="s60" long-name="Agenda Entry UI" plugin="Y">
      <unit bldFile="app/organizer/meetingui/agnentryui/group"/>
     </component>
     <component name="meetingrequestutils" filter="s60" long-name="Meeting Request Utils">
      <unit bldFile="app/organizer/meetingui/meetingrequestutils/group"/>
     </component>
     <component name="meetingrequestviewers" filter="s60" long-name="Meeting Request Viewers" plugin="Y">
      <unit bldFile="app/organizer/meetingui/meetingrequestviewers/group"/>
     </component>
     <component name="meetingui_build" filter="s60" long-name="Meeting UI Build">
      <!-- split contents into separate components -->
      <unit bldFile="app/organizer/meetingui/group"/>
     </component>
    </collection>
    <collection name="clock2" long-name="Clock" level="app">
     <component name="clockengines" filter="s60" long-name="Clock Engines">
      <unit bldFile="app/organizer/clock2/clockengines/group"/>
     </component>
     <component name="clockui" filter="s60" long-name="Clock UI">
      <unit bldFile="app/organizer/clock2/clockui/group"/>
     </component>
     <component name="clock2_help" filter="s60" long-name="Clock Help">
      <unit bldFile="app/organizer/clock2/help/group"/>
     </component>
     <component name="clock2_build" filter="s60" long-name="Clock Build">
      <!-- split contents into separate components, or just make this one component -->
      <unit bldFile="app/organizer/clock2/group"/>
     </component>
    </collection>
    <collection name="notepad" long-name="Notepad" level="ui">
     <component name="notepad_help" filter="s60" long-name="Notepad Help">
      <unit bldFile="app/organizer/notepad/help/group"/>
     </component>
     <component name="notepad1" filter="s60" long-name="Notepad Application 1">
      <unit bldFile="app/organizer/notepad/notepad1/group"/>
     </component>
     <component name="txtrecog" filter="s60" long-name="Text Recognizer" plugin="Y">
      <unit bldFile="app/organizer/notepad/txtrecog/group"/>
     </component>
    </collection>
    <collection name="searchui" long-name="Search UI" level="app">
     <!-- consider making this a single component -->
     <!-- Uncomment all units when configuration is in place. All currently #included from searchui_build, which should be removed at the same time. -->
     <component name="searchui_help" filter="s60" long-name="Search UI Help" class="placeholder">
      <!--<unit bldFile="searchui/help/group"/>-->
     </component>
     <component name="searchapp" filter="s60" long-name="Search Application" class="placeholder">
      <!--<unit bldFile="searchui/searchapp/group"/>-->
     </component>
     <component name="searchui_build" filter="s60" long-name="Search UI Build">
      <unit bldFile="app/organizer/searchui/group"/>
     </component>
    </collection>
    <collection name="pimappservices" long-name="PIM Application Services" level="services">
     <component name="calendar" long-name="Calendar" introduced="9.2" purpose="optional">
      <unit bldFile="app/organizer/pimappservices/calendar/group" mrp="app/organizer/pimappservices/calendar/group/app-engines_calendar.mrp" version="2"/>
     </component>
     <component name="calendarvcalplugin" long-name="Calendar vCal Plugin" introduced="8.1" purpose="optional" plugin="Y">
      <unit bldFile="app/organizer/pimappservices/calendarvcalplugin/group" mrp="app/organizer/pimappservices/calendarvcalplugin/group/app-engines_agnversit2.mrp" version="2"/>
     </component>
     <component name="appenginesdocs" long-name="Application Engines Documentation" purpose="development" class="doc">
      <unit mrp="app/organizer/pimappservices/appenginesdocs/app-engines_documentation.mrp"/>
     </component>
    </collection>
    <collection name="pimappsupport" long-name="PIM Application Support" level="support">
     <component name="vcardandvcal" long-name="vCard and vCal" introduced="ER5" purpose="optional">
      <unit bldFile="app/organizer/pimappsupport/vcardandvcal/group" mrp="app/organizer/pimappsupport/vcardandvcal/group/app-services_versit.mrp"/>
     </component>
     <component name="chinesecalendarconverter" long-name="Chinese Calendar Converter" introduced="6.1" purpose="optional">
      <unit bldFile="app/organizer/pimappsupport/chinesecalendarconverter/group" mrp="app/organizer/pimappsupport/chinesecalendarconverter/group/app-services_calcon.mrp"/>
     </component>
    </collection>
    <collection name="organizer_info" long-name="Organizer Application Suite Info" level="app">
     <component name="organizer_pub" filter="s60" long-name="Organizer Application Suite Public Interfaces" class="api">
      <unit bldFile="app/organizer/organizer_pub/group"/>
     </component>
     <component name="organizer_plat" filter="s60" long-name="Organizer Application Suite Platform Interfaces" class="api">
      <unit bldFile="app/organizer/organizer_plat/group"/>
     </component>
     <component name="organizer_metadata" long-name="Organizer Application Suite Metadata" introduced="^2" purpose="development" class="config PC">
      <unit mrp="app/organizer/organizer_info/organizer_metadata/organizer_metadata.mrp"/>
     </component>
    </collection>
   </block>
   <block name="messaging" level="apps" span="2" long-name="Messaging Apps" levels="mail eng base ui">
    <collection name="mobilemessaging" long-name="Mobile Messaging" level="ui">
     <component name="audiomsg" filter="s60" long-name="Audio Message">
      <unit bldFile="app/messaging/mobilemessaging/audiomsg/group"/>
     </component>
     <component name="msgmedia" filter="s60" long-name="Message Media">
      <unit bldFile="app/messaging/mobilemessaging/msgmedia/group"/>
     </component>
     <component name="unieditor" filter="s60" long-name="Unified Editor">
      <unit bldFile="app/messaging/mobilemessaging/unieditor/group"/>
     </component>
     <component name="mmsui" filter="s60" long-name="MMS UI">
      <unit bldFile="app/messaging/mobilemessaging/mmsui/group"/>
     </component>
     <component name="postcard" filter="s60" long-name="Postcard">
      <unit bldFile="app/messaging/mobilemessaging/postcard/group"/>
     </component>
     <component name="smilui" filter="s60" long-name="SMIL UI">
      <unit bldFile="app/messaging/mobilemessaging/smilui/group"/>
     </component>
     <component name="smum" filter="s60" long-name="SMS UI MTM and UI Data MTM" plugin="Y">
      <unit bldFile="app/messaging/mobilemessaging/smum/group"/>
     </component>
     <component name="smsui" filter="s60" long-name="SMS UI">
      <unit bldFile="app/messaging/mobilemessaging/smsui/group"/>
     </component>
     <component name="smsmtm" long-name="SMS MTM" purpose="optional" plugin="Y">
      <unit bldFile="app/messaging/mobilemessaging/smsmtm/group" mrp="app/messaging/mobilemessaging/smsmtm/group/messaging_sms.mrp"/>
     </component>
    </collection>
    <collection name="mmsengine" long-name="MMS Engine" level="eng">
     <component name="mmsconninit" filter="s60" long-name="MMS Connection Initiator" class="placeholder">
      <!-- <unit bldFile="mmsengine/mmsconninit/bld"/> -->
     </component>
     <component name="genutils" filter="s60" long-name="General Utils" class="placeholder">
      <!-- <unit bldFile="mmsengine/genutils/bld"/> -->
     </component>
     <component name="mmsserversettings" filter="s60" long-name="MMS Server Settings" class="placeholder">
      <!-- <unit bldFile="mmsengine/mmsserversettings/bld"/> -->
     </component>
     <component name="mmsmessage" filter="s60" long-name="MMS Message" class="placeholder">
      <!-- <unit bldFile="mmsengine/mmsmessage/bld"/> -->
     </component>
     <component name="mmshttptransport" filter="s60" long-name="MMS HTTP Transport" class="placeholder">
      <!-- <unit bldFile="mmsengine/mmshttptransport/bld"/> -->
     </component>
     <component name="mmscodec" filter="s60" long-name="MMS Codec" class="placeholder">
      <!-- <unit bldFile="mmsengine/mmscodec/bld"/> -->
     </component>
     <component name="mmsserver" filter="s60" long-name="MMS Server" class="placeholder">
      <!-- <unit bldFile="mmsengine/mmsserver/bld"/> -->
     </component>
     <component name="clientmtm" filter="s60" long-name="MMS Client MTM" plugin="Y" class="placeholder">
      <!-- <unit bldFile="mmsengine/clientmtm/bld"/> -->
     </component>
     <component name="mmswatcher" filter="s60" long-name="MMS Watcher" plugin="Y" class="placeholder">
      <!-- <unit bldFile="mmsengine/mmswatcher/bld"/> -->
     </component>
     <component name="mmspushhandler" filter="s60" long-name="MMS Push Handler" plugin="Y" class="placeholder">
      <!-- <unit bldFile="mmsengine/mmspushhandler/bld"/> -->
     </component>
     <component name="applicationadapter" filter="s60" long-name="MMS Application Adapter" class="placeholder">
      <!-- <unit bldFile="mmsengine/applicationadapter/bld"/> -->
     </component>
     <component name="mmscodecclient" filter="s60" long-name="MMS Codec Client" class="placeholder">
      <!-- <unit bldFile="mmsengine/mmscodecclient/bld"/> -->
     </component>
     <component name="mmssettings" long-name="MMS Settings" introduced="9.2" purpose="optional">
      <unit bldFile="app/messaging/mmsengine/mmssettings/group" mrp="app/messaging/mmsengine/mmssettings/group/messaging_mmssettings.mrp"/>
     </component>
     <component name="mmsconf" long-name="MMS Configuration" purpose="optional">
      <unit bldFile="app/messaging/mmsengine/mmsconf" mrp="app/messaging/mmsengine/mmsconf/messaging_mmssettings-config.mrp"/>
     </component>
     <component name="mmsengine_build" filter="s60" long-name="MMS Engine Build">
      <!-- this bld.inf should be broken up into the individual other components -->
      <unit bldFile="app/messaging/mmsengine/group"/>
     </component>
    </collection>
    <collection name="messagingappbase" long-name="Messaging App Base" level="base">
     <component name="msgavkon" filter="s60" long-name="Messaging Avkon UI">
      <unit bldFile="app/messaging/messagingappbase/msgavkon/group"/>
     </component>
     <component name="mce" filter="s60" long-name="Message Center Application">
      <unit bldFile="app/messaging/messagingappbase/mce/group"/>
     </component>
     <component name="mceextraitems" filter="s60" long-name="Message Center Extra Items">
      <unit bldFile="app/messaging/messagingappbase/mceextraitems/group"/>
     </component>
     <component name="mcesettings" filter="s60" long-name="Message Center Settings">
      <unit bldFile="app/messaging/messagingappbase/mcesettings/group"/>
     </component>
     <component name="msgerrorwatcher" filter="s60" long-name="Messaging Error Watcher" plugin="Y">
      <unit bldFile="app/messaging/messagingappbase/msgerrorwatcher/group"/>
     </component>
     <component name="ncnlist" filter="s60" long-name="New Contacts Note List">
      <unit bldFile="app/messaging/messagingappbase/ncnlist/group"/>
     </component>
     <component name="schemeplugin" filter="s60" long-name="Scheme Handler Plugin" plugin="Y">
      <unit bldFile="app/messaging/messagingappbase/schemeplugin/group"/>
     </component>
     <component name="sendui" filter="s60" long-name="Send UI" plugin="Y">
      <unit bldFile="app/messaging/messagingappbase/sendui/group"/>
     </component>
     <component name="smilengine" filter="s60" long-name="SMIL Engine">
      <unit bldFile="app/messaging/messagingappbase/smilengine/group"/>
     </component>
     <component name="bium" filter="s60" long-name="BIO UI MTM" plugin="Y">
      <unit bldFile="app/messaging/messagingappbase/bium/group"/>
     </component>
     <component name="smartmessaging" filter="s60" long-name="Smart Messaging">
      <unit bldFile="app/messaging/messagingappbase/smartmessaging/group"/>
     </component>
     <component name="msgeditor" filter="s60" long-name="Messaging Editor">
      <unit bldFile="app/messaging/messagingappbase/msgeditor/group"/>
     </component>
     <component name="smilparser" long-name="SMIL Parser" introduced="7.0s" purpose="optional">
      <unit bldFile="app/messaging/messagingappbase/smilparser/GROUP" mrp="app/messaging/messagingappbase/smilparser/GROUP/messaging_gmxml.mrp"/>
     </component>
     <component name="obexmtms" long-name="OBEX MTMs" introduced="7.0s" purpose="optional" plugin="Y">
      <unit bldFile="app/messaging/messagingappbase/obexmtms/Group" mrp="app/messaging/messagingappbase/obexmtms/Group/messaging_obex.mrp"/>
     </component>
    </collection>
    <collection name="email" long-name="Email" level="mail">
     <!-- use commonemail instead -->
     <component name="alwaysonlineemailplugin" filter="s60" long-name="Always Online Mail Plugin" deprecated="^3" plugin="Y">
      <unit bldFile="app/messaging/email/alwaysonlineemailplugin/group"/>
     </component>
     <component name="emailnotificationhandler" filter="s60" long-name="Email Notification Handler" deprecated="^3" plugin="Y">
      <unit bldFile="app/messaging/email/emailnotificationhandler/group"/>
     </component>
     <component name="imum" filter="s60" long-name="Internet Mail UI MTM" deprecated="^3" plugin="Y">
      <unit bldFile="app/messaging/email/imum/group"/>
     </component>
     <component name="mail" filter="s60" long-name="Mail Application" deprecated="^3">
      <unit bldFile="app/messaging/email/mail/group"/>
     </component>
     <component name="pop3andsmtpmtm" long-name="POP3 and SMTP MTM" purpose="optional" deprecated="^3" plugin="Y">
      <unit bldFile="app/messaging/email/pop3andsmtpmtm/group" mrp="app/messaging/email/pop3andsmtpmtm/group/messaging_email.mrp"/>
     </component>
     <component name="imap4mtm" long-name="IMAP4 MTM" introduced="9.2" purpose="optional" deprecated="^3" plugin="Y">
      <unit bldFile="app/messaging/email/imap4mtm/group" mrp="app/messaging/email/imap4mtm/group/messaging_email_imap.mrp"/>
     </component>
    </collection>
    <collection name="messaging_info" long-name="Messaging Apps Info" level="ui">
     <component name="msg_plat" long-name="Messaging Apps Platform APIs" filter="s60" class="api">
      <unit bldFile="app/messaging/msg_plat/group"/>
     </component>
     <component name="msg_pub" long-name="Messaging Apps Public APIs" filter="s60" class="api">
      <unit bldFile="app/messaging/msg_pub/group"/>
     </component>
     <component name="messaging_metadata" long-name="Messaging Apps Metadata" introduced="^2" purpose="development" class="config PC">
      <unit mrp="app/messaging/messaging_info/messaging_metadata/messaging_metadata.mrp"/>
     </component>
    </collection>
   </block>
   <block name="commonemail" level="apps" span="2" long-name="Email Apps" levels="service support ui app">
    <collection name="emailservices" long-name="Email Services" level="service">
     <component name="emailframework" filter="s60" long-name="Email Framework" introduced="^2">
      <unit bldFile="app/commonemail/emailservices/emailframework/group"/>
     </component>
     <component name="emailclientapi" filter="s60" long-name="Email Client API" introduced="^2">
      <unit bldFile="app/commonemail/emailservices/emailclientapi/group"/>
     </component>
     <component name="emailserver" filter="s60" long-name="Email Server" introduced="^2">
      <unit bldFile="app/commonemail/emailservices/emailserver/group"/>
     </component>
     <component name="emailservermonitor" filter="s60" long-name="Email Server Monitor" introduced="^2">
      <unit bldFile="app/commonemail/emailservices/emailservermonitor/group"/>
     </component>
     <component name="psmruadapter" filter="s60" long-name="Predictive Search Most Recent Used Adapter" introduced="^2" plugin="Y">
      <unit bldFile="app/commonemail/emailservices/psmruadapter/group"/>
     </component>
     <component name="emailstore" filter="s60" long-name="Email Store" introduced="^2">
      <unit bldFile="app/commonemail/emailservices/emailstore/group"/>
     </component>
     <component name="emaildebug" filter="s60" long-name="Email Debug" introduced="^2" class="api">
      <unit bldFile="app/commonemail/emailservices/emaildebug/group"/>
     </component>
     <component name="emailinstallationinitiator" filter="s60" long-name="Email Installation Initiator" introduced="^2">
      <unit bldFile="app/commonemail/emailservices/emailinstallationinitiator/group"/>
     </component>
    </collection>
    <collection name="ipsservices" long-name="IMAP/POP/SMTP Services" level="service">
     <component name="ipssossettings" filter="s60" long-name="IPS SOS Settings" introduced="^2">
      <!-- SOS? Consider spelling it out since the abbreviation is ambiguous -->
      <unit bldFile="app/commonemail/ipsservices/ipssossettings/group"/>
     </component>
     <component name="ipssosplugin" filter="s60" long-name="IPS SOS Plugin" introduced="^2" plugin="Y">
      <unit bldFile="app/commonemail/ipsservices/ipssosplugin/group"/>
     </component>
     <component name="ipssosaoplugin" filter="s60" long-name="IPS SOS Always Online Plugin" introduced="^2" plugin="Y">
      <unit bldFile="app/commonemail/ipsservices/ipssosaoplugin/group"/>
     </component>
     <component name="ipsservices_build" filter="s60" long-name="IPS Services Build" introduced="^2">
      <unit bldFile="app/commonemail/ipsservices/group"/>
      <!-- can the exports be broken up into the other components or made a config component?-->
     </component>
    </collection>
    <collection name="emailcontacts" long-name="Email Contacts" level="support">
     <component name="contactactionservice" filter="s60" long-name="Contact Action Service" introduced="^2" plugin="Y">
      <unit bldFile="app/commonemail/emailcontacts/contactactionservice/group"/>
     </component>
     <component name="contactactionmenu" filter="s60" long-name="Contact Action Menu" introduced="^2" plugin="Y">
      <unit bldFile="app/commonemail/emailcontacts/contactactionmenu/group"/>
     </component>
     <component name="remotecontactlookup" filter="s60" long-name="Remote Contact Lookup" introduced="^2" plugin="Y">
      <unit bldFile="app/commonemail/emailcontacts/remotecontactlookup/group"/>
     </component>
    </collection>
    <collection name="meetingrequest" long-name="Meeting Request" level="ui">
     <component name="mrcommon" filter="s60" long-name="MR Common" introduced="^2">
      <unit bldFile="app/commonemail/meetingrequest/mrcommon/group"/>
     </component>
     <component name="mrdb" filter="s60" long-name="MR Database" introduced="^2">
      <unit bldFile="app/commonemail/meetingrequest/mrdb/group"/>
     </component>
     <component name="mrpolicy" filter="s60" long-name="MR Policy" introduced="^2">
      <unit bldFile="app/commonemail/meetingrequest/mrpolicy/group"/>
     </component>
     <component name="mrservices" filter="s60" long-name="MR Services" introduced="^2">
      <unit bldFile="app/commonemail/meetingrequest/mrservices/group"/>
     </component>
     <component name="mrgui" filter="s60" long-name="MR GUI" introduced="^2">
      <unit bldFile="app/commonemail/meetingrequest/mrgui/group"/>
     </component>
     <component name="mrentry" filter="s60" long-name="MR Entry" introduced="^2">
      <unit bldFile="app/commonemail/meetingrequest/mrentry/group"/>
     </component>
     <component name="mrtasks" filter="s60" long-name="MR Tasks" introduced="^2">
      <unit bldFile="app/commonemail/meetingrequest/mrtasks/group"/>
     </component>
     <component name="mrutils" filter="s60" long-name="MR Utils" introduced="^2">
      <unit bldFile="app/commonemail/meetingrequest/mrutils/group"/>
     </component>
     <component name="mrutilscalplugin" filter="s60" long-name="MR Utils Calendar Plugin" introduced="^2" plugin="Y">
      <unit bldFile="app/commonemail/meetingrequest/mrutilscalplugin/group"/>
     </component>
     <component name="mrviewer" filter="s60" long-name="MR Viewer" introduced="^2">
      <unit bldFile="app/commonemail/meetingrequest/mrviewer/group"/>
     </component>
     <component name="mrviewercalplugin" filter="s60" long-name="MR Viewer Calendar Plugin" introduced="^2">
      <unit bldFile="app/commonemail/meetingrequest/mrviewercalplugin/group"/>
     </component>
     <component name="mricalviewer" filter="s60" long-name="MR iCal Viewer" introduced="^2" plugin="Y">
      <unit bldFile="app/commonemail/meetingrequest/mricalviewer/group"/>
     </component>
     <component name="mrversit2" filter="s60" long-name="MR Versit2" introduced="^2">
      <unit bldFile="app/commonemail/meetingrequest/mrversit2/group"/>
     </component>
     <component name="mragnversit2" filter="s60" long-name="MR Agenda Versit2" introduced="^2">
      <unit bldFile="app/commonemail/meetingrequest/mragnversit2/group"/>
     </component>
     <component name="mrcasplugin" filter="s60" long-name="MR Contact Action Service Plugin" introduced="^2" plugin="Y">
      <unit bldFile="app/commonemail/meetingrequest/mrcasplugin/group"/>
     </component>
     <component name="mrurlparserplugin" filter="s60" long-name="MR URL Parser Plugin" introduced="^2" plugin="Y">
      <unit bldFile="app/commonemail/meetingrequest/mrurlparserplugin/group"/>
     </component>
     <component name="meetingrequest_build" filter="s60" long-name="MR Build" introduced="^2">
      <!-- can the exports be broken up into the other components ?
			alternatively, move the exports into a RM Config component-->
      <unit bldFile="app/commonemail/meetingrequest/group"/>
     </component>
    </collection>
    <collection name="emailuis" long-name="Email UIs" level="app">
     <component name="emailui" filter="s60" long-name="Email UI" introduced="^2">
      <unit bldFile="app/commonemail/emailuis/emailui/group"/>
     </component>
     <component name="gsemailsettings" filter="s60" long-name="Email GS Settings" introduced="^2" plugin="Y">
      <unit bldFile="app/commonemail/emailuis/gsemailsettings/group"/>
     </component>
     <component name="uicomponents" filter="s60" long-name="Email UI Components" introduced="^2">
      <unit bldFile="app/commonemail/emailuis/uicomponents/group"/>
     </component>
     <component name="widget" filter="s60" long-name="Email Widget" introduced="^2">
      <!-- Uncomment unit when configuration is in place. Currently #included from emailuis_build, which should be removed at the same time. -->
      <!--<unit bldFile="emailuis/widget/group"/>-->
     </component>
     <component name="emailuis_build" filter="s60" long-name="Email UIs Build" introduced="^2">
      <unit bldFile="app/commonemail/emailuis/group"/>
     </component>
    </collection>
    <collection name="commonemail_info" long-name="Email Apps Info" level="app">
     <component name="emailhelp" filter="s60" long-name="Email Help" class="placeholder">
      <!-- should this be commented out or not? -->
      <!-- <unit bldFile="emailhelp/group"/> -->
     </component>
     <component name="commonemail_help" filter="s60" long-name="Email Help" introduced="^2" class="placeholder">
      <!-- should this be commented out or not? -->
      <!-- <unit bldFile="help/group"/> -->
     </component>
     <component name="email_plat" filter="s60" long-name="Email Apps Platform Interfaces" class="api">
      <unit bldFile="app/commonemail/email_plat/group"/>
     </component>
     <component name="email_pub" filter="s60" long-name="Email Apps Public Interfaces" class="api">
      <unit bldFile="app/commonemail/email_pub/group"/>
     </component>
    </collection>
   </block>
   <block name="conversations" level="apps" long-name="Conversation Apps" levels="settings utils plugin ui">
    <collection name="uiservicetabsettings" long-name="UI Service Tab Settings" level="settings">
     <!-- this is really at the wrong rank. should move down a directory -->
     <component name="vimpstsettings" filter="s60" long-name="VIMP Service Tab Settings">
      <unit bldFile="app/conversations/uiservicetabsettings/group"/>
     </component>
    </collection>
    <collection name="instantmessagesalert" long-name="Instant Messages Alert" level="utils">
     <!-- this is really at the wrong rank. should move down a directory -->
     <component name="instantmessagesalert_build" filter="s60" long-name="Instant Messages Alert build" introduced="^3">
      <unit bldFile="app/conversations/instantmessagesalert/group"/>
     </component>
    </collection>
    <collection name="imstutils" long-name="IM Service Tab Utils" level="utils">
     <component name="imstutils_help" filter="s60" long-name="IM Service Tab Help">
      <unit bldFile="app/conversations/imstutils/help/group"/>
     </component>
     <component name="imconnectionprovider" filter="s60" long-name="IM Connection Provider" plugin="Y">
      <unit bldFile="app/conversations/imstutils/imconnectionprovider/group"/>
     </component>
     <component name="xmppadapter" filter="s60" long-name="XMPP Settings Adapter" plugin="Y">
      <unit bldFile="app/conversations/imstutils/xmppadapter/group"/>
     </component>
     <component name="imconversationview" filter="s60" long-name="IM Conversation View">
      <unit bldFile="app/conversations/imstutils/imconversationview/group"/>
     </component>
     <component name="imstutils_config" filter="s60" long-name="IM Service Tab Utils config" class="config">
      <!-- remove the #includes and or moved ithe loc file into one the above components -->
      <unit bldFile="app/conversations/imstutils/group"/>
     </component>
    </collection>
    <collection name="uiservicetab" long-name="UI Service Tab" level="ui">
     <component name="vimpstutils" filter="s60" long-name="VIMP Service Tab Utilities">
      <!-- need to spell out VIMP at least once -->
      <unit bldFile="app/conversations/uiservicetab/vimpstutils/group"/>
     </component>
     <component name="vimpststorage" filter="s60" long-name="VIMP Service Tab Storage">
      <unit bldFile="app/conversations/uiservicetab/vimpststorage/group"/>
     </component>
     <component name="vimpstengine" filter="s60" long-name="VIMP Service Tab Engine">
      <unit bldFile="app/conversations/uiservicetab/vimpstengine/group"/>
     </component>
     <component name="vimpstcmdprocess" filter="s60" long-name="VIMP Service Tab Command Process">
      <unit bldFile="app/conversations/uiservicetab/vimpstcmdprocess/group"/>
     </component>
     <component name="vimpstui" filter="s60" long-name="VIMP Service Tab UI">
      <unit bldFile="app/conversations/uiservicetab/vimpstui/group"/>
     </component>
     <component name="vimpstdetailsviewplugin" filter="s60" long-name="VIMP ST Details View Plugin" plugin="Y">
      <unit bldFile="app/conversations/uiservicetab/vimpstdetailsviewplugin/group"/>
     </component>
     <component name="uiservicetab_build" filter="s60" long-name="UI Service Tab Build">
      <!-- can this be distributed into the above bld.infs? -->
      <unit bldFile="app/conversations/uiservicetab/group"/>
     </component>
    </collection>
    <collection name="servicewidget" long-name="Service Widget" level="ui">
     <component name="servicewidgetdatapublisher" filter="s60" long-name="Service Widget Data Publisher" plugin="Y">
      <unit bldFile="app/conversations/servicewidget/servicewidgetdatapublisher/group"/>
     </component>
     <component name="themes" filter="s60" long-name="Service Widget Themes" class="config">
      <!-- does this really need to have that number in the directory name? -->
      <unit bldFile="app/conversations/servicewidget/themes/install-themes/install/servicewidget_20021383/group"/>
     </component>
     <component name="servicewidget_build" filter="s60" long-name="Service Widget Build">
      <!-- Either move the whole collection down one directory into a single component, or move the ROM and SIS parts into a Service Widget ROM component -->
      <unit bldFile="app/conversations/servicewidget/group"/>
     </component>
    </collection>
    <collection name="instantmsgindicatorplugin" long-name="Instant Message Indicator Plugin" level="plugin">
     <!--  collection is really a component. should move down a directory -->
     <component name="instantmsgindicatorplugin_build" filter="s60" long-name="Instant Message Indicator Plugin Build" introduced="^3" plugin="Y">
      <unit bldFile="app/conversations/instantmsgindicatorplugin/group"/>
     </component>
    </collection>
    <collection name="imstatuspaneindicatorplugin" long-name="IM Status Pane Indicator Plugin" level="plugin">
     <!--  collection is really a component. should move down a directory -->
     <component name="imstatuspaneindicatorplugin_build" filter="s60" long-name="IM Status Pane Indicator Plugin Build" introduced="^3" plugin="Y">
      <unit bldFile="app/conversations/imstatuspaneindicatorplugin/group"/>
     </component>
    </collection>
    <collection name="conversations_info" long-name="Conversation Apps Info" level="ui">
     <component name="conversations_plat" filter="s60" long-name="Conversation Apps Platform Interfaces" class="api">
      <unit bldFile="app/conversations/conversations_plat/group"/>
     </component>
     <component name="conversations_build" filter="s60" long-name="Conversation Apps Build">
      <!-- can the exports be moved to other components? or this remade into a configuration component?-->
      <unit bldFile="app/conversations/group"/>
     </component>
    </collection>
   </block>
   <block name="im" level="apps" long-name="Instant Messaging Apps" levels="support prot engine apps">
    <collection name="wvsettings20" long-name="Wireless Village Settings Engine" level="support">
     <!-- this is really a component. should move down a directory -->
     <component name="wvsapsettingsstore" long-name="WV SAP Settings Store" filter="s60" introduced="9.3">
      <unit bldFile="app/im/wvsettings20/group"/>
     </component>
    </collection>
    <collection name="im_info" long-name="Instant Messaging Apps Info" level="apps">
     <component name="im_plat" filter="s60" long-name="Instant Messaging Apps Platform Interfaces" class="api">
      <unit bldFile="app/im/im_plat/group"/>
     </component>
    </collection>
   </block>
   <block name="dictionary" level="services" long-name="Dictionary" levels="utils ui">
    <collection name="userdict" long-name="User Dictionary" level="ui">
     <!-- collection is really a component, move down a dir -->
     <component name="userdict_build" filter="s60" long-name="Japanese User Dictionary">
      <unit bldFile="app/dictionary/userdict/group"/>
     </component>
    </collection>
    <collection name="dictionary_info" long-name="Dictionary Info" level="ui">
     <component name="dictionary_plat" filter="s60" long-name="Dictionary Platform Interfaces" class="api">
      <unit bldFile="app/dictionary/dictionary_plat/group"/>
     </component>
    </collection>
   </block>
   <block name="camera" level="apps" long-name="Camera Apps">
    <collection name="camerauis" long-name="Camera UIs">
     <component name="activepalette" filter="s60" long-name="Active Palette">
      <unit bldFile="app/camera/camerauis/activepalette/group"/>
     </component>
     <component name="cameraapp" filter="s60" long-name="Camera Application">
      <unit bldFile="app/camera/camerauis/cameraapp/group"/>
      <unit bldFile="app/camera/camerauis/cameraapp/help/group"/>
     </component>
    </collection>
    <collection name="camera_info" long-name="Camera Apps Info">
     <component name="camera_plat" filter="s60" long-name="Camera Apps Platform Interfaces" class="api">
      <unit bldFile="app/camera/camera_plat/group"/>
     </component>
    </collection>
   </block>
   <block name="imgeditor" level="apps" long-name="Image Editor Apps" levels="engine ui">
    <collection name="imageeditor" long-name="Image Editor UI" level="ui">
     <component name="pb" filter="s60" long-name="Plugin Base">
      <unit bldFile="app/imgeditor/imageeditor/pb/group"/>
     </component>
     <component name="iepb" filter="s60" long-name="Image Editor Plugin Base">
      <unit bldFile="app/imgeditor/imageeditor/iepb/group"/>
     </component>
     <component name="imageeditorui" filter="s60" long-name="Image Editor UI">
      <unit bldFile="app/imgeditor/imageeditor/imageeditorui/group"/>
     </component>
     <component name="imageeditormanager" filter="s60" long-name="Image Editor Manager">
      <unit bldFile="app/imgeditor/imageeditor/imageeditormanager/group"/>
     </component>
     <component name="imageeditorapp" filter="s60" long-name="Image Editor Application">
      <unit bldFile="app/imgeditor/imageeditor/imageeditorapp/group"/>
     </component>
     <component name="imageeditor_plugins" filter="s60" long-name="Image Editor Plugins" plugin="Y">
      <!-- can only have one unit. Need to include all from a single bld.inf -->
      <unit bldFile="app/imgeditor/imageeditor/plugins/blackwhiteplugin/group"/>
      <unit bldFile="app/imgeditor/imageeditor/plugins/brightnessplugin/group"/>
      <unit bldFile="app/imgeditor/imageeditor/plugins/bubbleplugin/group"/>
      <unit bldFile="app/imgeditor/imageeditor/plugins/cartoonizeplugin/group"/>
      <unit bldFile="app/imgeditor/imageeditor/plugins/clipartplugin/group"/>
      <unit bldFile="app/imgeditor/imageeditor/plugins/contrastplugin/group"/>
      <unit bldFile="app/imgeditor/imageeditor/plugins/cropplugin/group"/>
      <unit bldFile="app/imgeditor/imageeditor/plugins/drawplugin/group"/>
      <unit bldFile="app/imgeditor/imageeditor/plugins/frameplugin/group"/>
      <unit bldFile="app/imgeditor/imageeditor/plugins/negativeplugin/group"/>
      <unit bldFile="app/imgeditor/imageeditor/plugins/redeyeplugin/group"/>
      <unit bldFile="app/imgeditor/imageeditor/plugins/resizeplugin/group"/>
      <unit bldFile="app/imgeditor/imageeditor/plugins/rotatelplugin/group"/>
      <unit bldFile="app/imgeditor/imageeditor/plugins/rotaterplugin/group"/>
      <unit bldFile="app/imgeditor/imageeditor/plugins/sepiaplugin/group"/>
      <unit bldFile="app/imgeditor/imageeditor/plugins/sharpnessplugin/group"/>
      <unit bldFile="app/imgeditor/imageeditor/plugins/textplugin/group"/>
      <!-- conditionally #included in imageeditor_build: need to fix
        <unit bldFile="imageeditor/plugins/drawplugin/group"/>
         -->
     </component>
     <component name="editorprovider" filter="s60" long-name="Image Editor Provider">
      <unit bldFile="app/imgeditor/imageeditor/editorprovider/group"/>
     </component>
     <component name="imageeditor_build" filter="s60" long-name="Image Editor Build">
      <!-- should distribute this to the other components -->
      <unit bldFile="app/imgeditor/imageeditor/group"/>
     </component>
    </collection>
    <collection name="imageeditorengine" long-name="Image Editor Engine" level="engine">
     <component name="filters" filter="s60" long-name="Image Editor Filters">
      <!-- can only have one unit. Need to include all from a single bld.inf -->
      <unit bldFile="app/imgeditor/imageeditorengine/filters/filterbrightness/group"/>
      <unit bldFile="app/imgeditor/imageeditorengine/filters/filterbubble/group"/>
      <unit bldFile="app/imgeditor/imageeditorengine/filters/filterbuffer/group"/>
      <unit bldFile="app/imgeditor/imageeditorengine/filters/filtercartoon/group"/>
      <unit bldFile="app/imgeditor/imageeditorengine/filters/filterclipart/group"/>
      <unit bldFile="app/imgeditor/imageeditorengine/filters/filtercontrast/group"/>
      <unit bldFile="app/imgeditor/imageeditorengine/filters/filtercrop/group"/>
      <unit bldFile="app/imgeditor/imageeditorengine/filters/filterdraw/group"/>
      <unit bldFile="app/imgeditor/imageeditorengine/filters/filterframe/group"/>
      <unit bldFile="app/imgeditor/imageeditorengine/filters/filtergrayscale/group"/>
      <unit bldFile="app/imgeditor/imageeditorengine/filters/filtericlsource/group"/>
      <unit bldFile="app/imgeditor/imageeditorengine/filters/filterjpegsource/group"/>
      <unit bldFile="app/imgeditor/imageeditorengine/filters/filterjpegtarget/group"/>
      <unit bldFile="app/imgeditor/imageeditorengine/filters/filternegate/group"/>
      <unit bldFile="app/imgeditor/imageeditorengine/filters/filterredeye/group"/>
      <unit bldFile="app/imgeditor/imageeditorengine/filters/filterrotate/group"/>
      <unit bldFile="app/imgeditor/imageeditorengine/filters/filterscale/group"/>
      <unit bldFile="app/imgeditor/imageeditorengine/filters/filtersepia/group"/>
      <unit bldFile="app/imgeditor/imageeditorengine/filters/filtersharpness/group"/>
      <unit bldFile="app/imgeditor/imageeditorengine/filters/filtertext/group"/>
      <!-- conditionally #included in imageeditor_build: need to fix
        <unit bldFile="imageeditorengine/filters/filterdraw/group"/>
         -->
     </component>
     <component name="imageeditorutils" filter="s60" long-name="Image Editor Utilities">
      <unit bldFile="app/imgeditor/imageeditorengine/imageeditorutils/group"/>
     </component>
     <component name="systemparameters" filter="s60" long-name="System Parameters">
      <unit bldFile="app/imgeditor/imageeditorengine/systemparameters/group"/>
     </component>
     <component name="enginewrapper" filter="s60" long-name="Image Editor Engine Wrapper">
      <unit bldFile="app/imgeditor/imageeditorengine/enginewrapper/group"/>
     </component>
     <component name="imageeditorengine_build" filter="s60" long-name="Image Editor Engine Build">
      <!-- should distribute this to the other components -->
      <unit bldFile="app/imgeditor/imageeditorengine/group"/>
     </component>
    </collection>
    <collection name="imgeditor_info" long-name="Image Editor Apps Info" level="ui">
     <component name="imgeditor_plat" filter="s60" long-name="Image Editor Apps Platform Interfaces" class="api">
      <unit bldFile="app/imgeditor/imgeditor_plat/group"/>
     </component>
    </collection>
   </block>
   <block name="videoeditor" level="apps" long-name="Video Editor Apps" levels="engine ui">
    <collection name="videditor" long-name="Video Editor" level="ui">
     <component name="videoeditorcommon" filter="s60" long-name="Video Editor Common" introduced="^2">
      <unit bldFile="app/videoeditor/videditor/videoeditorcommon/group"/>
     </component>
     <component name="videoeditoruicomponents" filter="s60" long-name="Video Editor UI Components" introduced="^2">
      <unit bldFile="app/videoeditor/videditor/videoeditoruicomponents/group"/>
     </component>
     <component name="simplevideoeditor" filter="s60" long-name="Simple Video Editor" introduced="^2">
      <unit bldFile="app/videoeditor/videditor/simplevideoeditor/group"/>
     </component>
     <component name="simplecutvideo" filter="s60" long-name="Simple Cut Video" introduced="^2">
      <unit bldFile="app/videoeditor/videditor/simplecutvideo/group"/>
     </component>
     <component name="videoprovider" filter="s60" long-name="Video Provider" introduced="^2">
      <unit bldFile="app/videoeditor/videditor/videoprovider/group"/>
     </component>
     <component name="manualvideoeditor" filter="s60" long-name="Manual Video Editor" introduced="^2" class="placeholder">
      <!--  uncomment when supported
      	<meta rel="config">
      		<defined condition="__INCLUDE_MANUAL_VIDEO_EDITOR__"/>
      	</meta>
        <unit bldFile="videditor/manualvideoeditor/group"/> -->
     </component>
     <component name="videditor_build" filter="s60" long-name="Video Editor Build" introduced="^2">
      <!-- can the exports be distributed to the other components? Or should this be collapsed into one component?-->
      <unit bldFile="app/videoeditor/videditor/group"/>
     </component>
    </collection>
    <collection name="videoeditorengine" long-name="Video Editor Engine" level="engine">
     <component name="audioeditorengine" filter="s60" long-name="Audio Editor Engine" introduced="^2">
      <unit bldFile="app/videoeditor/videoeditorengine/audioeditorengine/group"/>
     </component>
     <component name="avcedit" filter="s60" long-name="AVC Editing" introduced="^2">
      <unit bldFile="app/videoeditor/videoeditorengine/avcedit/group"/>
     </component>
     <component name="h263decoder" filter="s60" long-name="H.263 Decoder" introduced="^2">
      <unit bldFile="app/videoeditor/videoeditorengine/h263decoder/group"/>
     </component>
     <component name="mp3aacmaniplib" filter="s60" long-name="MP3 and AAC Manipulation Library" introduced="^2">
      <unit bldFile="app/videoeditor/videoeditorengine/mp3aacmaniplib/group"/>
     </component>
     <component name="vedtranscoder" filter="s60" long-name="Video Editor Transcoder" introduced="^2">
      <unit bldFile="app/videoeditor/videoeditorengine/vedtranscoder/group"/>
     </component>
     <component name="vedengine" filter="s60" long-name="Video Editor Engine" introduced="^2">
      <unit bldFile="app/videoeditor/videoeditorengine/vedengine/group"/>
     </component>
     <component name="videoeditorengine_build" filter="s60" long-name="Video Editor Engine Build" introduced="^2">
      <!-- can the exports be distributed to the other components? Or should this be collapsed into one component?-->
      <unit bldFile="app/videoeditor/videoeditorengine/group"/>
     </component>
    </collection>
    <collection name="videoeditor_info" long-name="Video Editor Apps Info" level="ui">
     <component name="videoeditor_plat" filter="s60" long-name="Video Editor Apps Platform Interfaces" introduced="^2" class="api">
      <unit bldFile="app/videoeditor/videoeditor_plat/group"/>
     </component>
    </collection>
   </block>
   <block name="videoplayer" level="apps" long-name="Video Player Apps" levels="support plugin util apps">
    <collection name="videofeeds" long-name="Video Feeds" level="util">
     <component name="iptv_utils" filter="s60" long-name="IPTV Util" introduced="^3">
      <unit bldFile="app/videoplayer/videofeeds/utils/group"/>
     </component>
     <component name="viewmessageutility" filter="s60" long-name="View Message Utility" introduced="^3">
      <unit bldFile="app/videoplayer/videofeeds/viewmessageutility/group"/>
     </component>
     <component name="vcxnotifier" filter="s60" long-name="Video Connection Notifier" introduced="^3" plugin="Y">
      <unit bldFile="app/videoplayer/videofeeds/vcxnotifier/group"/>
     </component>
     <component name="vccommon" filter="s60" long-name="Video Connection Common" introduced="^3">
      <unit bldFile="app/videoplayer/videofeeds/vccommon/group"/>
     </component>
     <component name="clientapi" long-name="Server Client" filter="s60" introduced="^3">
      <unit bldFile="app/videoplayer/videofeeds/clientapi/group"/>
     </component>
     <component name="provisioningprocessor" long-name="Provisioning Processor" filter="s60" introduced="^3">
      <unit bldFile="app/videoplayer/videofeeds/provisioningprocessor/group"/>
     </component>
     <component name="mrssplugin" long-name="RSS plugin" filter="s60" introduced="^3" plugin="Y">
      <unit bldFile="app/videoplayer/videofeeds/mrssplugin/group"/>
     </component>
     <component name="videofeeds_server" long-name="Server" filter="s60" introduced="^3">
      <unit bldFile="app/videoplayer/videofeeds/server/group"/>
     </component>
     <component name="livetvutils" long-name="LiveTV Utils" filter="s60" introduced="^3">
      <unit bldFile="app/videoplayer/videofeeds/livetvutils/group"/>
     </component>
     <component name="iptvprovisioningrecognizer" long-name="IP TV Provisioning Recognizer" filter="s60" introduced="^3" plugin="Y">
      <unit bldFile="app/videoplayer/videofeeds/provisioningrecognizer/group"/>
     </component>
     <component name="iptvprovisioningappui" long-name="IP TV Provisioning App UI" filter="s60" introduced="^3">
      <unit bldFile="app/videoplayer/videofeeds/provisioningappui/group"/>
     </component>
     <component name="iptvomaprovisioning" long-name="IP TV OMA Provisioning" filter="s60" introduced="^3">
      <unit bldFile="app/videoplayer/videofeeds/omaprovisioning/group"/>
     </component>
     <component name="vcnsuiengine" long-name="VoD UI Engine" filter="s60" introduced="^3">
      <unit bldFile="app/videoplayer/videofeeds/vcnsuiengine/group"/>
     </component>
     <component name="hgvodui" long-name="Ganes UX2.0 VoD UI" filter="s60" introduced="^3">
      <unit bldFile="app/videoplayer/videofeeds/hgvodui/group"/>
     </component>
     <component name="hgvodplugin" long-name="Ganes UX2.0 VoD UI Plugin" filter="s60" introduced="^3" plugin="Y">
      <unit bldFile="app/videoplayer/videofeeds/hgvodplugin/group"/>
     </component>
     <component name="vcnsscheduleview" long-name="Scheduled Download Settings View" filter="s60" introduced="^3">
      <unit bldFile="app/videoplayer/videofeeds/vcnsscheduleview/group"/>
     </component>
     <component name="vcnsscheduleplugin" long-name="Scheduled Download Settings Plugin" filter="s60" introduced="^3" plugin="Y">
      <unit bldFile="app/videoplayer/videofeeds/vcnsscheduleplugin/group"/>
     </component>
     <component name="scheduleddlplugin" long-name="Scheduled download plugin" filter="s60" introduced="^3">
      <unit bldFile="app/videoplayer/videofeeds/scheduleddlplugin/group"/>
     </component>
    </collection>
    <collection name="videocollection" long-name="Video Collection" level="util">
     <component name="mpxmyvideoscollection" filter="s60" long-name="MPX My Videos Collection" introduced="^3">
      <unit bldFile="app/videoplayer/videocollection/mpxmyvideoscollection/group"/>
     </component>
     <component name="myvideosindicatorplugin" filter="s60" long-name="My Videos Indicator Plugin" introduced="^3" plugin="Y">
      <unit bldFile="app/videoplayer/videocollection/myvideosindicatorplugin/group"/>
     </component>
     <component name="hgmyvideos" filter="s60" long-name="Huriganes My Videos" introduced="^3">
      <unit bldFile="app/videoplayer/videocollection/hgmyvideos/group"/>
     </component>
     <component name="hgmyvideosplugin" filter="s60" long-name="Huriganes My VideosPlugin" introduced="^3" plugin="Y">
      <unit bldFile="app/videoplayer/videocollection/hgmyvideosplugin/group"/>
     </component>
    </collection>
    <collection name="videoplayer_homescreenplugins" long-name="Videoplayer Homescreen Plugins" level="plugin">
     <component name="videosuiteconf" filter="s60" long-name="Video Suite Configuration" introduced="^3" plugin="Y">
      <unit bldFile="app/videoplayer/homescreenplugins/videosuiteconf/group"/>
     </component>
     <component name="videoahlplugin" filter="s60" long-name="Video Player Action Handler" introduced="^3" plugin="Y">
      <unit bldFile="app/videoplayer/homescreenplugins/videoahlplugin/group"/>
     </component>
     <component name="videochplugin" filter="s60" long-name="Video Player Content Harvester " introduced="^3" plugin="Y">
      <unit bldFile="app/videoplayer/homescreenplugins/videochplugin/group"/>
     </component>
    </collection>
    <collection name="mediasettings" long-name="Media Settings" level="support">
     <!--  this is really a component. Should be moved down a directory -->
     <component name="mediasettings_build" filter="s60" long-name="Media Settings Build">
      <unit bldFile="app/videoplayer/mediasettings/group"/>
     </component>
     <component name="videoplayer_test" filter="s60" purpose="development" long-name="Video Player Apps Test">
      <!--  can only have one unit. Can thes be #included from the above or another  bld.inf?-->
      <unit bldFile="app/videoplayer/tsrc/VCXTestCommon/group"/>
      <unit bldFile="app/videoplayer/tsrc/VCXTestUtilModule/group"/>
      <unit bldFile="app/videoplayer/tsrc/VCXTestMyVideosCollectionClient/group"/>
      <unit bldFile="app/videoplayer/mediasettings/mediasettingsengine/tsrc/mediasettingsenginetest/group"/>
      <unit bldFile="app/videoplayer/mediasettings/videoplayersettingsengine/tsrc/vpsettingsenginetest/group"/>
     </component>
    </collection>
    <collection name="filedetails" long-name="File Details" level="support">
     <component name="filedetailsplugin" filter="s60" long-name="File Details Plugin" introduced="^3" plugin="Y">
      <unit bldFile="app/videoplayer/filedetails/filedetailsplugin/group"/>
     </component>
     <component name="filedetailsdialog" filter="s60" long-name="File Details Dialog" introduced="^3">
      <unit bldFile="app/videoplayer/filedetails/filedetailsdialog/group"/>
     </component>
    </collection>
    <collection name="videoplayerapp" long-name="Video Player App" level="apps">
     <component name="lwplayer" long-name="Lightweight Player" filter="s60">
      <unit bldFile="app/videoplayer/videoplayerapp/lwplayer/group"/>
     </component>
     <component name="mpxvideoplayer" filter="s60" long-name="MPX Video Player" plugin="Y">
      <unit bldFile="app/videoplayer/videoplayerapp/mpxvideoplayer/group"/>
     </component>
     <component name="videoplayerlauncher" filter="s60" long-name="Video Player Launcher">
      <unit bldFile="app/videoplayer/videoplayerapp/videoplayerlauncher/group"/>
     </component>
    </collection>
    <collection name="videoplayback" long-name="Video Playback Plugins" level="plugin">
     <component name="videohelix" long-name="Video Helix" filter="s60" introduced="^3" plugin="Y">
      <unit bldFile="app/videoplayer/videoplayback/videohelix/group"/>
     </component>
     <component name="videopdlplaybackviewplugin" filter="s60" long-name="Video PDL Playback View Plugin" introduced="^3" plugin="Y">
      <unit bldFile="app/videoplayer/videoplayback/videopdlplaybackviewplugin/group"/>
     </component>
     <component name="videoplaybackcontrols" filter="s60" long-name="Video Playback Controls" introduced="^3" plugin="Y">
      <unit bldFile="app/videoplayer/videoplayback/videoplaybackcontrols/group"/>
     </component>
     <component name="videoplaybackviewplugin" filter="s60" long-name="Video Playback View Plugin" introduced="^3" plugin="Y">
      <unit bldFile="app/videoplayer/videoplayback/videoplaybackviewplugin/group"/>
     </component>
     <component name="videoplaybackviews" filter="s60" long-name="Video Playback Views" introduced="^3" plugin="Y">
      <unit bldFile="app/videoplayer/videoplayback/videoplaybackviews/group"/>
     </component>
    </collection>
    <collection name="videoplayer_info" long-name="Video Player Apps Info" level="apps">
     <component name="videoplayer_plat" filter="s60" long-name="Video Player Apps Platform Interfaces" class="api">
      <unit bldFile="app/videoplayer/videoplayer_plat/group"/>
     </component>
    </collection>
   </block>
   <block name="photos" level="apps" long-name="Photos" levels="support fw ui app">
    <collection name="photosgallery" long-name="Photos Gallery" level="app">
     <!-- consider splitting this collection into the application itself, and the frameworks behind it -->
     <component name="photosgallery_help" filter="s60" long-name="Photos Help" introduced="^2">
      <unit bldFile="app/photos/photosgallery/help/group"/>
     </component>
     <component name="logging" filter="s60" long-name="Photos Logging" introduced="^2">
      <unit bldFile="app/photos/photosgallery/logging/group"/>
     </component>
     <component name="photosgallery_common" filter="s60" long-name="Photos Common" introduced="^2">
      <unit bldFile="app/photos/photosgallery/common/group"/>
     </component>
     <component name="photosgallery_commonui" filter="s60" long-name="Photos Common UI" introduced="^2">
      <unit bldFile="app/photos/photosgallery/commonui/group"/>
     </component>
     <component name="photosgalleryollectionfw" filter="s60" long-name="Photos Collection Framework" introduced="^2">
      <unit bldFile="app/photos/photosgallery/collectionframework/group"/>
     </component>
     <component name="galleryicons" filter="s60" long-name="Photos Icons" introduced="^2" class="config">
      <unit bldFile="app/photos/photosgallery/icons"/>
     </component>
     <component name="imageviewer" filter="s60" long-name="Image Viewer" introduced="^3">
      <!-- this is really a part of controllers component, #include from there instead -->
      <unit bldFile="app/photos/photosgallery/controllers/imageviewer/group"/>
     </component>
     <component name="photosgalleryviewfw" filter="s60" long-name="View Framework" introduced="^2">
      <unit bldFile="app/photos/photosgallery/viewframework/group"/>
     </component>
     <component name="controllers" filter="s60" long-name="Photos Controllers" introduced="^2">
      <unit bldFile="app/photos/photosgallery/controllers/group"/>
     </component>
     <component name="photogallery" filter="s60" long-name="Media Gallery" introduced="^2">
      <unit bldFile="app/photos/photosgallery/gallery/group"/>
     </component>
     <component name="slideshow" filter="s60" long-name="Slideshow" introduced="^2">
      <unit bldFile="app/photos/photosgallery/slideshow/group"/>
     </component>
     <component name="contentharvesterplugin" filter="s60" long-name="Gallery Content Harvester Plugin" introduced="^2" plugin="Y">
      <unit bldFile="app/photos/photosgallery/contentharvesterplugin/group"/>
     </component>
     <component name="photossuite" filter="s60" long-name="Photos Suite" introduced="^2" class="config">
      <unit bldFile="app/photos/photosgallery/photossuite/group"/>
     </component>
     <component name="memoryplugin" long-name="Memory Plugin" filter="s60" introduced="^2" plugin="Y">
      <unit bldFile="app/photos/photosgallery/memoryplugin/group"/>
     </component>
     <component name="imgvwr" filter="s60" long-name="Photos Image Viewer" introduced="^3">
      <unit bldFile="app/photos/photosgallery/imgvwr/group"/>
     </component>
     <component name="photosgallery_build" filter="s60" long-name="Photos Gallery Build" introduced="^2">
      <!--  need to remove the #included above bld.infs from this  -->
      <unit bldFile="app/photos/photosgallery/group"/>
     </component>
    </collection>
    <collection name="photos_info" long-name="Photos Info" level="app">
     <component name="photos_plat" filter="s60" long-name="Photos Platform Interfaces" introduced="^2" class="api">
      <unit bldFile="app/photos/photos_plat/group"/>
     </component>
    </collection>
   </block>
   <block name="musicplayer" level="apps" long-name="Music Player Apps" levels="plugins support hs app">
    <collection name="mpxmusicplayer" long-name="MPX Music Player" level="app">
     <component name="mpxmusicplayer_help" filter="s60" long-name="Help">
      <unit bldFile="app/musicplayer/mpxmusicplayer/help/group"/>
     </component>
     <component name="mpxmusicplayer_commonui" filter="s60" long-name="MPX Common UI">
      <unit bldFile="app/musicplayer/mpxmusicplayer/commonui/group"/>
     </component>
     <component name="mpx_metadatahandler" filter="s60" long-name="MPX Metadata Handler">
      <unit bldFile="app/musicplayer/mpxmusicplayer/metadatahandler/group"/>
     </component>
     <component name="mediakeyhandler" filter="s60" long-name="MPX Media Key Handler">
      <unit bldFile="app/musicplayer/mpxmusicplayer/mediakeyhandler/group"/>
     </component>
     <component name="mpxmusicplayer_app" filter="s60" long-name="MPX Application">
      <unit bldFile="app/musicplayer/mpxmusicplayer/app/group"/>
     </component>
     <component name="mpxmusicplayer_build" filter="s60" long-name="MPX Music Player Build">
      <!--  can the exports be distributed to the above components?  -->
      <unit bldFile="app/musicplayer/mpxmusicplayer/group"/>
     </component>
    </collection>
    <collection name="musichomescreen_multiview" long-name="Music Home Screen Multiview" level="hs">
     <!-- Uncomment all units when configuration is in place. All currently #included from musichomescreen_build -->
     <component name="mpxcollectionpublisher" filter="s60" long-name="MPX Collection Publisher" introduced="^2" class="placeholder">
      <!--<unit bldFile="musichomescreen_multiview/mpxcollectionpublisher/group"/>-->
     </component>
     <component name="musiccontentpublisher" filter="s60" long-name="Music Content Publisher" introduced="^2" class="placeholder">
      <!--<unit bldFile="musichomescreen_multiview/musiccontentpublisher/group"/>-->
     </component>
     <component name="mcpmusicplayer" filter="s60" long-name="Music Player MCP Plugin" introduced="^2" plugin="Y" class="placeholder">
      <!--<unit bldFile="musichomescreen_multiview/mcpmusicplayer/group"/>-->
     </component>
     <component name="musicplayeractionhandlerplugin" filter="s60" long-name="Music Player Action Handler Plugin" introduced="^2" plugin="Y" class="placeholder">
      <!--<unit bldFile="musichomescreen_multiview/musicplayeractionhandlerplugin/group"/>-->
     </component>
     <component name="mpx_data" filter="s60" long-name="MPX Data" introduced="^2" class="placeholder">
      <!-- does this make sense to be a component? should it just be #include from musichomescreen_multiview/group? -->
      <!--<unit bldFile="musichomescreen_multiview/data/themes/default/group"/>-->
     </component>
     <component name="musichomescreen_build" filter="s60" long-name="Music Homescreen Multiview Build" introduced="^2">
      <unit bldFile="app/musicplayer/musichomescreen_multiview/group"/>
     </component>
    </collection>
    <collection name="mpxplugins" long-name="MPX Plugins" level="plugins">
     <component name="serviceplugins" filter="s60" long-name="MPX Service Plugins" plugin="Y">
      <unit bldFile="app/musicplayer/mpxplugins/serviceplugins/group"/>
     </component>
     <component name="viewplugins" filter="s60" long-name="MPX View Plugins" plugin="Y">
      <unit bldFile="app/musicplayer/mpxplugins/viewplugins/group"/>
     </component>
     <component name="mpxplugins_build" filter="s60" long-name="MPX Plugins Build">
      <!--  can the exports be distributed to the above components?  -->
      <unit bldFile="app/musicplayer/mpxplugins/group"/>
     </component>
    </collection>
    <collection name="musicplayer_info" long-name="Music Player Apps Info" level="app">
     <component name="musicplayer_build" filter="s60" long-name="Music Player Build">
      <!-- should explicitly #inlcude musicplayerbldvariant.hrh in each component  -->
      <unit bldFile="app/musicplayer/group"/>
     </component>
     <component name="musicplayer_plat" filter="s60" long-name="Music Player Apps Platform Interfaces" class="api">
      <unit bldFile="app/musicplayer/musicplayer_plat/group"/>
     </component>
    </collection>
   </block>
   <block name="radio" level="apps" long-name="Radio Apps" levels="engine ui">
    <collection name="fmradio" long-name="FM Radio" level="ui">
     <component name="activeidleengine" filter="s60" long-name="FM Radio Active Idle Engine">
      <unit bldFile="app/radio/fmradio/activeidleengine/group"/>
     </component>
     <component name="fmradioengine" filter="s60" long-name="FM Radio Engine">
      <unit bldFile="app/radio/fmradio/fmradioengine/group"/>
     </component>
     <component name="fmradioactionhandler" filter="s60" long-name="FM Radio Action Handler" plugin="Y">
      <unit bldFile="app/radio/fmradio/fmradioactionhandler/group"/>
     </component>
     <component name="fmradiomcpplugin" filter="s60" long-name="FM Radio Content Publisher Plugin" plugin="Y">
      <unit bldFile="app/radio/fmradio/fmradiomcpplugin/group"/>
     </component>
     <component name="fmradio_build" filter="s60" long-name="FM Radio Build">
      <unit bldFile="app/radio/fmradio/fmradio/group"/>
     </component>
     <component name="fmradio_help" filter="s60" long-name="FM Radio Help">
      <unit bldFile="app/radio/fmradio/help/group"/>
     </component>
     <component name="fmradio_build" filter="s60" long-name="FM Radio ROM">
      <!--  remove above #included bld.infs -->
      <unit bldFile="app/radio/fmradio/group"/>
     </component>
    </collection>
   </block>
   <block name="internetradio" level="apps" long-name="Internet Radio Apps"/>
   <block name="tv" level="services" long-name="TV Apps"/>
   <block name="voicerec" level="apps" long-name="Voice Recorder Apps">
    <!-- custom filter pref_test-->
    <collection name="voicerecorder" long-name="Voice Recorder">
     <!--this is really a component, move down a directory -->
     <component name="voicerecorder_build" filter="s60" long-name="Voice Recorder Build">
      <unit bldFile="app/voicerec/voicerecorder/group"/>
     </component>
    </collection>
    <collection name="voicerec_info" long-name="Voice Recorder Apps Info">
     <component name="voicerec_plat" filter="s60" long-name="Voice Recorder Apps Platform Interfaces" class="api">
      <unit bldFile="app/voicerec/voicerec_plat/group"/>
     </component>
    </collection>
   </block>
   <block name="screensaver" level="apps" long-name="Screen Saver Apps" levels="plugin ui">
    <!-- is this a user-facing application or a daemon? -->
    <!-- units need to be commented out until configuration is in place. They are currently #included from screensaver_build-->
    <collection name="scrsaver" long-name="Screen Saver" level="plugin">
     <component name="scrsaverplugins" filter="s60" long-name="Screen Saver Plugins" plugin="Y">
      <!-- must have only one component. #include from a common bld.inf, or move up a directory and make scrsaverplugins a collection -->
      <!--<unit bldFile="scrsaver/scrsaverplugins/ScreenSaverAnimPlugin/group/"/>
        <unit bldFile="scrsaver/scrsaverplugins/ScreenSaverGifAnimPlugin/group/"/>-->
     </component>
     <component name="scrsaver_slideshowplugin" filter="s60" long-name="Screen Saver Slideshow Plugin" plugin="Y">
      <!--<unit bldFile="scrsaver/scrsaverplugins/SlideshowPlugin/group"/>       -->
     </component>
     <component name="screensaveraiwplugin" filter="s60" long-name="Screen Saver AIW Plugin" plugin="Y">
      <!-- <unit bldFile="scrsaver/screensaveraiwplugin/group"/>-->
     </component>
    </collection>
    <collection name="screensaver_info" long-name="Screen Saver Apps Info" level="ui">
     <component name="screensaver_build" filter="s60" long-name="Screen Saver Application">
      <!--the app should be a separate component -->
      <unit bldFile="app/screensaver/group"/>
     </component>
    </collection>
   </block>
   <block name="homescreen" level="apps" long-name="Home Screen Apps" levels="fw support apps">
    <collection name="idlehomescreen" long-name="Idle Home Screen" level="apps">
     <component name="nativeuicontroller" filter="s60" long-name="Native UI Controller">
      <unit bldFile="app/homescreen/idlehomescreen/nativeuicontroller/group"/>
     </component>
     <component name="exths" filter="s60" long-name="Active Idle Container" plugin="Y">
      <!-- why is the ID so different from the name? Is one wrong? -->
      <unit bldFile="app/homescreen/idlehomescreen/exths/group"/>
     </component>
     <component name="hscontentcontrol" filter="s60" long-name="Home Screen Content Control" introduced="^3">
      <unit bldFile="app/homescreen/idlehomescreen/hscontentcontrol/group"/>
     </component>
     <component name="hssapiwrapper" filter="s60" long-name="HS SAPI Wrapper" introduced="^3">
      <!--  can only have one unit. #include from a common bld.inf, or split into two components -->
      <unit bldFile="app/homescreen/idlehomescreen/sapiwrapper/cpswrapper/group"/>
      <unit bldFile="app/homescreen/idlehomescreen/sapiwrapper/hspswrapper/group"/>
     </component>
     <component name="xmluirendering" filter="s60" long-name="XML UI Rendering" introduced="^3">
      <unit bldFile="app/homescreen/idlehomescreen/xmluirendering/group"/>
     </component>
     <component name="xmluicontroller" filter="s60" long-name="XML UI Controller" introduced="^3">
      <unit bldFile="app/homescreen/idlehomescreen/xmluicontroller/group"/>
     </component>
     <component name="widgetmanager" filter="s60" long-name="Widget Manager" introduced="^3">
      <unit bldFile="app/homescreen/idlehomescreen/widgetmanager/group"/>
     </component>
     <component name="idlehomescreen_help" filter="s60" long-name="Idle Home Screen Help">
      <unit bldFile="app/homescreen/idlehomescreen/help/group"/>
     </component>
     <component name="idlehomescreen_data" filter="s60" long-name="Idle Home Screen Data">
      <unit bldFile="app/homescreen/idlehomescreen/data/group"/>
     </component>
     <component name="idlehomescreen_build" filter="s60" long-name="Idle Home Screen Build">
      <!-- can the loc file be moved to another comopnent and this one removed? -->
      <unit bldFile="app/homescreen/idlehomescreen/group"/>
     </component>
    </collection>
    <collection name="menufw" long-name="Menu Framework" level="fw">
     <component name="hierarchynavigator" filter="s60" long-name="Hierarchy Navigator">
      <unit bldFile="app/homescreen/menufw/hierarchynavigator/group"/>
     </component>
     <component name="menufwui" filter="s60" long-name="Menu Framework UI">
      <unit bldFile="app/homescreen/menufw/menufwui/group"/>
     </component>
     <component name="menusuites" filter="s60" long-name="Menu Suites">
      <unit bldFile="app/homescreen/menufw/menusuites/group"/>
     </component>
     <component name="menufw_build" filter="s60" long-name="Menu Framework Build">
      <!-- can the exports be exported by the other components? -->
      <unit bldFile="app/homescreen/menufw/group"/>
     </component>
    </collection>
    <collection name="taskswitcher" long-name="Task Switcher" level="support">
     <component name="contextengine" filter="s60" long-name="Context Engine" introduced="^3">
      <unit bldFile="app/homescreen/taskswitcher/contextengine/group"/>
     </component>
     <component name="taskswitcherui" filter="s60" long-name="Task Switcher UI" introduced="^3">
      <unit bldFile="app/homescreen/taskswitcher/taskswitcherui/group"/>
     </component>
    </collection>
    <collection name="homescreen_info" long-name="Home Screen Apps Info" level="apps">
     <component name="homescreen_plat" filter="s60" long-name="Home Screen Apps Platform Interfaces" class="api">
      <unit bldFile="app/homescreen/homescreen_plat/group"/>
     </component>
    </collection>
   </block>
   <block name="graphicsuis" level="services" long-name="Graphics UIs" levels="util ui">
    <collection name="graphicsuis_info" long-name="Graphics UIs Info" level="ui">
     <component name="graphicsuis_plat" filter="s60" long-name="Graphics UIs Platform Interfaces" class="api">
      <unit bldFile="app/graphicsuis/graphicsuis_plat/group"/>
     </component>
    </collection>
    <collection name="svgtviewer" long-name="SVG-T Viewer" level="ui">
     <component name="svgtviewerplugin" filter="s60" long-name="SVG-T Viewer Plugin">
      <unit bldFile="app/graphicsuis/svgtviewer/svgtviewerplugin/group"/>
     </component>
    </collection>
   </block>
   <block name="profile" level="apps" long-name="Profiles" levels="app">
    <collection name="profilesapplication" long-name="Profiles Application" level="app">
     <component name="profiles" filter="s60" long-name="Profiles">
      <unit bldFile="app/profile/profilesapplication/profiles/group"/>
     </component>
    </collection>
    <collection name="profile_info" long-name="Profiles Info" level="app">
     <component name="profile_plat" filter="s60" long-name="Profiles Platform Interfaces" class="api">
      <unit bldFile="app/profile/profile_plat/group"/>
     </component>
     <component name="profile_help" filter="s60" long-name="Profiles Help">
      <unit bldFile="app/profile/help/group"/>
     </component>
    </collection>
   </block>
   <block name="speechsrv" level="services" long-name="Speech Recognition UIs" levels="engine framework ui">
    <collection name="voiceui" long-name="Voice UI" level="ui">
     <component name="vcommand" filter="s60" long-name="Voice Commands UI" introduced="^1">
      <unit bldFile="app/speechsrv/voiceui/vcommand/group"/>
     </component>
     <component name="voiceuivoicerecognition" filter="s60" long-name="Voice UI Recognition" introduced="^1">
      <unit bldFile="app/speechsrv/voiceui/voiceuivoicerecognition/group"/>
     </component>
     <component name="pbkinfoviewimpl" filter="s60" long-name="Phonebook Info View Implementation" introduced="^1">
      <unit bldFile="app/speechsrv/voiceui/pbkinfoviewimpl/group"/>
     </component>
     <component name="aiwpbkinfoviewprovider" filter="s60" long-name="AIW Phonebook Info View Provider" introduced="^1" plugin="Y">
      <unit bldFile="app/speechsrv/voiceui/aiwpbkinfoviewprovider/group"/>
     </component>
     <component name="vccontrolpanelplugin" filter="s60" long-name="Voice Commands Control Panel Plugin" introduced="^1" plugin="Y">
      <!-- component is commented out until configuration is in place. Currently #included from voiceui_build -->
      <!--<unit bldFile="voiceui/vccontrolpanelplugin/group"/>-->
     </component>
     <component name="voiceui_build" filter="s60" long-name="Voice UI Build" introduced="^1">
      <!--  can this be put into the other components? -->
      <unit bldFile="app/speechsrv/voiceui/group"/>
     </component>
    </collection>
    <collection name="srsf" long-name="Speech Recognition and Synthesis Framework" level="framework">
     <component name="sispeechrecognitiondata" filter="s60" long-name="SI Speech Recognition Data">
      <unit bldFile="app/speechsrv/srsf/sispeechrecognitiondata/group"/>
     </component>
     <component name="ttscommon" filter="s60" long-name="TTS Common">
      <unit bldFile="app/speechsrv/srsf/ttscommon/group"/>
     </component>
     <component name="devtts" filter="s60" long-name="Text to Speech">
      <unit bldFile="app/speechsrv/srsf/devtts/group"/>
     </component>
     <component name="ttscustomcommands" filter="s60" long-name="TTS Custom Commands">
      <unit bldFile="app/speechsrv/srsf/ttscustomcommands/group"/>
     </component>
     <component name="ttscontrollerplugin" filter="s60" long-name="TTS Controller Plugin" plugin="Y">
      <unit bldFile="app/speechsrv/srsf/ttscontrollerplugin/group"/>
     </component>
     <component name="ttsutility" filter="s60" long-name="TTS Utility">
      <unit bldFile="app/speechsrv/srsf/ttsutility/group"/>
     </component>
     <component name="speechsynthesis" filter="s60" long-name="Speech Synthesis">
      <!-- can only have one unit. #include these from a common bld.inf -->
      <unit bldFile="app/speechsrv/srsf/speechsynthesis/client/group"/>
      <unit bldFile="app/speechsrv/srsf/speechsynthesis/server/group"/>
     </component>
     <component name="devasr" filter="s60" long-name="Audio Recording and Speech Recognition">
      <unit bldFile="app/speechsrv/srsf/devasr/group"/>
     </component>
     <component name="sicc" filter="s60" long-name="Speaker Independent Custom Commands">
      <unit bldFile="app/speechsrv/srsf/sicc/group"/>
     </component>
     <component name="sisrscontrollerplugin" filter="s60" long-name="SI SRS Controller Plugin" plugin="Y">
      <unit bldFile="app/speechsrv/srsf/sisrscontrollerplugin/group"/>
     </component>
     <component name="siutility" filter="s60" long-name="Speaker Independent Utility">
      <unit bldFile="app/speechsrv/srsf/siutility/group"/>
     </component>
     <component name="nssvasapi" filter="s60" long-name="NSS VAS API">
      <unit bldFile="app/speechsrv/srsf/nssvasapi/group"/>
     </component>
     <component name="nssvascontacthdlr" filter="s60" long-name="NSS VAS Contact Handler">
      <unit bldFile="app/speechsrv/srsf/nssvascontacthdlr/group"/>
     </component>
     <component name="vcommandhandler" filter="s60" long-name="Voice Command Handler">
      <unit bldFile="app/speechsrv/srsf/vcommandhandler/group"/>
     </component>
     <component name="vuiphandler" filter="s60" long-name="Voice UI Plugin Handler">
      <unit bldFile="app/speechsrv/srsf/vuiphandler/group"/>
     </component>
     <component name="vcommandexecutor" filter="s60" long-name="Voice Command Executor">
      <unit bldFile="app/speechsrv/srsf/vcommandexecutor/group"/>
     </component>
     <component name="vcommandexecutorbearer" filter="s60" long-name="Voice Command Executor Bearer">
      <unit bldFile="app/speechsrv/srsf/vcommandexecutorbearer/group"/>
     </component>
     <component name="vcommandmanager" filter="s60" long-name="Voice Command Manager">
      <unit bldFile="app/speechsrv/srsf/vcommandmanager/group"/>
     </component>
     <component name="vcexecutorapp" filter="s60" long-name="Voice Command Executor Application">
      <unit bldFile="app/speechsrv/srsf/vcexecutorapp/group"/>
     </component>
     <component name="profileobserverplugin" filter="s60" long-name="Profile Observer Plugin" plugin="Y">
      <unit bldFile="app/speechsrv/srsf/profileobserverplugin/group"/>
     </component>
     <component name="srsf_build" filter="s60" long-name="Speech Recognition and Synthesis Framework Build">
      <!-- should distribute this into the above components -->
      <unit bldFile="app/speechsrv/srsf/group"/>
     </component>
    </collection>
    <collection name="speechsrv_info" long-name="Speech Recognition UIs Info" level="ui">
     <component name="speechsrv_plat" filter="s60" long-name="Speech Recognition UIs Platform Interfaces" class="api">
      <unit bldFile="app/speechsrv/speechsrv_plat/group"/>
     </component>
    </collection>
   </block>
   <block name="homescreentools" level="services" long-name="Home Screen Tools" levels="tool install">
    <collection name="dtdinstaller" long-name="DTD Installer" level="install">
     <!-- collection is really a component. Needs to be moved down a directory -->
     <!-- this needs to be built first, does build order need to be forced with filters? -->
     <component name="dtdinstaller_build" filter="s60" long-name="DTD Installer Build" class="tool PC">
      <unit bldFile="app/homescreentools/dtdinstaller/group"/>
     </component>
    </collection>
    <collection name="themeinstaller" long-name="Theme Installer" level="install">
     <!-- collection is really a component. Needs to be moved down a directory -->
     <component name="themeinstaller_build" filter="s60" long-name="Theme Installer Build" class="tool PC">
      <unit bldFile="app/homescreentools/themeinstaller/group"/>
     </component>
    </collection>
    <collection name="widgettools" long-name="Widget Tools" level="install">
     <component name="hspluginpreinstaller" filter="s60" long-name="HS Plugin Preinstaller" introduced="^3" class="tool PC">
      <unit bldFile="app/homescreentools/widgettools/hspluginspreinstaller/group"/>
     </component>
     <component name="wrtwidgetpreinstaller" filter="s60" long-name="WRT Widget Preinstaller" introduced="^3" class="tool PC">
      <unit bldFile="app/homescreentools/widgettools/wrtwidgetpreinstaller/group"/>
     </component>
    </collection>
   </block>
   <block name="webuis" level="services" long-name="Web UIs" levels="plugin app">
    <collection name="browserui" long-name="Browser UI" level="app">
     <component name="browser" filter="s60" long-name="Browser">
      <unit bldFile="app/webuis/browserui/browser/group"/>
     </component>
     <component name="operatormenu" filter="s60" long-name="Browser Operator Menu">
      <unit bldFile="app/webuis/browserui/operatormenu/group"/>
     </component>
     <component name="videoservices" filter="s60" long-name="Browser Video Services">
      <unit bldFile="app/webuis/browserui/videoservices/group"/>
     </component>
    </collection>
    <collection name="browserplugins" long-name="Browser Plugins" level="plugin">
     <component name="browsersysteminfoplugin" filter="s60" long-name="Browser System Info Plugin" plugin="Y">
      <!-- uncomment the unit when configuration is in place, it's currently #included from browserplugins_build -->
      <!-- <unit bldFile="browserplugins/browsersysteminfoplugin/group"/>-->
     </component>
     <component name="browsergpsplugin" filter="s60" long-name="Browser GPS Plugin" plugin="Y">
      <!-- uncomment the unit when configuration is in place, it's currently #included from browserplugins_build -->
      <!-- <unit bldFile="browserplugins/browsergpsplugin/group"/>-->
     </component>
     <component name="browseraudiovideoplugin" filter="s60" long-name="Browser Audio Video Plugin" plugin="Y">
      <unit bldFile="app/webuis/browserplugins/browseraudiovideoplugin/group"/>
     </component>
     <component name="browserplugins_build" filter="s60" long-name="Browser Plugins Build">
      <!-- when configuration is in place, the #ifdef is no longer needed and this component can be removed -->
      <unit bldFile="app/webuis/browserplugins/group"/>
     </component>
    </collection>
    <collection name="pushmtm" long-name="Push MTM" level="plugin">
     <component name="pushmtm_help" filter="s60" long-name="Push MTM Help">
      <unit bldFile="app/webuis/pushmtm/help/group"/>
     </component>
     <component name="plugins" filter="s60" long-name="Push MTM Plugins" plugin="Y">
      <unit bldFile="app/webuis/pushmtm/plugins/group"/>
     </component>
     <component name="pushmtm_build" filter="s60" long-name="Push MTM Build">
      <!-- Some content is at collection level and some is at comopnent level. Either make this a single
			component and move it down a diretcory, or make separate independent components in this collection -->
      <unit bldFile="app/webuis/pushmtm/group"/>
     </component>
    </collection>
   </block>
   <block name="jrt" level="services" long-name="Java Runtime" levels="util generic rt ui">
    <collection name="java_stubs" long-name="Java Stubs" level="util">
     <!-- uncomment all components when configuration is in place. Currently #included from jrt_build -->
     <component name="javadrmutils" long-name="Java DRM Utils" filter="s60,sf_build" class="placeholder">
      <!--<unit bldFile="java_stubs/jrtdrmutils/group"/>-->
     </component>
     <component name="javaenvinfo" long-name="Java Environment Info" filter="s60,sf_build" class="placeholder">
      <!--<unit bldFile="java_stubs/jrtenvinfo/group"/>-->
     </component>
     <component name="javaregistry" filter="s60,sf_build" long-name="Java Registry" class="placeholder">
      <!--<unit bldFile="java_stubs/jrtregistry/clientserver/client/group"/>-->
     </component>
     <component name="java_stubs_build" filter="s60,sf_build" long-name="Java Stubs ROM" class="placeholder">
      <!-- Remove the #includes and rename JRT ROM-->
      <!--<unit bldFile="java_stubs/group"/>-->
     </component>
    </collection>
    <collection name="jrt_info" long-name="JRT Info" level="rt">
     <component name="jrt_plat" filter="s60" long-name="JRT Platform Interfaces" class="api">
      <unit bldFile="app/jrt/jrt_plat/group"/>
     </component>
     <component name="jrt_build" filter="s60" long-name="JRT Build">
      <!--  needed for __JAVA_STUBS condition -->
      <unit bldFile="app/jrt/java_stubs/group"/>
     </component>
    </collection>
   </block>
   <block name="conntools" level="services" long-name="Connectivity Tools" levels="config app">
    <collection name="nettools" long-name="Net Tools" level="app">
     <component name="conntest" filter="s60" long-name="Connection Test" purpose="development">
      <unit bldFile="app/conntools/nettools/conntest/group"/>
     </component>
    </collection>
    <collection name="emulatorlan" long-name="Emulator LAN" level="config">
     <!-- component is actually a colleciton, should be moved down a directory -->
     <component name="emulatorlan_build" filter="s60" long-name="Emulator LAN Build" purpose="development" class="config">
      <unit bldFile="app/conntools/emulatorlan/group"/>
     </component>
    </collection>
   </block>
   <block name="rndtools" level="services" long-name="R&amp;D tools" levels="support generic test util">
    <collection name="creator" long-name="Creator" level="support">
     <!-- collection is really a component. Should move down a directory -->
     <component name="creator_build" filter="s60" long-name="Creator Tool" purpose="development" class="tool">
      <unit bldFile="app/rndtools/creator/group"/>
     </component>
    </collection>
    <collection name="filebrowser" long-name="File Browser" level="util">
     <!-- consider collapsing into a single component -->
     <component name="fileopserver" filter="s60" long-name="File Operations Server" purpose="development" class="tool">
      <!-- uncomment the unit when configuration is in place, it's currently #included from filebrowser_build -->
      <!-- <unit bldFile="filebrowser/fileopserver/group"/>-->
     </component>
     <component name="fileopclient" filter="s60" long-name="File Operations Client" purpose="development" class="tool">
      <!-- uncomment the unit when configuration is in place, it's currently #included from filebrowser_build -->
      <!--<unit bldFile="filebrowser/fileopclient/group"/>-->
     </component>
     <component name="filebrowser_build" filter="s60" long-name="File Browser Application" purpose="development" class="tool">
      <!-- Need to make this a self-contained component by removing #includes. Can only do when configuration is in place-->
      <unit bldFile="app/rndtools/filebrowser/group"/>
     </component>
    </collection>
    <collection name="launcher" long-name="Launcher" level="util">
     <!-- collection is really a component. Should move down a directory -->
     <component name="launcher_build" filter="s60" long-name="Launcher Utility" purpose="development" class="tool">
      <unit bldFile="app/rndtools/launcher/group"/>
     </component>
    </collection>
    <collection name="loadgen" long-name="Load Generator" level="test">
     <!-- collection is really a component. Should move down a directory -->
     <component name="loadgen_build" filter="s60" long-name="Load Generator Application" purpose="development" class="tool">
      <unit bldFile="app/rndtools/loadgen/group"/>
     </component>
    </collection>
    <collection name="perfmon" long-name="Performance Monitor" level="test">
     <!-- collection is really a component. Should move down a directory -->
     <component name="perfmon_build" filter="s60" long-name="Performance Monitor Tool" purpose="development" class="tool">
      <unit bldFile="app/rndtools/perfmon/group"/>
     </component>
    </collection>
    <collection name="screengrabber" long-name="Screen Grabber" level="util">
     <!-- collection is really a component. Should move down a directory -->
     <component name="screengrabber_build" filter="s60" long-name="ScreenGrabber" purpose="development" class="tool">
      <unit bldFile="app/rndtools/screengrabber/group"/>
     </component>
    </collection>
    <collection name="stifui" long-name="STIF UI" level="generic">
     <component name="stifui_stifui" filter="s60" long-name="STIF UI" purpose="development">
      <unit bldFile="app/rndtools/stifui/stifui/group"/>
     </component>
     <component name="uitestserverstarter" filter="s60" long-name="UI Test Server Starter" purpose="development">
      <unit bldFile="app/rndtools/stifui/uitestserverstarter/group"/>
     </component>
     <component name="stifui_build" filter="s60" long-name="STIF UI Build" purpose="development">
      <!-- can this be split up into the other components or made a ROM component? -->
      <unit bldFile="app/rndtools/stifui/group"/>
     </component>
    </collection>
    <collection name="memspyui" long-name="Memspy UI" level="generic">
     <!-- collection is really a component. Should move down a directory -->
     <component name="memspyui_build" filter="s60" long-name="Memspy UI Application" purpose="development" class="tool">
      <unit bldFile="app/rndtools/memspyui/group"/>
     </component>
    </collection>
    <collection name="htiui" long-name="Harmonized Test Interface UI" level="generic">
     <component name="HtiCommPlugins" filter="s60" long-name="HTI Comm Plugins" purpose="development" plugin="Y">
      <unit bldFile="app/rndtools/htiui/HtiCommPlugins/HtiBtCommPlugin/group"/>
     </component>
     <component name="HtiServicePlugins" filter="s60" long-name="HTI Service Plugins" purpose="development" plugin="Y">
      <!-- can only have a single unit. Should #include from a common bld.inf file -->
      <unit bldFile="app/rndtools/htiui/HtiServicePlugins/HtiAppServicePlugin/group"/>
      <unit bldFile="app/rndtools/htiui/HtiServicePlugins/HtiAudioServicePlugin/group"/>
      <unit bldFile="app/rndtools/htiui/HtiServicePlugins/HtiKeyEventServicePlugin/group"/>
      <unit bldFile="app/rndtools/htiui/HtiServicePlugins/HtiMessagesServicePlugin/group"/>
      <unit bldFile="app/rndtools/htiui/HtiServicePlugins/HtiPIMServicePlugin/group"/>
      <unit bldFile="app/rndtools/htiui/HtiServicePlugins/HtiScreenshotServicePlugin/group"/>
      <unit bldFile="app/rndtools/htiui/HtiServicePlugins/HtiSysInfoServicePlugin/group"/>
      <unit bldFile="app/rndtools/htiui/HtiServicePlugins/HtiFtpBackupFake/group"/>
     </component>
     <component name="htidevicereboot" filter="s60" long-name="HTI Device Reboot" purpose="development">
      <unit bldFile="app/rndtools/htiui/htidevicereboot/group"/>
     </component>
     <component name="htistartupwait" filter="s60" long-name="HTI Startup Wait" purpose="development">
      <unit bldFile="app/rndtools/htiui/htistartupwait/group"/>
     </component>
     <component name="htiadmin" filter="s60" long-name="HTI Admin" purpose="development">
      <unit bldFile="app/rndtools/htiui/htiadmin/group"/>
     </component>
     <component name="htiui_build" filter="s60" long-name="HTI UI Build" purpose="development">
      <!-- can this be split up into the other components or made a ROM component? -->
      <unit bldFile="app/rndtools/htiui/group"/>
     </component>
    </collection>
   </block>
   <block name="helps" level="apps" span="2" long-name="Help Apps" levels="eng tools if ui">
    <collection name="csxhelp" long-name="Context Sensitive Extended Help" level="if">
     <!-- this is really a component. Should move it down a directory -->
     <component name="csxhelp_build" filter="s60" long-name="Context Sensitive Extended Help Build">
      <unit bldFile="app/helps/csxhelp/group"/>
     </component>
    </collection>
    <collection name="symhelp" long-name="Symbian Help" level="eng">
     <component name="helpmodel" long-name="Help" introduced="6.0" purpose="optional">
      <unit bldFile="app/helps/symhelp/helpmodel/group" mrp="app/helps/symhelp/helpmodel/group/app-services_hlpmodel.mrp"/>
     </component>
    </collection>
    <collection name="helps_info" long-name="Help Apps Info" level="ui">
     <component name="helps_metadata" long-name="Help Apps Metadata" introduced="^2" purpose="development" class="config PC">
      <unit mrp="app/helps/helps_info/helps_metadata/helps_metadata.mrp"/>
     </component>
    </collection>
   </block>
   <block name="techview" level="apps" span="2" long-name="Techview" levels="services ui utils apps1 apps2 apps3">
    <collection name="buildverification" long-name="Build Verification" level="services">
     <component name="autosmoketest" long-name="Auto Smoke Test" filter="gt" purpose="development" introduced="9.1">
      <unit bldFile="app/techview/buildverification/autosmoketest/Group" mrp="app/techview/buildverification/autosmoketest/Group/testtools_autosmoketest.mrp"/>
     </component>
     <component name="smoketest" long-name="Smoke Test" filter="gt" purpose="development">
      <unit bldFile="app/techview/buildverification/smoketest/Group" mrp="app/techview/buildverification/smoketest/Group/testtools_smoketest.mrp"/>
     </component>
    </collection>
    <collection name="techviewplat" long-name="Techview Platform" level="services"/>
    <collection name="techviewui" long-name="Techview UI" level="ui"/>
    <collection name="controlpanel" long-name="Control Panel" level="ui"/>
    <collection name="pimapps" long-name="PIM Apps" level="apps3"/>
    <collection name="securityapps" long-name="Security Apps" level="apps3"/>
    <collection name="utilityapps" long-name="Utility Apps" level="apps2"/>
    <collection name="installationapps" long-name="Installation Apps" level="apps2"/>
    <collection name="messagingapps" long-name="Messaging Apps" level="apps2"/>
    <collection name="telephonyapps" long-name="Telephony Apps" level="apps1"/>
    <collection name="networkingapps" long-name="Networking Apps" level="apps1"/>
    <collection name="networkingutils" long-name="Networking Utils" level="utils"/>
    <collection name="shortlinkapps" long-name="Shortlink Apps" level="apps1"/>
    <collection name="testapps" long-name="Test Apps" level="utils"/>
    <collection name="avapps" long-name="A/V Apps" level="apps3"/>
    <collection name="toolkit" long-name="Toolkit" level="utils"/>
    <collection name="techview_info" long-name="Techview Info" level="apps3">
     <component name="techview_metadata" long-name="Techview Metadata" introduced="^2" purpose="development" class="config PC">
      <unit mrp="app/techview/techview_info/techview_metadata/techview_metadata.mrp"/>
     </component>
    </collection>
   </block>
  </layer>
 </systemModel>
</SystemDefinition>