Detailed Description

A Component for deploying (configuring) other components in an application.

It allows to create connections between components, load the properties and scripts for components and setup component activities.

The main idea is to load an XML file as described in the Deployment Component Manual. It dictates the libraries to load, the components to create, configure and start. Every aspect of the XML file can be expressed in a program script as well. If you want this component to execute a program script, assign it a periodic activity using either a 'site local' XML script (see below), or by listing the DeploymentComponent in your main XML file.

Automatically loading a site local XML file

It is possible to store site local settings in a separate XML configuration file which will be automatically loaded when the DeploymentComponent is created. The default name of this file is 'this->getName() + "-site.cpf"'. It is only looked for and loaded in the constructor of this class.

Configuring the DeploymentComponent itself.

When reading an XML file (for example, when using kickStart() or loadComponents() ) the DeploymentComponent checks if a section is devoted to itself by comparing the listed component name with its own name ( this->getName() ). If it matches, it applies the configuration instructions to itself in the same manner as it would configure other components.

Constructor & Destructor Documentation

The constructor looks for the site local configuration XML file ('name + "-site.cpf"') and if found, kickStart()'s it. You need to set AutoConf to true in order to force a call to configureHook(). In case this file is not present in the current working directory, the component is configured and is thus constructed in the Stopped state. Using a site file does not prevent you from kickstarting or loading other XML files lateron.

Parameters:

name

The name of this component. By default: Deployer

siteFile

The site-specific XML file which, if found, will be used for a site-specific kickStart. If left empty, the value becomes by default: name + "-site.cpf"

This function connects components and data ports, reads properties for the components, attaches activities and loads program and state machine scripts. If a component XML entry has the AutoConf element, configure() will be called upon this component as well. If the configuration fails halfway, the system is configured as complete as possible. You can try to reconfigure by loading a new configuration (using loadConfiguration ) and call configureComponents again to resolve remaining issues.

This function tries to apply the configuration with a best effort. For example, if a program must be loaded in the component, and a program with that same name is already present, the present one is unloaded and the new one is attempted to be loaded. If that fails, the configuration process leaves the scripts as-is and proceeds with further configuration steps of the same component and other components.

The order of configuration depends on the order of components during loadConfiguration. The first encountered component is configured first. If additional loadConfiguration operations refer to the same component, the configuration order is not changed.

The import statement searches through the component paths set with path() or set using the RTT_COMPONENT_PATH environment variable.

Parameters:

package

A (ros) package or directory name. All components, plugins and typekits in package will be loaded and become available to the application. As a special case, you may specify a path to a library directly, which will be loaded when found.

Returns:

true if the package could be found and loaded, false if no such package was found in the search path.

The necessary components are located or loaded, but no component configuration is yet applied. One can load multiple configurations and call configureComponents() once to apply all settings. In case of duplicate information is the latest loaded configuration option used. The components are loaded into the next group number, and the next group number is incremented.

The necessary components are located or loaded, but no component configuration is yet applied. One can load multiple configurations and call configureComponents() once to apply all settings. In case of duplicate information is the latest loaded configuration option used.