Чтобы реализовать клиентскую программу, вызывающую метод службы, предоставляемой серверной программой, необходимо:
*.edl.cpp.h
) клиентской программы.*.idl.cpp.h
).sysroot-*-kos/include/kosipc/application.h
sysroot-*-kos/include/kosipc/api.h
sysroot-*-kos/include/kosipc/connect_static_channel.h
kosipc::MakeApplicationAutodetect()
. (Также можно использовать функции kosipc::MakeApplication()
и kosipc::MakeApplicationPureClient()
.)riid
) вызвав функцию kosipc::ConnectStaticChannel()
.Функция принимает имя IPC-канала (из файла init.yaml) и квалифицированное имя службы (из CDL- и EDL-описаний компонента решения).
MakeProxy()
.Чтобы реализовать серверную программу, предоставляющую службы другим программам, необходимо:
*.edl.cpp.h
, содержащий описание компонентной структуры программы, включая все предоставляемые службы.sysroot-*-kos/include/kosipc/event_loop.h
sysroot-*-kos/include/kosipc/api.h
sysroot-*-kos/include/kosipc/serve_static_channel.h
kosipc::MakeApplicationAutodetect()
.kosipc::components::Root
, которая описывает компонентную структуру программы и описания интерфейсов всех предоставляемых программой служб.kosipc::components::Root
с объектами, реализующими соответствующие службы.Поля структуры Root
повторяют иерархию компонентов и служб, заданную совокупностью CDL- и EDL-файлов.
ServeStaticChannel()
.Функция принимает имя IPC-канала (из файла init.yaml) и структуру, созданную на шаге 5.
kosipc::EventLoop
, вызвав функцию MakeEventLoop()
.Run()
объекта kosipc::EventLoop
.