<?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="usbservices" level="generic" long-name="USB Services" levels="framework server generic specific plugin">
<collection name="usbservices_info" long-name="USB Services Info" level="plugin">
<component name="usbservices_plat" filter="s60" long-name="USB Services Platform Interfaces" class="api">
<unit bldFile="/sf/mw/usbservices/usbservices_plat/group"/>
</component>
<component name="usbservices_test" filter="s60,test,api_test" long-name="USB Services Tests">
<unit bldFile="/sf/mw/usbservices/tsrc/group"/>
</component>
</collection>
<collection name="usbengines" long-name="USB Engines" level="generic">
<component name="usbotgwatcher" filter="s60" long-name="USB OTG Watcher">
<unit bldFile="/sf/mw/usbservices/usbengines/usbotgwatcher/group"/>
</component>
<component name="usbwatcher" filter="s60" long-name="USB Watcher">
<unit bldFile="/sf/mw/usbservices/usbengines/usbwatcher/group"/>
</component>
<component name="usblocodplugin" filter="s60" long-name="USB Local Connectivity Domain Plugin" plugin="Y">
<unit bldFile="/sf/mw/usbservices/usbengines/usblocodplugin/group"/>
</component>
<component name="usbdevcon" filter="s60" long-name="USB Device Control">
<unit bldFile="/sf/mw/usbservices/usbengines/usbdevcon/group"/>
</component>
<component name="usbremotepersonality" filter="s60" long-name="USB Remote Personality">
<unit bldFile="/sf/mw/usbservices/usbengines/usbremotepersonality/group"/>
</component>
</collection>
<collection name="usbclasses" long-name="USB Classes" level="framework">
<component name="usbobexclasscontroller" filter="s60" long-name="USB OBEX Class Controller" plugin="Y">
<unit bldFile="/sf/mw/usbservices/usbclasses/usbobexclasscontroller/group"/>
</component>
<component name="usbbasicpersonality" filter="s60" long-name="USB Basic Personality" plugin="Y">
<unit bldFile="/sf/mw/usbservices/usbclasses/usbbasicpersonality/group"/>
</component>
<component name="usbmscpersonality" filter="s60" long-name="USB MSC Personality" plugin="Y">
<unit bldFile="/sf/mw/usbservices/usbclasses/usbmscpersonality/group"/>
</component>
<!-- commented out in bld.inf. Should this be deleted?
<component id="ptpstack" filter="s60" name="Picture Transfer Protocol Stack">
<unit bldFile="usbclasses/ptpstack/group"/>
</component>
<component id="sicdusbplugin" filter="s60" name="SICD USB Plugin" class="plugin">
<unit bldFile="usbclasses/sicdusbplugin/group"/>
</component>
<component id="ptpserver" filter="s60" name="Picture Transfer Protocol Server">
<unit bldFile="usbclasses/ptpserver/group"/>
</component>-->
<component name="pictbridgeengine" filter="s60" long-name="PictBridge Engine">
<unit bldFile="/sf/mw/usbservices/usbclasses/pictbridgeengine/group"/>
</component>
<component name="usbphoneasmodem" filter="s60" long-name="USB Phone as Modem" introduced="^3">
<unit bldFile="/sf/mw/usbservices/usbclasses/usbphoneasmodem/group"/>
</component>
</collection>
<collection name="usbuis" long-name="USB UIs" level="specific">
<component name="usbui" filter="s60" long-name="USB UI">
<unit bldFile="/sf/mw/usbservices/usbuis/usbui/group"/>
</component>
<component name="usbuinotif" filter="s60" long-name="USB UI Notifiers">
<unit bldFile="/sf/mw/usbservices/usbuis/usbuinotif/group"/>
</component>
<component name="imageprintuiprovider" filter="s60" long-name="ImagePrint UI Provider" plugin="Y">
<unit bldFile="/sf/mw/usbservices/usbuis/imageprintuiprovider/group"/>
</component>
<component name="usbimageprintui" filter="s60" long-name="ImagePrint UI">
<unit bldFile="/sf/mw/usbservices/usbuis/imageprintui/group"/>
</component>
<component name="rndisui" filter="s60" long-name="Remote NDIS UI" introduced="^3">
<unit bldFile="/sf/mw/usbservices/usbuis/rndisui/group"/>
</component>
</collection>
</block>
</layer>
</systemModel>
</SystemDefinition>