Detail more packages for mw layer HighFidelityModel
authorBob Rosenberg <bob.rosenberg@nokia.com>
Mon, 01 Feb 2010 16:11:43 +0000
branchHighFidelityModel
changeset 44 0b761d12ae12
parent 43 35cc8ff825d7
child 45 262790aa488d
child 54 62d0e50840f8
Detail more packages for mw layer
symbian3/mw/helix/package_definition.xml
symbian3/mw/helix/package_definition_3.0.xml
symbian3/mw/homescreensrv/package_definition.xml
symbian3/mw/homescreensrv/package_definition_3.0.xml
symbian3/mw/imghandling/package_definition.xml
symbian3/mw/imghandling/package_definition_3.0.xml
symbian3/mw/imsrv/package_definition.xml
symbian3/mw/imsrv/package_definition_3.0.xml
symbian3/mw/inputmethods/package_definition.xml
symbian3/mw/inputmethods/package_definition_3.0.xml
symbian3/mw/ipappprotocols/package_definition.xml
symbian3/mw/ipappprotocols/package_definition_3.0.xml
symbian3/mw/ipappsrv/package_definition.xml
symbian3/mw/ipappsrv/package_definition_3.0.xml
symbian3/mw/ipconnmgmt/package_definition.xml
symbian3/mw/ipconnmgmt/package_definition_3.0.xml
symbian3/mw/legacypresence/package_definition.xml
symbian3/mw/legacypresence/package_definition_3.0.xml
symbian3/mw/locationsrv/package_definition.xml
symbian3/mw/locationsrv/package_definition_3.0.xml
symbian3/mw/mds/package_definition.xml
symbian3/mw/mds/package_definition_3.0.xml
symbian3/mw/messagingmw/package_definition.xml
symbian3/mw/messagingmw/package_definition_3.0.xml
symbian3/mw/metadatasrv/package_definition.xml
symbian3/mw/metadatasrv/package_definition_3.0.xml
symbian3/mw/mmappfw/package_definition.xml
symbian3/mw/mmappfw/package_definition_3.0.xml
symbian3/mw/mmuifw/package_definition.xml
symbian3/mw/mmuifw/package_definition_3.0.xml
symbian3/os/deviceplatformrelease/foundation_system/system_model/system_definition.xml
--- a/symbian3/mw/helix/package_definition.xml	Fri Jan 29 16:25:53 2010 +0000
+++ b/symbian3/mw/helix/package_definition.xml	Mon Feb 01 16:11:43 2010 +0000
@@ -1,109 +1,82 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE SystemDefinition [
- <!ELEMENT SystemDefinition (systemModel?,SystemBuild?)>
- <!ATTLIST SystemDefinition
-  name CDATA #REQUIRED
-  schema CDATA #REQUIRED>
- <!ELEMENT systemModel (layer+)>
- <!ELEMENT layer (block*|collection*)*>
- <!ATTLIST layer
-  name CDATA #REQUIRED
-  long-name CDATA #IMPLIED
-  levels NMTOKENS #IMPLIED
-  span CDATA #IMPLIED>
- <!ELEMENT block (subblock*|collection*)*>
- <!ATTLIST block
-  levels NMTOKENS #IMPLIED
-  span CDATA #IMPLIED
-  level NMTOKEN #IMPLIED
-  name CDATA #REQUIRED
-  long-name CDATA #IMPLIED>
- <!ELEMENT subblock (collection)*>
- <!ATTLIST subblock
-  name CDATA #REQUIRED
-  long-name CDATA #IMPLIED>
- <!ELEMENT collection (component)*>
- <!ATTLIST collection
-  name CDATA #REQUIRED
-  long-name CDATA #IMPLIED
-  level NMTOKEN #IMPLIED>
- <!ELEMENT component (unit)*>
- <!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>
- <!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>
- <!ELEMENT SystemBuild (option*|target+|targetList+|list+|configuration+)*>
- <!ATTLIST SystemBuild schema CDATA #REQUIRED>
- <!ELEMENT list (ref+)>
- <!ATTLIST list
-  name ID #REQUIRED
-  description CDATA #REQUIRED>
- <!ELEMENT ref EMPTY>
- <!ATTLIST ref item CDATA #REQUIRED>
- <!ELEMENT targetList EMPTY>
- <!ATTLIST targetList
-  name ID #REQUIRED
-  description CDATA #REQUIRED
-  target IDREFS #REQUIRED>
- <!ELEMENT target EMPTY>
- <!ATTLIST target
-  name ID #REQUIRED
-  abldTarget CDATA #REQUIRED
-  description CDATA #REQUIRED>
- <!ELEMENT option EMPTY>
- <!ATTLIST option
-  name ID #REQUIRED
-  abldOption CDATA #REQUIRED
-  description CDATA #REQUIRED
-  enable (Y|N) #REQUIRED>
- <!ELEMENT configuration (listRef+|ref+|task+)*>
- <!ATTLIST configuration
-  name ID #REQUIRED
-  description CDATA #REQUIRED
-  filter CDATA #REQUIRED>
- <!ELEMENT task (listRef*,(buildLayer|specialInstructions))>
- <!ELEMENT listRef EMPTY>
- <!ATTLIST listRef list CDATA #REQUIRED>
- <!ELEMENT buildLayer EMPTY>
- <!ATTLIST buildLayer
-  command CDATA #REQUIRED
-  targetList IDREFS #IMPLIED
-  unitParallel (Y|N) #REQUIRED
-  targetParallel (Y|N) 'N'>
- <!ELEMENT specialInstructions EMPTY>
- <!ATTLIST specialInstructions
-  name CDATA #REQUIRED
-  cwd CDATA #REQUIRED
-  root CDATA #IMPLIED
-  command CDATA #REQUIRED>
-]>
-<SystemDefinition schema="2.0.1" name="Symbian^3">
-<systemModel>
-<layer name="mw">
-<block name="helix">
-<collection name="s60">
-<component name="helix_stub">
-<unit bldFile="/sf/mw/helix/helix_ren/helix_stub/group" mrp=""/>
-</component>
-</collection>
-</block>
-</layer>
-</systemModel>
+<!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="mw" long-name="Middleware" levels="generic specific">
+      <block name="helix" level="generic" long-name="../../../../mw/helix/package_definition.xml"/>
+    </layer>
+  </systemModel>
 </SystemDefinition>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/symbian3/mw/helix/package_definition_3.0.xml	Mon Feb 01 16:11:43 2010 +0000
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<SystemDefinition schema="3.0.0">
+  <package id="helix" name="Helix" levels="plugin framework server generic specific">
+    <collection id="helix_ren" name="Helix Engine" level="framework">
+    	<!-- what does "ren" stand for? -->
+      <component id="helix_stub" filter="s60" name="Helix Stub" class="api" introduced="^2">
+        <unit bldFile="helix_ren/helix_stub/group"/>
+      </component>
+    </collection>
+  </package>
+</SystemDefinition>
--- a/symbian3/mw/homescreensrv/package_definition.xml	Fri Jan 29 16:25:53 2010 +0000
+++ b/symbian3/mw/homescreensrv/package_definition.xml	Mon Feb 01 16:11:43 2010 +0000
@@ -1,109 +1,212 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE SystemDefinition [
- <!ELEMENT SystemDefinition (systemModel?,SystemBuild?)>
- <!ATTLIST SystemDefinition
-  name CDATA #REQUIRED
-  schema CDATA #REQUIRED>
- <!ELEMENT systemModel (layer+)>
- <!ELEMENT layer (block*|collection*)*>
- <!ATTLIST layer
-  name CDATA #REQUIRED
-  long-name CDATA #IMPLIED
-  levels NMTOKENS #IMPLIED
-  span CDATA #IMPLIED>
- <!ELEMENT block (subblock*|collection*)*>
- <!ATTLIST block
-  levels NMTOKENS #IMPLIED
-  span CDATA #IMPLIED
-  level NMTOKEN #IMPLIED
-  name CDATA #REQUIRED
-  long-name CDATA #IMPLIED>
- <!ELEMENT subblock (collection)*>
- <!ATTLIST subblock
-  name CDATA #REQUIRED
-  long-name CDATA #IMPLIED>
- <!ELEMENT collection (component)*>
- <!ATTLIST collection
-  name CDATA #REQUIRED
-  long-name CDATA #IMPLIED
-  level NMTOKEN #IMPLIED>
- <!ELEMENT component (unit)*>
- <!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>
- <!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>
- <!ELEMENT SystemBuild (option*|target+|targetList+|list+|configuration+)*>
- <!ATTLIST SystemBuild schema CDATA #REQUIRED>
- <!ELEMENT list (ref+)>
- <!ATTLIST list
-  name ID #REQUIRED
-  description CDATA #REQUIRED>
- <!ELEMENT ref EMPTY>
- <!ATTLIST ref item CDATA #REQUIRED>
- <!ELEMENT targetList EMPTY>
- <!ATTLIST targetList
-  name ID #REQUIRED
-  description CDATA #REQUIRED
-  target IDREFS #REQUIRED>
- <!ELEMENT target EMPTY>
- <!ATTLIST target
-  name ID #REQUIRED
-  abldTarget CDATA #REQUIRED
-  description CDATA #REQUIRED>
- <!ELEMENT option EMPTY>
- <!ATTLIST option
-  name ID #REQUIRED
-  abldOption CDATA #REQUIRED
-  description CDATA #REQUIRED
-  enable (Y|N) #REQUIRED>
- <!ELEMENT configuration (listRef+|ref+|task+)*>
- <!ATTLIST configuration
-  name ID #REQUIRED
-  description CDATA #REQUIRED
-  filter CDATA #REQUIRED>
- <!ELEMENT task (listRef*,(buildLayer|specialInstructions))>
- <!ELEMENT listRef EMPTY>
- <!ATTLIST listRef list CDATA #REQUIRED>
- <!ELEMENT buildLayer EMPTY>
- <!ATTLIST buildLayer
-  command CDATA #REQUIRED
-  targetList IDREFS #IMPLIED
-  unitParallel (Y|N) #REQUIRED
-  targetParallel (Y|N) 'N'>
- <!ELEMENT specialInstructions EMPTY>
- <!ATTLIST specialInstructions
-  name CDATA #REQUIRED
-  cwd CDATA #REQUIRED
-  root CDATA #IMPLIED
-  command CDATA #REQUIRED>
-]>
-<SystemDefinition schema="2.0.1" name="Symbian^3">
-<systemModel>
-<layer name="mw">
-<block name="homescreensrv">
-<collection name="s60">
-<component name="homescreensrv">
-<unit bldFile="/sf/mw/homescreensrv/group" mrp=""/>
-</component>
-</collection>
-</block>
-</layer>
-</systemModel>
+<!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="mw" long-name="Middleware" levels="generic specific">
+      <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="/sf/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="/sf/mw/homescreensrv/homescreenpluginsrv/group"/>
+          </component>
+        </collection>
+        <collection name="idlefw" long-name="Idle Framework" level="framework">
+          <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="/sf/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="/sf/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="/sf/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="/sf/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="/sf/mw/homescreensrv/contentpublishingsrv/contentpublishingutils/group"/>
+            <!-- should only have one bld.inf, does the below need to be #included in the above ? -->
+            <unit bldFile="/sf/mw/homescreensrv/contentpublishingsrv/contentpublishingutils/contentpublishingdebug/group"/>
+          </component>
+          <component name="contentpublishingserver" filter="s60" long-name="Content Publishing Server">
+            <unit bldFile="/sf/mw/homescreensrv/contentpublishingsrv/contentpublishingserver/group"/>
+          </component>
+          <component name="contentharvester" filter="s60" long-name="Content Harvester">
+            <unit bldFile="/sf/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="/sf/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="/sf/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="/sf/mw/homescreensrv/contentcontrolsrv/ccsrv/group"/>
+          </component>
+          <component name="ccsrvapi" long-name="Content Control Service API" filter="s60" introduced="^3" class="api">
+            <unit bldFile="/sf/mw/homescreensrv/contentcontrolsrv/ccsrvapi/group"/>
+          </component>
+          <component name="ccclientsession" long-name="Content Control Client Session" filter="s60" introduced="^3">
+            <unit bldFile="/sf/mw/homescreensrv/contentcontrolsrv/ccclientsession/group"/>
+          </component>
+          <component name="hsccclient" long-name="HS Content Control Client" filter="s60" introduced="^3">
+            <unit bldFile="/sf/mw/homescreensrv/contentcontrolsrv/hsccclient/group"/>
+          </component>
+          <component name="hscontentinfo" long-name="Home Screen Content Info" filter="s60" introduced="^3">
+            <unit bldFile="/sf/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="/sf/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="/sf/mw/homescreensrv/homescreensrv_plat/group"/>
+          </component>
+          <component name="homescreensrv_api_tests" filter="s60,api_test" long-name="Home Screen Services Platform API Tests" purpose="developement">
+            <!--  split into components or #include from common bld.inf -->
+            <unit bldFile="/sf/mw/homescreensrv/homescreensrv_plat/content_harvester_plugin_api/tsrc/group"/>
+            <unit bldFile="/sf/mw/homescreensrv/homescreensrv_plat/menu_content_service_api/tsrc/group"/>
+            <unit bldFile="/sf/mw/homescreensrv/homescreensrv_plat/ai_utilities_api/internal/tsrc/group"/>
+            <unit bldFile="/sf/mw/homescreensrv/homescreensrv_plat/action_handler_plugin_api/tsrc/group"/>
+            <unit bldFile="/sf/mw/homescreensrv/homescreensrv_plat/menu_sat_interface_api/tsrc/group"/>
+            <unit bldFile="/sf/mw/homescreensrv/homescreensrv_plat/sapi_homescreenplugin/tsrc/group"/>
+          </component>
+        </collection>
+      </block>
+    </layer>
+  </systemModel>
 </SystemDefinition>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/symbian3/mw/homescreensrv/package_definition_3.0.xml	Mon Feb 01 16:11:43 2010 +0000
@@ -0,0 +1,89 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<SystemDefinition schema="3.0.0">
+  <package id="homescreensrv" name="Home Screen Services" levels="plugin framework server generic specific">
+    <collection id="contentpublishingsrv" name="Content Publishing Service" level="server">
+      <component id="contentpublishingutils" filter="s60" name="Content Publishing Utils">
+        <unit bldFile="contentpublishingsrv/contentpublishingutils/group"/>
+		<!-- should only have one bld.inf, does the below need to be #included in the above ? -->
+        <unit bldFile="contentpublishingsrv/contentpublishingutils/contentpublishingdebug/group"/>
+      </component>
+      <component id="contentpublishingserver" filter="s60" name="Content Publishing Server">
+        <unit bldFile="contentpublishingsrv/contentpublishingserver/group"/>
+      </component>
+      <component id="contentharvester" filter="s60" name="Content Harvester">
+        <unit bldFile="contentpublishingsrv/contentharvester/group"/>
+      </component>
+      <component id="contentpublishingsrv_build" filter="s60" name="Content Publishing Service Build">
+        <unit bldFile="contentpublishingsrv/group"/>
+      </component>
+    </collection>
+    <collection id="backsteppingsrv" name="Back Stepping Service" level="server">
+      <component id="bsengine" name="Back Stepping Engine" filter="s60">
+        <unit bldFile="backsteppingsrv/group"/>
+      </component>
+    </collection>
+    <collection id="xcfw" name="XML Content Framework" level="framework">
+      <component id="xcfw_build" filter="s60" name="XML Content Framework Build">
+        <unit bldFile="xcfw/group"/>
+      </component>
+    </collection>
+    <collection id="homescreenpluginsrv" name="Home Screen Plugin Service" level="plugin">
+      <component id="hspsdefinitionengine" filter="s60" name="HS Plugin Service Definition Engine">
+        <unit bldFile="homescreenpluginsrv/hspsdefinitionengine/group"/>
+      </component>
+      <component id="hspsdom" filter="s60" name="HS Plugin Service DOM">
+        <unit bldFile="homescreenpluginsrv/hspsdom/group"/>
+      </component>
+      <component id="hspspluginregistry" filter="s60" name="HS Plugin Registry">
+        <unit bldFile="homescreenpluginsrv/hspspluginregistry/group"/>
+      </component>
+      <component id="hspsmanager" filter="s60" name="HS Plugin Service Manager">
+        <unit bldFile="homescreenpluginsrv/hspsmanager/group"/>
+      </component>
+      <component id="hspsodt" filter="s60" name="HS Plugin Service Object Description Tree">
+        <unit bldFile="homescreenpluginsrv/hspsodt/group"/>
+      </component>
+      <component id="hspsresource" filter="s60" name="HS Plugin Server Resource">
+        <unit bldFile="homescreenpluginsrv/hspsresource/group"/>
+      </component>
+      <component id="hspsresult" filter="s60" name="HS Plugin Server Result">
+        <unit bldFile="homescreenpluginsrv/hspsresult/group"/>
+      </component>
+      <component id="hspstools" filter="s60" name="HS Server Tools">
+        <unit bldFile="homescreenpluginsrv/hspstools/group"/>
+      </component>
+      <component id="homescreenpluginsrv_build" filter="s60" name="HS Plugin Service Build">
+        <unit bldFile="homescreenpluginsrv/group"/>
+      </component>
+    </collection>
+    <collection id="idlefw" name="Idle Framework" level="framework">
+      <component id="idlefw_plugins" filter="s60" name="Idle Framework Plugins" class="plugin">
+        <unit bldFile="idlefw/plugins/group"/>
+		<!-- does the next need to be #included? -->
+        <!-- <unit bldFile="idlefw/plugins/pslnactiveidleplugin/group"/> -->
+      </component>
+      <component id="idlefw_build" filter="s60" name="Idle Framework Build">
+        <unit bldFile="idlefw/group"/>
+      </component>
+    </collection>
+    <collection id="menucontentsrv" name="Menu Content Service" level="generic">
+      <component id="menusatinterface" filter="s60" name="Menu SAT Interface">
+        <unit bldFile="menucontentsrv/menusatinterface/group"/>
+      </component>
+      <component id="menucontentsrv_build" filter="s60" name="Menu Content Service Build">
+        <unit bldFile="menucontentsrv/group"/>
+      </component>
+    </collection>
+    <collection id="homescreensrv_info" name="Home Screen Services Info" level="specific">
+      <component id="homescreensrv_plat" filter="s60" name="Home Screen Services Platform Interfaces" class="api">
+        <unit bldFile="homescreensrv_plat/group"/>
+			<!-- should the following be #included in the above? -->
+        <!-- <unit bldFile="homescreensrv_plat/action_handler_plugin_api/tsrc/group"/> -->
+        <!-- <unit bldFile="homescreensrv_plat/content_harvester_plugin_api/tsrc/group"/> -->
+        <!-- <unit bldFile="homescreensrv_plat/hs_widget_publisher_api/tsrc/group"/> -->
+        <!-- <unit bldFile="homescreensrv_plat/menu_content_service_api/tsrc/group"/> -->
+        <!-- <unit bldFile="homescreensrv_plat/menu_sat_interface_api/tsrc/group"/> -->
+      </component>
+    </collection>
+  </package>
+</SystemDefinition>
--- a/symbian3/mw/imghandling/package_definition.xml	Fri Jan 29 16:25:53 2010 +0000
+++ b/symbian3/mw/imghandling/package_definition.xml	Mon Feb 01 16:11:43 2010 +0000
@@ -1,109 +1,105 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE SystemDefinition [
- <!ELEMENT SystemDefinition (systemModel?,SystemBuild?)>
- <!ATTLIST SystemDefinition
-  name CDATA #REQUIRED
-  schema CDATA #REQUIRED>
- <!ELEMENT systemModel (layer+)>
- <!ELEMENT layer (block*|collection*)*>
- <!ATTLIST layer
-  name CDATA #REQUIRED
-  long-name CDATA #IMPLIED
-  levels NMTOKENS #IMPLIED
-  span CDATA #IMPLIED>
- <!ELEMENT block (subblock*|collection*)*>
- <!ATTLIST block
-  levels NMTOKENS #IMPLIED
-  span CDATA #IMPLIED
-  level NMTOKEN #IMPLIED
-  name CDATA #REQUIRED
-  long-name CDATA #IMPLIED>
- <!ELEMENT subblock (collection)*>
- <!ATTLIST subblock
-  name CDATA #REQUIRED
-  long-name CDATA #IMPLIED>
- <!ELEMENT collection (component)*>
- <!ATTLIST collection
-  name CDATA #REQUIRED
-  long-name CDATA #IMPLIED
-  level NMTOKEN #IMPLIED>
- <!ELEMENT component (unit)*>
- <!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>
- <!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>
- <!ELEMENT SystemBuild (option*|target+|targetList+|list+|configuration+)*>
- <!ATTLIST SystemBuild schema CDATA #REQUIRED>
- <!ELEMENT list (ref+)>
- <!ATTLIST list
-  name ID #REQUIRED
-  description CDATA #REQUIRED>
- <!ELEMENT ref EMPTY>
- <!ATTLIST ref item CDATA #REQUIRED>
- <!ELEMENT targetList EMPTY>
- <!ATTLIST targetList
-  name ID #REQUIRED
-  description CDATA #REQUIRED
-  target IDREFS #REQUIRED>
- <!ELEMENT target EMPTY>
- <!ATTLIST target
-  name ID #REQUIRED
-  abldTarget CDATA #REQUIRED
-  description CDATA #REQUIRED>
- <!ELEMENT option EMPTY>
- <!ATTLIST option
-  name ID #REQUIRED
-  abldOption CDATA #REQUIRED
-  description CDATA #REQUIRED
-  enable (Y|N) #REQUIRED>
- <!ELEMENT configuration (listRef+|ref+|task+)*>
- <!ATTLIST configuration
-  name ID #REQUIRED
-  description CDATA #REQUIRED
-  filter CDATA #REQUIRED>
- <!ELEMENT task (listRef*,(buildLayer|specialInstructions))>
- <!ELEMENT listRef EMPTY>
- <!ATTLIST listRef list CDATA #REQUIRED>
- <!ELEMENT buildLayer EMPTY>
- <!ATTLIST buildLayer
-  command CDATA #REQUIRED
-  targetList IDREFS #IMPLIED
-  unitParallel (Y|N) #REQUIRED
-  targetParallel (Y|N) 'N'>
- <!ELEMENT specialInstructions EMPTY>
- <!ATTLIST specialInstructions
-  name CDATA #REQUIRED
-  cwd CDATA #REQUIRED
-  root CDATA #IMPLIED
-  command CDATA #REQUIRED>
-]>
-<SystemDefinition schema="2.0.1" name="Symbian^3">
-<systemModel>
-<layer name="mw">
-<block name="imghandling">
-<collection name="s60">
-<component name="imghandling">
-<unit bldFile="/sf/mw/imghandling/group" mrp=""/>
-</component>
-</collection>
-</block>
-</layer>
-</systemModel>
+<!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="mw" long-name="Middleware" levels="generic specific">
+      <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="/sf/mw/imghandling/imagehandlinglib/group"/>
+          </component>
+          <component name="imagehandlinglib_api" filter="s60,api_test" long-name="Image Handling Library API Test" purpose="development">
+            <unit bldFile="/sf/mw/imghandling/imagehandlinglib/tsrc/public/basic/group"/>
+          </component>
+        </collection>
+        <collection name="imagehandlingutilities" long-name="Image Handling Utilities" level="util">
+          <component name="thumbnailmanager" filter="s60" long-name="Thumbnail Manager">
+            <unit bldFile="/sf/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="/sf/mw/imghandling/imagehandling_plat/group"/>
+          </component>
+          <component name="imagehandling_api_test" filter="s60,api_test" long-name="Image Handling Platform API Test" purpose="development">
+            <unit bldFile="/sf/mw/imghandling/imagehandling_plat/thumbnailmanager_api/tsrc/group"/>
+          </component>
+        </collection>
+      </block>
+    </layer>
+  </systemModel>
 </SystemDefinition>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/symbian3/mw/imghandling/package_definition_3.0.xml	Mon Feb 01 16:11:43 2010 +0000
@@ -0,0 +1,43 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<SystemDefinition schema="3.0.0">
+  <package id="imghandling" name="Image Handling" levels="lib util if">
+    <collection id="library3gp" name="3GP Library" level="lib">
+      <component id="lib3gpmp4" filter="s60" name="3GP MP4 Library" deprecated="^3">
+		<!-- deprecated due to duplication -->
+        <unit bldFile="3gplibrary/3gpmp4lib/group"/>
+		<!-- does the test need to be #included in the above? -->
+        <!-- <unit bldFile="3gplibrary/3gpmp4lib/tsrc/public/basic/group"/> -->
+      </component>
+    </collection>
+    <collection id="imagehandlinglib" name="Image Handling Library" level="lib">
+      <component id="ihl" filter="s60" name="IHL">
+        <unit bldFile="imagehandlinglib/group"/>
+      </component>
+    </collection>
+    <collection id="imagehandlingutilities" name="Image Handling Utilities" level="util">
+      <component id="imageinfopopup" filter="s60" name="Image Info Popup">
+        <unit bldFile="imagehandlingutilities/imageinfopopup/group"/>
+      </component>
+      <component id="imagepreview" filter="s60" name="Image Preview">
+        <unit bldFile="imagehandlingutilities/imagepreview/group"/>
+      </component>
+      <component id="thumbnailmanager" filter="s60" name="Thumbnail Manager">
+        <unit bldFile="imagehandlingutilities/thumbnailmanager/group"/>
+      </component>
+      <component id="tvoutengine" filter="s60" name="TV Out Engine">
+        <unit bldFile="imagehandlingutilities/tvoutengine/group"/>
+      </component>
+    </collection>
+    <collection id="imghandling_info" name="Image Handling Info" level="if">
+      <component id="imagehandling_plat" filter="s60" name="Image Handling Platform Interfaces" class="api">
+        <unit bldFile="imagehandling_plat/group"/>
+        <!-- <unit bldFile="imagehandling_plat/3gp_library_api/tsrc/group"/> -->
+        <!-- <unit bldFile="imagehandling_plat/thumbnailmanager_api/tsrc/group"/> -->
+      </component>
+      <component id="imghandling_build" filter="s60" name="Image Handling Build">
+		<!-- system include from this needs to be moved to each #included bld.inf -->
+        <unit bldFile="group"/>
+      </component>
+    </collection>
+  </package>
+</SystemDefinition>
--- a/symbian3/mw/imsrv/package_definition.xml	Fri Jan 29 16:25:53 2010 +0000
+++ b/symbian3/mw/imsrv/package_definition.xml	Mon Feb 01 16:11:43 2010 +0000
@@ -1,109 +1,120 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE SystemDefinition [
- <!ELEMENT SystemDefinition (systemModel?,SystemBuild?)>
- <!ATTLIST SystemDefinition
-  name CDATA #REQUIRED
-  schema CDATA #REQUIRED>
- <!ELEMENT systemModel (layer+)>
- <!ELEMENT layer (block*|collection*)*>
- <!ATTLIST layer
-  name CDATA #REQUIRED
-  long-name CDATA #IMPLIED
-  levels NMTOKENS #IMPLIED
-  span CDATA #IMPLIED>
- <!ELEMENT block (subblock*|collection*)*>
- <!ATTLIST block
-  levels NMTOKENS #IMPLIED
-  span CDATA #IMPLIED
-  level NMTOKEN #IMPLIED
-  name CDATA #REQUIRED
-  long-name CDATA #IMPLIED>
- <!ELEMENT subblock (collection)*>
- <!ATTLIST subblock
-  name CDATA #REQUIRED
-  long-name CDATA #IMPLIED>
- <!ELEMENT collection (component)*>
- <!ATTLIST collection
-  name CDATA #REQUIRED
-  long-name CDATA #IMPLIED
-  level NMTOKEN #IMPLIED>
- <!ELEMENT component (unit)*>
- <!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>
- <!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>
- <!ELEMENT SystemBuild (option*|target+|targetList+|list+|configuration+)*>
- <!ATTLIST SystemBuild schema CDATA #REQUIRED>
- <!ELEMENT list (ref+)>
- <!ATTLIST list
-  name ID #REQUIRED
-  description CDATA #REQUIRED>
- <!ELEMENT ref EMPTY>
- <!ATTLIST ref item CDATA #REQUIRED>
- <!ELEMENT targetList EMPTY>
- <!ATTLIST targetList
-  name ID #REQUIRED
-  description CDATA #REQUIRED
-  target IDREFS #REQUIRED>
- <!ELEMENT target EMPTY>
- <!ATTLIST target
-  name ID #REQUIRED
-  abldTarget CDATA #REQUIRED
-  description CDATA #REQUIRED>
- <!ELEMENT option EMPTY>
- <!ATTLIST option
-  name ID #REQUIRED
-  abldOption CDATA #REQUIRED
-  description CDATA #REQUIRED
-  enable (Y|N) #REQUIRED>
- <!ELEMENT configuration (listRef+|ref+|task+)*>
- <!ATTLIST configuration
-  name ID #REQUIRED
-  description CDATA #REQUIRED
-  filter CDATA #REQUIRED>
- <!ELEMENT task (listRef*,(buildLayer|specialInstructions))>
- <!ELEMENT listRef EMPTY>
- <!ATTLIST listRef list CDATA #REQUIRED>
- <!ELEMENT buildLayer EMPTY>
- <!ATTLIST buildLayer
-  command CDATA #REQUIRED
-  targetList IDREFS #IMPLIED
-  unitParallel (Y|N) #REQUIRED
-  targetParallel (Y|N) 'N'>
- <!ELEMENT specialInstructions EMPTY>
- <!ATTLIST specialInstructions
-  name CDATA #REQUIRED
-  cwd CDATA #REQUIRED
-  root CDATA #IMPLIED
-  command CDATA #REQUIRED>
-]>
-<SystemDefinition schema="2.0.1" name="Symbian^3">
-<systemModel>
-<layer name="mw">
-<block name="imsrv">
-<collection name="s60">
-<component name="imsrv">
-<unit bldFile="/sf/mw/imsrv/group" mrp=""/>
-</component>
-</collection>
-</block>
-</layer>
-</systemModel>
+<!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="mw" long-name="Middleware" levels="generic specific">
+      <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="/sf/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="/sf/mw/imsrv/imservices/imfeatureplugin/group"/>
+          </component>
+          <component name="searchfeatureplugin" filter="s60" long-name="Search Feature Plugin" introduced="^2" plugin="Y">
+            <unit bldFile="/sf/mw/imsrv/imservices/searchfeatureplugin/group"/>
+          </component>
+          <component name="xmppsettingsapi" filter="s60" long-name="XMPP Settings API" introduced="^2">
+            <unit bldFile="/sf/mw/imsrv/imservices/xmppsettingsapi/group"/>
+          </component>
+          <component name="xmppsettingsfetcher" filter="s60" long-name="XMPP Settings Fetcher" introduced="^2">
+            <unit bldFile="/sf/mw/imsrv/imservices/xmppsettingsfetcher/group"/>
+          </component>
+          <component name="ossprotocoladaptation" filter="s60" long-name="OSS Protocol Adaptation" introduced="^2" plugin="Y">
+            <unit bldFile="/sf/mw/imsrv/imservices/ossprotocoladaptation/group"/>
+          </component>
+          <component name="instantmessagingcache" filter="s60" long-name="Instant Messaging Cache" introduced="^2">
+            <unit bldFile="/sf/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="/sf/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="/sf/mw/imsrv/imsrv_plat/group"/>
+          </component>
+        </collection>
+      </block>
+    </layer>
+  </systemModel>
 </SystemDefinition>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/symbian3/mw/imsrv/package_definition_3.0.xml	Mon Feb 01 16:11:43 2010 +0000
@@ -0,0 +1,111 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<SystemDefinition schema="3.0.0">
+  <package id="imsrv" name="Instant Messaging and Presence Services" levels="plugin framework server generic specific">
+    <collection id="imservices" name="IM Services" level="generic">
+      <component id="imfeatureplugin" filter="s60" name="IM Feature Plugin" class="plugin" introduced="^2">
+        <unit bldFile="imservices/imfeatureplugin/group"/>
+        <!--  should #include the test bld.inf if needed -->
+        <!-- <unit bldFile="imservices/imfeatureplugin/srcimdatamodel/group"/> -->
+        <!-- <unit bldFile="imservices/imfeatureplugin/srcimfrontend/group"/> -->
+        <!-- <unit bldFile="imservices/imfeatureplugin/srcimoperations/group"/> -->
+        <!-- <unit bldFile="imservices/imfeatureplugin/srcimprocessor/group"/> -->
+      </component>
+      <component id="searchfeatureplugin" filter="s60" name="Search Feature Plugin" class="plugin" introduced="^2">
+        <unit bldFile="imservices/searchfeatureplugin/group"/>
+        <!--  should #include the test bld.inf if needed -->
+        <!-- <unit bldFile="imservices/searchfeatureplugin/srcsearchdatamodel/group"/> -->
+        <!-- <unit bldFile="imservices/searchfeatureplugin/srcsearchfrontend/group"/> -->
+        <!-- <unit bldFile="imservices/searchfeatureplugin/srcsearchoperations/group"/> -->
+        <!-- <unit bldFile="imservices/searchfeatureplugin/srcsearchprocessor/group"/> -->
+      </component>
+      <component id="xmppsettingsapi" filter="s60" name="XMPP Settings API" introduced="^2">
+        <unit bldFile="imservices/xmppsettingsapi/group"/>
+        <!--  should #include the test bld.inf if needed -->
+        <!-- <unit bldFile="imservices/xmppsettingsapi/tsrc/group"/> -->
+      </component>
+      <component id="xmppsettingsfetcher" filter="s60" name="XMPP Settings Fetcher" introduced="^2">
+        <unit bldFile="imservices/xmppsettingsfetcher/group"/>
+        <!--  should #include the test bld.inf if needed -->
+        <!-- <unit bldFile="imservices/xmppsettingsfetcher/tsrc/xmppsettingsfetchermt/group"/> -->
+      </component>
+      <component id="ossprotocoladaptation" filter="s60" name="OSS Protocol Adaptation" class="plugin" introduced="^2">
+        <unit bldFile="imservices/ossprotocoladaptation/group"/>
+        <!-- <unit bldFile="imservices/ossprotocoladaptation/dataconvlib/group"/> -->
+        <!--  should #include the test bld.infs if needed -->
+        <!-- <unit bldFile="imservices/ossprotocoladaptation/tsrc/ossadapmt/group"/> -->
+      </component>
+      <component id="instantmessagingcache" filter="s60" name="Instant Messaging Cache" introduced="^2">
+        <unit bldFile="imservices/instantmessagingcache/group"/>
+        <!--  should #include the test bld.inf if needed -->
+        <!-- <unit bldFile="imservices/instantmessagingcache/tsrc/group"/> -->
+      </component>
+      <component id="imservices_build" filter="s60" name="IM Services Build" introduced="^2">
+        <unit bldFile="imservices/group"/>
+      </component>
+    </collection>
+    <collection id="ximpfw" name="XIMP Framework" level="framework">
+      <component id="ximpfw_core" filter="s60" name="XIMP Core">
+        <!-- <unit bldFile="ximpfw/core/group"/> -->
+      </component>
+      <component id="presence" filter="s60" name="XIMP Presence">
+        <!-- <unit bldFile="ximpfw/presence/group"/> -->
+      </component>
+      <component id="ximpfw_test" filter="s60" name="XIMP Framework Test" purpose="development">
+		<!-- should these all be included in a single test bld.inf? -->
+        <!-- <unit bldFile="ximpfw/tsrc/group"/> -->
+        <!-- <unit bldFile="ximpfw/tsrc/src/t_presencewatching"/> -->
+        <!-- <unit bldFile="ximpfw/tsrc/src/t_presencegroupmembermngt"/> -->
+        <!-- <unit bldFile="ximpfw/tsrc/src/t_presenceblocking"/> -->
+        <!-- <unit bldFile="ximpfw/tsrc/tsrcutils"/> -->
+        <!-- <unit bldFile="ximpfw/tsrc/src/t_rootservices"/> -->
+        <!-- <unit bldFile="ximpfw/tsrc/src/t_presenceall"/> -->
+        <!-- <unit bldFile="ximpfw/tsrc/src/t_presencegrouplistmngt"/> -->
+        <!-- <unit bldFile="ximpfw/tsrc/src/t_presencecache"/> -->
+        <!-- <unit bldFile="ximpfw/tsrc/src/t_presencepublishing"/> -->
+        <!-- <unit bldFile="ximpfw/tsrc/src/t_presencewatcherlistmngt"/> -->
+        <!-- <unit bldFile="ximpfw/tsrc/tsrcprotocols"/> -->
+        <!-- <unit bldFile="ximpfw/tsrc/tsrcprotocols/pr_prfwtestprotocol"/> -->
+        <!-- <unit bldFile="ximpfw/tsrc/src/t_presencegrantrequestmngt"/> -->
+        <!-- <unit bldFile="ximpfw/tsrc/src/t_sessionmng"/> -->
+        <!-- <unit bldFile="ximpfw/tsrc/src/t_presenceauthorization"/> -->
+        <!-- <unit bldFile="ximpfw/tsrc/src/t_eunittemplate"/> -->
+        <!-- <unit bldFile="ximpfw/tsrc/src/t_utils"/> -->
+      </component>
+    </collection>
+    <collection id="brandingserver" name="Branding Server" level="specific">
+      <component id="tools" filter="s60" name="Branding Server Tools">
+      	<!--  is this component needed? Can it be #included by the below bld.inf if it is? -->
+        <!-- <unit bldFile="brandingserver/tools/bsimport/group"/> -->
+      </component>
+      <component id="brandingserver_build" filter="s60" name="Branding Server Build">
+        <unit bldFile="brandingserver/group"/>
+      </component>
+    </collection>
+    <collection id="imsrv_info" name="Instant Messaging and Presence Services Info" level="specific">
+      <component id="imsrv_plat" filter="s60" name="Instant Messaging and Presence Services Platform Interfaces" class="api">
+        <unit bldFile="imsrv_plat/group"/>
+        	<!--  should #include these tests in the above bld.inf -->
+        <!-- <unit bldFile="imsrv_plat/im_cache_client_api/tsrc/group"/> -->
+        <!-- <unit bldFile="imsrv_plat/ximp_core_feature_plugin_api/tsrc/group"/> -->
+        <!-- <unit bldFile="imsrv_plat/ximp_core_feature_plugin_api/tsrc/src/t_eunittemplate"/> -->
+        <!-- <unit bldFile="imsrv_plat/ximp_core_feature_plugin_api/tsrc/src/t_presenceall"/> -->
+        <!-- <unit bldFile="imsrv_plat/ximp_core_feature_plugin_api/tsrc/src/t_presenceauthorization"/> -->
+        <!-- <unit bldFile="imsrv_plat/ximp_core_feature_plugin_api/tsrc/src/t_presenceblocking"/> -->
+        <!-- <unit bldFile="imsrv_plat/ximp_core_feature_plugin_api/tsrc/src/t_presencecache"/> -->
+        <!-- <unit bldFile="imsrv_plat/ximp_core_feature_plugin_api/tsrc/src/t_presencegrantrequestmngt"/> -->
+        <!-- <unit bldFile="imsrv_plat/ximp_core_feature_plugin_api/tsrc/src/t_presencegrouplistmngt"/> -->
+        <!-- <unit bldFile="imsrv_plat/ximp_core_feature_plugin_api/tsrc/src/t_presencegroupmembermngt"/> -->
+        <!-- <unit bldFile="imsrv_plat/ximp_core_feature_plugin_api/tsrc/src/t_presencepublishing"/> -->
+        <!-- <unit bldFile="imsrv_plat/ximp_core_feature_plugin_api/tsrc/src/t_presencewatcherlistmngt"/> -->
+        <!-- <unit bldFile="imsrv_plat/ximp_core_feature_plugin_api/tsrc/src/t_presencewatching"/> -->
+        <!-- <unit bldFile="imsrv_plat/ximp_core_feature_plugin_api/tsrc/src/t_rootservices"/> -->
+        <!-- <unit bldFile="imsrv_plat/ximp_core_feature_plugin_api/tsrc/src/t_sessionmng"/> -->
+        <!-- <unit bldFile="imsrv_plat/ximp_core_feature_plugin_api/tsrc/src/t_utils"/> -->
+        <!-- <unit bldFile="imsrv_plat/ximp_core_feature_plugin_api/tsrc/tsrcprotocols"/> -->
+        <!-- <unit bldFile="imsrv_plat/ximp_core_feature_plugin_api/tsrc/tsrcprotocols/pr_prfwtestprotocol"/> -->
+        <!-- <unit bldFile="imsrv_plat/ximp_core_feature_plugin_api/tsrc/tsrcutils"/> -->
+        <!-- <unit bldFile="imsrv_plat/xmpp_settings_api/tsrc/group"/> -->
+      </component>
+    </collection>
+  </package>
+</SystemDefinition>
--- a/symbian3/mw/inputmethods/package_definition.xml	Fri Jan 29 16:25:53 2010 +0000
+++ b/symbian3/mw/inputmethods/package_definition.xml	Mon Feb 01 16:11:43 2010 +0000
@@ -1,119 +1,157 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE SystemDefinition [
- <!ELEMENT SystemDefinition (systemModel?,SystemBuild?)>
- <!ATTLIST SystemDefinition
-  name CDATA #REQUIRED
-  schema CDATA #REQUIRED>
- <!ELEMENT systemModel (layer+)>
- <!ELEMENT layer (block*|collection*)*>
- <!ATTLIST layer
-  name CDATA #REQUIRED
-  long-name CDATA #IMPLIED
-  levels NMTOKENS #IMPLIED
-  span CDATA #IMPLIED>
- <!ELEMENT block (subblock*|collection*)*>
- <!ATTLIST block
-  levels NMTOKENS #IMPLIED
-  span CDATA #IMPLIED
-  level NMTOKEN #IMPLIED
-  name CDATA #REQUIRED
-  long-name CDATA #IMPLIED>
- <!ELEMENT subblock (collection)*>
- <!ATTLIST subblock
-  name CDATA #REQUIRED
-  long-name CDATA #IMPLIED>
- <!ELEMENT collection (component)*>
- <!ATTLIST collection
-  name CDATA #REQUIRED
-  long-name CDATA #IMPLIED
-  level NMTOKEN #IMPLIED>
- <!ELEMENT component (unit)*>
- <!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>
- <!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>
- <!ELEMENT SystemBuild (option*|target+|targetList+|list+|configuration+)*>
- <!ATTLIST SystemBuild schema CDATA #REQUIRED>
- <!ELEMENT list (ref+)>
- <!ATTLIST list
-  name ID #REQUIRED
-  description CDATA #REQUIRED>
- <!ELEMENT ref EMPTY>
- <!ATTLIST ref item CDATA #REQUIRED>
- <!ELEMENT targetList EMPTY>
- <!ATTLIST targetList
-  name ID #REQUIRED
-  description CDATA #REQUIRED
-  target IDREFS #REQUIRED>
- <!ELEMENT target EMPTY>
- <!ATTLIST target
-  name ID #REQUIRED
-  abldTarget CDATA #REQUIRED
-  description CDATA #REQUIRED>
- <!ELEMENT option EMPTY>
- <!ATTLIST option
-  name ID #REQUIRED
-  abldOption CDATA #REQUIRED
-  description CDATA #REQUIRED
-  enable (Y|N) #REQUIRED>
- <!ELEMENT configuration (listRef+|ref+|task+)*>
- <!ATTLIST configuration
-  name ID #REQUIRED
-  description CDATA #REQUIRED
-  filter CDATA #REQUIRED>
- <!ELEMENT task (listRef*,(buildLayer|specialInstructions))>
- <!ELEMENT listRef EMPTY>
- <!ATTLIST listRef list CDATA #REQUIRED>
- <!ELEMENT buildLayer EMPTY>
- <!ATTLIST buildLayer
-  command CDATA #REQUIRED
-  targetList IDREFS #IMPLIED
-  unitParallel (Y|N) #REQUIRED
-  targetParallel (Y|N) 'N'>
- <!ELEMENT specialInstructions EMPTY>
- <!ATTLIST specialInstructions
-  name CDATA #REQUIRED
-  cwd CDATA #REQUIRED
-  root CDATA #IMPLIED
-  command CDATA #REQUIRED>
-]>
-<SystemDefinition schema="2.0.1" name="Symbian^3">
-<systemModel>
-<layer name="mw" long-name="Middleware" levels="generic specific">
-<block name="inputmethods" level="generic" long-name="Input Methods" levels="plugin engine framework">
-<collection name="fep" long-name="FEP" level="engine">
-<component name="frontendprocessor" long-name="Front End Processor" purpose="mandatory">
-<unit bldFile="/sf/mw/inputmethods/fep/frontendprocessor/group" mrp="/sf/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_metadata" long-name="Input Methods Metadata" introduced="tb91" purpose="development" class="config PC">
-<unit mrp="/sf/mw/inputmethods/inputmethods_info/inputmethods_metadata/inputmethods_metadata.mrp"/>
-</component>
-</collection>
-<collection name="s60">
-<component name="inputmethods">
-<unit bldFile="/sf/mw/inputmethods/group" mrp=""/>
-</component>
-</collection>
-</block>
-</layer>
-</systemModel>
-</SystemDefinition>
\ No newline at end of file
+<!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="mw" long-name="Middleware" levels="generic specific">
+      <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="/sf/mw/inputmethods/textinput/akninputlanguage/group"/>
+          </component>
+          <component name="peninputarc" filter="s60" long-name="Pen Input Arc">
+            <unit bldFile="/sf/mw/inputmethods/textinput/peninputarc/group"/>
+          </component>
+          <component name="peninputcommonctrls" filter="s60" long-name="Pen Input Common Controls">
+            <unit bldFile="/sf/mw/inputmethods/textinput/peninputcommonctrls/group"/>
+          </component>
+          <component name="peninputhwrboxcn" filter="s60" long-name="Chinese Handwriting Recognition Box" plugin="Y">
+            <unit bldFile="/sf/mw/inputmethods/textinput/peninputhwrboxcn/group"/>
+          </component>
+          <component name="peninputvkbcn" filter="s60" long-name="Chinese Virtual Keyboard" plugin="Y">
+            <unit bldFile="/sf/mw/inputmethods/textinput/peninputvkbcn/group"/>
+          </component>
+          <component name="peninputcommonlayout" filter="s60" long-name="Pen Input Common Layout">
+            <unit bldFile="/sf/mw/inputmethods/textinput/peninputcommonlayout/group"/>
+          </component>
+          <component name="peninputgenerichwr" filter="s60" long-name="Pen Input Generic Handwriting Recognition" plugin="Y">
+            <unit bldFile="/sf/mw/inputmethods/textinput/peninputgenerichwr/group"/>
+          </component>
+          <component name="peninputgenericvkb" filter="s60" long-name="Pen Input Generic Virtual Keyboard" plugin="Y">
+            <unit bldFile="/sf/mw/inputmethods/textinput/peninputgenericvkb/group"/>
+          </component>
+          <component name="peninputcommonctrlsjp" filter="s60" long-name="Pen Input Common Controls Japanese">
+            <unit bldFile="/sf/mw/inputmethods/textinput/peninputcommonctrlsjp/group"/>
+          </component>
+          <component name="peninputhwrboxjp" filter="s60" long-name="Japanese Handwriting Recognition Box" plugin="Y">
+            <unit bldFile="/sf/mw/inputmethods/textinput/peninputhwrboxjp/group"/>
+          </component>
+          <component name="peninputvkbjp" filter="s60" long-name="Japanese Virtual Keyboard" plugin="Y">
+            <unit bldFile="/sf/mw/inputmethods/textinput/peninputvkbjp/group"/>
+          </component>
+          <component name="gslangplugin" filter="s60" long-name="GS Language Plugin" plugin="Y">
+            <unit bldFile="/sf/mw/inputmethods/textinput/gslangplugin"/>
+          </component>
+          <component name="textinput_build" filter="s60" long-name="Text Input Build">
+            <!--needed for #ifdef, can be removed when configuration is implemented -->
+            <unit bldFile="/sf/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="/sf/mw/inputmethods/fep/aknfep/group"/>
+          </component>
+          <component name="frontendprocessor" long-name="Front End Processor" purpose="mandatory">
+            <unit bldFile="/sf/mw/inputmethods/fep/frontendprocessor/group" mrp="/sf/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="/sf/mw/inputmethods/inputmethods_plat/group"/>
+          </component>
+          <component name="inputmethods_pub" filter="s60" long-name="Input Methods Public Interfaces" class="api">
+            <unit bldFile="/sf/mw/inputmethods/inputmethods_pub/group"/>
+          </component>
+          <component name="inputmethods_test" filter="s60,api_test" long-name="Input Methods Tests" introduced="^2" purpose="development">
+            <!-- can only have one unit, #include from a single bld.inf -->
+            <unit bldFile="/sf/mw/inputmethods/inputmethods_plat/pen_input_server_api/tsrc/group"/>
+            <unit bldFile="/sf/mw/inputmethods/inputmethods_plat/ptiengine_hwr_api/tsrc/group"/>
+            <unit bldFile="/sf/mw/inputmethods/inputmethods_plat/aknfep_uiinterface_api/tsrc/group"/>
+          </component>
+          <component name="inputmethods_api_tests" filter="s60,api_test" long-name="Input Methods API Tests" introduced="^2" purpose="development">
+            <unit bldFile="/sf/mw/inputmethods/tsrc/group"/>
+          </component>
+          <component name="inputmethods_metadata" long-name="Input Methods Metadata" introduced="^2" purpose="development" class="config PC">
+            <unit mrp="/sf/mw/inputmethods/inputmethods_info/inputmethods_metadata/inputmethods_metadata.mrp"/>
+          </component>
+        </collection>
+      </block>
+    </layer>
+  </systemModel>
+</SystemDefinition>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/symbian3/mw/inputmethods/package_definition_3.0.xml	Mon Feb 01 16:11:43 2010 +0000
@@ -0,0 +1,84 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<SystemDefinition schema="3.0.0">
+  <package id="inputmethods" name="Input Methods" levels="plugin engine framework">
+    <collection id="textinput" name="Text Input" level="framework">
+      <component id="ptienginev2" filter="s60" name="Predictive Text Input Engine">
+        <unit bldFile="textinput/ptienginev2/group"/>
+      </component>
+      <component id="akninputlanguage" filter="s60" name="Avkon Input Language">
+        <unit bldFile="textinput/akninputlanguage/group"/>
+      </component>
+      <component id="peninputarc" filter="s60" name="Pen Input Arc">
+        <unit bldFile="textinput/peninputarc/group"/>
+        <!-- <unit bldFile="textinput/peninputarc/src/peninputserverapp"/> -->
+        <!-- <unit bldFile="textinput/peninputarc/utils/group"/> -->
+      </component>
+      <component id="peninputcommonctrls" filter="s60" name="Pen Input Common Controls">
+        <unit bldFile="textinput/peninputcommonctrls/group"/>
+      </component>
+      <component id="peninputcommonlayout" filter="s60" name="Pen Input Common Layout">
+        <unit bldFile="textinput/peninputcommonlayout/group"/>
+      </component>
+      <component id="peninputgenerichwr" filter="s60" name="Pen Input Generic Handwriting Recognition" class="plugin">
+        <unit bldFile="textinput/peninputgenerichwr/group"/>
+      </component>
+      <component id="peninputgenericvkb" filter="s60" name="Pen Input Generic Virtual Keyboard" class="plugin">
+        <unit bldFile="textinput/peninputgenericvkb/group"/>
+      </component>
+      <component id="peninputhwrboxcn" filter="s60" name="Chinese Handwriting Recognition Box" class="plugin">
+        <unit bldFile="textinput/peninputhwrboxcn/group"/>
+      </component>
+      <component id="peninputvkbcn" filter="s60" name="Chinese Virtual Keyboard" class="plugin">
+        <unit bldFile="textinput/peninputvkbcn/group"/>
+      </component>
+      <component id="peninputcommonctrlsjp" filter="s60" name="Pen Input Common Controls Japanese">
+        <unit bldFile="textinput/peninputcommonctrlsjp/group"/>
+      </component>
+      <component id="peninputhwrboxjp" filter="s60" name="Japanese Handwriting Recognition Box" class="plugin">
+        <unit bldFile="textinput/peninputhwrboxjp/group"/>
+      </component>
+      <component id="peninputvkbjp" filter="s60" name="Japanese Virtual Keyboard" class="plugin">
+        <unit bldFile="textinput/peninputvkbjp/group"/>
+      </component>
+      <component id="textinput_build" filter="s60" name="Text Input Build">
+       <!--needs #ifdef moved to confguration or individual bld.inf files -->
+        <unit bldFile="textinput/group"/>
+      </component>
+      <component id="gslangplugin" filter="s60" name="GS Language Plugin" class="plugin">
+        <unit bldFile="textinput/gslangplugin"/>
+      </component>
+    </collection>
+    <collection id="fep" name="FEP" level="engine">
+      <component id="aknfep" filter="s60" name="Avkon FEP" class="plugin">
+        <unit bldFile="fep/aknfep/group"/>
+        <!-- <unit bldFile="fep/aknfep/peninputplugins/peninputimeplugincn/group"/> -->
+        <!-- <unit bldFile="fep/aknfep/peninputplugins/peninputimeplugingeneric/group"/> -->
+        <!-- <unit bldFile="fep/aknfep/peninputplugins/peninputimepluginitut/group"/> -->
+        <!-- <unit bldFile="fep/aknfep/peninputplugins/peninputimepluginjp/group"/> -->
+        <!-- <unit bldFile="fep/aknfep/uiplugins/aknfepuiinterface/avkonimpl/group"/> -->
+        <!-- <unit bldFile="fep/aknfep/uiplugins/aknfepuiinterface/group"/> -->
+      </component>
+      <component id="frontendprocessor" name="Front End Processor" purpose="mandatory">
+        <unit bldFile="fep/frontendprocessor/group" mrp="fep/frontendprocessor/group/app-framework_fepbase.mrp"/>
+      </component>
+    </collection>
+    <collection id="inputmethods_info" name="Input Methods Info" level="framework">
+      <component id="inputmethods_plat" filter="s60" name="Input Methods Platform Interfaces" class="api">
+        <unit bldFile="inputmethods_plat/group"/>
+        <!-- <unit bldFile="inputmethods_plat/aknfep_uiinterface_api/tsrc/group"/> -->
+        <!-- <unit bldFile="inputmethods_plat/pen_input_server_api/tsrc/group"/> -->
+        <!-- <unit bldFile="inputmethods_plat/ptiengine_hwr_api/tsrc/group"/> -->
+        <!-- <unit bldFile="inputmethods_plat/ptiengine_key_definations_api/tsrc/group"/> -->
+      </component>
+      <component id="inputmethods_pub" filter="s60" name="Input Methods Public Interfaces" class="api">
+        <unit bldFile="inputmethods_pub/group"/>
+        <!-- <unit bldFile="inputmethods_pub/input_language_info_api/tsrc/group"/> -->
+        <!-- <unit bldFile="inputmethods_pub/optical_character_recognition_api/tsrc/group"/> -->
+        <!-- <unit bldFile="inputmethods_pub/ptiengine_iti_api/tsrc/group"/> -->
+      </component>
+      <component id="inputmethods_metadata" name="Input Methods Metadata" class="config" introduced="^2" purpose="development" target="desktop">
+        <unit mrp="inputmethods_info/inputmethods_metadata/inputmethods_metadata.mrp"/>
+      </component>
+    </collection>
+  </package>
+</SystemDefinition>
--- a/symbian3/mw/ipappprotocols/package_definition.xml	Fri Jan 29 16:25:53 2010 +0000
+++ b/symbian3/mw/ipappprotocols/package_definition.xml	Mon Feb 01 16:11:43 2010 +0000
@@ -1,128 +1,130 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE SystemDefinition [
- <!ELEMENT SystemDefinition (systemModel?,SystemBuild?)>
- <!ATTLIST SystemDefinition
-  name CDATA #REQUIRED
-  schema CDATA #REQUIRED>
- <!ELEMENT systemModel (layer+)>
- <!ELEMENT layer (block*|collection*)*>
- <!ATTLIST layer
-  name CDATA #REQUIRED
-  long-name CDATA #IMPLIED
-  levels NMTOKENS #IMPLIED
-  span CDATA #IMPLIED>
- <!ELEMENT block (subblock*|collection*)*>
- <!ATTLIST block
-  levels NMTOKENS #IMPLIED
-  span CDATA #IMPLIED
-  level NMTOKEN #IMPLIED
-  name CDATA #REQUIRED
-  long-name CDATA #IMPLIED>
- <!ELEMENT subblock (collection)*>
- <!ATTLIST subblock
-  name CDATA #REQUIRED
-  long-name CDATA #IMPLIED>
- <!ELEMENT collection (component)*>
- <!ATTLIST collection
-  name CDATA #REQUIRED
-  long-name CDATA #IMPLIED
-  level NMTOKEN #IMPLIED>
- <!ELEMENT component (unit)*>
- <!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>
- <!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>
- <!ELEMENT SystemBuild (option*|target+|targetList+|list+|configuration+)*>
- <!ATTLIST SystemBuild schema CDATA #REQUIRED>
- <!ELEMENT list (ref+)>
- <!ATTLIST list
-  name ID #REQUIRED
-  description CDATA #REQUIRED>
- <!ELEMENT ref EMPTY>
- <!ATTLIST ref item CDATA #REQUIRED>
- <!ELEMENT targetList EMPTY>
- <!ATTLIST targetList
-  name ID #REQUIRED
-  description CDATA #REQUIRED
-  target IDREFS #REQUIRED>
- <!ELEMENT target EMPTY>
- <!ATTLIST target
-  name ID #REQUIRED
-  abldTarget CDATA #REQUIRED
-  description CDATA #REQUIRED>
- <!ELEMENT option EMPTY>
- <!ATTLIST option
-  name ID #REQUIRED
-  abldOption CDATA #REQUIRED
-  description CDATA #REQUIRED
-  enable (Y|N) #REQUIRED>
- <!ELEMENT configuration (listRef+|ref+|task+)*>
- <!ATTLIST configuration
-  name ID #REQUIRED
-  description CDATA #REQUIRED
-  filter CDATA #REQUIRED>
- <!ELEMENT task (listRef*,(buildLayer|specialInstructions))>
- <!ELEMENT listRef EMPTY>
- <!ATTLIST listRef list CDATA #REQUIRED>
- <!ELEMENT buildLayer EMPTY>
- <!ATTLIST buildLayer
-  command CDATA #REQUIRED
-  targetList IDREFS #IMPLIED
-  unitParallel (Y|N) #REQUIRED
-  targetParallel (Y|N) 'N'>
- <!ELEMENT specialInstructions EMPTY>
- <!ATTLIST specialInstructions
-  name CDATA #REQUIRED
-  cwd CDATA #REQUIRED
-  root CDATA #IMPLIED
-  command CDATA #REQUIRED>
-]>
-<SystemDefinition schema="2.0.1" name="Symbian^3">
-<systemModel>
-<layer name="mw" long-name="Middleware" levels="generic specific">
-<block name="ipappprotocols" level="generic" long-name="IP App Protocols" levels="plugin conn server if">
-<collection name="realtimenetprots" long-name="Real-time Internet Protocols" level="server">
-<component name="symrtp" long-name="RTP" introduced="9.0" purpose="optional">
-<!-- Real Time Data Protocol -->
-<unit bldFile="/sf/mw/ipappprotocols/realtimenetprots/rtp/group" mrp="/sf/mw/ipappprotocols/realtimenetprots/rtp/group/mm-protocols_rtp.mrp"/>
-</component>
-<component name="sipfw" long-name="SIP Framework" introduced="9.2" purpose="optional">
-<unit bldFile="/sf/mw/ipappprotocols/realtimenetprots/sipfw/Group" mrp="/sf/mw/ipappprotocols/realtimenetprots/sipfw/Group/mm-protocols_SIP2_Com.mrp" version="2"/>
-</component>
-</collection>
-<collection name="sipproviderplugins" long-name="SIP Provider Plugins" level="conn">
-<component name="sipprovider" long-name="SIP Provider" introduced="tb91" purpose="optional" plugin="Y">
-<unit bldFile="/sf/mw/ipappprotocols/sipproviderplugins/sipprovider/group" mrp="/sf/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_metadata" long-name="IP App Protocols Metadata" introduced="tb91" purpose="development" class="config PC">
-<unit mrp="/sf/mw/ipappprotocols/ipappprotocols_info/ipappprotocols_metadata/ipappprotocols_metadata.mrp"/>
-</component>
-</collection>
-<collection name="s60">
-<component name="ipappprotocol">
-<unit bldFile="/sf/mw/ipappprotocols/group" mrp=""/>
-</component>
-</collection>
-</block>
-</layer>
-</systemModel>
-</SystemDefinition>
\ No newline at end of file
+<!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="mw" long-name="Middleware" levels="generic specific">
+      <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="/sf/mw/ipappprotocols/rtp/srtpstack/group"/>
+          </component>
+          <component name="rtpstack" filter="s60" long-name="RTP Stack">
+            <unit bldFile="/sf/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="/sf/mw/ipappprotocols/realtimenetprots/rtp/group" mrp="/sf/mw/ipappprotocols/realtimenetprots/rtp/group/mm-protocols_rtp.mrp"/>
+          </component>
+          <component name="sipfw" long-name="SIP Framework" introduced="9.2" purpose="optional">
+            <unit bldFile="/sf/mw/ipappprotocols/realtimenetprots/sipfw/Group" mrp="/sf/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="/sf/mw/ipappprotocols/sipplugins/sippwlanplugin/group"/>
+          </component>
+          <component name="sippsipsettingsui" filter="s60" long-name="SIP Settings UI" plugin="Y">
+            <unit bldFile="/sf/mw/ipappprotocols/sipplugins/sippsipsettingsui/group"/>
+          </component>
+          <component name="sippdevmgmtsipadapter" filter="s60" long-name="Device Management SIP Settings Adapter" plugin="Y">
+            <unit bldFile="/sf/mw/ipappprotocols/sipplugins/sippdevmgmtsipadapter/group"/>
+          </component>
+          <component name="sippsystemstatemonitor" filter="s60" long-name="SIP System State Monitor" plugin="Y">
+            <unit bldFile="/sf/mw/ipappprotocols/sipplugins/sippsystemstatemonitor/group"/>
+          </component>
+          <component name="sippsipadapter" filter="s60" long-name="SIP Adapter" introduced="^3" plugin="Y">
+            <unit bldFile="/sf/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="/sf/mw/ipappprotocols/sipproviderplugins/sipprovider/group" mrp="/sf/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="/sf/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="/sf/mw/ipappprotocols/ipappprotocols_info/ipappprotocols_metadata/ipappprotocols_metadata.mrp"/>
+          </component>
+        </collection>
+      </block>
+    </layer>
+  </systemModel>
+</SystemDefinition>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/symbian3/mw/ipappprotocols/package_definition_3.0.xml	Mon Feb 01 16:11:43 2010 +0000
@@ -0,0 +1,53 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<SystemDefinition schema="3.0.0">
+  <package id="ipappprotocols" name="IP App Protocols" levels="plugin conn server if">
+    <collection id="rtp" name="RTP" level="server">
+      <component id="rtpstack" filter="s60" name="RTP Stack">
+        <unit bldFile="rtp/rtpstack/group"/>
+        <!-- <unit bldFile="rtp/rtpstack/tsrc/ut_rtpstack/group"/> -->
+      </component>
+    </collection>
+    <collection id="sipplugins" name="SIP Plugins" level="plugin">
+      <component id="sippwlanplugin" filter="s60" name="SIP WLAN Plugin" class="plugin">
+        <unit bldFile="sipplugins/sippwlanplugin/group"/>
+      </component>
+      <component id="sippsipsettingsui" filter="s60" name="SIP Settings UI" class="plugin">
+        <unit bldFile="sipplugins/sippsipsettingsui/group"/>
+        <!-- <unit bldFile="sipplugins/sippsipsettingsui/tsrc/ut_sipsettingsui/group"/> -->
+      </component>
+      <component id="sippdevmgmtsipadapter" filter="s60" name="Device Management SIP Settings Adapter" class="plugin">
+        <unit bldFile="sipplugins/sippdevmgmtsipadapter/group"/>
+        <!-- <unit bldFile="sipplugins/sippdevmgmtsipadapter/tsrc/ut_cnsmldmsipadapter/group"/> -->
+      </component>
+      <component id="sippsystemstatemonitor" filter="s60" name="SIP System State Monitor" class="plugin">
+        <unit bldFile="sipplugins/sippsystemstatemonitor/group"/>
+      </component>
+      <component id="srtpstack" filter="s60" name="SRTP Stack">
+        <unit bldFile="rtp/srtpstack/group"/>
+        <!-- <unit bldFile="rtp/srtpstack/tsrc/ut_srtpstack/group"/> -->
+      </component>
+    </collection>
+    <collection id="realtimenetprots" name="Real Time Net Protocols" level="server">
+      <component id="symrtp" name="RTP" introduced="9.0" purpose="optional">
+        <!-- Real Time Data Protocol -->
+        <unit bldFile="realtimenetprots/rtp/group" mrp="realtimenetprots/rtp/group/mm-protocols_rtp.mrp"/>
+      </component>
+      <component id="sipfw" name="SIP Framework" introduced="9.2" purpose="optional">
+        <unit version="2" bldFile="realtimenetprots/sipfw/Group" mrp="realtimenetprots/sipfw/Group/mm-protocols_SIP2_Com.mrp"/>
+      </component>
+    </collection>
+    <collection id="sipproviderplugins" name="SIP Provider Plugins" level="conn">
+      <component id="sipprovider" name="SIP Provider" introduced="^2" purpose="optional" class="plugin">
+        <unit bldFile="sipproviderplugins/sipprovider/group" mrp="sipproviderplugins/sipprovider/group/mm-protocols_SipProvider.mrp"/>
+      </component>
+    </collection>
+    <collection id="ipappprotocols_info" name="IP App Protocols Info" level="if">
+      <component id="ipappprotocols_plat" filter="s60" name="IP App Protocols Platform Interfaces" class="api">
+        <unit bldFile="ipappprotocols_plat/group"/>
+      </component>
+      <component id="ipappprotocols_metadata" name="IP App Protocols Metadata" class="config" introduced="^2" purpose="development" target="desktop">
+        <unit mrp="ipappprotocols_info/ipappprotocols_metadata/ipappprotocols_metadata.mrp"/>
+      </component>
+    </collection>
+  </package>
+</SystemDefinition>
--- a/symbian3/mw/ipappsrv/package_definition.xml	Fri Jan 29 16:25:53 2010 +0000
+++ b/symbian3/mw/ipappsrv/package_definition.xml	Mon Feb 01 16:11:43 2010 +0000
@@ -1,119 +1,127 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE SystemDefinition [
- <!ELEMENT SystemDefinition (systemModel?,SystemBuild?)>
- <!ATTLIST SystemDefinition
-  name CDATA #REQUIRED
-  schema CDATA #REQUIRED>
- <!ELEMENT systemModel (layer+)>
- <!ELEMENT layer (block*|collection*)*>
- <!ATTLIST layer
-  name CDATA #REQUIRED
-  long-name CDATA #IMPLIED
-  levels NMTOKENS #IMPLIED
-  span CDATA #IMPLIED>
- <!ELEMENT block (subblock*|collection*)*>
- <!ATTLIST block
-  levels NMTOKENS #IMPLIED
-  span CDATA #IMPLIED
-  level NMTOKEN #IMPLIED
-  name CDATA #REQUIRED
-  long-name CDATA #IMPLIED>
- <!ELEMENT subblock (collection)*>
- <!ATTLIST subblock
-  name CDATA #REQUIRED
-  long-name CDATA #IMPLIED>
- <!ELEMENT collection (component)*>
- <!ATTLIST collection
-  name CDATA #REQUIRED
-  long-name CDATA #IMPLIED
-  level NMTOKEN #IMPLIED>
- <!ELEMENT component (unit)*>
- <!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>
- <!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>
- <!ELEMENT SystemBuild (option*|target+|targetList+|list+|configuration+)*>
- <!ATTLIST SystemBuild schema CDATA #REQUIRED>
- <!ELEMENT list (ref+)>
- <!ATTLIST list
-  name ID #REQUIRED
-  description CDATA #REQUIRED>
- <!ELEMENT ref EMPTY>
- <!ATTLIST ref item CDATA #REQUIRED>
- <!ELEMENT targetList EMPTY>
- <!ATTLIST targetList
-  name ID #REQUIRED
-  description CDATA #REQUIRED
-  target IDREFS #REQUIRED>
- <!ELEMENT target EMPTY>
- <!ATTLIST target
-  name ID #REQUIRED
-  abldTarget CDATA #REQUIRED
-  description CDATA #REQUIRED>
- <!ELEMENT option EMPTY>
- <!ATTLIST option
-  name ID #REQUIRED
-  abldOption CDATA #REQUIRED
-  description CDATA #REQUIRED
-  enable (Y|N) #REQUIRED>
- <!ELEMENT configuration (listRef+|ref+|task+)*>
- <!ATTLIST configuration
-  name ID #REQUIRED
-  description CDATA #REQUIRED
-  filter CDATA #REQUIRED>
- <!ELEMENT task (listRef*,(buildLayer|specialInstructions))>
- <!ELEMENT listRef EMPTY>
- <!ATTLIST listRef list CDATA #REQUIRED>
- <!ELEMENT buildLayer EMPTY>
- <!ATTLIST buildLayer
-  command CDATA #REQUIRED
-  targetList IDREFS #IMPLIED
-  unitParallel (Y|N) #REQUIRED
-  targetParallel (Y|N) 'N'>
- <!ELEMENT specialInstructions EMPTY>
- <!ATTLIST specialInstructions
-  name CDATA #REQUIRED
-  cwd CDATA #REQUIRED
-  root CDATA #IMPLIED
-  command CDATA #REQUIRED>
-]>
-<SystemDefinition schema="2.0.1" name="Symbian^3">
-<systemModel>
-<layer name="mw" long-name="Middleware" levels="generic specific">
-<block name="ipappsrv" level="specific" long-name="IP App Services" levels="framework generic server conn plugin">
-<collection name="multimediacommscontroller" long-name="Multimedia Comms Controller" level="conn">
-<component name="amrpayloadformatter" long-name="AMR Payload Formatter" introduced="tb92" purpose="optional">
-<unit bldFile="/sf/mw/ipappsrv/multimediacommscontroller/amrpayloadformatter/group" mrp="/sf/mw/ipappsrv/multimediacommscontroller/amrpayloadformatter/group/mm-protocols_rtpamr.mrp"/>
-</component>
-</collection>
-<collection name="ipappsrv_info" long-name="IP App Services Info" level="plugin">
-<component name="ipappsrv_metadata" long-name="IP App Services Metadata" introduced="tb91" purpose="development" class="config PC">
-<unit mrp="/sf/mw/ipappsrv/ipappsrv_info/ipappsrv_metadata/ipappsrv_metadata.mrp"/>
-</component>
-</collection>
-<collection name="s60">
-<component name="ipappservice">
-<unit bldFile="/sf/mw/ipappsrv/group" mrp=""/>
-</component>
-</collection>
-</block>
-</layer>
-</systemModel>
-</SystemDefinition>
\ No newline at end of file
+<!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="mw" long-name="Middleware" levels="generic specific">
+      <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="/sf/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="/sf/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="/sf/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="/sf/mw/ipappsrv/natplugins/natpcliprovisioningnatfwadapter/group"/>
+          </component>
+          <component name="natpdevmgmtnatfwadapter" filter="s60" long-name="Device Management NAT Framework Traversal Adapter" plugin="Y">
+            <unit bldFile="/sf/mw/ipappsrv/natplugins/natpdevmgmtnatfwadapter/group"/>
+          </component>
+          <component name="natptraversalcontroller" filter="s60" long-name="NAT Traversal Controller" plugin="Y">
+            <unit bldFile="/sf/mw/ipappsrv/natplugins/natptraversalcontroller/group"/>
+          </component>
+          <component name="natpnatfwsdpprovider" filter="s60" long-name="NAT Framework SDP Provider" plugin="Y">
+            <unit bldFile="/sf/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="/sf/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="/sf/mw/ipappsrv/group"/>
+          </component>
+          <component name="ipappsrv_metadata" long-name="IP App Services Metadata" introduced="^2" purpose="development" class="config PC">
+            <unit mrp="/sf/mw/ipappsrv/ipappsrv_info/ipappsrv_metadata/ipappsrv_metadata.mrp"/>
+          </component>
+        </collection>
+      </block>
+    </layer>
+  </systemModel>
+</SystemDefinition>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/symbian3/mw/ipappsrv/package_definition_3.0.xml	Mon Feb 01 16:11:43 2010 +0000
@@ -0,0 +1,214 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<SystemDefinition schema="3.0.0">
+  <package id="ipappsrv" name="IP App Services" levels="framework generic server conn plugin">
+    <collection id="multimediacommscontroller" name="Multimedia Comms Controller" level="conn">
+      <component id="mmccinterface" filter="s60" name="MMCC Interface">
+        <!-- <unit bldFile="multimediacommscontroller/mmccinterface/group"/> -->
+        <!-- <unit bldFile="multimediacommscontroller/mmccinterface/tsrc/ut_interface/group"/> -->
+      </component>
+      <component id="mmccjitterbuffer" filter="s60" name="Jitter Buffer">
+        <!-- <unit bldFile="multimediacommscontroller/mmccjitterbuffer/group"/> -->
+        <!-- <unit bldFile="multimediacommscontroller/mmccjitterbuffer/tsrc/ut_jitterbuffer/group"/> -->
+      </component>
+      <component id="mmccqoscontroller" filter="s60" name="QoS Controller">
+        <!-- <unit bldFile="multimediacommscontroller/mmccqoscontroller/group"/> -->
+        <!-- <unit bldFile="multimediacommscontroller/mmccqoscontroller/tsrc/ut_qoscontroller/group"/> -->
+      </component>
+      <component id="mmccmultiplexer" filter="s60" name="MMCC Multiplexer">
+        <!-- <unit bldFile="multimediacommscontroller/mmccmultiplexer/group"/> -->
+        <!-- <unit bldFile="multimediacommscontroller/mmccmultiplexer/tsrc/ut_multiplexer/group"/> -->
+      </component>
+      <component id="mmccsubcontroller" filter="s60" name="MMCC Subcontroller">
+        <!-- <unit bldFile="multimediacommscontroller/mmccsubcontroller/group"/> -->
+        <!-- <unit bldFile="multimediacommscontroller/mmccsubcontroller/tsrc/ut_rtpmediaclock/group"/> -->
+        <!-- <unit bldFile="multimediacommscontroller/mmccsubcontroller/tsrc/ut_subcontroller/group"/> -->
+      </component>
+      <component id="mmcccontroller" filter="s60" name="MMCC Controller" class="plugin">
+        <!-- <unit bldFile="multimediacommscontroller/mmcccontroller/group"/> -->
+        <!-- <unit bldFile="multimediacommscontroller/mmcccontroller/tsrc/ut_controller/group"/> -->
+      </component>
+      <component id="mmccredpayloadformat" filter="s60" name="Redundancy Payload Format" class="plugin">
+        <!-- <unit bldFile="multimediacommscontroller/mmccredpayloadformat/group"/> -->
+        <!-- <unit bldFile="multimediacommscontroller/mmccredpayloadformat/tsrc/ut_redpayloadformat/group"/> -->
+      </component>
+      <component id="mmccamrpayloadformat" filter="s60" name="AMR Payload Format" class="plugin">
+        <!-- <unit bldFile="multimediacommscontroller/mmccamrpayloadformat/group"/> -->
+        <!-- <unit bldFile="multimediacommscontroller/mmccamrpayloadformat/tsrc/ut_amrpayloadformat/group"/> -->
+      </component>
+      <component id="mmccg711payloadformat" filter="s60" name="G711 Payload Format" class="plugin">
+        <!-- <unit bldFile="multimediacommscontroller/mmccg711payloadformat/group"/> -->
+        <!-- <unit bldFile="multimediacommscontroller/mmccg711payloadformat/tsrc/ut_g711payloadformat/group"/> -->
+      </component>
+      <component id="mmccg729payloadformat" filter="s60" name="G729 Payload Format" class="plugin">
+        <!-- <unit bldFile="multimediacommscontroller/mmccg729payloadformat/group"/> -->
+        <!-- <unit bldFile="multimediacommscontroller/mmccg729payloadformat/tsrc/ut_g729payloadformat/group"/> -->
+      </component>
+      <component id="mmccilbcpayloadformat" filter="s60" name="ILBC Payload Format" class="plugin">
+        <!-- <unit bldFile="multimediacommscontroller/mmccilbcpayloadformat/group"/> -->
+        <!-- <unit bldFile="multimediacommscontroller/mmccilbcpayloadformat/tsrc/ut_ilbcpayloadformat/group"/> -->
+      </component>
+      <component id="mmccdtmfpayloadformat" filter="s60" name="DTMF Payload Format" class="plugin">
+        <!-- <unit bldFile="multimediacommscontroller/mmccdtmfpayloadformat/group"/> -->
+        <!-- <unit bldFile="multimediacommscontroller/mmccdtmfpayloadformat/tsrc/ut_dtmfpayloadformat/group"/> -->
+      </component>
+      <component id="mmccrtpsourcesink" filter="s60" name="RTP Source Sink" class="plugin">
+        <!-- <unit bldFile="multimediacommscontroller/mmccrtpsourcesink/group"/> -->
+        <!-- <unit bldFile="multimediacommscontroller/mmccrtpsourcesink/tsrc/ut_rtpsourcesink/group"/> -->
+      </component>
+      <component id="mmccvideosourcesink" filter="s60" name="Video Source Sink" class="plugin">
+        <!-- <unit bldFile="multimediacommscontroller/mmccvideosourcesink/group"/> -->
+        <!-- <unit bldFile="multimediacommscontroller/mmccvideosourcesink/tsrc/ut_videosourcesink/group"/> -->
+      </component>
+      <component id="mmcch263payloadformat" filter="s60" name="H263 Payload Format" class="plugin">
+        <!-- <unit bldFile="multimediacommscontroller/mmcch263payloadformat/group"/> -->
+        <!-- <unit bldFile="multimediacommscontroller/mmcch263payloadformat/tsrc/ut_h263payloadformat/group"/> -->
+      </component>
+      <component id="mmccanypayloadformat" filter="s60" name="Any Payload Format" class="plugin">
+        <!-- <unit bldFile="multimediacommscontroller/mmccanypayloadformat/group"/> -->
+        <!-- <unit bldFile="multimediacommscontroller/mmccanypayloadformat/tsrc/ut_anypayloadformat/group"/> -->
+      </component>
+      <component id="mmccfilesourcesink" filter="s60" name="MMCC File Source Sink" class="plugin">
+        <!-- <unit bldFile="multimediacommscontroller/mmccfilesourcesink/group"/> -->
+        <!-- <unit bldFile="multimediacommscontroller/mmccfilesourcesink/tsrc/ut_filesourcesink/group"/> -->
+      </component>
+      <component id="mmccanysourcesink" filter="s60" name="Any Source Sink" class="plugin">
+        <!-- <unit bldFile="multimediacommscontroller/mmccanysourcesink/group"/> -->
+        <!-- <unit bldFile="multimediacommscontroller/mmccanysourcesink/tsrc/ut_anysourcesink/group"/> -->
+      </component>
+      <component id="mmccavcpayloadformat" filter="s60" name="AVC Payload Format" class="plugin">
+        <!-- <unit bldFile="multimediacommscontroller/mmccavcpayloadformat/group"/> -->
+        <!-- <unit bldFile="multimediacommscontroller/mmccavcpayloadformat/tsrc/ut_avcpayloadformat/group"/> -->
+      </component>
+      <component id="multimediacommscontroller_build" filter="s60" name="Multimedia Comms Controller Build">
+              <!-- contents of this component need to be distributed out to the other commented-out bld.infs or the other components need to be collapsed into one -->
+        <unit bldFile="multimediacommscontroller/group"/>
+      </component>
+      <component id="multimediacommscontroller_test" filter="s60" name="Multimedia Comms Controller Test" purpose="development">
+        <!-- <unit bldFile="multimediacommscontroller/tsrc/testconsoles/mcpsubthreads/dptests/group"/> -->
+        <!-- <unit bldFile="multimediacommscontroller/tsrc/testconsoles/mcpsubthreads/clienttests/group"/> -->
+        <!-- <unit bldFile="multimediacommscontroller/tsrc/componenttests/group"/> -->
+        <!-- <unit bldFile="multimediacommscontroller/tsrc/subcontrollerstub/group"/> -->
+        <!-- <unit bldFile="multimediacommscontroller/tsrc/testconsoles/jitterbuffertestconsole/group"/> -->
+        <!-- <unit bldFile="multimediacommscontroller/tsrc/testconsoles/rtpsourcesink/group"/> -->
+        <!-- <unit bldFile="multimediacommscontroller/tsrc/testconsoles/mcpconsole/group"/> -->
+      </component>
+    </collection>
+    <collection id="multimediacommsengine" name="Multimedia Comms Engine" level="generic">
+      <component id="mmcesrv" filter="s60" name="Multimedia Comms Engine Server">
+        <!-- <unit bldFile="multimediacommsengine/mmcesrv/group"/> -->
+        <!-- <unit bldFile="multimediacommsengine/mmcesrv/mmceevent/tsrc/ut_event/group"/> -->
+        <!-- <unit bldFile="multimediacommsengine/mmcesrv/mmceevent/tsrc/ut_event/sip_stub/group"/> -->
+        <!-- <unit bldFile="multimediacommsengine/mmcesrv/mmcemediamanager/tsrc/ut_mediamanager/group"/> -->
+        <!-- <unit bldFile="multimediacommsengine/mmcesrv/mmceserver/tsrc/ut_server/group"/> -->
+      </component>
+      <component id="mmcecli" filter="s60" name="Multimedia Comms Engine Client">
+        <!-- <unit bldFile="multimediacommsengine/mmcecli/group"/> -->
+      </component>
+      <component id="mmcefloorctrlengine" filter="s60" name="MCE Floor Control Engine">
+        <!-- <unit bldFile="multimediacommsengine/mmcefloorctrlengine/group"/> -->
+        <!-- <unit bldFile="multimediacommsengine/mmcefloorctrlengine/tsrc/ut_floorctrlengine/fctestpplugin/group"/> -->
+        <!-- <unit bldFile="multimediacommsengine/mmcefloorctrlengine/tsrc/ut_floorctrlengine/fctestpplugin2/group"/> -->
+        <!-- <unit bldFile="multimediacommsengine/mmcefloorctrlengine/tsrc/ut_floorctrlengine/group"/> -->
+      </component>
+      <component id="mmcefloorctrlplugin" filter="s60" name="MCE Floor Control Plugin" class="plugin">
+        <!-- <unit bldFile="multimediacommsengine/mmcefloorctrlplugin/group"/> -->
+        <!-- <unit bldFile="multimediacommsengine/mmcefloorctrlplugin/tsrc/ut_floorctrlplugin/group"/> -->
+      </component>
+      <component id="multimediacommsengine_build" filter="s60" name="Multimedia Comms Engine Build">
+              <!-- contents of this component need to be distributed out to the other commented-out bld.infs or the other components need to be collapsed into one -->
+        <unit bldFile="multimediacommsengine/group"/>
+      </component>
+      <component id="multimediacommsengine_test" filter="s60" name="Multimedia Comms Engine Test" purpose="development">
+        <!-- <unit bldFile="multimediacommsengine/tsrc/mcetestui/mcetestuiplugin/group"/> -->
+        <!-- <unit bldFile="multimediacommsengine/tsrc/mcetestui/group"/> -->
+        <!-- <unit bldFile="multimediacommsengine/tsrc/testdriver/siptester/ttcnresolverplugin/group"/> -->
+        <!-- <unit bldFile="multimediacommsengine/tsrc/mmctestdriver/group"/> -->
+        <!-- <unit bldFile="multimediacommsengine/tsrc/mmctestdriver/mcetester/iceplugin_stub/group"/> -->
+        <!-- <unit bldFile="multimediacommsengine/tsrc/mmctestdriver/mcetester/ttcnresolverplugin/group"/> -->
+        <!-- <unit bldFile="multimediacommsengine/tsrc/testdriver/siptester/ttcnresolverplugin2/group"/> -->
+        <!-- <unit bldFile="multimediacommsengine/tsrc/mcetestui/mcetestuiengine/group"/> -->
+        <!-- <unit bldFile="multimediacommsengine/tsrc/testdriver/group/s60_public_sdk"/> -->
+        <!-- <unit bldFile="multimediacommsengine/tsrc/mmctestdriver/mcetester/iceplugin_stub/tsrc/test/group"/> -->
+        <!-- <unit bldFile="multimediacommsengine/tsrc/testdriver/group"/> -->
+        <!-- <unit bldFile="multimediacommsengine/tsrc/mmctestdriver/mcetester/voipplugin/group"/> -->
+      </component>
+    </collection>
+    <collection id="natfw" name="NAT Framework" level="framework">
+      <component id="natfwsettings" filter="s60" name="NAT Framework Settings" introduced="^2">
+        <!-- <unit bldFile="natfw/natfwsettings/group"/> -->
+        <!-- <unit bldFile="natfw/natfwsettings/tsrc/ut_cnatfwnatsettings/group"/> -->
+      </component>
+      <component id="natfwconnectionmultiplexer" filter="s60" name="NAT Framework Connection Multiplexer" introduced="^2">
+        <!-- <unit bldFile="natfw/natfwconnectionmultiplexer/group"/> -->
+        <!-- <unit bldFile="natfw/natfwconnectionmultiplexer/tsrc/muxtestconsole/group"/> -->
+        <!-- <unit bldFile="natfw/natfwconnectionmultiplexer/tsrc/ut_connectionmultiplexer/group"/> -->
+      </component>
+      <component id="natfwclient" filter="s60" name="NAT Framework Client" introduced="^2">
+        <!-- <unit bldFile="natfw/natfwclient/group"/> -->
+        <!-- <unit bldFile="natfw/natfwclient/tsrc/ut_natfwclient/group"/> -->
+      </component>
+      <component id="natfwsocketmediaconnwrapper" filter="s60" name="Socket Media Connection Wrapper" introduced="^2">
+        <!-- <unit bldFile="natfw/natfwsocketmediaconnwrapper/group"/> -->
+        <!-- <unit bldFile="natfw/natfwsocketmediaconnwrapper/tsrc/ut_socketmediaconnwrapper/group"/> -->
+      </component>
+      <component id="natfwunsaf_protocols" filter="s60" name="UNSAF Protocols" introduced="^2">
+          <!-- consider expanding name to UNilateral Self- Address Fixing Protocols -->
+        <!-- <unit bldFile="natfw/natfwunsaf_protocols/group"/> -->
+        <!-- <unit bldFile="natfw/natfwunsaf_protocols/tsrc/ut_unsaf_codec/group"/> -->
+        <!-- <unit bldFile="natfw/natfwunsaf_protocols/tsrc/ut_unsaf_transport/group"/> -->
+      </component>
+      <component id="natfwstunturnclient" filter="s60" name="STUN TURN Client" introduced="^2">
+        <!-- <unit bldFile="natfw/natfwstunturnclient/group"/> -->
+        <!-- <unit bldFile="natfw/natfwstunturnclient/tsrc/ut_stunturnclient/group"/> -->
+      </component>
+      <component id="natfwstunserver" filter="s60" name="STUN Server" introduced="^2">
+        <!-- <unit bldFile="natfw/natfwstunserver/group"/> -->
+        <!-- <unit bldFile="natfw/natfwstunserver/tsrc/ut_cnatfwstunsrv/group"/> -->
+      </component>
+      <component id="natfwicecandidatehandler" filter="s60" name="ICE Candidate Handler" class="plugin" introduced="^2">
+        <!-- <unit bldFile="natfw/natfwicecandidatehandler/group"/> -->
+        <!-- <unit bldFile="natfw/natfwicecandidatehandler/tsrc/ut_icecandidatehandler/group"/> -->
+      </component>
+      <component id="natfwstunplugin" filter="s60" name="STUN Plugin" class="plugin" introduced="^2">
+        <!-- <unit bldFile="natfw/natfwstunplugin/group"/> -->
+        <!-- <unit bldFile="natfw/natfwstunplugin/tsrc/ut_cnatfwstunplugin/group"/> -->
+      </component>
+      <component id="natfwturnplugin" filter="s60" name="TURN Plugin" class="plugin" introduced="^2">
+        <!-- <unit bldFile="natfw/natfwturnplugin/group"/> -->
+        <!-- <unit bldFile="natfw/natfwturnplugin/tsrc/ut_cnatfwturnplugin/group"/> -->
+      </component>
+      <component id="natfw_build" filter="s60" name="NAT Framework Build" introduced="^2">
+              <!-- contents of this component need to be distributed out to the other commented-out bld.infs or the other components need to be collapsed into one -->
+        <unit bldFile="natfw/group"/>
+      </component>
+      <component id="natfw_test" filter="s60" name="NAT Framework Test" purpose="development" introduced="^2">
+        <!-- <unit bldFile="natfw/tsrc/natfwtestconsoles/natfwtestconsole/group"/> -->
+      </component>
+    </collection>
+    <collection id="natplugins" name="NAT Plugins" level="plugin">
+         <!-- are the extra test units in here needed at all? Either incorperate into main unit as test projects or remove-->
+      <component id="natpcliprovisioningnatfwadapter" filter="s60" name="Client Provisioning NAT Framework Traversal Adapter" class="plugin" introduced="^2">
+        <unit bldFile="natplugins/natpcliprovisioningnatfwadapter/group"/>
+        <!-- <unit bldFile="natplugins/natpcliprovisioningnatfwadapter/tsrc/t_natfwtraversaladapter/group"/> -->
+      </component>
+      <component id="natpdevmgmtnatfwadapter" filter="s60" name="Device Management NAT Framework Traversal Adapter" class="plugin">
+        <unit bldFile="natplugins/natpdevmgmtnatfwadapter/group"/>
+        <!-- <unit bldFile="natplugins/natpdevmgmtnatfwadapter/tsrc/ut_cnsmldmnatfwtraversaladapter/group"/> -->
+      </component>
+      <component id="natptraversalcontroller" filter="s60" name="NAT Traversal Controller" class="plugin">
+        <unit bldFile="natplugins/natptraversalcontroller/group"/>
+        <!-- <unit bldFile="natplugins/natptraversalcontroller/tsrc/ut_nattraversalcontroller/group"/> -->
+      </component>
+      <component id="natpnatfwsdpprovider" filter="s60" name="NAT Framework SDP Provider" class="plugin">
+        <unit bldFile="natplugins/natpnatfwsdpprovider/group"/>
+        <!-- <unit bldFile="natplugins/natpnatfwsdpprovider/tsrc/testconsole/group"/> -->
+        <!-- <unit bldFile="natplugins/natpnatfwsdpprovider/tsrc/ut_natfwsdpprovider/group"/> -->
+      </component>
+    </collection>
+    <collection id="ipappsrv_info" name="IP App Services Info" level="plugin">
+      <component id="ipappsrv_metadata" name="IP App Services Metadata" class="config" introduced="^2" purpose="development" target="desktop">
+        <unit mrp="ipappsrv_info/ipappsrv_metadata/ipappsrv_metadata.mrp"/>
+      </component>
+    </collection>
+  </package>
+</SystemDefinition>
--- a/symbian3/mw/ipconnmgmt/package_definition.xml	Fri Jan 29 16:25:53 2010 +0000
+++ b/symbian3/mw/ipconnmgmt/package_definition.xml	Mon Feb 01 16:11:43 2010 +0000
@@ -1,109 +1,176 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE SystemDefinition [
- <!ELEMENT SystemDefinition (systemModel?,SystemBuild?)>
- <!ATTLIST SystemDefinition
-  name CDATA #REQUIRED
-  schema CDATA #REQUIRED>
- <!ELEMENT systemModel (layer+)>
- <!ELEMENT layer (block*|collection*)*>
- <!ATTLIST layer
-  name CDATA #REQUIRED
-  long-name CDATA #IMPLIED
-  levels NMTOKENS #IMPLIED
-  span CDATA #IMPLIED>
- <!ELEMENT block (subblock*|collection*)*>
- <!ATTLIST block
-  levels NMTOKENS #IMPLIED
-  span CDATA #IMPLIED
-  level NMTOKEN #IMPLIED
-  name CDATA #REQUIRED
-  long-name CDATA #IMPLIED>
- <!ELEMENT subblock (collection)*>
- <!ATTLIST subblock
-  name CDATA #REQUIRED
-  long-name CDATA #IMPLIED>
- <!ELEMENT collection (component)*>
- <!ATTLIST collection
-  name CDATA #REQUIRED
-  long-name CDATA #IMPLIED
-  level NMTOKEN #IMPLIED>
- <!ELEMENT component (unit)*>
- <!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>
- <!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>
- <!ELEMENT SystemBuild (option*|target+|targetList+|list+|configuration+)*>
- <!ATTLIST SystemBuild schema CDATA #REQUIRED>
- <!ELEMENT list (ref+)>
- <!ATTLIST list
-  name ID #REQUIRED
-  description CDATA #REQUIRED>
- <!ELEMENT ref EMPTY>
- <!ATTLIST ref item CDATA #REQUIRED>
- <!ELEMENT targetList EMPTY>
- <!ATTLIST targetList
-  name ID #REQUIRED
-  description CDATA #REQUIRED
-  target IDREFS #REQUIRED>
- <!ELEMENT target EMPTY>
- <!ATTLIST target
-  name ID #REQUIRED
-  abldTarget CDATA #REQUIRED
-  description CDATA #REQUIRED>
- <!ELEMENT option EMPTY>
- <!ATTLIST option
-  name ID #REQUIRED
-  abldOption CDATA #REQUIRED
-  description CDATA #REQUIRED
-  enable (Y|N) #REQUIRED>
- <!ELEMENT configuration (listRef+|ref+|task+)*>
- <!ATTLIST configuration
-  name ID #REQUIRED
-  description CDATA #REQUIRED
-  filter CDATA #REQUIRED>
- <!ELEMENT task (listRef*,(buildLayer|specialInstructions))>
- <!ELEMENT listRef EMPTY>
- <!ATTLIST listRef list CDATA #REQUIRED>
- <!ELEMENT buildLayer EMPTY>
- <!ATTLIST buildLayer
-  command CDATA #REQUIRED
-  targetList IDREFS #IMPLIED
-  unitParallel (Y|N) #REQUIRED
-  targetParallel (Y|N) 'N'>
- <!ELEMENT specialInstructions EMPTY>
- <!ATTLIST specialInstructions
-  name CDATA #REQUIRED
-  cwd CDATA #REQUIRED
-  root CDATA #IMPLIED
-  command CDATA #REQUIRED>
-]>
-<SystemDefinition schema="2.0.1" name="Symbian^3">
-<systemModel>
-<layer name="mw">
-<block name="ipconnmgmt">
-<collection name="s60">
-<component name="ipconnmgmt">
-<unit bldFile="/sf/mw/ipconnmgmt/group" mrp=""/>
-</component>
-</collection>
-</block>
-</layer>
-</systemModel>
+<!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="mw" long-name="Middleware" levels="generic specific">
+      <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="/sf/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="/sf/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="/sf/mw/ipconnmgmt/apengine/apeng/group"/>
+          </component>
+          <component name="apsettingshandlerui" filter="s60" long-name="Access Point Settings Handler UI">
+            <unit bldFile="/sf/mw/ipconnmgmt/apengine/apsettingshandlerui/group"/>
+          </component>
+          <component name="apsettingsplugin" filter="s60" long-name="Access Point Settings Plugin" plugin="Y">
+            <unit bldFile="/sf/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="/sf/mw/ipconnmgmt/bearermanagement/mpm/group"/>
+          </component>
+          <component name="bearermanager" filter="s60" long-name="Bearer Manager">
+            <unit bldFile="/sf/mw/ipconnmgmt/bearermanagement/bearermanager/group"/>
+          </component>
+          <component name="bearermanagement_build" filter="s60" long-name="Bearer Management Build">
+            <!-- move exports into one of the other components and remove this one -->
+            <unit bldFile="/sf/mw/ipconnmgmt/bearermanagement/group"/>
+          </component>
+        </collection>
+        <collection name="cmmanager" long-name="Connection Method Manager" level="framework">
+          <component name="cmmgr" filter="s60" long-name="CM Manager">
+            <unit bldFile="/sf/mw/ipconnmgmt/cmmanager/cmmgr/group"/>
+          </component>
+          <component name="gsconnsettingsplugin" filter="s60" long-name="GS Connection Settings Plugin" introduced="^3" plugin="Y">
+            <unit bldFile="/sf/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="/sf/mw/ipconnmgmt/connectionmonitoring/connectionmonitorplugin/group"/>
+          </component>
+          <component name="connectionmonitorui" filter="s60" long-name="Connection Monitor UI">
+            <unit bldFile="/sf/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="/sf/mw/ipconnmgmt/connectionmonitoring/connmon/connectionmonitor/group"/>
+            <unit bldFile="/sf/mw/ipconnmgmt/connectionmonitoring/connmon/dataconnectionlogger/group"/>
+          </component>
+          <component name="connmonext" filter="s60" long-name="Connection Monitor Extension API">
+            <unit bldFile="/sf/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="/sf/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="/sf/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="/sf/mw/ipconnmgmt/dbcreator/commsdatstartup/group"/>
+          </component>
+          <component name="dbcreatorexe" filter="s60" long-name="DB Creator" introduced="9.3">
+            <unit bldFile="/sf/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="/sf/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="/sf/mw/ipconnmgmt/ipcm_pub/group"/>
+          </component>
+          <component name="ipcm_plat" filter="s60" long-name="IP Connectivity Management Platform Interfaces" class="api">
+            <unit bldFile="/sf/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="/sf/mw/ipconnmgmt/group"/>
+          </component>
+        </collection>
+      </block>
+    </layer>
+  </systemModel>
 </SystemDefinition>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/symbian3/mw/ipconnmgmt/package_definition_3.0.xml	Mon Feb 01 16:11:43 2010 +0000
@@ -0,0 +1,90 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<SystemDefinition schema="3.0.0">
+  <package id="ipconnmgmt" name="IP Connectivity Management" levels="plugin framework server generic utils">
+    <collection id="alwayson_net_plugin" name="Always Online Net Plugin" level="server">
+      <component id="pdpcontextmanager2" filter="s60" name="PDP Context Manager 2">
+        <unit bldFile="alwayson_net_plugin/pdpcontextmanager2/group"/>
+      </component>
+    </collection>
+    <collection id="bearermanagement" name="Bearer Management" level="framework">
+      <component id="mpm" filter="s60" name="Mobility Policy Manager">
+        <unit bldFile="bearermanagement/mpm/group"/>
+      </component>
+      <component id="bearermanager" filter="s60" name="Bearer Manager">
+        <unit bldFile="bearermanagement/bearermanager/group"/>
+      </component>
+      <component id="bearermanagement_build" filter="s60" name="Bearer Management Build">
+		<!-- move exports into one of the other components and remove this one -->
+        <unit bldFile="bearermanagement/group"/>
+      </component>
+    </collection>
+    <collection id="connectionmonitoring" name="Connection Monitoring" level="server">
+      <component id="connectionmonitorplugin" filter="s60" name="Connection Monitor Plugin" class="plugin">
+        <unit bldFile="connectionmonitoring/connectionmonitorplugin/group"/>
+      </component>
+      <component id="connectionmonitorui" filter="s60" name="Connection Monitor UI">
+        <unit bldFile="connectionmonitoring/connectionmonitorui/group"/>
+      </component>
+      <component id="connmon" filter="s60" name="Connection Monitor">
+		<!-- either split into two components, or #include from a common bld.inf -->
+        <unit bldFile="connectionmonitoring/connmon/connectionmonitor/group"/>
+        <unit bldFile="connectionmonitoring/connmon/dataconnectionlogger/group"/>
+      </component>
+      <component id="connmonext" filter="s60" name="Connection Monitor Extension API">
+        <unit bldFile="connectionmonitoring/connmonext/group"/>
+      </component>
+    </collection>
+    <collection id="accesspointcontrol" name="Access Point Control" level="plugin">
+      <component id="apcontrollistplugin" filter="s60" name="Access Point Control List Plugin" class="plugin" introduced="^2">
+        <unit bldFile="accesspointcontrol/apcontrollistplugin/group"/>
+      </component>
+    </collection>
+    <collection id="apengine" name="Access Point Engine" level="framework">
+      <component id="apeng" filter="s60" name="Access Point Engine">
+        <unit bldFile="apengine/apeng/group"/>
+      </component>
+      <component id="apsettingshandlerui" filter="s60" name="Access Point Settings Handler UI">
+        <unit bldFile="apengine/apsettingshandlerui/group"/>
+      </component>
+      <component id="apsettingsplugin" filter="s60" name="Access Point Settings Plugin" class="plugin">
+        <unit bldFile="apengine/apsettingsplugin/group"/>
+      </component>
+    </collection>
+    <collection id="cmmanager" name="Connection Method Manager" level="framework">
+      <component id="cmmgr" filter="s60" name="CM Manager">
+        <unit bldFile="cmmanager/cmmgr/group"/>
+      </component>
+    </collection>
+    <collection id="dbcreator" name="DB Creator" level="utils">
+      <component id="commsdatcreator" filter="s60" name="Comms Database Creator" introduced="9.3">
+        <unit bldFile="dbcreator/commsdatcreator/group"/>
+      </component>
+      <component id="commsdatcreatorrfsplugin" filter="s60" name="Comms Database Creator RFS Plugin" class="plugin" introduced="9.3">
+        <unit bldFile="dbcreator/commsdatcreatorrfsplugin/group"/>
+      </component>
+      <component id="commsdatstartup" filter="s60" name="Comms Database Startup" introduced="9.3">
+        <unit bldFile="dbcreator/commsdatstartup/group"/>
+      </component>
+      <component id="dbcreatorexe" filter="s60" name="DB Creator" introduced="9.3">
+        <unit bldFile="dbcreator/dbcreatorexe/group"/>
+      </component>
+      <component id="dbcreator_build" filter="s60" name="DB Creator Build" introduced="9.3">
+		<!-- consider moving exports to another component and getting rid of this one -->
+        <unit bldFile="dbcreator/group"/>
+      </component>
+    </collection>
+    <collection id="connectionutilities" name="Connection Utilities" level="utils">
+      <component id="connectiondialogs" filter="s60" name="Connection Dialogs">
+        <unit bldFile="connectionutilities/connectiondialogs/group"/>
+      </component>
+    </collection>
+    <collection id="ipconnmgmt_info" name="IP Connectivity Management Info" level="utils">
+      <component id="ipcm_pub" filter="s60" class="api" name="IP Connectivity Management Public Interfaces">
+        <unit bldFile="ipcm_pub/group"/>
+      </component>
+      <component id="ipcm_plat" filter="s60" class="api" name="IP Connectivity Management Platform Interfaces">
+        <unit bldFile="ipcm_plat/group"/>
+      </component>
+    </collection>
+  </package>
+</SystemDefinition>
--- a/symbian3/mw/legacypresence/package_definition.xml	Fri Jan 29 16:25:53 2010 +0000
+++ b/symbian3/mw/legacypresence/package_definition.xml	Mon Feb 01 16:11:43 2010 +0000
@@ -1,109 +1,135 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE SystemDefinition [
- <!ELEMENT SystemDefinition (systemModel?,SystemBuild?)>
- <!ATTLIST SystemDefinition
-  name CDATA #REQUIRED
-  schema CDATA #REQUIRED>
- <!ELEMENT systemModel (layer+)>
- <!ELEMENT layer (block*|collection*)*>
- <!ATTLIST layer
-  name CDATA #REQUIRED
-  long-name CDATA #IMPLIED
-  levels NMTOKENS #IMPLIED
-  span CDATA #IMPLIED>
- <!ELEMENT block (subblock*|collection*)*>
- <!ATTLIST block
-  levels NMTOKENS #IMPLIED
-  span CDATA #IMPLIED
-  level NMTOKEN #IMPLIED
-  name CDATA #REQUIRED
-  long-name CDATA #IMPLIED>
- <!ELEMENT subblock (collection)*>
- <!ATTLIST subblock
-  name CDATA #REQUIRED
-  long-name CDATA #IMPLIED>
- <!ELEMENT collection (component)*>
- <!ATTLIST collection
-  name CDATA #REQUIRED
-  long-name CDATA #IMPLIED
-  level NMTOKEN #IMPLIED>
- <!ELEMENT component (unit)*>
- <!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>
- <!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>
- <!ELEMENT SystemBuild (option*|target+|targetList+|list+|configuration+)*>
- <!ATTLIST SystemBuild schema CDATA #REQUIRED>
- <!ELEMENT list (ref+)>
- <!ATTLIST list
-  name ID #REQUIRED
-  description CDATA #REQUIRED>
- <!ELEMENT ref EMPTY>
- <!ATTLIST ref item CDATA #REQUIRED>
- <!ELEMENT targetList EMPTY>
- <!ATTLIST targetList
-  name ID #REQUIRED
-  description CDATA #REQUIRED
-  target IDREFS #REQUIRED>
- <!ELEMENT target EMPTY>
- <!ATTLIST target
-  name ID #REQUIRED
-  abldTarget CDATA #REQUIRED
-  description CDATA #REQUIRED>
- <!ELEMENT option EMPTY>
- <!ATTLIST option
-  name ID #REQUIRED
-  abldOption CDATA #REQUIRED
-  description CDATA #REQUIRED
-  enable (Y|N) #REQUIRED>
- <!ELEMENT configuration (listRef+|ref+|task+)*>
- <!ATTLIST configuration
-  name ID #REQUIRED
-  description CDATA #REQUIRED
-  filter CDATA #REQUIRED>
- <!ELEMENT task (listRef*,(buildLayer|specialInstructions))>
- <!ELEMENT listRef EMPTY>
- <!ATTLIST listRef list CDATA #REQUIRED>
- <!ELEMENT buildLayer EMPTY>
- <!ATTLIST buildLayer
-  command CDATA #REQUIRED
-  targetList IDREFS #IMPLIED
-  unitParallel (Y|N) #REQUIRED
-  targetParallel (Y|N) 'N'>
- <!ELEMENT specialInstructions EMPTY>
- <!ATTLIST specialInstructions
-  name CDATA #REQUIRED
-  cwd CDATA #REQUIRED
-  root CDATA #IMPLIED
-  command CDATA #REQUIRED>
-]>
-<SystemDefinition schema="2.0.1" name="Symbian^3">
-<systemModel>
-<layer name="mw">
-<block name="legacypresence">
-<collection name="s60">
-<component name="legacypresence">
-<unit bldFile="/sf/mw/legacypresence/group" mrp=""/>
-</component>
-</collection>
-</block>
-</layer>
-</systemModel>
+<!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="mw" long-name="Middleware" levels="generic specific">
+      <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="/sf/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="/sf/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="/sf/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="/sf/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="/sf/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="/sf/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="/sf/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="/sf/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="/sf/mw/legacypresence/pressrv_plat/group"/>
+          </component>
+        </collection>
+      </block>
+    </layer>
+  </systemModel>
 </SystemDefinition>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/symbian3/mw/legacypresence/package_definition_3.0.xml	Mon Feb 01 16:11:43 2010 +0000
@@ -0,0 +1,105 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<SystemDefinition schema="3.0.0">
+  <package id="legacypresence" name="Legacy Presence Services" levels="engine fw ui">
+    <collection id="xdmengine" name="XDM Engine" level="engine">
+      <component id="xdmsettingsapi" filter="s60" name="XDM Settings Api">
+        <!-- <unit bldFile="xdmengine/xdmsettingsapi/group"/> -->
+      </component>
+      <component id="xdmprovisioning" filter="s60" name="XDM Provisioning">
+        <!-- <unit bldFile="xdmengine/xdmprovisioning/group"/> -->
+      </component>
+      <component id="xdmdevicemanagement" filter="s60" name="XDM Device Management">
+        <!-- <unit bldFile="xdmengine/xdmdevicemanagement/group"/> -->
+      </component>
+      <component id="xdmengine_build" filter="s60" name="XDM Engine Build">
+      	<!--  should move the necesary parts into the above components, or collapse them all into one -->
+        <unit bldFile="xdmengine/group"/>
+      </component>
+    </collection>
+    <collection id="xdmsettingsui" name="XDM Settings UI" level="ui">
+      <component id="xdmsettingsui_help" filter="s60" name="XDM Settings UI Help">
+        <unit bldFile="xdmsettingsui/help/group"/>
+      </component>
+      <component id="xdmsettingsui_build" filter="s60" name="XDM Settings UI Build">
+        <unit bldFile="xdmsettingsui/group"/>
+      </component>
+    </collection>
+    <collection id="msgconnmanager" name="Messaging Connection Manager" level="fw">
+      <component id="msgconnmanager_build" filter="s60" name="Messaging Connection Manager Build">
+        <unit bldFile="msgconnmanager/group"/>
+      </component>
+    </collection>
+    <collection id="presencefwsimpleadpt" name="Presence Framework SIMPLE Adaptation" level="fw">
+      <component id="simpleplugin" filter="s60" class="plugin" name="SIMPLE Plugin">
+        <unit bldFile="presencefwsimpleadpt/group"/>
+      </component>
+    </collection>
+    <collection id="presencesettingsui" name="Presence Settings UI" level="ui">
+      <component id="presencesettingsui_help" filter="s60" name="Presence Settings UI Help">
+        <unit bldFile="presencesettingsui/help/group"/>
+      </component>
+      <component id="presencesettingsui_build" filter="s60" name="Presence Settings UI Build">
+        <unit bldFile="presencesettingsui/group"/>
+      </component>
+    </collection>
+    <collection id="simpleengine" name="SIMPLE Engine" level="engine">
+      <component id="presencesettingsapi" filter="s60" name="Presence Settings API">
+        <!-- <unit bldFile="simpleengine/presencesettingsapi/group"/> -->
+      </component>
+      <component id="siputils" filter="s60" name="SIP Utils">
+        <!-- <unit bldFile="simpleengine/siputils/group"/> -->
+      </component>
+      <component id="xmlutils" filter="s60" name="XML Utils">
+        <!-- <unit bldFile="simpleengine/xmlutils/group"/> -->
+      </component>
+      <component id="simpleengine_engine" filter="s60" name="Engine">
+        <!-- <unit bldFile="simpleengine/engine/group"/> -->
+      </component>
+      <component id="xdmrlspres" filter="s60" name="RLS and Presence XDM">
+        <!-- <unit bldFile="simpleengine/xdmrlspres/group"/> -->
+      </component>
+      <component id="presencedm" filter="s60" name="Presence DM Adapter" class="plugin">
+        <!-- <unit bldFile="simpleengine/presencedm/group"/> -->
+      </component>
+      <component id="presenceprovisioning" filter="s60" name="Presence Provisioning" class="plugin">
+        <!-- <unit bldFile="simpleengine/presenceprovisioning/group"/> -->
+      </component>
+      <component id="simpleengine_build" filter="s60" name="SIMPLE Engine Build">
+      	<!--  should move the necesary parts into the above components, or collapse them all into one -->
+        <unit bldFile="simpleengine/group"/>
+      </component>
+    </collection>
+    <collection id="xdmprotocols" name="XDM Protocols" level="fw">
+      <component id="xdmxmlparser" filter="s60" name="XDM XML Parser">
+        <!-- <unit bldFile="xdmprotocols/xdmxmlparser/group"/> -->
+      </component>
+      <component id="xcapprotocol" filter="s60" name="Xcap Protocol">
+        <!-- <unit bldFile="xdmprotocols/xcapprotocol/group"/> -->
+        <!-- <unit bldFile="xdmprotocols/xcapprotocol/xcapappusage/group"/> -->
+        <!-- <unit bldFile="xdmprotocols/xcapprotocol/xcapcache/client/group"/> -->
+        <!-- <unit bldFile="xdmprotocols/xcapprotocol/xcapcache/server/group"/> -->
+        <!-- <unit bldFile="xdmprotocols/xcapprotocol/xcaphttptransport/group"/> -->
+        <!-- <unit bldFile="xdmprotocols/xcapprotocol/xcapoperations/group"/> -->
+        <!-- <unit bldFile="xdmprotocols/xcapprotocol/xcaputils/group"/> -->
+      </component>
+      <component id="localprotocol" filter="s60" name="Local Protocol">
+        <!-- <unit bldFile="xdmprotocols/localprotocol/group"/> -->
+        <!-- <unit bldFile="xdmprotocols/localprotocol/localoperations/group"/> -->
+      </component>
+      <component id="xdmprotocols_build" filter="s60" name="XDM Protocols Build">
+      	<!--  should move the necesary parts into the above components, or collapse them all into one -->
+        <unit bldFile="xdmprotocols/group"/>
+      </component>
+    </collection>
+    <collection id="simpledatamodeladapter" name="SIMPLE Data Model Adapter" level="fw">
+      <component id="presenceplugin" filter="s60" class="plugin"  name="Presence Plugin" introduced="^2">
+        <unit bldFile="simpledatamodeladapter/group"/>
+      </component>
+    </collection>
+    <collection id="legacypresence_info" name="Legacy Presence Services Info" level="ui">
+      <component id="pressrv_plat" filter="s60" class="api" name="Legacy Presence Services Platform Interfaces">
+        <unit bldFile="pressrv_plat/group"/>
+      </component>
+    </collection>
+  </package>
+</SystemDefinition>
--- a/symbian3/mw/locationsrv/package_definition.xml	Fri Jan 29 16:25:53 2010 +0000
+++ b/symbian3/mw/locationsrv/package_definition.xml	Mon Feb 01 16:11:43 2010 +0000
@@ -1,109 +1,175 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE SystemDefinition [
- <!ELEMENT SystemDefinition (systemModel?,SystemBuild?)>
- <!ATTLIST SystemDefinition
-  name CDATA #REQUIRED
-  schema CDATA #REQUIRED>
- <!ELEMENT systemModel (layer+)>
- <!ELEMENT layer (block*|collection*)*>
- <!ATTLIST layer
-  name CDATA #REQUIRED
-  long-name CDATA #IMPLIED
-  levels NMTOKENS #IMPLIED
-  span CDATA #IMPLIED>
- <!ELEMENT block (subblock*|collection*)*>
- <!ATTLIST block
-  levels NMTOKENS #IMPLIED
-  span CDATA #IMPLIED
-  level NMTOKEN #IMPLIED
-  name CDATA #REQUIRED
-  long-name CDATA #IMPLIED>
- <!ELEMENT subblock (collection)*>
- <!ATTLIST subblock
-  name CDATA #REQUIRED
-  long-name CDATA #IMPLIED>
- <!ELEMENT collection (component)*>
- <!ATTLIST collection
-  name CDATA #REQUIRED
-  long-name CDATA #IMPLIED
-  level NMTOKEN #IMPLIED>
- <!ELEMENT component (unit)*>
- <!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>
- <!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>
- <!ELEMENT SystemBuild (option*|target+|targetList+|list+|configuration+)*>
- <!ATTLIST SystemBuild schema CDATA #REQUIRED>
- <!ELEMENT list (ref+)>
- <!ATTLIST list
-  name ID #REQUIRED
-  description CDATA #REQUIRED>
- <!ELEMENT ref EMPTY>
- <!ATTLIST ref item CDATA #REQUIRED>
- <!ELEMENT targetList EMPTY>
- <!ATTLIST targetList
-  name ID #REQUIRED
-  description CDATA #REQUIRED
-  target IDREFS #REQUIRED>
- <!ELEMENT target EMPTY>
- <!ATTLIST target
-  name ID #REQUIRED
-  abldTarget CDATA #REQUIRED
-  description CDATA #REQUIRED>
- <!ELEMENT option EMPTY>
- <!ATTLIST option
-  name ID #REQUIRED
-  abldOption CDATA #REQUIRED
-  description CDATA #REQUIRED
-  enable (Y|N) #REQUIRED>
- <!ELEMENT configuration (listRef+|ref+|task+)*>
- <!ATTLIST configuration
-  name ID #REQUIRED
-  description CDATA #REQUIRED
-  filter CDATA #REQUIRED>
- <!ELEMENT task (listRef*,(buildLayer|specialInstructions))>
- <!ELEMENT listRef EMPTY>
- <!ATTLIST listRef list CDATA #REQUIRED>
- <!ELEMENT buildLayer EMPTY>
- <!ATTLIST buildLayer
-  command CDATA #REQUIRED
-  targetList IDREFS #IMPLIED
-  unitParallel (Y|N) #REQUIRED
-  targetParallel (Y|N) 'N'>
- <!ELEMENT specialInstructions EMPTY>
- <!ATTLIST specialInstructions
-  name CDATA #REQUIRED
-  cwd CDATA #REQUIRED
-  root CDATA #IMPLIED
-  command CDATA #REQUIRED>
-]>
-<SystemDefinition schema="2.0.1" name="Symbian^3">
-<systemModel>
-<layer name="mw">
-<block name="locationsrv">
-<collection name="s60">
-<component name="locationsrv">
-<unit bldFile="/sf/mw/locationsrv/group" mrp=""/>
-</component>
-</collection>
-</block>
-</layer>
-</systemModel>
+<!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="mw" long-name="Middleware" levels="generic specific">
+      <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="/sf/mw/locationsrv/genericpositioningplugins/locationnpppsy/group"/>
+          </component>
+          <component name="locationsuplpsy" filter="s60" long-name="Location SUPL PSY" introduced="^3" plugin="Y">
+            <unit bldFile="/sf/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="/sf/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="/sf/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="/sf/mw/locationsrv/locationmapnavfw/library/group"/>
+          </component>
+          <component name="mnaiwprovider" filter="s60" long-name="Map and Navigation AIW Provider" plugin="Y">
+            <unit bldFile="/sf/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="/sf/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="/sf/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="/sf/mw/locationsrv/supl/locationsuplfw/group"/>
+          </component>
+          <component name="locationomasuplprotocolhandler" filter="s60" long-name="OMA SUPL Protocol Handler">
+            <unit bldFile="/sf/mw/locationsrv/supl/locationomasuplprotocolhandler/group"/>
+          </component>
+          <component name="supltiapiimplementation" filter="s60" long-name="SUPL TI API Implementation" introduced="^3">
+            <unit bldFile="/sf/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="/sf/mw/locationsrv/locationtriggering/ltlogger/group"/>
+          </component>
+          <component name="ltclientlib" filter="s60" long-name="LT Client Library">
+            <unit bldFile="/sf/mw/locationsrv/locationtriggering/ltclientlib/group"/>
+          </component>
+          <component name="ltmanagementlib" filter="s60" long-name="LT Management Library">
+            <unit bldFile="/sf/mw/locationsrv/locationtriggering/ltmanagementlib/group"/>
+          </component>
+          <component name="ltcontainer" filter="s60" long-name="LT Container">
+            <unit bldFile="/sf/mw/locationsrv/locationtriggering/ltcontainer/group"/>
+          </component>
+          <component name="ltserver" filter="s60" long-name="LT Server">
+            <unit bldFile="/sf/mw/locationsrv/locationtriggering/ltserver/group"/>
+          </component>
+          <component name="ltstrategypluginapi" filter="s60" long-name="LT Strategy Plugin API">
+            <unit bldFile="/sf/mw/locationsrv/locationtriggering/ltstrategypluginapi/group"/>
+          </component>
+          <component name="ltstrategyengine" filter="s60" long-name="LT Strategy Engine">
+            <unit bldFile="/sf/mw/locationsrv/locationtriggering/ltstrategyengine/group"/>
+          </component>
+          <component name="ltmovementdetectionpluginapi" filter="s60" long-name="Movement Detection Plugin API">
+            <unit bldFile="/sf/mw/locationsrv/locationtriggering/ltmovementdetectionpluginapi/group"/>
+          </component>
+          <component name="ltcellidmovementdetector" filter="s60" long-name="Cell ID Movement Detector">
+            <unit bldFile="/sf/mw/locationsrv/locationtriggering/ltcellidmovementdetector/group"/>
+          </component>
+          <component name="lbtmgmtui" filter="s60" long-name="LBT Management UI" plugin="Y">
+            <unit bldFile="/sf/mw/locationsrv/locationtriggering/lbtmgmtui/group"/>
+          </component>
+          <component name="ltcontextsourceplugin" filter="s60" long-name="LT Context Source Plugin" introduced="^3" plugin="Y">
+            <unit bldFile="/sf/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="/sf/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="/sf/mw/locationsrv/locsrv_plat/group"/>
+          </component>
+          <component name="locsrv_pub" filter="s60" long-name="Location Services Public Interfaces" class="api">
+            <unit bldFile="/sf/mw/locationsrv/locsrv_pub/group"/>
+          </component>
+        </collection>
+      </block>
+    </layer>
+  </systemModel>
 </SystemDefinition>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/symbian3/mw/locationsrv/package_definition_3.0.xml	Mon Feb 01 16:11:43 2010 +0000
@@ -0,0 +1,145 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<SystemDefinition schema="3.0.0">
+  <package id="locationsrv" name="Location Services" levels="plugin fw server if">
+    <collection id="landmarks" name="Landmarks" level="server">
+      <component id="locationlandmarks" filter="s60" name="Location Landmarks">
+        <unit bldFile="landmarks/locationlandmarks/group"/>
+      </component>
+    </collection>
+    <collection id="locationmapnavfw" name="Location Map and Navigation Framework" level="fw">
+      <component id="library" filter="s60" name="Map and Navigation Library">
+      	<!-- should change ID to something more meaningful (mplibrary?) -->
+        <unit bldFile="locationmapnavfw/library/group"/>
+      </component>
+      <component id="aiwprovider" filter="s60" name="Map and Navigation AIW Provider">
+      	<!-- should change ID to something more meaningful (mpaiwprovider?) -->
+        <unit bldFile="locationmapnavfw/aiwprovider/group"/>
+      </component>
+      <component id="locationmapnavfw_build" filter="s60" name="Location Map and Navigation Framework Build">
+        <unit bldFile="locationmapnavfw/group"/>
+      </component>
+    </collection>
+    <collection id="locationsystemui" name="Location System UI" level="if">
+      <component id="locationsysui" filter="s60" name="Location System UI">
+        <unit bldFile="locationsystemui/locationsysui/group"/>
+      </component>
+    </collection>
+    <collection id="supl" name="SUPL" level="fw">
+      <component id="locationsuplfw" filter="s60" name="Location SUPL Framework">
+        <unit bldFile="supl/locationsuplfw/group"/>
+      </component>
+      <component id="locationomasuplprotocolhandler" filter="s60" name="OMA SUPL Protocol Handler">
+        <unit bldFile="supl/locationomasuplprotocolhandler/group"/>
+      </component>
+      <component id="locationomasuplpostester" filter="s60" name="OMA SUPL POS Tester">
+        <unit bldFile="supl/locationomasuplpostester/group"/>
+      </component>
+    </collection>
+    <collection id="locationtriggering" name="Location Triggering" level="server">
+      <component id="ltlogger" filter="s60" name="LT Logger">
+        <unit bldFile="locationtriggering/ltlogger/group"/>
+      </component>
+      <component id="ltclientlib" filter="s60" name="LT Client Library">
+        <unit bldFile="locationtriggering/ltclientlib/group"/>
+      </component>
+      <component id="ltmanagementlib" filter="s60" name="LT Management Library">
+        <unit bldFile="locationtriggering/ltmanagementlib/group"/>
+      </component>
+      <component id="ltcontainer" filter="s60" name="LT Container">
+        <unit bldFile="locationtriggering/ltcontainer/group"/>
+      </component>
+      <component id="ltserver" filter="s60" name="LT Server">
+        <unit bldFile="locationtriggering/ltserver/group"/>
+      </component>
+      <component id="ltstrategypluginapi" filter="s60" name="LT Strategy Plugin API">
+        <unit bldFile="locationtriggering/ltstrategypluginapi/group"/>
+      </component>
+      <component id="ltstrategyengine" filter="s60" name="LT Strategy Engine">
+        <unit bldFile="locationtriggering/ltstrategyengine/group"/>
+      </component>
+      <component id="ltmovementdetectionpluginapi" filter="s60" name="Movement Detection Plugin API">
+        <unit bldFile="locationtriggering/ltmovementdetectionpluginapi/group"/>
+      </component>
+      <component id="ltcellidmovementdetector" filter="s60" name="Cell ID Movement Detector">
+        <unit bldFile="locationtriggering/ltcellidmovementdetector/group"/>
+      </component>
+      <component id="lbtmgmtui" filter="s60" name="LBT Management UI" class="plugin">
+        <unit bldFile="locationtriggering/lbtmgmtui/group"/>
+      </component>
+      <component id="locationtriggering_test" filter="s60" name="Location Triggering Test" purpose="development">
+      	<!--  should have only one unit  -->
+        <!-- <unit bldFile="locationtriggering/tsrc/lbtengine_test/lbtcancellationtest/cancelcreatetest/group"/> -->
+        <!-- <unit bldFile="locationtriggering/tsrc/lbtengine_test/additionaltests/createtest/group"/> -->
+        <!-- <unit bldFile="locationtriggering/tsrc/lbtengine_test/additionaltests/handlingprocesstest/group"/> -->
+        <!-- <unit bldFile="locationtriggering/tsrc/lbtengine_test/lbtplatsectest/testlbtplatsecurity2_exe/group"/> -->
+        <!-- <unit bldFile="locationtriggering/tsrc/lbtengine_test/lbtcancellationtest/cancellisttriggerstest/group"/> -->
+        <!-- <unit bldFile="locationtriggering/tsrc/lbtengine_test/lbtcancellationtest/cancelcreateiteratortest/group"/> -->
+        <!-- <unit bldFile="locationtriggering/tsrc/lbtengine_test/lbtplatsectest/testlbtplatsecurity3_exe/group"/> -->
+        <!-- <unit bldFile="locationtriggering/tsrc/lbtengine_test/firingofstartuptriggerandlisttrigger/createtest/group"/> -->
+        <!-- <unit bldFile="locationtriggering/tsrc/lbtengine_test/t_mgmtsettings/group"/> -->
+        <!-- <unit bldFile="locationtriggering/tsrc/lbtengine_test/lbtplatsectest/testlbtplatsecurity4_exe/group"/> -->
+        <!-- <unit bldFile="locationtriggering/tsrc/lbtengine_test/lbtcancellationtest/cancelgettriggerstest/group"/> -->
+        <!-- <unit bldFile="locationtriggering/tsrc/lbtengine_test/additionaltests/modifytest/group"/> -->
+        <!-- <unit bldFile="locationtriggering/tsrc/lbtengine_test/t_mgmtsettings/createtest/group"/> -->
+        <!-- <unit bldFile="locationtriggering/tsrc/lbtengine_test/group"/> -->
+        <!-- <unit bldFile="locationtriggering/tsrc/lbtengine_test/lbtplatsectest/testlbtplatsecurity5_exe/group"/> -->
+        <!-- <unit bldFile="locationtriggering/tsrc/lbtengine_test/additionaltests/notificationtest/group"/> -->
+        <!-- <unit bldFile="locationtriggering/tsrc/lbtengine_test/lbtcancellationtest/cancelsettriggerstest/group"/> -->
+        <!-- <unit bldFile="locationtriggering/tsrc/lbtengine_test/lbtcancellationtest/canceldeletetest/group"/> -->
+        <!-- <unit bldFile="locationtriggering/tsrc/lbtengine_test/additionaltests/deletetest/group"/> -->
+        <!-- <unit bldFile="locationtriggering/tsrc/lbtengine_test/lbtplatsectest/testlbtplatsecurity1_exe/group"/> -->
+      </component>
+      <component id="locationtriggering_build" filter="s60" name="Location Triggering Build">
+      	<!--  should remove #include from this and maybe put exports in the above components -->
+        <unit bldFile="locationtriggering/group"/>
+      </component>
+    </collection>
+    <collection id="genericpositioningplugins" name="Generic Positioning Plugins" level="plugin">
+      <component id="genericpositioningplugins_build" filter="s60" name="Generic Positioning Plugins Build">
+        <unit bldFile="genericpositioningplugins/group"/>
+      </component>    
+      <component id="locationnpppsy" filter="s60" name="Location Positioning Proxy PSY" class="plugin"> 
+        <unit bldFile="genericpositioningplugins/locationnpppsy/group"/>
+      </component>
+    </collection>
+    <collection id="locationsrv_info" name="Location Services Info" level="if">
+      <component id="locsrv_plat" filter="s60" class="api"  name="Location Services Platform Interfaces">
+        <unit bldFile="locsrv_plat/group"/>
+        <!--  can only have one unit, should below be #included in the above? -->
+        <!-- <unit bldFile="locsrv_plat/geocoding_api/tsrc/group"/> -->
+        <!-- <unit bldFile="locsrv_plat/geocoding_api/tsrc/mapnavproviderrefapp/group"/> -->
+        <!-- <unit bldFile="locsrv_plat/location_centre_api/tsrc/group"/> -->
+        <!-- <unit bldFile="locsrv_plat/location_settings_launch_api/tsrc/group"/> -->
+        <!-- <unit bldFile="locsrv_plat/map_and_navigation_api/tsrc/group"/> -->
+        <!-- <unit bldFile="locsrv_plat/map_and_navigation_api/tsrc/mapnavproviderrefapp/group"/> -->
+        <!-- <unit bldFile="locsrv_plat/map_and_navigation_provider_discovery_api/tsrc/group"/> -->
+        <!-- <unit bldFile="locsrv_plat/map_and_navigation_provider_discovery_api/tsrc/mapnavproviderrefapp/group"/> -->
+        <!-- <unit bldFile="locsrv_plat/map_image_api/tsrc/group"/> -->
+        <!-- <unit bldFile="locsrv_plat/map_image_api/tsrc/testprovider/group"/> -->
+        <!-- <unit bldFile="locsrv_plat/map_image_conversion_plugin_api/tsrc/group"/> -->
+        <!-- <unit bldFile="locsrv_plat/map_image_conversion_plugin_api/tsrc/mapnavproviderrefapp/group"/> -->
+        <!-- <unit bldFile="locsrv_plat/oma_supl_asn_codec_plugin_api/tsrc/group"/> -->
+        <!-- <unit bldFile="locsrv_plat/supl_network_initiation_api/tsrc/group"/> -->
+        <!-- <unit bldFile="locsrv_plat/supl_pos_message_plugin_api/tsrc/group"/> -->
+        <!-- <unit bldFile="locsrv_plat/supl_pos_message_plugin_api/tsrc/posmsgpluginreferenceimpl/group"/> -->
+        <!-- <unit bldFile="locsrv_plat/supl_settings_api/tsrc/group"/> -->
+        <!-- <unit bldFile="locsrv_plat/supl_terminal_initiation_api/tsrc/group"/> -->
+      </component>
+      <component id="locationsrv_test" filter="s60" name="Location Services Test" purpose="development">
+        <!-- <unit bldFile="tsrc/group"/> -->
+      </component>
+      <component id="locsrv_pub" filter="s60" class="api" name="Location Services Public Interfaces">
+        <unit bldFile="locsrv_pub/group"/>
+        <!--  can only have one unit, should below be #included in the above? -->
+        <!-- <unit bldFile="locsrv_pub/blid_application_satellite_info_api/tsrc/bc_blid_application_satellite_info_api/group"/> -->
+        <!-- <unit bldFile="locsrv_pub/blid_application_satellite_info_api/tsrc/ut_csatelliteuitest/group"/> -->
+        <!-- <unit bldFile="locsrv_pub/landmarks_api/tsrc/bc_landmarks_api/group"/> -->
+        <!-- <unit bldFile="locsrv_pub/landmarks_api/tsrc/group"/> -->
+        <!-- <unit bldFile="locsrv_pub/landmarks_database_management_api/tsrc/bc_landmarks_database_management_api/group"/> -->
+        <!-- <unit bldFile="locsrv_pub/landmarks_database_management_api/tsrc/group"/> -->
+        <!-- <unit bldFile="locsrv_pub/landmarks_search_api/tsrc/bc_landmarks_search_api/group"/> -->
+        <!-- <unit bldFile="locsrv_pub/landmarks_search_api/tsrc/group"/> -->
+      </component>
+    </collection>
+  </package>
+</SystemDefinition>
--- a/symbian3/mw/mds/package_definition.xml	Fri Jan 29 16:25:53 2010 +0000
+++ b/symbian3/mw/mds/package_definition.xml	Mon Feb 01 16:11:43 2010 +0000
@@ -1,109 +1,189 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE SystemDefinition [
- <!ELEMENT SystemDefinition (systemModel?,SystemBuild?)>
- <!ATTLIST SystemDefinition
-  name CDATA #REQUIRED
-  schema CDATA #REQUIRED>
- <!ELEMENT systemModel (layer+)>
- <!ELEMENT layer (block*|collection*)*>
- <!ATTLIST layer
-  name CDATA #REQUIRED
-  long-name CDATA #IMPLIED
-  levels NMTOKENS #IMPLIED
-  span CDATA #IMPLIED>
- <!ELEMENT block (subblock*|collection*)*>
- <!ATTLIST block
-  levels NMTOKENS #IMPLIED
-  span CDATA #IMPLIED
-  level NMTOKEN #IMPLIED
-  name CDATA #REQUIRED
-  long-name CDATA #IMPLIED>
- <!ELEMENT subblock (collection)*>
- <!ATTLIST subblock
-  name CDATA #REQUIRED
-  long-name CDATA #IMPLIED>
- <!ELEMENT collection (component)*>
- <!ATTLIST collection
-  name CDATA #REQUIRED
-  long-name CDATA #IMPLIED
-  level NMTOKEN #IMPLIED>
- <!ELEMENT component (unit)*>
- <!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>
- <!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>
- <!ELEMENT SystemBuild (option*|target+|targetList+|list+|configuration+)*>
- <!ATTLIST SystemBuild schema CDATA #REQUIRED>
- <!ELEMENT list (ref+)>
- <!ATTLIST list
-  name ID #REQUIRED
-  description CDATA #REQUIRED>
- <!ELEMENT ref EMPTY>
- <!ATTLIST ref item CDATA #REQUIRED>
- <!ELEMENT targetList EMPTY>
- <!ATTLIST targetList
-  name ID #REQUIRED
-  description CDATA #REQUIRED
-  target IDREFS #REQUIRED>
- <!ELEMENT target EMPTY>
- <!ATTLIST target
-  name ID #REQUIRED
-  abldTarget CDATA #REQUIRED
-  description CDATA #REQUIRED>
- <!ELEMENT option EMPTY>
- <!ATTLIST option
-  name ID #REQUIRED
-  abldOption CDATA #REQUIRED
-  description CDATA #REQUIRED
-  enable (Y|N) #REQUIRED>
- <!ELEMENT configuration (listRef+|ref+|task+)*>
- <!ATTLIST configuration
-  name ID #REQUIRED
-  description CDATA #REQUIRED
-  filter CDATA #REQUIRED>
- <!ELEMENT task (listRef*,(buildLayer|specialInstructions))>
- <!ELEMENT listRef EMPTY>
- <!ATTLIST listRef list CDATA #REQUIRED>
- <!ELEMENT buildLayer EMPTY>
- <!ATTLIST buildLayer
-  command CDATA #REQUIRED
-  targetList IDREFS #IMPLIED
-  unitParallel (Y|N) #REQUIRED
-  targetParallel (Y|N) 'N'>
- <!ELEMENT specialInstructions EMPTY>
- <!ATTLIST specialInstructions
-  name CDATA #REQUIRED
-  cwd CDATA #REQUIRED
-  root CDATA #IMPLIED
-  command CDATA #REQUIRED>
-]>
-<SystemDefinition schema="2.0.1" name="Symbian^3">
-<systemModel>
-<layer name="mw">
-<block name="mds">
-<collection name="s60">
-<component name="mds">
-<unit bldFile="/sf/mw/mds/group" mrp=""/>
-</component>
-</collection>
-</block>
-</layer>
-</systemModel>
+<!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="mw" long-name="Middleware" levels="generic specific">
+      <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="/sf/mw/mds/metadataengine/common/group"/>
+          </component>
+          <component name="metadataengine_server" filter="s60" long-name="Metadata Engine Server" introduced="^2">
+            <unit bldFile="/sf/mw/mds/metadataengine/server/group"/>
+          </component>
+          <component name="metadataengine_client" filter="s60" long-name="Metadata Engine Client" introduced="^2">
+            <unit bldFile="/sf/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="/sf/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="/sf/mw/mds/locationmanager/locationtrail/group"/>
+          </component>
+          <component name="locationmanager_server" filter="s60" long-name="Location Manager Server" introduced="^2">
+            <unit bldFile="/sf/mw/mds/locationmanager/server/group"/>
+          </component>
+          <component name="locationmanager_client" filter="s60" long-name="Location Manager Client" introduced="^2">
+            <unit bldFile="/sf/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="/sf/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="/sf/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="/sf/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="/sf/mw/mds/harvester/blacklistclient/group"/>
+          </component>
+          <component name="blacklistserver" filter="s60" long-name="Blacklist Server" introduced="^2">
+            <unit bldFile="/sf/mw/mds/harvester/blacklistserver/group"/>
+          </component>
+          <component name="harvester_common" filter="s60" long-name="Harvester Common" introduced="^2">
+            <unit bldFile="/sf/mw/mds/harvester/common/group"/>
+          </component>
+          <component name="composerplugins" filter="s60" long-name="Composer Plugins" introduced="^2" plugin="Y">
+            <unit bldFile="/sf/mw/mds/harvester/composerplugins/group"/>
+          </component>
+          <component name="harvesterplugins" filter="s60" long-name="Harvester Plugins" introduced="^2" plugin="Y">
+            <unit bldFile="/sf/mw/mds/harvester/harvesterplugins/group"/>
+          </component>
+          <component name="monitorplugins" filter="s60" long-name="Monitor Plugins" introduced="^2" plugin="Y">
+            <unit bldFile="/sf/mw/mds/harvester/monitorplugins/group"/>
+          </component>
+          <component name="harvester_server" filter="s60" long-name="Harvester Server" introduced="^2">
+            <unit bldFile="/sf/mw/mds/harvester/server/group"/>
+          </component>
+          <component name="harvester_client" filter="s60" long-name="Harvester Client" introduced="^2">
+            <unit bldFile="/sf/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="/sf/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="/sf/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">
+            <unit bldFile="/sf/mw/mds/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="/sf/mw/mds/mds_pub/group"/>
+          </component>
+          <component name="mds_plat" filter="s60" long-name="Metadata Services Platform Interfaces" introduced="^2" class="api">
+            <unit bldFile="/sf/mw/mds/mds_plat/group"/>
+          </component>
+          <component name="mds_api_tests" filter="s60,api_test" long-name="Metadata Services API Tests" purpose="development" introduced="^2">
+            <unit bldFile="/sf/mw/mds/mds_plat/content_listing_framework_collection_manager_api/tsrc/group"/>
+            <unit bldFile="/sf/mw/mds/mds_plat/context_engine_plugin_api/tsrc/group"/>
+            <unit bldFile="/sf/mw/mds/mds_plat/harvester_framework_api/tsrc/composerplugintest/group"/>
+            <unit bldFile="/sf/mw/mds/mds_plat/harvester_framework_api/tsrc/group"/>
+            <unit bldFile="/sf/mw/mds/mds_plat/harvester_framework_api/tsrc/harvesterclienttest/group"/>
+            <unit bldFile="/sf/mw/mds/mds_plat/harvester_framework_api/tsrc/harvesterdatatest/group"/>
+            <unit bldFile="/sf/mw/mds/mds_plat/harvester_framework_api/tsrc/harvesterplugintest/group"/>
+            <unit bldFile="/sf/mw/mds/mds_plat/harvester_framework_api/tsrc/monitorplugintest/group"/>
+            <unit bldFile="/sf/mw/mds/mds_plat/location_manager_api/tsrc/group"/>
+            <unit bldFile="/sf/mw/mds/mds_plat/metadata_engine_api/tsrc/group"/>
+            <unit bldFile="/sf/mw/mds/mds_pub/content_listing_framework_api/tsrc/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="/sf/mw/mds/group"/>
+          </component>
+        </collection>
+      </block>
+    </layer>
+  </systemModel>
 </SystemDefinition>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/symbian3/mw/mds/package_definition_3.0.xml	Mon Feb 01 16:11:43 2010 +0000
@@ -0,0 +1,111 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<SystemDefinition schema="3.0.0">
+  <package id="mds" name="Metadata Services" levels="mgr eng server int">
+    <collection id="clfwrapper" name="Content Listing Framework Wrapper" level="int">
+      <component id="clfwrapper_build" filter="s60" name="CLF Wrapper Build" introduced="^2">
+        <unit bldFile="clfwrapper/group"/>
+      </component>
+    </collection>
+    <collection id="contextengine" name="Context Engine" level="eng">
+      <component id="contextengine_plugins" filter="s60" name="Context Engine Plugins" class="plugin" introduced="^2">
+        <unit bldFile="contextengine/plugins/group"/>
+      </component>
+      <component id="contextengine_build" filter="s60" name="Context Engine Build" introduced="^2">
+        <unit bldFile="contextengine/group"/>
+      </component>
+    </collection>
+    <collection id="harvester" name="Harvester" level="eng">
+      <component id="blacklistclient" filter="s60" name="Blacklist Client" introduced="^2">
+        <unit bldFile="harvester/blacklistclient/group"/>
+      </component>
+      <component id="blacklistserver" filter="s60" name="Blacklist Server" introduced="^2">
+        <unit bldFile="harvester/blacklistserver/group"/>
+      </component>
+      <component id="harvester_common" filter="s60" name="Harvester Common" introduced="^2">
+        <unit bldFile="harvester/common/group"/>
+      </component>
+      <component id="composerplugins" filter="s60" name="Composer Plugins" class="plugin" introduced="^2">
+        <unit bldFile="harvester/composerplugins/group"/>
+      </component>
+      <component id="harvesterplugins" filter="s60" name="Harvester Plugins" class="plugin" introduced="^2">
+        <!-- <unit bldFile="harvester/harvesterplugins/audioplaylistplugin/group"/> -->
+        <unit bldFile="harvester/harvesterplugins/group"/>
+      </component>
+      <component id="monitorplugins" filter="s60" name="Monitor Plugins" class="plugin" introduced="^2">
+        <unit bldFile="harvester/monitorplugins/group"/>
+      </component>
+      <component id="harvester_server" filter="s60" name="Harvester Server" introduced="^2">
+        <unit bldFile="harvester/server/group"/>
+      </component>
+      <component id="harvester_client" filter="s60" name="Harvester Client" introduced="^2">
+        <unit bldFile="harvester/client/group"/>
+      </component>
+      <component id="harvester_build" filter="s60" name="Harvester Build" introduced="^2">
+        <unit bldFile="harvester/group"/>
+      </component>
+    </collection>
+    <collection id="locationmanager" name="Location Manager" level="mgr">
+      <component id="locationtrail" filter="s60" name="Location Trail" introduced="^2">
+        <unit bldFile="locationmanager/locationtrail/group"/>
+      </component>
+      <component id="locationmanager_server" filter="s60" name="Location Manager Server" introduced="^2">
+        <unit bldFile="locationmanager/server/group"/>
+      </component>
+      <component id="locationmanager_client" filter="s60" name="Location Manager Client" introduced="^2">
+        <unit bldFile="locationmanager/client/group"/>
+      </component>
+      <component id="locationmanager_build" filter="s60" name="Location Manager Build" introduced="^2">
+      	<!--consider making this collection a single component  -->
+        <unit bldFile="locationmanager/group"/>
+      </component>
+    </collection>
+    <collection id="metadataengine" name="Metadata Engine" level="eng">
+      <component id="metadataengine_common" filter="s60" name="Metadata Engine Common" introduced="^2">
+        <unit bldFile="metadataengine/common/group"/>
+      </component>
+      <component id="metadataengine_server" filter="s60" name="Metadata Engine Server" introduced="^2">
+        <unit bldFile="metadataengine/server/group"/>
+      </component>
+      <component id="metadataengine_client" filter="s60" name="Metadata Engine Client" introduced="^2">
+        <unit bldFile="metadataengine/client/group"/>
+      </component>
+      <component id="metadataengine_build" filter="s60" name="Metadata Engine Build" introduced="^2">
+      	<!--consider making this collection a single component  -->
+        <unit bldFile="metadataengine/group"/>
+      </component>
+    </collection>
+    <collection id="watchdog" name="Watchdog" level="server">
+      <component id="mdswatchdog" filter="s60" name="Metadata Watchdog" introduced="^2">
+        <unit bldFile="watchdog/group"/>
+      </component>
+    </collection>
+    <collection id="iadstoprestart" name="IAD Stop/Restart" level="server">
+      <component id="iadstoprestart_build" filter="s60" name="IAD Stop Restart Build" introduced="^2">
+        <!-- <unit bldFile="iadstoprestart/group"/> -->
+      </component>
+    </collection>
+    <collection id="mds_info" name="Metadata Services Info" level="int">
+      <component id="mds_pub" filter="s60" name="Metadata Services Public Interfaces" class="api" introduced="^2">
+        <unit bldFile="mds_pub/group"/>
+      </component>
+      <component id="mds_plat" filter="s60" name="Metadata Services Platform Interfaces" class="api" introduced="^2">
+        <unit bldFile="mds_plat/group"/>
+        <!--  should #include the rets if they're needed -->
+        <!-- <unit bldFile="mds_plat/content_listing_framework_collection_manager_api/tsrc/group"/> -->
+        <!-- <unit bldFile="mds_plat/context_engine_plugin_api/tsrc/group"/> -->
+        <!-- <unit bldFile="mds_plat/harvester_framework_api/tsrc/composerplugintest/group"/> -->
+        <!-- <unit bldFile="mds_plat/harvester_framework_api/tsrc/group"/> -->
+        <!-- <unit bldFile="mds_plat/harvester_framework_api/tsrc/harvesterclienttest/group"/> -->
+        <!-- <unit bldFile="mds_plat/harvester_framework_api/tsrc/harvesterdatatest/group"/> -->
+        <!-- <unit bldFile="mds_plat/harvester_framework_api/tsrc/harvesterplugintest/group"/> -->
+        <!-- <unit bldFile="mds_plat/harvester_framework_api/tsrc/monitorplugintest/group"/> -->
+        <!-- <unit bldFile="mds_plat/location_manager_api/tsrc/group"/> -->
+        <!-- <unit bldFile="mds_plat/metadata_engine_api/tsrc/group"/> -->
+      </component>
+      <component id="mds_build" filter="s60" name="Metadata Services Build" introduced="^2">
+      	<!-- consider distributiing this into the rest of the components in the package -->
+        <unit bldFile="group"/>
+      </component>
+    </collection>
+  </package>
+</SystemDefinition>
--- a/symbian3/mw/messagingmw/package_definition.xml	Fri Jan 29 16:25:53 2010 +0000
+++ b/symbian3/mw/messagingmw/package_definition.xml	Mon Feb 01 16:11:43 2010 +0000
@@ -1,158 +1,154 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE SystemDefinition [
- <!ELEMENT SystemDefinition (systemModel?,SystemBuild?)>
- <!ATTLIST SystemDefinition
-  name CDATA #REQUIRED
-  schema CDATA #REQUIRED>
- <!ELEMENT systemModel (layer+)>
- <!ELEMENT layer (block*|collection*)*>
- <!ATTLIST layer
-  name CDATA #REQUIRED
-  long-name CDATA #IMPLIED
-  levels NMTOKENS #IMPLIED
-  span CDATA #IMPLIED>
- <!ELEMENT block (subblock*|collection*)*>
- <!ATTLIST block
-  levels NMTOKENS #IMPLIED
-  span CDATA #IMPLIED
-  level NMTOKEN #IMPLIED
-  name CDATA #REQUIRED
-  long-name CDATA #IMPLIED>
- <!ELEMENT subblock (collection)*>
- <!ATTLIST subblock
-  name CDATA #REQUIRED
-  long-name CDATA #IMPLIED>
- <!ELEMENT collection (component)*>
- <!ATTLIST collection
-  name CDATA #REQUIRED
-  long-name CDATA #IMPLIED
-  level NMTOKEN #IMPLIED>
- <!ELEMENT component (unit)*>
- <!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>
- <!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>
- <!ELEMENT SystemBuild (option*|target+|targetList+|list+|configuration+)*>
- <!ATTLIST SystemBuild schema CDATA #REQUIRED>
- <!ELEMENT list (ref+)>
- <!ATTLIST list
-  name ID #REQUIRED
-  description CDATA #REQUIRED>
- <!ELEMENT ref EMPTY>
- <!ATTLIST ref item CDATA #REQUIRED>
- <!ELEMENT targetList EMPTY>
- <!ATTLIST targetList
-  name ID #REQUIRED
-  description CDATA #REQUIRED
-  target IDREFS #REQUIRED>
- <!ELEMENT target EMPTY>
- <!ATTLIST target
-  name ID #REQUIRED
-  abldTarget CDATA #REQUIRED
-  description CDATA #REQUIRED>
- <!ELEMENT option EMPTY>
- <!ATTLIST option
-  name ID #REQUIRED
-  abldOption CDATA #REQUIRED
-  description CDATA #REQUIRED
-  enable (Y|N) #REQUIRED>
- <!ELEMENT configuration (listRef+|ref+|task+)*>
- <!ATTLIST configuration
-  name ID #REQUIRED
-  description CDATA #REQUIRED
-  filter CDATA #REQUIRED>
- <!ELEMENT task (listRef*,(buildLayer|specialInstructions))>
- <!ELEMENT listRef EMPTY>
- <!ATTLIST listRef list CDATA #REQUIRED>
- <!ELEMENT buildLayer EMPTY>
- <!ATTLIST buildLayer
-  command CDATA #REQUIRED
-  targetList IDREFS #IMPLIED
-  unitParallel (Y|N) #REQUIRED
-  targetParallel (Y|N) 'N'>
- <!ELEMENT specialInstructions EMPTY>
- <!ATTLIST specialInstructions
-  name CDATA #REQUIRED
-  cwd CDATA #REQUIRED
-  root CDATA #IMPLIED
-  command CDATA #REQUIRED>
-]>
-<SystemDefinition schema="2.0.1" name="Symbian^3">
-<systemModel>
-<layer name="mw" long-name="Middleware" levels="generic specific">
-<block name="messagingmw" level="specific" long-name="Messaging Middleware" levels="stack fw api">
-<collection name="messagingfw" long-name="Messaging Framework" level="fw">
-<component name="scheduledsendmtm" long-name="Scheduled Send MTM" introduced="6.0" purpose="optional" plugin="Y">
-<unit bldFile="/sf/mw/messagingmw/messagingfw/scheduledsendmtm/group" mrp="/sf/mw/messagingmw/messagingfw/scheduledsendmtm/group/messaging_schedulesend.mrp"/>
-</component>
-<component name="msgsrvnstore" long-name="Message Server and Store" purpose="optional">
-<unit bldFile="/sf/mw/messagingmw/messagingfw/msgsrvnstore/group" mrp="/sf/mw/messagingmw/messagingfw/msgsrvnstore/group/messaging_framework.mrp"/>
-</component>
-<component name="biomsgfw" long-name="BIO Messaging Framework" introduced="6.0" purpose="optional">
-<unit bldFile="/sf/mw/messagingmw/messagingfw/biomsgfw/group" mrp="/sf/mw/messagingmw/messagingfw/biomsgfw/group/messaging_biomsg.mrp"/>
-</component>
-<component name="msgconf" long-name="Messaging Config" introduced="tb91" purpose="optional" class="config">
-<unit bldFile="/sf/mw/messagingmw/messagingfw/msgconf/group" mrp="/sf/mw/messagingmw/messagingfw/msgconf/group/messaging_config.mrp"/>
-</component>
-<component name="watcherfw" long-name="Watcher Framework" purpose="optional">
-<unit bldFile="/sf/mw/messagingmw/messagingfw/watcherfw/group" mrp="/sf/mw/messagingmw/messagingfw/watcherfw/group/messaging_watcher.mrp"/>
-</component>
-<component name="msgtest" long-name="Messaging Test" purpose="development">
-<unit bldFile="/sf/mw/messagingmw/messagingfw/msgtest/group" mrp="/sf/mw/messagingmw/messagingfw/msgtest/group/messaging_test.mrp"/>
-</component>
-<component name="msgtests" long-name="Messaging Tests" purpose="development">
-<unit mrp="/sf/mw/messagingmw/messagingfw/msgtests/group/messaging.mrp"/>
-</component>
-<component name="msgtestfw" long-name="Messaging Test Framework" deprecated="tb92" purpose="development">
-<unit mrp="/sf/mw/messagingmw/messagingfw/msgtestfw/group/messaging_testframework.mrp"/>
-</component>
-<component name="msgtestproduct" long-name="Messaging Test Product" purpose="development">
-<unit mrp="/sf/mw/messagingmw/messagingfw/msgtestproduct/group/messaging_testproduct.mrp"/>
-</component>
-<component name="sendas" long-name="Send As" purpose="optional">
-<unit bldFile="/sf/mw/messagingmw/messagingfw/sendas/group" mrp="/sf/mw/messagingmw/messagingfw/sendas/group/messaging_sendas2.mrp"/>
-</component>
-<component name="msgurlhandler" long-name="Message URL Handler" introduced="7.0" purpose="optional">
-<unit bldFile="/sf/mw/messagingmw/messagingfw/msgurlhandler/group" mrp="/sf/mw/messagingmw/messagingfw/msgurlhandler/group/messaging_urlhandler.mrp"/>
-</component>
-<component name="wappushfw" long-name="WAP Push Framework" introduced="6.1" purpose="optional">
-<unit bldFile="/sf/mw/messagingmw/messagingfw/wappushfw/group" mrp="/sf/mw/messagingmw/messagingfw/wappushfw/group/wap-browser_wappush.mrp"/>
-</component>
-<component name="suplsmshandler" long-name="SUPL SMS Handler" introduced="tb91" purpose="development" plugin="Y">
-<unit bldFile="/sf/mw/messagingmw/messagingfw/suplsmshandler/group" mrp="/sf/mw/messagingmw/messagingfw/suplsmshandler/group/lbs_suplsmstrigger.mrp"/>
-</component>
-<component name="suplwappushhandler" long-name="SUPL WAP Push Handler" introduced="tb91" purpose="optional" plugin="Y">
-<unit bldFile="/sf/mw/messagingmw/messagingfw/suplwappushhandler/group" mrp="/sf/mw/messagingmw/messagingfw/suplwappushhandler/group/lbs_suplwappush.mrp"/>
-</component>
-</collection>
-<collection name="messagingmw_info" long-name="Messaging Middleware Info" level="api">
-<component name="messagingmw_metadata" long-name="Messaging Middleware Metadata" introduced="tb91" purpose="development" class="config PC">
-<unit mrp="/sf/mw/messagingmw/messagingmw_info/messagingmw_metadata/messagingmw_metadata.mrp"/>
-</component>
-</collection>
-<collection name="s60">
-<component name="messagingmw">
-<unit bldFile="/sf/mw/messagingmw/group" mrp=""/>
-</component>
-</collection>
-</block>
-</layer>
-</systemModel>
-</SystemDefinition>
\ No newline at end of file
+<!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="mw" long-name="Middleware" levels="generic specific">
+      <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="/sf/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="/sf/mw/messagingmw/messagingfw/alwaysonline/group"/>
+          </component>
+          <component name="msgcommonutils" filter="s60" long-name="Messaging Common Utils" introduced="^2">
+            <unit bldFile="/sf/mw/messagingmw/messagingfw/msgcommonutils/group"/>
+          </component>
+          <component name="senduiservices" filter="s60" long-name="Send UI Services" introduced="^2">
+            <unit bldFile="/sf/mw/messagingmw/messagingfw/senduiservices/group"/>
+          </component>
+          <component name="scheduledsendmtm" long-name="Scheduled Send MTM" introduced="6.0" purpose="optional" plugin="Y">
+            <unit bldFile="/sf/mw/messagingmw/messagingfw/scheduledsendmtm/group" mrp="/sf/mw/messagingmw/messagingfw/scheduledsendmtm/group/messaging_schedulesend.mrp"/>
+          </component>
+          <component name="msgsrvnstore" long-name="Message Server and Store" purpose="optional">
+            <unit bldFile="/sf/mw/messagingmw/messagingfw/msgsrvnstore/group" mrp="/sf/mw/messagingmw/messagingfw/msgsrvnstore/group/messaging_framework.mrp"/>
+          </component>
+          <component name="biomsgfw" long-name="BIO Messaging Framework" introduced="6.0" purpose="optional">
+            <unit bldFile="/sf/mw/messagingmw/messagingfw/biomsgfw/group" mrp="/sf/mw/messagingmw/messagingfw/biomsgfw/group/messaging_biomsg.mrp"/>
+          </component>
+          <component name="msgconf" long-name="Messaging Config" introduced="^2" purpose="optional" class="config">
+            <unit bldFile="/sf/mw/messagingmw/messagingfw/msgconf/group" mrp="/sf/mw/messagingmw/messagingfw/msgconf/group/messaging_config.mrp"/>
+          </component>
+          <component name="watcherfw" long-name="Watcher Framework" purpose="optional">
+            <unit bldFile="/sf/mw/messagingmw/messagingfw/watcherfw/group" mrp="/sf/mw/messagingmw/messagingfw/watcherfw/group/messaging_watcher.mrp"/>
+          </component>
+          <component name="msgtest" long-name="Messaging Test" purpose="development">
+            <unit bldFile="/sf/mw/messagingmw/messagingfw/msgtest/group" mrp="/sf/mw/messagingmw/messagingfw/msgtest/group/messaging_test.mrp"/>
+          </component>
+          <component name="msgtests" long-name="Messaging Tests" purpose="development" filter="test">
+            <unit mrp="/sf/mw/messagingmw/messagingfw/msgtests/group/messaging.mrp" bldFile="/sf/mw/messagingmw/messagingfw/msgtests/group"/>
+          </component>
+          <component name="msgtestfw" long-name="Messaging Test Framework" deprecated="^3" purpose="development" filter="test">
+            <unit mrp="/sf/mw/messagingmw/messagingfw/msgtestfw/group/messaging_testframework.mrp" bldFile="/sf/mw/messagingmw/messagingfw/msgtestfw/group"/>
+          </component>
+          <component name="msgtestproduct" long-name="Messaging Test Product" purpose="development" filter="test">
+            <unit mrp="/sf/mw/messagingmw/messagingfw/msgtestproduct/group/messaging_testproduct.mrp" bldFile="/sf/mw/messagingmw/messagingfw/msgtestproduct/group"/>
+          </component>
+          <component name="sendas" long-name="Send As" purpose="optional">
+            <unit bldFile="/sf/mw/messagingmw/messagingfw/sendas/group" mrp="/sf/mw/messagingmw/messagingfw/sendas/group/messaging_sendas2.mrp"/>
+          </component>
+          <component name="msgurlhandler" long-name="Message URL Handler" introduced="7.0" purpose="optional">
+            <unit bldFile="/sf/mw/messagingmw/messagingfw/msgurlhandler/group" mrp="/sf/mw/messagingmw/messagingfw/msgurlhandler/group/messaging_urlhandler.mrp"/>
+          </component>
+          <component name="wappushfw" long-name="WAP Push Framework" introduced="6.1" purpose="optional">
+            <unit bldFile="/sf/mw/messagingmw/messagingfw/wappushfw/group" mrp="/sf/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="/sf/mw/messagingmw/messagingfw/suplsmshandler/group" mrp="/sf/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="/sf/mw/messagingmw/messagingfw/suplwappushhandler/group" mrp="/sf/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="/sf/mw/messagingmw/msgfw_plat/group"/>
+          </component>
+          <component name="msgfw_pub" filter="s60" long-name="Messaging Middleware Public Interfaces" class="api">
+            <unit bldFile="/sf/mw/messagingmw/msgfw_pub/group"/>
+          </component>
+          <component name="messagingmw_metadata" long-name="Messaging Middleware Metadata" introduced="^2" purpose="development" class="config PC">
+            <unit mrp="/sf/mw/messagingmw/messagingmw_info/messagingmw_metadata/messagingmw_metadata.mrp"/>
+          </component>
+        </collection>
+      </block>
+    </layer>
+  </systemModel>
+</SystemDefinition>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/symbian3/mw/messagingmw/package_definition_3.0.xml	Mon Feb 01 16:11:43 2010 +0000
@@ -0,0 +1,83 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<SystemDefinition schema="3.0.0">
+  <package id="messagingmw" name="Messaging Middleware" levels="stack fw api">
+    <collection id="msgbranched" name="Messaging Branched" level="fw">
+      <component id="msgbranched_build" filter="s60" name="Messaging Branched Build">
+        <unit bldFile="msgbranched/group"/>
+      </component>
+    </collection>
+    <collection id="messagingfw" name="Messaging Framework" level="fw">
+      <component id="alwaysonline" filter="s60" name="Always Online Server" introduced="^2">
+        <!-- <unit bldFile="messagingfw/alwaysonline/alwaysonlinemanager/group"/> -->
+        <!-- <unit bldFile="messagingfw/alwaysonline/alwaysonlinestarterapp/group"/> -->
+        <unit bldFile="messagingfw/alwaysonline/group"/>
+      </component>
+      <component id="msgcommonutils" filter="s60" name="Messaging Common Utils" introduced="^2">
+        <unit bldFile="messagingfw/msgcommonutils/group"/>
+      </component>
+      <component id="senduiservices" filter="s60" name="Send UI Services" introduced="^2">
+        <unit bldFile="messagingfw/senduiservices/group"/>
+        <!-- <unit bldFile="messagingfw/senduiservices/datautils/group"/> -->
+        <!-- <unit bldFile="messagingfw/senduiservices/launcher/group"/> -->
+        <!-- <unit bldFile="messagingfw/senduiservices/serviceresolver/group"/> -->
+        <!-- <unit bldFile="messagingfw/senduiservices/watcher/group"/> -->
+      </component>
+      <component id="scheduledsendmtm" name="Scheduled Send MTM" introduced="6.0" purpose="optional" class="plugin">
+        <unit bldFile="messagingfw/scheduledsendmtm/group" mrp="messagingfw/scheduledsendmtm/group/messaging_schedulesend.mrp"/>
+      </component>
+      <component id="msgsrvnstore" name="Message Server and Store" purpose="optional">
+        <unit bldFile="messagingfw/msgsrvnstore/group" mrp="messagingfw/msgsrvnstore/group/messaging_framework.mrp"/>
+      </component>
+      <component id="biomsgfw" name="BIO Messaging Framework" introduced="6.0" purpose="optional">
+        <unit bldFile="messagingfw/biomsgfw/group" mrp="messagingfw/biomsgfw/group/messaging_biomsg.mrp"/>
+      </component>
+      <component id="msgconf" name="Messaging Config" introduced="^2" purpose="optional" class="config">
+        <unit bldFile="messagingfw/msgconf/group" mrp="messagingfw/msgconf/group/messaging_config.mrp"/>
+      </component>
+      <component id="watcherfw" name="Watcher Framework" purpose="optional">
+        <unit bldFile="messagingfw/watcherfw/group" mrp="messagingfw/watcherfw/group/messaging_watcher.mrp"/>
+      </component>
+      <component id="msgtest" name="Messaging Test" purpose="development">
+        <unit bldFile="messagingfw/msgtest/group" mrp="messagingfw/msgtest/group/messaging_test.mrp"/>
+      </component>
+      <component id="msgtests" name="Messaging Tests" purpose="development" filter="test">
+        <unit mrp="messagingfw/msgtests/group/messaging.mrp" bldFile="messagingfw/msgtests/group"/>
+      </component>
+      <component id="msgtestfw" name="Messaging Test Framework" deprecated="^3" purpose="development" filter="test">
+        <unit mrp="messagingfw/msgtestfw/group/messaging_testframework.mrp" bldFile="messagingfw/msgtestfw/group"/>
+      </component>
+      <component id="msgtestproduct" name="Messaging Test Product" purpose="development" filter="test">
+        <unit mrp="messagingfw/msgtestproduct/group/messaging_testproduct.mrp" bldFile="messagingfw/msgtestproduct/group"/>
+      </component>
+      <component id="sendas" name="Send As" purpose="optional">
+        <unit bldFile="messagingfw/sendas/group" mrp="messagingfw/sendas/group/messaging_sendas2.mrp"/>
+      </component>
+      <component id="msgurlhandler" name="Message URL Handler" introduced="7.0" purpose="optional">
+        <unit bldFile="messagingfw/msgurlhandler/group" mrp="messagingfw/msgurlhandler/group/messaging_urlhandler.mrp"/>
+      </component>
+      <component id="wappushfw" name="WAP Push Framework" introduced="6.1" purpose="optional">
+        <unit bldFile="messagingfw/wappushfw/group" mrp="messagingfw/wappushfw/group/wap-browser_wappush.mrp"/>
+      </component>
+      <component id="suplsmshandler" name="SUPL SMS Handler" introduced="^2" purpose="development" class="plugin">
+        <unit bldFile="messagingfw/suplsmshandler/group" mrp="messagingfw/suplsmshandler/group/lbs_suplsmstrigger.mrp"/>
+      </component>
+      <component id="suplwappushhandler" name="SUPL WAP Push Handler" introduced="^2" purpose="optional" class="plugin">
+        <unit bldFile="messagingfw/suplwappushhandler/group" mrp="messagingfw/suplwappushhandler/group/lbs_suplwappush.mrp"/>
+      </component>
+    </collection>
+    <collection id="messagingmw_info" name="Messaging Middleware Info" level="api">
+      <component id="msgfw_pub" filter="s60" name="Messaging Middleware Public Interfaces" class="api">
+        <unit bldFile="msgfw_pub/group"/>
+        <!-- <unit bldFile="msgfw_pub/send_ui_api/tsrc/bc/group"/> -->
+        <unit bldFile="msgfw_pub/send_ui_api/tsrc/group"/>
+      </component>
+      <component id="msgfw_plat" filter="s60" name="Messaging Middleware Platform Interfaces" class="api">
+        <unit bldFile="msgfw_plat/group"/>
+        <unit bldFile="msgfw_plat/send_ui_plugin_api/tsrc/group"/>
+      </component>
+      <component id="messagingmw_metadata" name="Messaging Middleware Metadata" class="config" introduced="^2" purpose="development" target="desktop">
+        <unit mrp="messagingmw_info/messagingmw_metadata/messagingmw_metadata.mrp"/>
+      </component>
+    </collection>
+  </package>
+</SystemDefinition>
--- a/symbian3/mw/metadatasrv/package_definition.xml	Fri Jan 29 16:25:53 2010 +0000
+++ b/symbian3/mw/metadatasrv/package_definition.xml	Mon Feb 01 16:11:43 2010 +0000
@@ -1,109 +1,96 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE SystemDefinition [
- <!ELEMENT SystemDefinition (systemModel?,SystemBuild?)>
- <!ATTLIST SystemDefinition
-  name CDATA #REQUIRED
-  schema CDATA #REQUIRED>
- <!ELEMENT systemModel (layer+)>
- <!ELEMENT layer (block*|collection*)*>
- <!ATTLIST layer
-  name CDATA #REQUIRED
-  long-name CDATA #IMPLIED
-  levels NMTOKENS #IMPLIED
-  span CDATA #IMPLIED>
- <!ELEMENT block (subblock*|collection*)*>
- <!ATTLIST block
-  levels NMTOKENS #IMPLIED
-  span CDATA #IMPLIED
-  level NMTOKEN #IMPLIED
-  name CDATA #REQUIRED
-  long-name CDATA #IMPLIED>
- <!ELEMENT subblock (collection)*>
- <!ATTLIST subblock
-  name CDATA #REQUIRED
-  long-name CDATA #IMPLIED>
- <!ELEMENT collection (component)*>
- <!ATTLIST collection
-  name CDATA #REQUIRED
-  long-name CDATA #IMPLIED
-  level NMTOKEN #IMPLIED>
- <!ELEMENT component (unit)*>
- <!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>
- <!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>
- <!ELEMENT SystemBuild (option*|target+|targetList+|list+|configuration+)*>
- <!ATTLIST SystemBuild schema CDATA #REQUIRED>
- <!ELEMENT list (ref+)>
- <!ATTLIST list
-  name ID #REQUIRED
-  description CDATA #REQUIRED>
- <!ELEMENT ref EMPTY>
- <!ATTLIST ref item CDATA #REQUIRED>
- <!ELEMENT targetList EMPTY>
- <!ATTLIST targetList
-  name ID #REQUIRED
-  description CDATA #REQUIRED
-  target IDREFS #REQUIRED>
- <!ELEMENT target EMPTY>
- <!ATTLIST target
-  name ID #REQUIRED
-  abldTarget CDATA #REQUIRED
-  description CDATA #REQUIRED>
- <!ELEMENT option EMPTY>
- <!ATTLIST option
-  name ID #REQUIRED
-  abldOption CDATA #REQUIRED
-  description CDATA #REQUIRED
-  enable (Y|N) #REQUIRED>
- <!ELEMENT configuration (listRef+|ref+|task+)*>
- <!ATTLIST configuration
-  name ID #REQUIRED
-  description CDATA #REQUIRED
-  filter CDATA #REQUIRED>
- <!ELEMENT task (listRef*,(buildLayer|specialInstructions))>
- <!ELEMENT listRef EMPTY>
- <!ATTLIST listRef list CDATA #REQUIRED>
- <!ELEMENT buildLayer EMPTY>
- <!ATTLIST buildLayer
-  command CDATA #REQUIRED
-  targetList IDREFS #IMPLIED
-  unitParallel (Y|N) #REQUIRED
-  targetParallel (Y|N) 'N'>
- <!ELEMENT specialInstructions EMPTY>
- <!ATTLIST specialInstructions
-  name CDATA #REQUIRED
-  cwd CDATA #REQUIRED
-  root CDATA #IMPLIED
-  command CDATA #REQUIRED>
-]>
-<SystemDefinition schema="2.0.1" name="Symbian^3">
-<systemModel>
-<layer name="mw">
-<block name="metadatasrv">
-<collection name="s60">
-<component name="metadatasrv">
-<unit bldFile="/sf/mw/metadatasrv/group" mrp=""/>
-</component>
-</collection>
-</block>
-</layer>
-</systemModel>
+<!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="mw" long-name="Middleware" levels="generic specific">
+      <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="/sf/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="/sf/mw/metadatasrv/metadatasrv_plat/group"/>
+          </component>
+          <component name="metadatasrv_pub" filter="s60" long-name="Legacy Metadata Services Public Interfaces" class="api">
+            <unit bldFile="/sf/mw/metadatasrv/metadatasrv_pub/group"/>
+          </component>
+        </collection>
+      </block>
+    </layer>
+  </systemModel>
 </SystemDefinition>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/symbian3/mw/metadatasrv/package_definition_3.0.xml	Mon Feb 01 16:11:43 2010 +0000
@@ -0,0 +1,32 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<SystemDefinition schema="3.0.0">
+  <package id="metadatasrv" name="Legacy Metadata Services" levels="plugin framework server generic specific">
+    <collection id="contentlistingframework" name="Content Listing Framework" level="framework">
+      <component id="contentlistingframework_build" filter="s60" name="Content Listing Framework Build">
+        <unit bldFile="contentlistingframework/group"/>
+      </component>
+    </collection>
+    <collection id="mediamanagementuis" name="Media Management UIs" level="server">
+      <component id="mediastylegrid" filter="s60" name="Media Style Grid">
+        <unit bldFile="mediamanagementuis/mediastylegrid/group"/>
+      </component>
+    </collection>
+    <collection id="mediamanagementutilities" name="Media Management Utilities" level="generic">
+      <component id="mediafetch" filter="s60" name="Media Fetch">
+        <unit bldFile="mediamanagementutilities/mediafetch/group"/>
+      </component>
+    </collection>
+    <collection id="metadatasrv_info" name="Legacy Metadata Services Info" level="specific">
+      <component id="metadatasrv_plat" filter="s60" name="Legacy Metadata Services Platform Interfaces" class="api">
+        <unit bldFile="metadatasrv_plat/group"/>
+      </component>
+      <component id="metadatasrv_build" filter="s60" name="Legacy Metadata Services Build">
+		<!-- this is likely not still needed -->
+        <unit bldFile="group"/>
+      </component>
+      <component id="metadatasrv_pub" filter="s60" name="Legacy Metadata Services Public Interfaces" class="api">
+        <unit bldFile="metadatasrv_pub/group"/>
+      </component>
+    </collection>
+  </package>
+</SystemDefinition>
--- a/symbian3/mw/mmappfw/package_definition.xml	Fri Jan 29 16:25:53 2010 +0000
+++ b/symbian3/mw/mmappfw/package_definition.xml	Mon Feb 01 16:11:43 2010 +0000
@@ -1,109 +1,152 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE SystemDefinition [
- <!ELEMENT SystemDefinition (systemModel?,SystemBuild?)>
- <!ATTLIST SystemDefinition
-  name CDATA #REQUIRED
-  schema CDATA #REQUIRED>
- <!ELEMENT systemModel (layer+)>
- <!ELEMENT layer (block*|collection*)*>
- <!ATTLIST layer
-  name CDATA #REQUIRED
-  long-name CDATA #IMPLIED
-  levels NMTOKENS #IMPLIED
-  span CDATA #IMPLIED>
- <!ELEMENT block (subblock*|collection*)*>
- <!ATTLIST block
-  levels NMTOKENS #IMPLIED
-  span CDATA #IMPLIED
-  level NMTOKEN #IMPLIED
-  name CDATA #REQUIRED
-  long-name CDATA #IMPLIED>
- <!ELEMENT subblock (collection)*>
- <!ATTLIST subblock
-  name CDATA #REQUIRED
-  long-name CDATA #IMPLIED>
- <!ELEMENT collection (component)*>
- <!ATTLIST collection
-  name CDATA #REQUIRED
-  long-name CDATA #IMPLIED
-  level NMTOKEN #IMPLIED>
- <!ELEMENT component (unit)*>
- <!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>
- <!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>
- <!ELEMENT SystemBuild (option*|target+|targetList+|list+|configuration+)*>
- <!ATTLIST SystemBuild schema CDATA #REQUIRED>
- <!ELEMENT list (ref+)>
- <!ATTLIST list
-  name ID #REQUIRED
-  description CDATA #REQUIRED>
- <!ELEMENT ref EMPTY>
- <!ATTLIST ref item CDATA #REQUIRED>
- <!ELEMENT targetList EMPTY>
- <!ATTLIST targetList
-  name ID #REQUIRED
-  description CDATA #REQUIRED
-  target IDREFS #REQUIRED>
- <!ELEMENT target EMPTY>
- <!ATTLIST target
-  name ID #REQUIRED
-  abldTarget CDATA #REQUIRED
-  description CDATA #REQUIRED>
- <!ELEMENT option EMPTY>
- <!ATTLIST option
-  name ID #REQUIRED
-  abldOption CDATA #REQUIRED
-  description CDATA #REQUIRED
-  enable (Y|N) #REQUIRED>
- <!ELEMENT configuration (listRef+|ref+|task+)*>
- <!ATTLIST configuration
-  name ID #REQUIRED
-  description CDATA #REQUIRED
-  filter CDATA #REQUIRED>
- <!ELEMENT task (listRef*,(buildLayer|specialInstructions))>
- <!ELEMENT listRef EMPTY>
- <!ATTLIST listRef list CDATA #REQUIRED>
- <!ELEMENT buildLayer EMPTY>
- <!ATTLIST buildLayer
-  command CDATA #REQUIRED
-  targetList IDREFS #IMPLIED
-  unitParallel (Y|N) #REQUIRED
-  targetParallel (Y|N) 'N'>
- <!ELEMENT specialInstructions EMPTY>
- <!ATTLIST specialInstructions
-  name CDATA #REQUIRED
-  cwd CDATA #REQUIRED
-  root CDATA #IMPLIED
-  command CDATA #REQUIRED>
-]>
-<SystemDefinition schema="2.0.1" name="Symbian^3">
-<systemModel>
-<layer name="mw">
-<block name="mmappfw">
-<collection name="s60">
-<component name="mmappfw">
-<unit bldFile="/sf/mw/mmappfw/group" mrp=""/>
-</component>
-</collection>
-</block>
-</layer>
-</systemModel>
+<!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="mw" long-name="Middleware" levels="generic specific">
+      <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="/sf/mw/mmappfw/mpx/commonframework/group"/>
+          </component>
+          <component name="playbackframework" filter="s60" long-name="MPX Playback Framework" introduced="^1">
+            <unit bldFile="/sf/mw/mmappfw/mpx/playbackframework/group"/>
+          </component>
+          <component name="mpxcollectionfw" filter="s60" long-name="MPX Collection Framework" introduced="^1">
+            <unit bldFile="/sf/mw/mmappfw/mpx/collectionframework/group"/>
+          </component>
+          <component name="mpxviewfw" filter="s60" long-name="MPX View Framework" introduced="^1">
+            <unit bldFile="/sf/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="/sf/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="/sf/mw/mmappfw/mmappcomponents/group"/>
+          </component>
+          <component name="collectionhelper" filter="s60" long-name="Media Player Collection Helper" introduced="^1">
+            <unit bldFile="/sf/mw/mmappfw/mmappcomponents/collectionhelper/group"/>
+          </component>
+          <component name="playlistengine" filter="s60" long-name="Playlist Engine" introduced="^1">
+            <unit bldFile="/sf/mw/mmappfw/mmappcomponents/playlistengine/group"/>
+          </component>
+          <component name="mpxharvester" filter="s60" long-name="Media Player Harvester" introduced="^1">
+            <unit bldFile="/sf/mw/mmappfw/mmappcomponents/harvester/group"/>
+          </component>
+          <component name="mmappcommonui" filter="s60" long-name="Multimedia App Common UI" introduced="^1">
+            <unit bldFile="/sf/mw/mmappfw/mmappcomponents/mmappcommonui/group"/>
+          </component>
+          <component name="mediaplayersettingsengine" filter="s60" long-name="Media Player Settings Engine" introduced="^1">
+            <unit bldFile="/sf/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="/sf/mw/mmappfw/mmappcomponents/playbackhelper/group"/>
+          </component>
+          <component name="videoplaylistutility" filter="s60" long-name="Video Playlist Utility" introduced="^3">
+            <unit bldFile="/sf/mw/mmappfw/mmappcomponents/videoplaylistutility/group"/>
+          </component>
+          <component name="mmmtpdataprovider" filter="s60" long-name="Multimedia MTP Data Provider" introduced="^3">
+            <unit bldFile="/sf/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="/sf/mw/mmappfw/group"/>
+          </component>
+          <component name="mmappfw_test" filter="s60,api_test,pref_test" long-name="Multimedia App Framework Test" purpose="development" introduced="^1">
+            <unit bldFile="/sf/mw/mmappfw/tsrc/group" filter="TA_MMAPPFW"/>
+          </component>
+          <component name="mmappfw_plat" filter="s60" long-name="Multimedia App Framework Platform Interfaces" introduced="^1" class="api">
+            <unit bldFile="/sf/mw/mmappfw/mmappfw_plat/group"/>
+          </component>
+        </collection>
+      </block>
+    </layer>
+  </systemModel>
 </SystemDefinition>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/symbian3/mw/mmappfw/package_definition_3.0.xml	Mon Feb 01 16:11:43 2010 +0000
@@ -0,0 +1,75 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<SystemDefinition schema="3.0.0">
+  <package id="mmappfw" name="Multimedia App Framework" levels="fw utils if">
+    <collection id="mmappcomponents" name="Multimedia App Components" level="utils">
+      <component id="collectionhelper" filter="s60" name="Media Player Collection Helper" introduced="^1">
+        <unit bldFile="mmappcomponents/collectionhelper/group"/>
+      </component>
+      <component id="playlistengine" filter="s60" name="Playlist Engine" introduced="^1">
+        <unit bldFile="mmappcomponents/playlistengine/group"/>
+      </component>
+      <component id="mpxharvester" filter="s60" name="Media Player Harvester" introduced="^1">
+        <unit bldFile="mmappcomponents/harvester/group"/>
+      </component>
+      <component id="mmappcommonui" filter="s60" name="Multimedia App Common UI" introduced="^1">
+        <unit bldFile="mmappcomponents/mmappcommonui/group"/>
+      </component>
+      <component id="mediaplayersettingsengine" filter="s60" name="Media Player Settings Engine" introduced="^1">
+        <unit bldFile="mmappcomponents/mediaplayersettingsengine/group"/>
+      </component>
+      <component id="audiofetcher" filter="s60" name="Audio Fetcher" class="plugin" introduced="^1">
+        <unit bldFile="mmappcomponents/audiofetcher/group"/>
+      </component>
+      <component id="asxparser" filter="s60" name="ASX Parser" introduced="^1">
+        <unit bldFile="mmappcomponents/asxparser/group"/>
+        <!-- does the test bld.inf need to be #included? -->
+        <!-- <unit bldFile="mmappcomponents/asxparser/test"/> -->
+      </component>
+    </collection>
+    <collection id="mpx" name="Multimedia Player" level="fw">
+      <component id="commonframework" filter="s60" name="MPX Common Framework" introduced="^1">
+        <unit bldFile="mpx/commonframework/group"/>
+      </component>
+      <component id="playbackframework" filter="s60" name="MPX Playback Framework" introduced="^1">
+        <unit bldFile="mpx/playbackframework/group"/>
+      </component>
+      <component id="mpxcollectionfw" filter="s60" name="MPX Collection Framework" introduced="^1">
+        <unit bldFile="mpx/collectionframework/group"/>
+      </component>
+      <component id="mpxviewfw" filter="s60" name="MPX View Framework" introduced="^1">
+        <unit bldFile="mpx/viewframework/group"/>
+      </component>
+      <component id="mpx_build" filter="s60" name="MPX Build" introduced="^1">
+      	<!--  can the exports from here be distribtued to the above bld.infs? -->
+        <unit bldFile="mpx/group"/>
+      </component>
+    </collection>
+    <collection id="mmappfw_info" name="Multimedia App Framework Info" level="if">
+      <component id="mmappfw_build" filter="s60" name="Multimedia App Framework Build" introduced="^1">
+      <!--  does the export from ehre really belong in one of the other components? -->
+        <unit bldFile="group"/>
+      </component>
+      <component id="mmappfw_test" filter="s60" name="Multimedia App Framework Test" purpose="development" introduced="^1">
+      	<!--  should this component exist? -->
+        <!-- <unit bldFile="tsrc/group"/> -->
+      </component>
+      <component id="mmappfw_plat" filter="s60" name="Multimedia App Framework Platform Interfaces" class="api" introduced="^1">
+      	<!-- there can only be a single unit, these should be #included from a main bld.inf -->
+        <unit bldFile="mmappfw_plat/group"/>
+        <unit bldFile="mmappfw_plat/asx_parser_api/tsrc/group"/>
+        <unit bldFile="mmappfw_plat/collection_helper_api/tsrc/group"/>
+        <unit bldFile="mmappfw_plat/harvester_collection_mediator_api/tsrc/group"/>
+        <unit bldFile="mmappfw_plat/harvester_metadata_extractor_api/tsrc/group"/>
+        <unit bldFile="mmappfw_plat/harvester_utility_api/tsrc/group"/>
+        <unit bldFile="mmappfw_plat/media_player_settings_engine_api/tsrc/group"/>
+        <unit bldFile="mmappfw_plat/mpx_albumart_utility_api/tsrc/group"/>
+        <unit bldFile="mmappfw_plat/mpx_base_view_plugins_api/tsrc/group"/>
+        <unit bldFile="mmappfw_plat/mpx_collection_utility_api/tsrc/group"/>
+        <unit bldFile="mmappfw_plat/mpx_common_api/tsrc/group"/>
+        <unit bldFile="mmappfw_plat/mpx_playback_utility_api/tsrc/group"/>
+        <unit bldFile="mmappfw_plat/mpx_view_utility_api/tsrc/group"/>
+        <unit bldFile="mmappfw_plat/playlist_engine_api/tsrc/group"/>
+      </component>
+    </collection>
+  </package>
+</SystemDefinition>
--- a/symbian3/mw/mmuifw/package_definition.xml	Fri Jan 29 16:25:53 2010 +0000
+++ b/symbian3/mw/mmuifw/package_definition.xml	Mon Feb 01 16:11:43 2010 +0000
@@ -1,109 +1,146 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE SystemDefinition [
- <!ELEMENT SystemDefinition (systemModel?,SystemBuild?)>
- <!ATTLIST SystemDefinition
-  name CDATA #REQUIRED
-  schema CDATA #REQUIRED>
- <!ELEMENT systemModel (layer+)>
- <!ELEMENT layer (block*|collection*)*>
- <!ATTLIST layer
-  name CDATA #REQUIRED
-  long-name CDATA #IMPLIED
-  levels NMTOKENS #IMPLIED
-  span CDATA #IMPLIED>
- <!ELEMENT block (subblock*|collection*)*>
- <!ATTLIST block
-  levels NMTOKENS #IMPLIED
-  span CDATA #IMPLIED
-  level NMTOKEN #IMPLIED
-  name CDATA #REQUIRED
-  long-name CDATA #IMPLIED>
- <!ELEMENT subblock (collection)*>
- <!ATTLIST subblock
-  name CDATA #REQUIRED
-  long-name CDATA #IMPLIED>
- <!ELEMENT collection (component)*>
- <!ATTLIST collection
-  name CDATA #REQUIRED
-  long-name CDATA #IMPLIED
-  level NMTOKEN #IMPLIED>
- <!ELEMENT component (unit)*>
- <!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>
- <!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>
- <!ELEMENT SystemBuild (option*|target+|targetList+|list+|configuration+)*>
- <!ATTLIST SystemBuild schema CDATA #REQUIRED>
- <!ELEMENT list (ref+)>
- <!ATTLIST list
-  name ID #REQUIRED
-  description CDATA #REQUIRED>
- <!ELEMENT ref EMPTY>
- <!ATTLIST ref item CDATA #REQUIRED>
- <!ELEMENT targetList EMPTY>
- <!ATTLIST targetList
-  name ID #REQUIRED
-  description CDATA #REQUIRED
-  target IDREFS #REQUIRED>
- <!ELEMENT target EMPTY>
- <!ATTLIST target
-  name ID #REQUIRED
-  abldTarget CDATA #REQUIRED
-  description CDATA #REQUIRED>
- <!ELEMENT option EMPTY>
- <!ATTLIST option
-  name ID #REQUIRED
-  abldOption CDATA #REQUIRED
-  description CDATA #REQUIRED
-  enable (Y|N) #REQUIRED>
- <!ELEMENT configuration (listRef+|ref+|task+)*>
- <!ATTLIST configuration
-  name ID #REQUIRED
-  description CDATA #REQUIRED
-  filter CDATA #REQUIRED>
- <!ELEMENT task (listRef*,(buildLayer|specialInstructions))>
- <!ELEMENT listRef EMPTY>
- <!ATTLIST listRef list CDATA #REQUIRED>
- <!ELEMENT buildLayer EMPTY>
- <!ATTLIST buildLayer
-  command CDATA #REQUIRED
-  targetList IDREFS #IMPLIED
-  unitParallel (Y|N) #REQUIRED
-  targetParallel (Y|N) 'N'>
- <!ELEMENT specialInstructions EMPTY>
- <!ATTLIST specialInstructions
-  name CDATA #REQUIRED
-  cwd CDATA #REQUIRED
-  root CDATA #IMPLIED
-  command CDATA #REQUIRED>
-]>
-<SystemDefinition schema="2.0.1" name="Symbian^3">
-<systemModel>
-<layer name="mw">
-<block name="mmuifw">
-<collection name="s60">
-<component name="mmuifw">
-<unit bldFile="/sf/mw/mmuifw/group" mrp=""/>
-</component>
-</collection>
-</block>
-</layer>
-</systemModel>
+<!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="mw" long-name="Middleware" levels="generic specific">
+      <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="/sf/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="/sf/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="/sf/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="/sf/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="/sf/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="/sf/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="/sf/mw/mmuifw/mulwidgets/mullogging/group"/>
+          </component>
+          <component name="muldatamodel" filter="s60" long-name="MUL Data Model">
+            <unit bldFile="/sf/mw/mmuifw/mulwidgets/muldatamodel/group"/>
+          </component>
+          <component name="mulwidgets_common" filter="s60" long-name="MUL Common Utils">
+            <unit bldFile="/sf/mw/mmuifw/mulwidgets/common/group"/>
+          </component>
+          <component name="gesturehelper" filter="s60" long-name="Gesture Helper">
+            <unit bldFile="/sf/mw/mmuifw/mulwidgets/gesturehelper/group"/>
+          </component>
+          <component name="mulcoverflowwidget" filter="s60" long-name="MUL CoverFlow Widget">
+            <unit bldFile="/sf/mw/mmuifw/mulwidgets/mulcoverflowwidget/group"/>
+          </component>
+          <component name="mulsliderwidget" filter="s60" long-name="MUL Slider Widget">
+            <unit bldFile="/sf/mw/mmuifw/mulwidgets/mulsliderwidget/group"/>
+          </component>
+          <component name="alfviewwidget" filter="s60" long-name="ALF View Widget">
+            <unit bldFile="/sf/mw/mmuifw/mulwidgets/alfviewwidget/group"/>
+          </component>
+          <component name="alfcontainerwidget" filter="s60" long-name="ALF Container Widget">
+            <unit bldFile="/sf/mw/mmuifw/mulwidgets/alfcontainerwidget/group"/>
+          </component>
+          <component name="alfscrollbarwidget" filter="s60" long-name="ALF Scrollbar Widget">
+            <unit bldFile="/sf/mw/mmuifw/mulwidgets/alfscrollbarwidget/group"/>
+          </component>
+        </collection>
+      </block>
+    </layer>
+  </systemModel>
 </SystemDefinition>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/symbian3/mw/mmuifw/package_definition_3.0.xml	Mon Feb 01 16:11:43 2010 +0000
@@ -0,0 +1,74 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<SystemDefinition schema="3.0.0">
+  <package id="mmuifw" name="Multimedia UI Framework" levels="mgr mdl util ui">
+    <collection id="mmuifw_info" name="Multimedia UI Framework Info" level="ui">
+      <component id="mmuifw_plat" filter="s60" name="Multimedia UI Framework Platform Interfaces" class="api">
+        <unit bldFile="mmuifw_plat/group"/>
+      </component>
+      <component id="mmuifw_build" filter="s60" name="Multimedia UI Framework Build">
+        <unit bldFile="group"/>
+       	<!-- can this be distributed into the other components? -->
+      </component>
+    </collection>
+    <collection id="osncore" name="OS Neutral Library Core" level="util">
+      <component id="osncore_build" filter="s60" name="OSN Core Build">
+        <unit bldFile="osncore/group"/>
+      </component>
+    </collection>
+    <collection id="alfwidgetutils" name="Accelerated LAF Widget Utils" level="ui">
+      <component id="alfwidgetutils_build" filter="s60" name="ALF Widget Utils">
+        <unit bldFile="alfwidgetutils/group"/>
+      </component>
+    </collection>
+    <collection id="resourcepool" name="Resource Pool" level="util">
+      <component id="alfresourcepool" filter="s60" name="ALF Resource Pool">
+        <unit bldFile="resourcepool/group"/>
+      </component>
+    </collection>
+    <collection id="widgetmodel" name="Widget Model" level="mdl">
+      <component id="alfwidgetmodel" filter="s60" name="ALF Widget Model">
+        <!-- <unit bldFile="widgetmodel/alfwidgetmodel/group"/> -->
+      </component>
+      <component id="alfwidgetfactory" filter="s60" name="ALF Widget Factory">
+        <!-- <unit bldFile="widgetmodel/alfwidgetfactory/group"/> -->
+      </component>
+      <component id="widgetmodel_build" filter="s60" name="Widget Model Build">
+      	<!--  eitehr split this into the other 2 components or collapse them all into this one -->
+        <unit bldFile="widgetmodel/group"/>
+      </component>
+    </collection>
+    <collection id="mulwidgets" name="MUL Widgets" level="ui">
+    	<!-- should spell out MUL in the collection name -->
+      <component id="mullogging" filter="s60" name="MUL Logging">
+        <unit bldFile="mulwidgets/mullogging/group"/>
+      </component>
+      <component id="muldatamodel" filter="s60" name="MUL Data Model">
+        <unit bldFile="mulwidgets/muldatamodel/group"/>
+      </component>
+      <component id="mulwidgets_common" filter="s60" name="MUL Common">
+        <unit bldFile="mulwidgets/common/group"/>
+      </component>
+      <component id="gesturehelper" filter="s60" name="Gesture Helper">
+        <unit bldFile="mulwidgets/gesturehelper/group"/>
+      </component>
+      <component id="mulcoverflowwidget" filter="s60" name="MUL Coverflow Widget">
+        <unit bldFile="mulwidgets/mulcoverflowwidget/group"/>
+      </component>
+      <component id="mulsliderwidget" filter="s60" name="MUL Slider Widget">
+        <unit bldFile="mulwidgets/mulsliderwidget/group"/>
+      </component>
+      <component id="alfviewwidget" filter="s60" name="ALF View Widget">
+        <unit bldFile="mulwidgets/alfviewwidget/group"/>
+      </component>
+      <component id="alfcontainerwidget" filter="s60" name="ALF Container Widget">
+        <unit bldFile="mulwidgets/alfcontainerwidget/group"/>
+      </component>
+      <component id="alfscrollbarwidget" filter="s60" name="ALF Scrollbar Widget">
+        <unit bldFile="mulwidgets/alfscrollbarwidget/group"/>
+      </component>
+      <component id="mulwidgets_build" filter="s60" name="MUL Widgets Build">
+        <unit bldFile="mulwidgets/group"/>
+      </component>
+    </collection>
+  </package>
+</SystemDefinition>
--- a/symbian3/os/deviceplatformrelease/foundation_system/system_model/system_definition.xml	Fri Jan 29 16:25:53 2010 +0000
+++ b/symbian3/os/deviceplatformrelease/foundation_system/system_model/system_definition.xml	Mon Feb 01 16:11:43 2010 +0000
@@ -154,7 +154,7 @@
       <package id="mmuifw" level="specific" tech-domain="mm" href="../../../../mw/mmuifw/package_definition_3.0.xml"/>
       <package id="videoutils" level="specific" tech-domain="mm" href="../../../../mw/videoutils/package_definition_3.0.xml"/>
       <package id="mmmw" level="generic" tech-domain="mm" href="../../../../mw/mmmw/package_definition_3.0.xml"/>
-      <package id="helix" level="generic" tech-domain="mm" name="Helix"/>
+      <package id="helix" level="generic" tech-domain="mm" href="../../../../mw/helix/package_definition_3.0.xml"/>
       <package id="camerasrv" level="specific" tech-domain="mm" href="../../../../mw/camerasrv/package_definition_3.0.xml"/>
       <package id="mmappfw" level="specific" tech-domain="mm"  href="../../../../mw/mmappfw/package_definition_3.0.xml"/>
       <package id="inputmethods" level="generic" tech-domain="ui" href="../../../../mw/inputmethods/package_definition_3.0.xml"/>