Plugins#

#include "navground/core/plugins.h"
using navground::core::PkgPlugins = std::map<std::string, std::vector<std::string>>#
using navground::core::Plugins = std::map<std::string, PkgPlugins>#
using navground::core::PathSet = std::set<std::filesystem::path>#
using navground::core::PathSetMap = std::map<std::filesystem::path, PathSet>#
void navground::core::load_plugins(const PathSet &plugins = {}, const PathSetMap &directories = {}, bool include_default = true)#

Loads plugins.

Plugins are shared libraries that extend one or more registered classes.

Parameters:
  • plugins[in] Paths to the shared libraries to import.

  • directories[in] A map of directories with files containing paths to the shared libraries to import, one per line, relative to the map keys.

  • include_default[in] Whether to load the plugin from the ament resources index, or from the “NAVGROUND_PLUGINS_INDEX_PATH” env (a list of directories separated by “:”)

const Plugins &navground::core::get_loaded_plugins()#

Returns all plugins implemented in C++.