symbian4/mw/dlnasrv/package_definition.xml
branchHighFidelityModel
changeset 246 f99f9ea9b39f
parent 217 fcee787f22fe
child 316 079a06b9ec58
--- a/symbian4/mw/dlnasrv/package_definition.xml	Wed May 26 17:18:20 2010 +0100
+++ b/symbian4/mw/dlnasrv/package_definition.xml	Wed May 26 17:30:43 2010 +0100
@@ -1,276 +1,238 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE SystemDefinition [
-<!ELEMENT SystemDefinition ( systemModel )>
-<!ATTLIST SystemDefinition
-  name CDATA #REQUIRED
-  schema CDATA #REQUIRED
->
-<!-- all paths are relative to the environment variable specified by the root attribute, or SOURCEROOT if not.  -->
-
-<!-- System Model Section of DTD -->
-<!ELEMENT systemModel (layer+)>
-
-<!ELEMENT layer (block* | collection*)*>
-<!-- Kernel Services, Base Services, OS Services, Etc -->
-<!ATTLIST layer
-  name CDATA #REQUIRED
-  long-name CDATA #IMPLIED
-  levels NMTOKENS #IMPLIED
-  span CDATA #IMPLIED
->
-
-<!ELEMENT block (subblock* | collection*)*>
- <!-- Generic OS services, Comms Services, etc -->
-<!ATTLIST block
-  levels NMTOKENS #IMPLIED
-  span CDATA #IMPLIED
-  level NMTOKEN #IMPLIED
-  name CDATA #REQUIRED
-  long-name CDATA #IMPLIED
->
-
-<!ELEMENT subblock (collection)*>
-<!-- Cellular Baseband Services, Networking Services, etc -->
-<!ATTLIST subblock
-  name CDATA #REQUIRED
-  long-name CDATA #IMPLIED
->
-
-<!ELEMENT collection (component)*>
-<!-- Screen Driver, Content Handling, etc -->
-<!ATTLIST collection
-  name CDATA #REQUIRED
-  long-name CDATA #IMPLIED
-  level NMTOKEN #IMPLIED
->
-
-<!ELEMENT component (unit)*>
-<!-- contains units or is a  package or prebuilt -->
-<!ATTLIST component
-  name CDATA #REQUIRED
-  long-name CDATA #IMPLIED
-  deprecated CDATA #IMPLIED
-  introduced CDATA #IMPLIED
-  contract CDATA #IMPLIED
-  plugin (Y|N) "N"
-  filter CDATA #IMPLIED
-  class NMTOKENS #IMPLIED
-  supports CDATA #IMPLIED
-  purpose ( optional | mandatory | development ) "optional"
->
-
-<!ELEMENT unit EMPTY >
-<!-- must be buildable (bld.inf) -->
-<!-- bldFile  may someday be removed in favour of mrp -->
-<!ATTLIST unit
-  mrp CDATA #IMPLIED
-  filter CDATA #IMPLIED
-  bldFile CDATA #IMPLIED
-  root CDATA #IMPLIED
-  version NMTOKEN #IMPLIED
-  prebuilt NMTOKEN #IMPLIED
-  late (Y|N) #IMPLIED
-  priority CDATA #IMPLIED
->
-]>
-<SystemDefinition name="Symbian^4" schema="2.0.1">
-  <systemModel>
-    <layer name="mw" long-name="Middleware" levels="generic specific">
-      <block name="dlnasrv" level="specific" long-name="DLNA Services" levels="stack server ctrl framework plugin">
-        <!-- uncomment all the units when configuration is in place, they're currently #included from other xxx_build components -->
-        <collection name="dlnasrv_plat" long-name="DLNA Services Platform Interfaces" level="plugin">
-          <component name="upnp_media_server_settings_api" long-name="UPnP Media Server Settings API" filter="s60" class="api">
-            <unit bldFile="/sf/mw/dlnasrv/dlnasrv_plat/upnp_media_server_settings_api/group"/>
-          </component>
-          <component name="upnp_av_objects_api" long-name="UPnP A/V Objects API" filter="s60" class="api">
-            <unit bldFile="/sf/mw/dlnasrv/dlnasrv_plat/upnp_av_objects_api/group"/>
-          </component>
-          <component name="upnp_media_server_api" long-name="UPnP Media Server API" filter="s60" class="api">
-            <unit bldFile="/sf/mw/dlnasrv/dlnasrv_plat/upnp_media_server_api/group"/>
-          </component>
-          <component name="upnp_security_plugin_api" long-name="UPnP Security Plugin API" filter="s60" class="api">
-            <unit bldFile="/sf/mw/dlnasrv/dlnasrv_plat/upnp_security_plugin_api/group"/>
-          </component>
-          <component name="upnp_avcp_api" long-name="UPnP AVCP API" filter="s60" class="api">
-            <unit bldFile="/sf/mw/dlnasrv/dlnasrv_plat/upnp_avcp_api/group"/>
-          </component>
-          <component name="upnp_media_server_metadata_api" long-name="UPnP Media Server Metadata API" filter="s60" class="api">
-            <unit bldFile="/sf/mw/dlnasrv/dlnasrv_plat/upnp_media_server_metadata_api/group"/>
-          </component>
-          <component name="upnp_command_api" long-name="UPnP Command API" filter="s60" class="api">
-            <unit bldFile="/sf/mw/dlnasrv/dlnasrv_plat/upnp_command_api/group"/>
-          </component>
-          <component name="upnp_plugin_api" long-name="UPnP Plugin API" filter="s60" class="api">
-            <unit bldFile="/sf/mw/dlnasrv/dlnasrv_plat/upnp_plugin_api/group"/>
-          </component>
-        </collection>
-        <collection name="upnpavcontrolpoint" long-name="UPnP A/V Control Point" level="plugin">
-          <component name="avcontrolframework" filter="s60" long-name="A/V Control Famework" introduced="9.1" deprecated="^3">
-            <unit bldFile="/sf/mw/dlnasrv/upnpavcontrolpoint/avcontrolframework/group"/>
-          </component>
-          <component name="upnpavcontrolpoint_build" filter="s60" long-name="UPnP A/V Control Point Build" introduced="9.1" deprecated="^3">
-            <!-- put exports in other component instead -->
-            <unit bldFile="/sf/mw/dlnasrv/upnpavcontrolpoint/group"/>
-          </component>
-        </collection>
-        <collection name="upnpmediaserver" long-name="UPnP Media Server" level="server">
-          <component name="avobjects" filter="s60" long-name="A/V Objects">
-            <unit bldFile="/sf/mw/dlnasrv/upnpmediaserver/avobjects/group"/>
-          </component>
-          <component name="mediaserverclient" filter="s60" long-name="Media Server Client">
-            <unit bldFile="/sf/mw/dlnasrv/upnpmediaserver/mediaserverclient/group"/>
-          </component>
-          <component name="connectionmanagerservice" filter="s60" long-name="Connection Manager Service">
-            <unit bldFile="/sf/mw/dlnasrv/upnpmediaserver/connectionmanagerservice/group"/>
-          </component>
-          <component name="contentdirectoryservice" filter="s60" long-name="Content Directory Service">
-            <unit bldFile="/sf/mw/dlnasrv/upnpmediaserver/contentdirectoryservice/group"/>
-          </component>
-          <component name="mediaserverengine" filter="s60" long-name="Media Server Engine">
-            <unit bldFile="/sf/mw/dlnasrv/upnpmediaserver/mediaserverengine/group"/>
-          </component>
-          <component name="upnpmediaserver_build" filter="s60" long-name="UPnP Media Server Build">
-            <!-- move exports into one of above components -->
-            <unit bldFile="/sf/mw/dlnasrv/upnpmediaserver/group"/>
-          </component>
-        </collection>
-        <collection name="upnpavcontroller" long-name="UPnP A/V Controller" level="ctrl">
-          <component name="upnpxmlparser" filter="s60" long-name="UPnP XML Parser" introduced="^2">
-            <unit bldFile="/sf/mw/dlnasrv/upnpavcontroller/upnpxmlparser/group"/>
-          </component>
-          <component name="upnpavcontrollerserver" filter="s60" long-name="UPnP A/V Controller Server" introduced="^2">
-            <unit bldFile="/sf/mw/dlnasrv/upnpavcontroller/upnpavcontrollerserver/group"/>
-          </component>
-          <component name="upnpavcontrollerclient" filter="s60" long-name="UPnP A/V Ccontroller Client" introduced="^2">
-            <unit bldFile="/sf/mw/dlnasrv/upnpavcontroller/upnpavcontrollerclient/group"/>
-          </component>
-          <component name="upnpavcontrollerhelper" filter="s60" long-name="UPnP A/V Controller Helper" introduced="^2">
-            <unit bldFile="/sf/mw/dlnasrv/upnpavcontroller/upnpavcontrollerhelper/group"/>
-          </component>
-          <component name="upnpavcontroller_build" filter="s60" long-name="UPnP A/V Controller Build" introduced="^2">
-            <!-- move exports content into one of above components -->
-            <unit bldFile="/sf/mw/dlnasrv/upnpavcontroller/group"/>
-          </component>
-        </collection>
-        <collection name="upnpframework" long-name="UPnP Framework" level="framework">
-          <component name="upnputilities" filter="s60" long-name="UPnP Utilities" introduced="^2">
-            <unit bldFile="/sf/mw/dlnasrv/upnpframework/upnputilities/group"/>
-          </component>
-          <component name="upnpextensionpluginif" filter="s60" long-name="UPnP Home Media Extension Plugin Interface" introduced="^2" deprecated="^3">
-            <!-- <unit bldFile="upnpframework/upnpextensionpluginif/group"/> -->
-          </component>
-          <component name="upnpfiletransferengine" filter="s60" long-name="UPnP File Transfer Engine" introduced="^2" deprecated="^3">
-            <!-- <unit bldFile="upnpframework/upnpfiletransferengine/group"/>-->
-          </component>
-          <component name="upnpcommonui" filter="s60" long-name="UPnP Common UI" introduced="^2" deprecated="^3">
-            <!--<unit bldFile="upnpframework/upnpcommonui/group"/>-->
-          </component>
-          <component name="upnpaiwengine" filter="s60" long-name="UPnP AIW Engine" introduced="^2" deprecated="^3">
-            <!--<unit bldFile="upnpframework/upnpaiwengine/group"/> -->
-          </component>
-          <component name="upnpaiwprovider" filter="s60" long-name="UPnP AIW Provider" introduced="^2" deprecated="^3" plugin="Y">
-            <!--<unit bldFile="upnpframework/upnpaiwprovider/group"/>-->
-          </component>
-          <component name="upnpmusicadapter" filter="s60" long-name="UPnP Music Adapter" introduced="^2">
-            <unit bldFile="/sf/mw/dlnasrv/upnpframework/upnpmusicadapter/group"/>
-          </component>
-          <component name="upnpcommand" filter="s60" long-name="UPnP Command" introduced="^2">
-            <unit bldFile="/sf/mw/dlnasrv/upnpframework/upnpcommand/group"/>
-          </component>
-          <component name="upnpframework_build" filter="s60" long-name="UPnP Framework Build" introduced="^2">
-            <!-- move exports content into one of above components -->
-            <unit bldFile="/sf/mw/dlnasrv/upnpframework/group"/>
-          </component>
-        </collection>
-        <collection name="upnpsettings" long-name="UPnP Settings" level="framework">
-          <component name="upnpsettingsengine" filter="s60" long-name="UPnP Settings Engine" introduced="^2">
-            <unit bldFile="/sf/mw/dlnasrv/upnpsettings/upnpsettingsengine/group"/>
-          </component>
-          <component name="multiselectionui" filter="s60" long-name="Multi-Selection UI" introduced="^2" deprecated="^3">
-            <!--<unit bldFile="upnpsettings/multiselectionui/group"/>-->
-          </component>
-          <component name="appwizard" filter="s60" long-name="UPnP Settings Wizard App" introduced="^2" deprecated="^3">
-            <!--<unit bldFile="upnpsettings/appwizard/group"/>-->
-          </component>
-          <component name="upnpsharingui" filter="s60" long-name="UPnP Sharing UI" introduced="^2" deprecated="^3">
-            <!--<unit bldFile="upnpsettings/upnpsharingui/group"/>-->
-          </component>
-          <component name="upnpgsplugin" filter="s60" long-name="UPnP GS Plugin" introduced="^2" plugin="Y">
-            <unit bldFile="/sf/mw/dlnasrv/upnpsettings/upnpgsplugin/group"/>
-          </component>
-          <component name="upnpsettings_build" filter="s60" long-name="UPnP Settings Build" introduced="^2">
-            <!-- move exports content into one of above components -->
-            <unit bldFile="/sf/mw/dlnasrv/upnpsettings/group"/>
-          </component>
-        </collection>
-        <collection name="upnpsharing" long-name="UPnP Sharing" level="server">
-          <component name="upnpdlnaprofiler" filter="s60" long-name="UPnP DLNA Profiler" introduced="^2">
-            <unit bldFile="/sf/mw/dlnasrv/upnpsharing/upnpdlnaprofiler/group"/>
-          </component>
-          <component name="upnpsecurity" filter="s60" long-name="UPnP Security" introduced="^2">
-            <unit bldFile="/sf/mw/dlnasrv/upnpsharing/upnpsecurity/group"/>
-          </component>
-          <component name="upnpcontentserver" filter="s60" long-name="UPnP Content Server" introduced="^2">
-            <unit bldFile="/sf/mw/dlnasrv/upnpsharing/upnpcontentserver/group"/>
-          </component>
-          <component name="applicationengine" filter="s60" long-name="UPnP Application Engine" introduced="^2">
-            <unit bldFile="/sf/mw/dlnasrv/upnpsharing/applicationengine/group"/>
-          </component>
-          <component name="upnpsharing_build" filter="s60" long-name="UPnP Sharing Build" introduced="^2">
-            <!-- move exports content into one of above components -->
-            <unit bldFile="/sf/mw/dlnasrv/upnpsharing/group"/>
-          </component>
-        </collection>
-        <collection name="upnpmpxplugins" long-name="UPnP MPX Plugins" level="plugin">
-          <component name="upnpplaybackplugins" filter="s60" long-name="UPnP Playback Plugins" introduced="^2" plugin="Y">
-            <unit bldFile="/sf/mw/dlnasrv/upnpmpxplugins/upnpplaybackplugins/group"/>
-          </component>
-          <component name="upnpmpxplugins_build" filter="s60" long-name="UPnP MPX Plugins Build" introduced="^2">
-            <!-- move exports content into other component? -->
-            <unit bldFile="/sf/mw/dlnasrv/upnpmpxplugins/group"/>
-          </component>
-        </collection>
-        <collection name="upnpharvester" long-name="UPnP Harvester" level="ctrl">
-          <component name="upnpharvester_common" filter="s60" long-name="UPnP Harvester Common" introduced="^2" deprecated="^3" class="placeholder">
-            <!-- need to merge or #include these to a single bld.inf -->
-            <!--<unit bldFile="upnpharvester/common/cmlibrary/group"/>
-        <unit bldFile="upnpharvester/common/cmsettings/group"/>
-        <unit bldFile="upnpharvester/common/cmsqlwrapper/group"/>
+<SystemDefinition schema="3.0.0">
+ <package id="dlnasrv" name="DLNA Services" levels="stack server ctrl framework plugin">
+  <!-- uncomment all the units when configuration is in place, they're currently #included from other xxx_build components -->
+  <collection id="dlnasrv_plat" name="DLNA Services Platform Interfaces" level="plugin">
+   <component id="upnp_media_server_settings_api" name="UPnP Media Server Settings API" class="api" filter="s60">
+    <meta rel="Api" href="dlnasrv_plat/upnp_media_server_settings_api/upnp_media_server_settings_api.metaxml"/>
+    <unit bldFile="dlnasrv_plat/upnp_media_server_settings_api/group"/>
+   </component>
+   <component id="upnp_av_objects_api" name="UPnP A/V Objects API" class="api" filter="s60">
+    <meta rel="Api" href="dlnasrv_plat/upnp_av_objects_api/upnp_av_objects_api.metaxml"/>
+    <unit bldFile="dlnasrv_plat/upnp_av_objects_api/group"/>
+   </component>
+   <component id="upnp_media_server_api" name="UPnP Media Server API" class="api" filter="s60">
+    <meta rel="Api" href="dlnasrv_plat/upnp_media_server_api/upnp_media_server_api.metaxml"/>
+    <unit bldFile="dlnasrv_plat/upnp_media_server_api/group"/>
+   </component>
+   <component id="upnp_security_plugin_api" name="UPnP Security Plugin API" class="api" filter="s60">
+    <meta rel="Api" href="dlnasrv_plat/upnp_security_plugin_api/upnp_security_plugin_api.metaxml"/>
+    <unit bldFile="dlnasrv_plat/upnp_security_plugin_api/group"/>
+   </component>
+   <component id="upnp_avcp_api" name="UPnP AVCP API" class="api" filter="s60">
+    <meta rel="Api" href="dlnasrv_plat/upnp_avcp_api/upnp_avcp_api.metaxml"/>
+    <unit bldFile="dlnasrv_plat/upnp_avcp_api/group"/>
+   </component>
+   <component id="upnp_media_server_metadata_api" name="UPnP Media Server Metadata API" class="api" filter="s60">
+    <meta rel="Api" href="dlnasrv_plat/upnp_media_server_metadata_api/upnp_media_server_metadata_api.metaxml"/>
+    <unit bldFile="dlnasrv_plat/upnp_media_server_metadata_api/group"/>
+   </component>
+   <component id="upnp_command_api" name="UPnP Command API" class="api" filter="s60">
+    <meta rel="Api" href="dlnasrv_plat/upnp_command_api/upnp_command_api.metaxml"/>
+    <unit bldFile="dlnasrv_plat/upnp_command_api/group"/>
+   </component>
+   <component id="upnp_plugin_api" name="UPnP Plugin API" class="api" filter="s60">
+    <meta rel="Api" href="dlnasrv_plat/upnp_plugin_api/upnp_plugin_api.metaxml"/>
+    <unit bldFile="dlnasrv_plat/upnp_plugin_api/group"/>
+   </component>
+  </collection>
+  <collection id="upnpavcontrolpoint" name="UPnP A/V Control Point" level="plugin">
+   <component id="avcontrolframework" filter="s60" name="A/V Control Famework" introduced="9.1" deprecated="^3">
+    <unit bldFile="upnpavcontrolpoint/avcontrolframework/group"/>
+   </component>
+   <component id="upnpavcontrolpoint_build" filter="s60" name="UPnP A/V Control Point Build" introduced="9.1" deprecated="^3">
+    <!-- put exports in other component instead -->
+    <unit bldFile="upnpavcontrolpoint/group"/>
+   </component>
+  </collection>
+  <collection id="upnpmediaserver" name="UPnP Media Server" level="server">
+   <component id="avobjects" filter="s60" name="A/V Objects">
+    <unit bldFile="upnpmediaserver/avobjects/group"/>
+   </component>
+   <component id="mediaserverclient" filter="s60" name="Media Server Client">
+    <unit bldFile="upnpmediaserver/mediaserverclient/group"/>
+   </component>
+   <component id="connectionmanagerservice" filter="s60" name="Connection Manager Service">
+    <unit bldFile="upnpmediaserver/connectionmanagerservice/group"/>
+   </component>
+   <component id="contentdirectoryservice" filter="s60" name="Content Directory Service">
+    <unit bldFile="upnpmediaserver/contentdirectoryservice/group"/>
+   </component>
+   <component id="mediaserverengine" filter="s60" name="Media Server Engine">
+    <unit bldFile="upnpmediaserver/mediaserverengine/group"/>
+   </component>
+   <component id="upnpmediaserver_build" filter="s60" name="UPnP Media Server Build">
+    <!-- move exports into one of above components -->
+    <unit bldFile="upnpmediaserver/group"/>
+   </component>
+  </collection>
+  <collection id="upnpavcontroller" name="UPnP A/V Controller" level="ctrl">
+   <component id="upnpxmlparser" filter="s60" name="UPnP XML Parser" introduced="^2">
+    <unit bldFile="upnpavcontroller/upnpxmlparser/group"/>
+   </component>
+   <component id="upnpavcontrollerserver" filter="s60" name="UPnP A/V Controller Server" introduced="^2">
+    <unit bldFile="upnpavcontroller/upnpavcontrollerserver/group"/>
+   </component>
+   <component id="upnpavcontrollerclient" filter="s60" name="UPnP A/V Ccontroller Client" introduced="^2">
+    <unit bldFile="upnpavcontroller/upnpavcontrollerclient/group"/>
+   </component>
+   <component id="upnpavcontrollerhelper" filter="s60" name="UPnP A/V Controller Helper" introduced="^2">
+    <unit bldFile="upnpavcontroller/upnpavcontrollerhelper/group"/>
+   </component>
+   <component id="upnpavcontroller_build" filter="s60" name="UPnP A/V Controller Build" introduced="^2">
+    <!-- move exports content into one of above components -->
+    <unit bldFile="upnpavcontroller/group"/>
+   </component>
+  </collection>
+  <collection id="upnpframework" name="UPnP Framework" level="framework">
+   <component id="upnputilities" filter="s60" name="UPnP Utilities" introduced="^2">
+    <unit bldFile="upnpframework/upnputilities/group"/>
+   </component>
+   <component id="upnpextensionpluginif" filter="s60" name="UPnP Home Media Extension Plugin Interface" introduced="^2" deprecated="^3">
+    <meta rel="config">
+     <defined condition="FF_UPNP_FRAMEWORK_2_0"/>
+    </meta>
+    <!-- <unit bldFile="upnpframework/upnpextensionpluginif/group"/> -->
+   </component>
+   <component id="upnpfiletransferengine" filter="s60" name="UPnP File Transfer Engine" introduced="^2" deprecated="^3">
+    <meta rel="config">
+     <defined condition="FF_UPNP_FRAMEWORK_2_0"/>
+    </meta>
+    <!-- <unit bldFile="upnpframework/upnpfiletransferengine/group"/>-->
+   </component>
+   <component id="upnpcommonui" filter="s60" name="UPnP Common UI" introduced="^2" deprecated="^3">
+    <meta rel="config">
+     <defined condition="FF_UPNP_FRAMEWORK_2_0"/>
+    </meta>
+    <!--<unit bldFile="upnpframework/upnpcommonui/group"/>-->
+   </component>
+   <component id="upnpaiwengine" filter="s60" name="UPnP AIW Engine" introduced="^2" deprecated="^3">
+    <meta rel="config">
+     <defined condition="FF_UPNP_FRAMEWORK_2_0"/>
+    </meta>
+    <!--<unit bldFile="upnpframework/upnpaiwengine/group"/> -->
+   </component>
+   <component id="upnpaiwprovider" filter="s60" name="UPnP AIW Provider" class="plugin" introduced="^2" deprecated="^3">
+    <meta rel="config">
+     <defined condition="FF_UPNP_FRAMEWORK_2_0"/>
+    </meta>
+    <!--<unit bldFile="upnpframework/upnpaiwprovider/group"/>-->
+   </component>
+   <component id="upnpmusicadapter" filter="s60" name="UPnP Music Adapter" introduced="^2">
+    <unit bldFile="upnpframework/upnpmusicadapter/group"/>
+   </component>
+   <component id="upnpcommand" filter="s60" name="UPnP Command" introduced="^2">
+    <unit bldFile="upnpframework/upnpcommand/group"/>
+   </component>
+   <component id="upnpframework_build" filter="s60" name="UPnP Framework Build" introduced="^2">
+    <!-- move exports content into one of above components -->
+    <unit bldFile="upnpframework/group"/>
+   </component>
+  </collection>
+  <collection id="upnpsettings" name="UPnP Settings" level="framework">
+   <component id="upnpsettingsengine" filter="s60" name="UPnP Settings Engine" introduced="^2">
+    <unit bldFile="upnpsettings/upnpsettingsengine/group"/>
+   </component>
+   <component id="multiselectionui" filter="s60" name="Multi-Selection UI" introduced="^2" deprecated="^3">
+    <meta rel="config">
+     <defined condition="FF_UPNP_FRAMEWORK_2_0"/>
+    </meta>
+    <!--<unit bldFile="upnpsettings/multiselectionui/group"/>-->
+   </component>
+   <component id="appwizard" filter="s60" name="UPnP Settings Wizard App" introduced="^2" deprecated="^3">
+    <meta rel="config">
+     <defined condition="FF_UPNP_FRAMEWORK_2_0"/>
+    </meta>
+    <!--<unit bldFile="upnpsettings/appwizard/group"/>-->
+   </component>
+   <component id="upnpsharingui" filter="s60" name="UPnP Sharing UI" introduced="^2" deprecated="^3">
+    <meta rel="config">
+     <defined condition="FF_UPNP_FRAMEWORK_2_0"/>
+    </meta>
+    <!--<unit bldFile="upnpsettings/upnpsharingui/group"/>-->
+   </component>
+   <component id="upnpgsplugin" filter="s60" name="UPnP GS Plugin" class="plugin" introduced="^2">
+    <unit bldFile="upnpsettings/upnpgsplugin/group"/>
+   </component>
+   <component id="upnpsettings_build" filter="s60" name="UPnP Settings Build" introduced="^2">
+    <!-- move exports content into one of above components -->
+    <unit bldFile="upnpsettings/group"/>
+   </component>
+  </collection>
+  <collection id="upnpsharing" name="UPnP Sharing" level="server">
+   <component id="upnpdlnaprofiler" filter="s60" name="UPnP DLNA Profiler" introduced="^2">
+    <unit bldFile="upnpsharing/upnpdlnaprofiler/group"/>
+   </component>
+   <component id="upnpsecurity" filter="s60" name="UPnP Security" introduced="^2">
+    <unit bldFile="upnpsharing/upnpsecurity/group"/>
+   </component>
+   <component id="upnpcontentserver" filter="s60" name="UPnP Content Server" introduced="^2">
+    <unit bldFile="upnpsharing/upnpcontentserver/group"/>
+   </component>
+   <component id="applicationengine" filter="s60" name="UPnP Application Engine" introduced="^2">
+    <unit bldFile="upnpsharing/applicationengine/group"/>
+   </component>
+   <component id="upnpsharing_build" filter="s60" name="UPnP Sharing Build" introduced="^2">
+    <!-- move exports content into one of above components -->
+    <unit bldFile="upnpsharing/group"/>
+   </component>
+  </collection>
+  <collection id="upnpmpxplugins" name="UPnP MPX Plugins" level="plugin">
+   <component id="upnpplaybackplugins" filter="s60" name="UPnP Playback Plugins" class="plugin" introduced="^2">
+    <unit bldFile="upnpmpxplugins/upnpplaybackplugins/group"/>
+   </component>
+   <component id="upnpmpxplugins_build" filter="s60" name="UPnP MPX Plugins Build" introduced="^2">
+    <!-- move exports content into other component? -->
+    <unit bldFile="upnpmpxplugins/group"/>
+   </component>
+  </collection>
+  <collection id="upnpharvester" name="UPnP Harvester" level="ctrl">
+   <meta rel="config">
+    <defined condition="FF_UPNP_FRAMEWORK_2_0"/>
+   </meta>
+   <component id="upnpharvester_common" filter="s60" name="UPnP Harvester Common" introduced="^2" deprecated="^3">
+    <!-- need to merge or #include these to a single bld.inf -->
+    <!--<unit bldFile="upnpharvester/common/cmlibrary/group"/>
+        <unit bldFile="upnpharvester/common/cmsettings/group"/>
+        <unit bldFile="upnpharvester/common/cmsqlwrapper/group"/>
         <unit bldFile="upnpharvester/common/dbmanager/group"/>-->
-          </component>
-          <component name="cdssync" filter="s60" long-name="CDS Sync" introduced="^2" deprecated="^3" class="placeholder">
-            <!-- <unit bldFile="upnpharvester/cdssync/common"/>-->
-          </component>
-          <component name="mdhserver" filter="s60" long-name="Metadata Harvester Server" introduced="^2" deprecated="^3" class="placeholder">
-            <!--<unit bldFile="upnpharvester/mdhserver/group"/>-->
-          </component>
-          <component name="upnpharvester_build" filter="s60" long-name="UPnP Harvester Build" introduced="^2" deprecated="^3" class="placeholder">
-            <!-- could just make the whole collection one component and move down a dir. Or move the exports here into the other component -->
-            <!--<unit bldFile="upnpharvester/group"/>-->
-          </component>
-        </collection>
-        <collection name="homesync" long-name="Home Sync" level="plugin">
-          <component name="contentmanager" filter="s60" long-name="Content Manager" introduced="^2" deprecated="^3" class="placeholder">
-            <!-- <unit bldFile="homesync/group"/>-->
-            <!-- move bld.inf into contentmanager dir -->
-          </component>
-        </collection>
-        <collection name="homemedia" long-name="Home Media" level="framework">
-          <!-- collection is really just a component. Move down a directory -->
-          <component name="homemedia_build" filter="s60" long-name="Home Media" introduced="^2" deprecated="^3" class="placeholder">
-            <!-- <unit bldFile="homemedia/group"/> -->
-          </component>
-        </collection>
-        <collection name="dlnasrv_info" long-name="DLNA Services Info" level="plugin">
-          <component name="dlnasrv_build" filter="s60" long-name="DLNA Services Build">
-            <!-- need to #include upnpplatformvar.hrh from each #included bld.inf, then this can be removed  -->
-            <unit bldFile="/sf/mw/dlnasrv/group"/>
-          </component>
-          <component name="dlnasrv_api_test" filter="s60,test,api_test" long-name="DLNA Services API Tests" purpose="development">
-            <unit bldFile="/sf/mw/dlnasrv/tsrc/group"/>
-          </component>
-        </collection>
-      </block>
-    </layer>
-  </systemModel>
+   </component>
+   <component id="cdssync" filter="s60" name="CDS Sync" introduced="^2" deprecated="^3">
+    <!-- <unit bldFile="upnpharvester/cdssync/common"/>-->
+   </component>
+   <component id="mdhserver" filter="s60" name="Metadata Harvester Server" introduced="^2" deprecated="^3">
+    <!--<unit bldFile="upnpharvester/mdhserver/group"/>-->
+   </component>
+   <component id="upnpharvester_build" filter="s60" name="UPnP Harvester Build" introduced="^2" deprecated="^3">
+    <!-- could just make the whole collection one component and move down a dir. Or move the exports here into the other component -->
+    <!--<unit bldFile="upnpharvester/group"/>-->
+   </component>
+  </collection>
+  <collection id="homesync" name="Home Sync" level="plugin">
+   <meta rel="config">
+    <defined condition="FF_UPNP_FRAMEWORK_2_0"/>
+   </meta>
+   <component id="contentmanager" filter="s60" name="Content Manager" introduced="^2" deprecated="^3">
+        <!-- <unit bldFile="homesync/group"/>-->  <!-- move bld.inf into contentmanager dir -->
+   </component>
+  </collection>
+  <collection id="homemedia" name="Home Media" level="framework">
+   <meta rel="config">
+    <defined condition="FF_UPNP_FRAMEWORK_2_0"/>
+   </meta>
+   <!-- collection is really just a component. Move down a directory -->
+   <component id="homemedia_build" filter="s60" name="Home Media" introduced="^2" deprecated="^3">
+    <!-- <unit bldFile="homemedia/group"/> -->
+   </component>
+  </collection>
+  <collection id="dlnasrv_info" name="DLNA Services Info" level="plugin">
+   <component id="dlnasrv_build" filter="s60" name="DLNA Services Build">
+    <!-- need to #include upnpplatformvar.hrh from each #included bld.inf, then this can be removed  -->
+    <unit bldFile="group"/>
+   </component>
+   <component id="dlnasrv_api_test" filter="s60,test,api_test" name="DLNA Services API Tests" purpose="development">
+    <unit bldFile="tsrc/group"/>
+   </component>
+  </collection>
+ </package>
 </SystemDefinition>