ADTF Plugin Description Generator

This guide covers how to integrate your code into ADTF. After reading this guide, you will know:

What is the ADTF Plugin Description?

The Plugin Description Generator (PDGen) extracts meta information from an ADTF plugin and stores it in an XML file. Tools such as the ADTF Configuration Editor use the extracted information to provide plugin related functionality without having to load the actual plugin.

To extract information such as any provided and/or required interfaces the PDGen has to actually load the plugin DLL and instantiate the contained ADTF Services and Filters. In some cases it may be necessary to include information which is not provided by the plugin at runtime. To achieve this you can provide an additional plugin description file to be merged with the generated file.

The Plugin Description Generator (PDGen) is located in <ADTF_DIR>/bin/ and <ADTF_DIR>/bin/debug respectively.

For a more technical explanation please follow this link

Extension points

To connect your code with ADTF you can choose from one of these interfaces:

Turn your code into a plugin

All begins with a plugin. The SDK provides the ADTF_PLUGIN macro to connect your code with the ADTF world. The macro requires two parameters. The first parameter is the name of your new plugin. The second parameter is the name of the new class representing the plugin. The macro is used like this:

After compiling your project, there will be a file called *.adtfplugin that represents your code as a shared library which ADTF can load at runtime. To make your new plugin available inside the Configuration Editor, you need an XML based description, which the Plugindescription Generator can create for you: And this is what a *.plugindescription looks like:

The content of a plugindescription

CMake Support

The recommended way to call the PDGen is via the CMake function adtf_create_plugindescription.

For further reference see the function definition and documentation in <ADTF_DIR>/ADTFMacros.cmake.

Basic

This function takes care of calling the PDGen as part of the build.

Example usage:

3rd Party dependencies

If your adtfplugin requires addtional libraries during runtime, you can specify the dependencies by using DEPENDENT_DYNAMIC_LIBS.

Example usage:

Platform specific dependencies

As described in our guide for generating plugin descriptions you can use MERGE_DESCRIPTION option to define platform specific dependencies within the platform nodes inside a plugin description file and merge these information automatic within your post build step.

Example usage:

Command line support

Please see the output of a call with --help for all available command line options.

We recommend to integrate the plugin description generation into your toolchain as post-build step using CMake as described and demonstrated in all our programming examples and tutorial here as well. There is no need to use the ADTF Plugin Description Generator as command line tool standalone. See also Best Practice Tooling

Where to go next?

Now you know a lot about setting up an ADTF Session but what about manipulating it without UI ? Let's have a look at ADTF Config Tool.