CDL

Каждый используемый в решении компонент должен быть описан на языке CDL в отдельном файле <имя компонента>.cdl.

cdl-файл содержит следующие разделы:

  1. Имя компонента. Перед именем компонента ставится ключевое слово component.
  2. Перечень реализаций интерфейсов, которые включены в компонент. Каждая реализация интерфейса указывается отдельной строкой в следующем формате:

    <имя реализации интерфейса>:<имя пакета>.<имя интерфейса в пакете>

    Компонент может содержать несколько реализаций одного интерфейса. Все реализуемые интерфейсы необходимо описать на языке IDL в idl-файлах.

СDL поддерживает однострочные и многострочные комментарии в стиле C++.

Примеры cdl-файлов

В простейшем случае компонент содержит единственную реализацию интерфейса, подобно компоненту ping из примера echo.

ping.cdl

/* Имя компонента: ping */

component ping

/* Компонент содержит именованную реализацию интерфейса IPing, объявленного в файле ping.idl. Имя реализации: ping_impl.*/

ping_impl: ping.IPing

В следующем примере компонент CoFoo содержит реализации трёх интерфейсов, объявленных в двух разных пакетах Foo и Baz (т.е. в файлах Foo.idl и Baz.idl):

CoFoo.cdl

/* Имя компонента: CoFoo */

component CoFoo

/* Компонент содержит реализацию интерфейса IFoo, объявленного в пакете Foo. Имя реализации: foo.*/

foo: Foo.IFoo

/* Компонент содержит реализацию интерфейса IBar, объявленного в пакете Foo. Имя реализации: bar.*/

bar: Foo.IBar

/* Компонент содержит три разных реализации интерфейса IBaz, объявленного в пакете Baz. Имена реализаций: baz1, baz2 и baz3.*/

baz1: Baz.IBaz

baz2: Baz.IBaz

baz3: Baz.IBaz

В начало