symbian3/app/homescreen/package_definition.xml
author Bob Rosenberg <bob.rosenberg@nokia.com>
Tue, 18 May 2010 12:43:11 +0100
branchHighFidelityModel
changeset 209 af20ebf91ca6
parent 141 27d9d356efbf
permissions -rw-r--r--
sysmodelgen bugfix when drawing collections next to nested packages. Major revision to validation script checklinks.pl (it's now reliable). joinsysdef.pl now reports errors on duplicate IDs.

<?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="app" long-name="Applications" levels="services apps">
      <block name="homescreen" level="apps" long-name="Home Screen Apps" levels="fw support apps">
        <collection name="homescreen_plat" long-name="Home Screen Apps Platform Interfaces" level="apps">
          <component name="menu_settings_api" long-name="Menu Settings API" filter="s60" class="api">
            <unit bldFile="/sf/app/homescreen/homescreen_plat/menu_settings_api/group"/>
          </component>
          <component name="hs_content_control_ui" long-name="HS Content Control Ui" filter="s60" class="api">
            <unit bldFile="/sf/app/homescreen/homescreen_plat/hs_content_control_ui/group"/>
          </component>
          <component name="hs_renderingplugin_api" long-name="HS Rendering Plugin API" filter="s60" class="api">
            <unit bldFile="/sf/app/homescreen/homescreen_plat/hs_renderingplugin_api/group"/>
          </component>
        </collection>
        <collection name="idlehomescreen" long-name="Idle Home Screen" level="apps">
          <component name="nativeuicontroller" filter="s60" long-name="Native UI Controller">
            <unit bldFile="/sf/app/homescreen/idlehomescreen/nativeuicontroller/group"/>
          </component>
          <component name="exths" filter="s60" long-name="Active Idle Container" plugin="Y">
            <!-- why is the ID so different from the name? Is one wrong? -->
            <unit bldFile="/sf/app/homescreen/idlehomescreen/exths/group"/>
          </component>
          <component name="hscontentcontrol" filter="s60" long-name="Home Screen Content Control" introduced="^3">
            <unit bldFile="/sf/app/homescreen/idlehomescreen/hscontentcontrol/group"/>
          </component>
          <component name="hssapiwrapper" filter="s60" long-name="HS SAPI Wrapper" introduced="^3">
            <!--  can only have one unit. #include from a common bld.inf, or split into two components -->
            <unit bldFile="/sf/app/homescreen/idlehomescreen/sapiwrapper/cpswrapper/group"/>
            <unit bldFile="/sf/app/homescreen/idlehomescreen/sapiwrapper/hspswrapper/group"/>
          </component>
          <component name="xmluirendering" filter="s60" long-name="XML UI Rendering" introduced="^3">
            <unit bldFile="/sf/app/homescreen/idlehomescreen/xmluirendering/group"/>
          </component>
          <component name="xmluicontroller" filter="s60" long-name="XML UI Controller" introduced="^3">
            <unit bldFile="/sf/app/homescreen/idlehomescreen/xmluicontroller/group"/>
          </component>
          <component name="widgetmanager" filter="s60" long-name="Widget Manager" introduced="^3">
            <unit bldFile="/sf/app/homescreen/idlehomescreen/widgetmanager/group"/>
          </component>
          <component name="idlehomescreen_help" filter="s60" long-name="Idle Home Screen Help">
            <unit bldFile="/sf/app/homescreen/idlehomescreen/help/group"/>
          </component>
          <component name="idlehomescreen_data" filter="s60" long-name="Idle Home Screen Data">
            <unit bldFile="/sf/app/homescreen/idlehomescreen/data/group"/>
          </component>
          <component name="idlehomescreen_build" filter="s60" long-name="Idle Home Screen Build">
            <!-- can the loc file be moved to another comopnent and this one removed? -->
            <unit bldFile="/sf/app/homescreen/idlehomescreen/group"/>
          </component>
          <component name="homescreen_test" filter="s60,test,unit_test" purpose="development" long-name="Home Screen Apps Test">
            <unit bldFile="/sf/app/homescreen/idlehomescreen/widgetmanager/tsrc/wmunittest/group"/>
          </component>
        </collection>
        <collection name="menufw" long-name="Menu Framework" level="fw">
          <component name="hierarchynavigator" filter="s60" long-name="Hierarchy Navigator">
            <unit bldFile="/sf/app/homescreen/menufw/hierarchynavigator/group"/>
          </component>
          <component name="menufwui" filter="s60" long-name="Menu Framework UI">
            <unit bldFile="/sf/app/homescreen/menufw/menufwui/group"/>
          </component>
          <component name="menusuites" filter="s60" long-name="Menu Suites">
            <unit bldFile="/sf/app/homescreen/menufw/menusuites/group"/>
          </component>
          <component name="menufw_build" filter="s60" long-name="Menu Framework Build">
            <!-- can the exports be exported by the other components? -->
            <unit bldFile="/sf/app/homescreen/menufw/group"/>
          </component>
        </collection>
        <collection name="taskswitcher" long-name="Task Switcher" level="support">
          <component name="contextengine" filter="s60" long-name="Context Engine" introduced="^3">
            <unit bldFile="/sf/app/homescreen/taskswitcher/contextengine/group"/>
          </component>
          <component name="taskswitcherui" filter="s60" long-name="Task Switcher UI" introduced="^3">
            <unit bldFile="/sf/app/homescreen/taskswitcher/taskswitcherui/group"/>
          </component>
        </collection>
      </block>
    </layer>
  </systemModel>
</SystemDefinition>