Каждый используемый в решении компонент должен быть описан на языке CDL в отдельном файле <имя компонента>.cdl
.
cdl-файл содержит следующие разделы:
component
.<имя реализации интерфейса>:<имя пакета>.<имя интерфейса в пакете>
Компонент может содержать несколько реализаций одного интерфейса. Все реализуемые интерфейсы необходимо описать на языке 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
В начало