<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE SystemDefinition [
<!ELEMENT SystemDefinition (systemModel)>
<!ATTLIST SystemDefinition
name CDATA #REQUIRED
schema CDATA #REQUIRED>
<!ELEMENT systemModel (layer+)>
<!ELEMENT layer (block*|collection*)*>
<!ATTLIST layer
name CDATA #REQUIRED
long-name CDATA #IMPLIED
levels NMTOKENS #IMPLIED
span CDATA #IMPLIED>
<!ELEMENT block (subblock*|collection*)*>
<!ATTLIST block
levels NMTOKENS #IMPLIED
span CDATA #IMPLIED
level NMTOKEN #IMPLIED
name CDATA #REQUIRED
long-name CDATA #IMPLIED>
<!ELEMENT subblock (collection)*>
<!ATTLIST subblock
name CDATA #REQUIRED
long-name CDATA #IMPLIED>
<!ELEMENT collection (component)*>
<!ATTLIST collection
name CDATA #REQUIRED
long-name CDATA #IMPLIED
level NMTOKEN #IMPLIED>
<!ELEMENT component (unit)*>
<!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>
<!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="hapticsservices" level="generic" levels="fw server api" long-name="Haptics Services">
<collection name="hapticsservices_plat" long-name="Haptics Services Platform Interfaces" level="api">
<component name="tacticon_api" long-name="Tacticon API" introduced="^1" filter="s60" purpose="optional" class="api">
<unit bldFile="/sf/mw/hapticsservices/hapticsservices_plat/tacticon_api/group"/>
</component>
<component name="tactile_feedback_core_api" long-name="Tactile Feedback Core API" introduced="^1" filter="s60" purpose="optional" class="api">
<unit bldFile="/sf/mw/hapticsservices/hapticsservices_plat/tactile_feedback_core_api/group"/>
</component>
<component name="tactile_feedback_server_api" long-name="Tactile Feedback Server API" introduced="^1" filter="s60" purpose="optional" class="api">
<unit bldFile="/sf/mw/hapticsservices/hapticsservices_plat/tactile_feedback_server_api/group"/>
</component>
</collection>
<collection name="hapticsservices_pub" long-name="Haptics Services Public Interfaces" level="api">
<component name="tactile_feedback_client_api" long-name="Tactile Feedback Client API" introduced="^1" filter="s60" purpose="optional" class="api">
<unit bldFile="/sf/mw/hapticsservices/hapticsservices_pub/tactile_feedback_client_api/group"/>
</component>
</collection>
<collection name="tacticonserver" long-name="Tacticon Server" level="server">
<!-- collection is really a component. Move down a directory -->
<component name="tacticonserver_build" long-name="Tacticon Server Build" introduced="^3" filter="s60" purpose="optional">
<unit bldFile="/sf/mw/hapticsservices/tacticonserver/group"/>
<!-- clients and servers are usualy the same component. Consider moving plugins to separate components if needed -->
</component>
<component name="tacticonhapticsplugin" long-name="Tacticon Haptics Plugin" introduced="^3" filter="s60,dfs_build" purpose="optional" plugin="Y">
<unit bldFile="/sf/mw/hapticsservices/tacticonserver/server/tacticonpluginfw/tacticonhapticsplugin/group"/>
</component>
</collection>
<collection name="tactilefeedback" long-name="Tactile Feedback" level="fw">
<component name="tactilearearegistry" long-name="Tactile Area Registry" introduced="^1" filter="s60" purpose="optional">
<unit bldFile="/sf/mw/hapticsservices/tactilefeedback/tactilearearegistry/group"/>
</component>
<component name="tactilefeedbackresolver" long-name="Tactile Feedback Resolver" introduced="^1" filter="s60" purpose="optional">
<unit bldFile="/sf/mw/hapticsservices/tactilefeedback/tactilefeedbackresolver/group"/>
</component>
<component name="tactilefeedbackresolver_plugins" long-name="Tactile Feedback Resolver Plugins" introduced="^1" filter="s60,dfs_build" purpose="optional" plugin="Y">
<unit bldFile="/sf/mw/hapticsservices/tactilefeedback/tactilefeedbackresolver/plugins/group"/>
</component>
<component name="tactileclickplugin" long-name="Tactile Click Plugin" introduced="^1" filter="s60" purpose="optional" plugin="Y">
<unit bldFile="/sf/mw/hapticsservices/tactilefeedback/tactileclickplugin/group"/>
</component>
<component name="tactilefeedbackclient" long-name="Tactile Feedback Client" introduced="^1" filter="s60" purpose="optional">
<unit bldFile="/sf/mw/hapticsservices/tactilefeedback/tactilefeedbackclient/group"/>
</component>
<component name="tactileactionplugin" long-name="Tactile Action Plugin" introduced="^1" filter="s60" purpose="optional" plugin="Y">
<unit bldFile="/sf/mw/hapticsservices/tactilefeedback/tactileactionplugin/group"/>
</component>
<component name="tactilefeedback_rom" long-name="Tactile Feedback ROM" introduced="^1" filter="s60" purpose="optional">
<unit bldFile="/sf/mw/hapticsservices/tactilefeedback/rom"/>
</component>
</collection>
</block>
</layer>
</systemModel>
</SystemDefinition>