@@ -144,11 +144,8 @@ ControllerManager::ControllerManager(
144144 resource_manager_ (std::make_unique<hardware_interface::ResourceManager>()),
145145 diagnostics_updater_(this ),
146146 executor_(executor),
147- loader_(std::make_shared<pluginlib::ClassLoader<controller_interface::ControllerInterface>>(
148- kControllerInterfaceNamespace , kControllerInterfaceClassName )),
149- chainable_loader_(
150- std::make_shared<pluginlib::ClassLoader<controller_interface::ChainableControllerInterface>>(
151- kControllerInterfaceNamespace , kChainableControllerInterfaceClassName ))
147+ loader_(kControllerInterfaceNamespace , kControllerInterfaceClassName ),
148+ chainable_loader_(kControllerInterfaceNamespace , kChainableControllerInterfaceClassName )
152149{
153150 if (!get_parameter (" update_rate" , update_rate_))
154151 {
@@ -178,11 +175,8 @@ ControllerManager::ControllerManager(
178175 resource_manager_(std::move(resource_manager)),
179176 diagnostics_updater_(this ),
180177 executor_(executor),
181- loader_(std::make_shared<pluginlib::ClassLoader<controller_interface::ControllerInterface>>(
182- kControllerInterfaceNamespace , kControllerInterfaceClassName )),
183- chainable_loader_(
184- std::make_shared<pluginlib::ClassLoader<controller_interface::ChainableControllerInterface>>(
185- kControllerInterfaceNamespace , kChainableControllerInterfaceClassName ))
178+ loader_(kControllerInterfaceNamespace , kControllerInterfaceClassName ),
179+ chainable_loader_(kControllerInterfaceNamespace , kChainableControllerInterfaceClassName )
186180{
187181 diagnostics_updater_.setHardwareID (" ros2_control" );
188182 diagnostics_updater_.add (
@@ -283,18 +277,18 @@ controller_interface::ControllerInterfaceBaseSharedPtr ControllerManager::load_c
283277 RCLCPP_INFO (get_logger (), " Loading controller '%s'" , controller_name.c_str ());
284278
285279 if (
286- !loader_-> isClassAvailable (controller_type) &&
287- !chainable_loader_-> isClassAvailable (controller_type))
280+ !loader_. isClassAvailable (controller_type) &&
281+ !chainable_loader_. isClassAvailable (controller_type))
288282 {
289283 RCLCPP_ERROR (
290284 get_logger (), " Loader for controller '%s' (type '%s') not found." , controller_name.c_str (),
291285 controller_type.c_str ());
292286 RCLCPP_INFO (get_logger (), " Available classes:" );
293- for (const auto & available_class : loader_-> getDeclaredClasses ())
287+ for (const auto & available_class : loader_. getDeclaredClasses ())
294288 {
295289 RCLCPP_INFO (get_logger (), " %s" , available_class.c_str ());
296290 }
297- for (const auto & available_class : chainable_loader_-> getDeclaredClasses ())
291+ for (const auto & available_class : chainable_loader_. getDeclaredClasses ())
298292 {
299293 RCLCPP_INFO (get_logger (), " %s" , available_class.c_str ());
300294 }
@@ -304,13 +298,13 @@ controller_interface::ControllerInterfaceBaseSharedPtr ControllerManager::load_c
304298
305299 controller_interface::ControllerInterfaceBaseSharedPtr controller;
306300
307- if (loader_-> isClassAvailable (controller_type))
301+ if (loader_. isClassAvailable (controller_type))
308302 {
309- controller = loader_-> createSharedInstance (controller_type);
303+ controller = loader_. createSharedInstance (controller_type);
310304 }
311- if (chainable_loader_-> isClassAvailable (controller_type))
305+ if (chainable_loader_. isClassAvailable (controller_type))
312306 {
313- controller = chainable_loader_-> createSharedInstance (controller_type);
307+ controller = chainable_loader_. createSharedInstance (controller_type);
314308 }
315309
316310 ControllerSpec controller_spec;
@@ -1371,14 +1365,14 @@ void ControllerManager::list_controller_types_srv_cb(
13711365 std::lock_guard<std::mutex> guard (services_lock_);
13721366 RCLCPP_DEBUG (get_logger (), " list types service locked" );
13731367
1374- auto cur_types = loader_-> getDeclaredClasses ();
1368+ auto cur_types = loader_. getDeclaredClasses ();
13751369 for (const auto & cur_type : cur_types)
13761370 {
13771371 response->types .push_back (cur_type);
13781372 response->base_classes .push_back (kControllerInterfaceClassName );
13791373 RCLCPP_DEBUG (get_logger (), " %s" , cur_type.c_str ());
13801374 }
1381- cur_types = chainable_loader_-> getDeclaredClasses ();
1375+ cur_types = chainable_loader_. getDeclaredClasses ();
13821376 for (const auto & cur_type : cur_types)
13831377 {
13841378 response->types .push_back (cur_type);
@@ -1490,11 +1484,10 @@ void ControllerManager::reload_controller_libraries_service_cb(
14901484 assert (loaded_controllers.empty ());
14911485
14921486 // Force a reload on all the PluginLoaders (internally, this recreates the plugin loaders)
1493- loader_ = std::make_shared< pluginlib::ClassLoader<controller_interface::ControllerInterface> >(
1487+ loader_ = pluginlib::ClassLoader<controller_interface::ControllerInterface>(
14941488 kControllerInterfaceNamespace , kControllerInterfaceClassName );
1495- chainable_loader_ =
1496- std::make_shared<pluginlib::ClassLoader<controller_interface::ChainableControllerInterface>>(
1497- kControllerInterfaceNamespace , kChainableControllerInterfaceClassName );
1489+ chainable_loader_ = pluginlib::ClassLoader<controller_interface::ChainableControllerInterface>(
1490+ kControllerInterfaceNamespace , kChainableControllerInterfaceClassName );
14981491 RCLCPP_INFO (
14991492 get_logger (), " Controller manager: reloaded controller libraries for '%s'" ,
15001493 kControllerInterfaceNamespace );
0 commit comments