Дескриптор аплета

Дескриптор аплета необходим для того, чтобы приложение Check-Engine, запускающее автомобильный аплет знало как это сделать, какой класс сборки (assembly) аплета реализует интерфейс CarApplet.Applet. Кроме информации о сборке (assembly) и об основном классе аплета, дескриптор содержит читабельное название аплета, то название, которе Check-Engine должно выдавать пользователю. Читабельное название может быть указано сразу на нескольких языках, что совсем не обязательно, но довольно важно, если аплет использует многоязычный интерфейс.

Дескриптор аплета размещается в фале .xml
В одном .xml-файле может быть несколько дескрипторов, это предусмотрено прежде всего для "многоаплетных" сборок. Обычно в сборке один аплет и .xml файл дескриптора содержит один дескриптор этого аплета.

Тэги, используемые в файле дескриптора

Файл, содержащий дескриптор обязательно должен включать корневой тэг <carapplets>, который в свою очередь должен содержать по крайней мере один тэг <applet>.

Для включения в один файл нескольких дескрипторов необходимо в <carapplets> включить несколько дочерних тегов <applet> одного уровня (см. пример).

В тэге <applet> должен быть включен тэг <descriptor>, который в свою очередь содержит информационные тэги, содержащие информацию по аплету. Внутри <descriptor>...</descriptor> предусмотрены следующие поля (тэги):

Пример

В даном примере дискриптор содержит информацию по двум автомобильным аплетам - SpeedUp и WarmUp. Оба аплета реализованы в одной библиотеке (в одной assembly). Для каждого аплета указано название на языке "по умолчанию" (в данном случае на русском) и альтернативное название для англоязычного интерфейса.

<?xml version="1.0" encoding="utf-8" ?>
<carapplets>
  <applet name="SpeedUp">
    <descriptor>
      <assembly>Applets.dll</assembly>
      <classname>Applets.SpeedUp.Applet</classname>
      <title>Разгон</title>
      <title lang="en">Speeding-up</title>
    </descriptor>
  </applet>
  <applet name="WarmUp">
    <descriptor>
      <assembly>Applets.dll</assembly>
      <classname>Applets.WarmUp.Applet</classname>
      <title>Прогрев</title>
      <title lang="en">Warmup</title>
    </descriptor>
  </applet>
</carapplets>