Skip to content

Commit 65d428b

Browse files
ChrisThrasherdestogl
authored andcommitted
Replace pointers with values
1 parent de3a01e commit 65d428b

File tree

2 files changed

+19
-27
lines changed

2 files changed

+19
-27
lines changed

controller_manager/include/controller_manager/controller_manager.hpp

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -384,9 +384,8 @@ class ControllerManager : public rclcpp::Node
384384

385385
std::shared_ptr<rclcpp::Executor> executor_;
386386

387-
std::shared_ptr<pluginlib::ClassLoader<controller_interface::ControllerInterface>> loader_;
388-
std::shared_ptr<pluginlib::ClassLoader<controller_interface::ChainableControllerInterface>>
389-
chainable_loader_;
387+
pluginlib::ClassLoader<controller_interface::ControllerInterface> loader_;
388+
pluginlib::ClassLoader<controller_interface::ChainableControllerInterface> chainable_loader_;
390389

391390
/// Best effort (non real-time safe) callback group, e.g., service callbacks.
392391
/**

controller_manager/src/controller_manager.cpp

Lines changed: 17 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -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

Comments
 (0)