<?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="homescreen" level="apps" long-name="Home Screen Apps" levels="support task ss hs">
<collection name="homescreen_info" long-name="Home Screen Info" level="support">
<component name="homescreen_build" long-name="Homescreen Build">
<!-- break this up properly into components -->
<unit bldFile="/sf/app/homescreen/."/>
</component>
</collection>
<collection name="homescreen_test" long-name="Home Screen Test" level="support">
<component name="tsrc_build" long-name="Tsrc Build" filter="test,unit_test">
<unit bldFile="/sf/app/homescreen/tsrc"/>
</component>
</collection>
<!-- fiill in details with broken up homescreen_build -->
<collection name="homescreenapp" long-name="Home Screen Application" level="hs">
<component name="hsutils" long-name="Home Screen Utils" introduced="^4"/>
<component name="hsdomainmodel" long-name="HS Domain Model" introduced="^4"/>
<component name="hs_runtimeplugins" long-name="HS Runtime Plugins" introduced="^4" plugin="Y"/>
<component name="hs_serviceproviders" long-name="HS Service Providers" introduced="^4" plugin="Y"/>
<component name="hs_stateplugins" long-name="HS State Plugins" introduced="^4" plugin="Y"/>
<component name="hs_widgetplugins" long-name="HS Widget Plugins" introduced="^4" plugin="Y"/>
<component name="hsapplication" long-name="Home Screen Application" introduced="^4"/>
<component name="hshomescreenclientplugin" long-name="Home Screen Client Plugin" introduced="^4" plugin="Y"/>
<component name="hsmenucontentpublish" long-name="HS Menu Content Publish" introduced="^4"/>
</collection>
<collection name="screensaverapp" long-name="Screen Saver Application" level="ss">
<component name="snsrutils" long-name="Screen Saver Utils" introduced="^4"/>
<component name="snsr_serviceproviders" long-name="Screen Saver Service Providers" introduced="^4" plugin="Y"/>
<component name="snsr_stateproviders" long-name="Screen Saver State Providers" introduced="^4" plugin="Y"/>
<component name="snsr_runtimeproviders" long-name="Screen Saver Runtime Providers" introduced="^4" plugin="Y"/>
<component name="snsrapplication" long-name="Screen Saver Application" introduced="^4"/>
<component name="screensaverproviders" long-name="Screen Saver Providers" introduced="^4" plugin="Y"/>
</collection>
<collection name="taskswitcherapp" long-name="Task Switcher Application" level="task">
<component name="taskswitcherappecom" long-name="Task Switcher Application ECom" introduced="^4"/>
<component name="tsserviceplugin" long-name="Task Switcher Service Plugin" introduced="^4" plugin="Y"/>
<component name="ts_runtimeplugins" long-name="TS Runtime Plugins" introduced="^4" plugin="Y"/>
<component name="tsapplication" long-name="Task Switcher Application" introduced="^4"/>
</collection>
</block>
</layer>
</systemModel>
</SystemDefinition>