symbian3/mw/drm/package_definition.xml
author Bob Rosenberg <bob.rosenberg@nokia.com>
Wed, 17 Mar 2010 14:41:09 +0000
branchHighFidelityModel
changeset 141 27d9d356efbf
parent 110 b0f676859796
child 185 4f9b808eb677
permissions -rw-r--r--
Separate out all API components

<?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="drm" level="generic" long-name="DRM" levels="plugin framework server generic specific">
        <collection name="drm_plat" long-name="DRM Platform Interfaces" level="specific">
          <component name="roap_api" long-name="ROAP API" filter="s60" class="api">
            <unit bldFile="/sf/mw/drm/drm_plat/roap_api/group"/>
          </component>
          <component name="drm_common_api" long-name="DRM Common API" filter="s60" class="api">
            <unit bldFile="/sf/mw/drm/drm_plat/drm_common_api/group"/>
          </component>
          <component name="drm_rights_api" long-name="DRM Rights API" filter="s60" class="api">
            <unit bldFile="/sf/mw/drm/drm_plat/drm_rights_api/group"/>
          </component>
          <component name="drm_legacy_api" long-name="DRM Legacy API" filter="s60" class="api">
            <unit bldFile="/sf/mw/drm/drm_plat/drm_legacy_api/group"/>
          </component>
          <component name="dcf_repository_api" long-name="DCF Repository API" filter="s60" class="api">
            <unit bldFile="/sf/mw/drm/drm_plat/dcf_repository_api/group"/>
          </component>
          <component name="drm_service_api" long-name="DRM Service API" filter="s60" class="api">
            <unit bldFile="/sf/mw/drm/drm_plat/drm_service_api/group"/>
          </component>
          <component name="drm_secondary_display_api" long-name="DRM Secondary Display API" filter="s60" class="api">
            <unit bldFile="/sf/mw/drm/drm_plat/drm_secondary_display_api/group"/>
          </component>
          <component name="drm_license_manager_api" long-name="DRM License Manager API" filter="s60" class="api">
            <unit bldFile="/sf/mw/drm/drm_plat/drm_license_manager_api/group"/>
          </component>
          <component name="drm_utility_api" long-name="DRM Utility API" filter="s60" class="api">
            <unit bldFile="/sf/mw/drm/drm_plat/drm_utility_api/group"/>
          </component>
          <component name="drm_agents_api" long-name="DRM Agents API" filter="s60" class="api">
            <unit bldFile="/sf/mw/drm/drm_plat/drm_agents_api/group"/>
          </component>
          <component name="wmdrm_core_api" long-name="WM DRM Core API" filter="s60" class="api">
            <unit bldFile="/sf/mw/drm/drm_plat/wmdrm_core_api/group"/>
          </component>
          <component name="wmdrm_access_api" long-name="WMDRM Access API" filter="s60" class="api">
            <unit bldFile="/sf/mw/drm/drm_plat/wmdrm_access_api/group"/>
          </component>
          <component name="camese_utility_api" long-name="Camese Utility API" filter="s60" class="api">
            <unit bldFile="/sf/mw/drm/drm_plat/camese_utility_api/group"/>
          </component>
          <component name="camese_framework_api" long-name="Camese Framework API" filter="s60" class="api">
            <unit bldFile="/sf/mw/drm/drm_plat/camese_framework_api/group"/>
          </component>
        </collection>
        <collection name="drm_pub" long-name="DRM Public Interfaces" level="specific">
          <component name="drm_helper_api" long-name="DRM Helper API" filter="s60" class="api">
            <unit bldFile="/sf/mw/drm/drm_pub/drm_helper_api/group"/>
          </component>
          <component name="oma_drm_caf_agent_api" long-name="OMA DRM CAF Agent API" filter="s60" class="api">
            <unit bldFile="/sf/mw/drm/drm_pub/oma_drm_caf_agent_api/group"/>
          </component>
          <component name="drm_license_checker_api" long-name="DRM License Checker API" filter="s60" class="api">
            <unit bldFile="/sf/mw/drm/drm_pub/drm_license_checker_api/group"/>
          </component>
        </collection>
        <collection name="commondrm" long-name="Common DRM" level="generic">
          <!-- it looks like this collection would be better as a component. If so, move down a directory. Otherwise, split up the bld.inf -->
          <component name="drmencryptor" filter="s60" long-name="DRM Encryptor" class="placeholder">
            <!-- this should have its own bld.inf or be removed as a component -->
          </component>
          <component name="drmsettingsplugin" filter="s60" long-name="DRM Settings Plugin" plugin="Y" class="placeholder">
            <!-- this should have its own bld.inf or be removed as a component -->
          </component>
          <component name="drmrightsmanagerui" filter="s60" long-name="DRM Rights Manager UI">
            <unit bldFile="/sf/mw/drm/commondrm/drmrightsmanagerui/help/group"/>
          </component>
          <component name="drmutility" filter="s60" long-name="DRM Utility">
            <!-- Uncomment unit when configuration is in place. Currently #included from commondrm_build -->
            <!--<unit bldFile="commondrm/drmutility/group"/>-->
          </component>
          <component name="drmserviceapiwrapper" filter="s60" long-name="DRM Service API Wrapper">
            <unit bldFile="/sf/mw/drm/commondrm/drmserviceapiwrapper/group"/>
          </component>
          <component name="drmrightsstoringlocation" filter="s60" long-name="DRM Rights Storing Location">
            <unit bldFile="/sf/mw/drm/commondrm/drmrightsstoringlocation/group"/>
          </component>
          <component name="commondrm_build" filter="s60" long-name="Common DRM Build">
            <!-- should be split into the above files, or them collapsed into a single component -->
            <unit bldFile="/sf/mw/drm/commondrm/group"/>
          </component>
        </collection>
        <collection name="omadrm" long-name="OMA DRM" level="server">
          <!-- collection is really a component. Move down a directory -->
          <component name="omadrm_build" filter="s60" long-name="OMA DRM Build">
            <unit bldFile="/sf/mw/drm/omadrm/group"/>
          </component>
          <component name="rndcerts" filter="s60,test" long-name="R&amp;D Certificates">
            <unit bldFile="/sf/mw/drm/omadrm/rndcerts/group"/>
          </component>
          <component name="foundationcerts" filter="sf_build" long-name="Foundation Certificates">
            <unit bldFile="/sf/mw/drm/omadrm/foundationcerts/group"/>
          </component>
        </collection>
        <collection name="wmdrm" long-name="Windows Media DRM" level="framework">
          <!-- collection is really a component. Move down a directory -->
          <component name="wmdrm_build" filter="s60" long-name="WM DRM Build">
            <unit bldFile="/sf/mw/drm/wmdrm/group"/>
          </component>
        </collection>
        <collection name="drm_info" long-name="DRM Info" level="specific">
          <component name="drm_api_test" filter="s60,test,api_test" long-name="DRM Build" purpose="development">
            <unit bldFile="/sf/mw/drm/tsrc/group"/>
          </component>
        </collection>
      </block>
    </layer>
  </systemModel>
</SystemDefinition>