EDL-описания помещаются в отдельные файлы *.edl
и содержат декларации на языке EDL (Entity Definition Language):
entity <имя класса процессов>
components {
<имя экземпляра компонента : имя компонента>
[...]
}
Каждый экземпляр компонента указывается отдельной строкой. Имя экземпляра компонента не может содержать символов подчеркивания _
. Список может содержать несколько экземпляров одного компонента. Каждый экземпляр компонента в списке имеет уникальное имя.
security <имя интерфейса>
endpoints {
<имя службы : имя интерфейса>
[...]
}
Каждая служба указывается отдельной строкой. Имя службы не может содержать символов подчеркивания _
. Список может содержать несколько служб с одинаковым интерфейсом. Каждая служба в списке имеет уникальное имя.
Язык EDL чувствителен к регистру символов.
В EDL-описании могут использоваться однострочные и многострочные комментарии.
Интерфейс безопасности и предоставляемые службы могут задаваться в EDL-описании и в CDL-описании. Если при разработке компонента решения используются уже готовые составные части (например, в виде библиотек), которые сопровождаются CDL-описаниями, то целесообразно сослаться на них из EDL-описания через декларацию components
. В противном случае можно описать все предоставляемые службы в EDL-описании. Кроме того, в EDL-описании и в каждом CDL-описании можно отдельно задать интерфейс безопасности.
Примеры EDL-файлов
Hello.edl
// Класс процессов, которые не содержат компонентов.
entity Hello
Signald.edl
/* Класс процессов, которые содержат
* один экземпляр одного компонента. */
entity kl.Signald
components {
signals : kl.Signals
}
LIGHTCRAFT.edl
/* Класс процессов, которые содержат
* два экземпляра разных компонентов. */
entity kl.drivers.LIGHTCRAFT
components {
KUSB : kl.drivers.KUSB
KIDF : kl.drivers.KIDF
}
Downloader.edl
/* Класс процессов, которые не содержат
* компонентов и предоставляют одну службу. */
entity updater.Downloader
endpoints {
download : updater.Download
}
В начало