<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE SystemDefinition [
<!ELEMENT SystemDefinition ( systemModel )>
<!ATTLIST SystemDefinition
name CDATA #REQUIRED
schema CDATA #REQUIRED
>
<!-- all paths are relative to the environment variable specified by the root attribute, or SOURCEROOT if not. -->
<!-- System Model Section of DTD -->
<!ELEMENT systemModel (layer+)>
<!ELEMENT layer (block* | collection*)*>
<!-- Kernel Services, Base Services, OS Services, Etc -->
<!ATTLIST layer
name CDATA #REQUIRED
long-name CDATA #IMPLIED
levels NMTOKENS #IMPLIED
span CDATA #IMPLIED
>
<!ELEMENT block (subblock* | collection*)*>
<!-- Generic OS services, Comms Services, etc -->
<!ATTLIST block
levels NMTOKENS #IMPLIED
span CDATA #IMPLIED
level NMTOKEN #IMPLIED
name CDATA #REQUIRED
long-name CDATA #IMPLIED
>
<!ELEMENT subblock (collection)*>
<!-- Cellular Baseband Services, Networking Services, etc -->
<!ATTLIST subblock
name CDATA #REQUIRED
long-name CDATA #IMPLIED
>
<!ELEMENT collection (component)*>
<!-- Screen Driver, Content Handling, etc -->
<!ATTLIST collection
name CDATA #REQUIRED
long-name CDATA #IMPLIED
level NMTOKEN #IMPLIED
>
<!ELEMENT component (unit)*>
<!-- contains units or is a package or prebuilt -->
<!ATTLIST component
name CDATA #REQUIRED
long-name CDATA #IMPLIED
deprecated CDATA #IMPLIED
introduced CDATA #IMPLIED
contract CDATA #IMPLIED
plugin (Y|N) "N"
filter CDATA #IMPLIED
class NMTOKENS #IMPLIED
supports CDATA #IMPLIED
purpose ( optional | mandatory | development ) "optional"
>
<!ELEMENT unit EMPTY >
<!-- must be buildable (bld.inf) -->
<!-- bldFile may someday be removed in favour of mrp -->
<!ATTLIST unit
mrp CDATA #IMPLIED
filter CDATA #IMPLIED
bldFile CDATA #IMPLIED
root CDATA #IMPLIED
version NMTOKEN #IMPLIED
prebuilt NMTOKEN #IMPLIED
late (Y|N) #IMPLIED
priority CDATA #IMPLIED
>
]>
<SystemDefinition name="Symbian^3" schema="2.0.1">
<systemModel>
<layer name="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="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"/>
<unit bldFile="upnpharvester/common/dbmanager/group"/>-->
</component>
<component name="cdssync" filter="s60" long-name="CDS Sync" introduced="^2" deprecated="^3" class="placeholder">
<!-- <unit bldFile="upnpharvester/cdssync/common"/>-->
</component>
<component name="mdhserver" filter="s60" long-name="Metadata Harvester Server" introduced="^2" deprecated="^3" class="placeholder">
<!--<unit bldFile="upnpharvester/mdhserver/group"/>-->
</component>
<component name="upnpharvester_build" filter="s60" long-name="UPnP Harvester Build" introduced="^2" deprecated="^3" class="placeholder">
<!-- could just make the whole collection one component and move down a dir. Or move the exports here into the other component -->
<!--<unit bldFile="upnpharvester/group"/>-->
</component>
</collection>
<collection name="homesync" long-name="Home Sync" level="plugin">
<component name="contentmanager" filter="s60" long-name="Content Manager" introduced="^2" deprecated="^3" class="placeholder">
<!-- <unit bldFile="homesync/group"/>-->
<!-- move bld.inf into contentmanager dir -->
</component>
</collection>
<collection name="homemedia" long-name="Home Media" level="framework">
<!-- collection is really just a component. Move down a directory -->
<component name="homemedia_build" filter="s60" long-name="Home Media" introduced="^2" deprecated="^3" class="placeholder">
<!-- <unit bldFile="homemedia/group"/> -->
</component>
</collection>
<collection name="dlnasrv_info" long-name="DLNA Services Info" level="plugin">
<component name="dlnasrv_plat" filter="s60" long-name="DLNA Services Platform Interfaces" class="api">
<unit bldFile="/sf/mw/dlnasrv/dlnasrv_plat/group"/>
</component>
<component name="dlnasrv_build" filter="s60" long-name="DLNA Services Build">
<!-- need to #include upnpplatformvar.hrh from each #included bld.inf, then this can be removed -->
<unit bldFile="/sf/mw/dlnasrv/group"/>
</component>
<component name="dlnasrv_api_test" filter="s60,api_test" long-name="DLNA Services API Tests" purpose="development">
<unit bldFile="/sf/mw/dlnasrv/tsrc/group"/>
</component>
</collection>
</block>
</layer>
</systemModel>
</SystemDefinition>