<?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="app" long-name="Applications" levels="services apps">
<block name="musicplayer" level="apps" long-name="Music Player Apps" levels="plugins support hs app">
<!-- move the export .pri files into their components and uncomment the units -->
<collection name="musicplayer_utilities " long-name="Music Player Utilities" level="support">
<component name="mpnowplayingbanner" filter="s60" long-name="MP Now Playing Banner" introduced="^4" class="placeholder">
<!-- <unit bldFile="utilities/mpnowplayingbanner" qt:proFile="mpnowplayingbanner.pro" qt:qmakeArgs="-r -config rom"/> -->
</component>
<component name="mpsettingsmanager" filter="s60" long-name="MP Settings Manager" introduced="^4" class="placeholder">
<!-- <unit bldFile="utilities/mpsettingsmanager" qt:proFile="mpsettingsmanager.pro" qt:qmakeArgs="-r -config rom"/> -->
</component>
</collection>
<collection name="musicfetcher " long-name="Music Fetcher" level="support">
<!-- collection is really a component, move down a directory -->
<component name="musicfetcher_buld" filter="s60" long-name="Music Fetcher Build" introduced="^4" class="placeholder">
<!-- <unit bldFile="musicfetcher" qt:proFile="musicfetcher.pro" qt:qmakeArgs="-r -config rom"/> -->
</component>
</collection>
<collection name="musicplayer_app " long-name="Music Player Application" level="app">
<!-- collection is really a component, move down a directory -->
<component name="musicplayer_app_build" filter="s60" long-name="Music Player Application Build" introduced="^4" class="placeholder">
<!-- <unit bldFile="app" qt:proFile="app.pro" qt:qmakeArgs="-r -config rom"/> -->
</component>
</collection>
<collection name="mpviewplugins " long-name="Music Player View Plugins" level="plugins">
<component name="mpcollectionviewplugin" filter="s60" long-name="MP Collection View Plugin" introduced="^4" plugin="Y" class="placeholder">
<!--<unit bldFile="mpviewplugins/mpcollectionviewplugin/group"/>-->
</component>
<component name="mpplaybackviewplugin" filter="s60" long-name="MP Playback View Plugin" introduced="^4" plugin="Y" class="placeholder">
<!--<unit bldFile="mpviewplugins/mpplaybackviewplugin/group"/>-->
</component>
</collection>
<collection name="mpserviceplugins" long-name="Music Player Service Plugins" level="plugins">
<component name="audioeffects" filter="s60" long-name="Audio Effects" introduced="^4" plugin="Y" class="placeholder">
<!--<unit bldFile="mpserviceplugins/audioeffects/group"/>-->
</component>
<component name="localaudio" filter="s60" long-name="Local Audio" introduced="^4" plugin="Y" class="placeholder">
<!--<unit bldFile="mpserviceplugins/localaudio/group"/>-->
</component>
<!-- Note: it's called SQLite, not SQLLite, just the one "L" -->
<component name="mpxsqlitedbcommon" filter="s60" long-name="MPX SQLite Database Common" introduced="^4" class="placeholder">
<!--<unit bldFile="mpserviceplugins/mpxsqlitedbcommon/group"/>-->
</component>
<component name="mpxsqlitedbplugin" filter="s60" long-name="MPX SQLite Database Plugin" introduced="^4" plugin="Y" class="placeholder">
<!--<unit bldFile="mpserviceplugins/mpxsqlitedbplugin/group"/>-->
</component>
<component name="mpxsqlitepodcastdbplugin" filter="s60" long-name="MPX SQLlite Podcast Database Plugin" introduced="^4" plugin="Y" class="placeholder">
<!--<unit bldFile="mpserviceplugins/mpxsqlitepodcastdbplugin/group"/>-->
</component>
<component name="m3uplaylistplugin" filter="s60" long-name="M3U Playlist Plugin" introduced="^4" plugin="Y" class="placeholder">
<!--<unit bldFile="mpserviceplugins/mpxsqlitepodcastdbplugin/group"/>-->
</component>
</collection>
<collection name="musicplayer_info" long-name="Music Player Apps Info" level="app">
<component name="musicplayer_build" filter="s60" long-name="Music Player Build">
<!-- should brak up into individual components -->
<unit bldFile="/sf/app/musicplayer/."/>
</component>
</collection>
</block>
</layer>
</systemModel>
</SystemDefinition>