Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

The IDL (Interface Definition Language) file is the component's definition. It contains the functions the component exposes and the interface it must implement, regardless of the language in which is implemented.

In this link you can find details about IDL syntax and definitions.

Set IDL

In this tutorial we will write and run example ACS modules in Python, Java and C++. First we must  perform some configurations on ACS before coding our components.

Set $INTROOT environment variable

Visit ACS Directory Structure#INTROOT for full details. This directory is where our experimental components will be installed.

Code Block
languagebash
export INTROOT=~/workspace/introot
getTemplateForDirectory INTROOT $INTROOT

Pro tip: you can set $INTROOT in your ~/.bashrc to avoid setting $INTROOT manually in every new terminal.

Code Block
languagebash
echo INTROOT=~/workspace/introot >> ~/.bashrc

...

for our hello-world components

For any given component we have to follow 3 steps:

  1. Implement component's IDL
  2. Implement component
  3. Install component in ACS

For step #1So,   we create the component's IDL directory and file:

Code Block
languagebash
cd ~/workspace
getTemplateForDirectory MODROOT_WS idlHelloComp
cd idlHelloComp/src
touch ../idl/HelloComponent.idl
sudo nanovim ../idl/HelloComponent.idl

...

We add our component's IDL to the Makefile:

Code Block
languagebash
vim ~/workspace/idlHelloComp/src/Makefile


Code Block
titleidlHelloComponent/src/Makefile
...
IDL_FILES = HelloComponent
HelloComponentStubs_LIBS = acscomponentStubs
...
COMPONENT_HELPERS=on
...

...

Code Block
languagebash
make -j all install