• Diff for "pluginlib/PluginDescriptionFile"
Differences between revisions 8 and 9
Revision 8 as of 2011-06-01 22:59:26
Size: 2632
Comment:
Revision 9 as of 2011-06-01 22:59:44
Size: 2636
Comment:
Deletions are marked like this. Additions are marked like this.
Line 6: Line 6:
The '''class_libraries''' allows listing multiple libraries which, in turn, contain plugins within one plugin description file. The '''class_libraries''' tag allows listing multiple libraries which, in turn, contain plugins within one plugin description file.

Plugin Description File Reference

This page describes the XML format used for plugin description files used by the pluginlib package.

<class_libraries> tag

The class_libraries tag allows listing multiple libraries which, in turn, contain plugins within one plugin description file.

<library> tag

The library tag is always the first tag in a plugin description file. It defines the library in which plugin classes live. A library may contain multiple plugins of varying class types.

Attributes:

  • path : The relative path to the library from the main package directory

<class> tag

The class tag describes a class provided by a library.

Attributes:

  • name : The lookup name of the class. Used by the pluginlib tools as an identifier for the plugin.

  • type : The fully qualified class type.
  • base_class_type : The fully qualified type of the base class
  • description : A description of the class and what it does.

Examples

A simple plugin description file for a library with one class to export

<library path="lib/libplugin">
  <class name="MyPlugin" type="my_namespace::MyPlugin" base_class_type="interface_namespace::PluginInterface">
    <description>
      A description of MyPlugin
    </description>
  </class>
</library>

A plugin description file for a library with multiple plugins

<library path="lib/libplugin">
  <class name="FirstPlugin" type="my_namespace::FirstPlugin" base_class_type="interface_namespace::PluginInterface">
    <description>
      A description of FirstPlugin
    </description>
  </class>
  <class name="SecondPlugin" type="my_namespace::SecondPlugin" base_class_type="interface_namespace::PluginInterface">
    <description>
      A description of SecondPlugin
    </description>
  </class>
</library>

A plugin description for multiple libraries with plugins

<class_libraries>
  <library path="lib/libplugina">
    <class name="MyPluginA" type="my_namespacea::MyPluginA" base_class_type="interface_namespace::PluginInterface">
      <description>
        A description of MyPluginA
      </description>
    </class>
  </library>
  <library path="lib/libpluginb">
    <class name="MyPluginB" type="my_namespaceb::MyPluginB" base_class_type="interface_namespace::PluginInterface">
      <description>
        A description of MyPluginB
      </description>
    </class>
  </library>
</class_libraries>

Wiki: pluginlib/PluginDescriptionFile (last edited 2012-12-14 03:50:00 by MirzaShah)