Skip to content

Commit abbf8d6

Browse files
authored
Add deprecations to old methods not using param structs (#2344)
1 parent 7f92700 commit abbf8d6

24 files changed

Lines changed: 251 additions & 108 deletions

hardware_interface/include/hardware_interface/actuator.hpp

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -45,10 +45,16 @@ class Actuator final
4545

4646
~Actuator() = default;
4747

48+
[[deprecated(
49+
"Replaced by const rclcpp_lifecycle::State & initialize(const "
50+
"hardware_interface::HardwareComponentParams & params).")]]
4851
const rclcpp_lifecycle::State & initialize(
4952
const HardwareInfo & actuator_info, rclcpp::Logger logger,
5053
rclcpp::node_interfaces::NodeClockInterface::SharedPtr clock_interface);
5154

55+
[[deprecated(
56+
"Replaced by const rclcpp_lifecycle::State & initialize(const "
57+
"hardware_interface::HardwareComponentParams & params).")]]
5258
const rclcpp_lifecycle::State & initialize(
5359
const HardwareInfo & actuator_info, rclcpp::Logger logger, rclcpp::Clock::SharedPtr clock);
5460

hardware_interface/include/hardware_interface/actuator_interface.hpp

Lines changed: 12 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -123,6 +123,9 @@ class ActuatorInterface : public rclcpp_lifecycle::node_interfaces::LifecycleNod
123123
* \returns CallbackReturn::SUCCESS if required data are provided and can be parsed.
124124
* \returns CallbackReturn::ERROR if any error happens or data are missing.
125125
*/
126+
[[deprecated(
127+
"Replaced by CallbackReturn init(const hardware_interface::HardwareComponentParams & "
128+
"params). Initialization is handled by the Framework.")]]
126129
CallbackReturn init(
127130
const HardwareInfo & hardware_info, rclcpp::Logger logger, rclcpp::Clock::SharedPtr clock)
128131
{
@@ -195,6 +198,7 @@ class ActuatorInterface : public rclcpp_lifecycle::node_interfaces::LifecycleNod
195198
* \returns CallbackReturn::SUCCESS if required data are provided and can be parsed.
196199
* \returns CallbackReturn::ERROR if any error happens or data are missing.
197200
*/
201+
[[deprecated("Use on_init(const HardwareComponentInterfaceParams & params) instead.")]]
198202
virtual CallbackReturn on_init(const HardwareInfo & hardware_info)
199203
{
200204
info_ = hardware_info;
@@ -216,7 +220,11 @@ class ActuatorInterface : public rclcpp_lifecycle::node_interfaces::LifecycleNod
216220
virtual CallbackReturn on_init(
217221
const hardware_interface::HardwareComponentInterfaceParams & params)
218222
{
223+
// This is done for backward compatibility with the old on_init method.
224+
#pragma GCC diagnostic push
225+
#pragma GCC diagnostic ignored "-Wdeprecated-declarations"
219226
return on_init(params.hardware_info);
227+
#pragma GCC diagnostic pop
220228
};
221229

222230
/// Exports all state interfaces for this hardware interface.
@@ -233,10 +241,8 @@ class ActuatorInterface : public rclcpp_lifecycle::node_interfaces::LifecycleNod
233241
*/
234242
[[deprecated(
235243
"Replaced by vector<StateInterface::ConstSharedPtr> on_export_state_interfaces() method. "
236-
"Exporting is "
237-
"handled "
238-
"by the Framework.")]] virtual std::vector<StateInterface>
239-
export_state_interfaces()
244+
"Exporting is handled by the Framework.")]]
245+
virtual std::vector<StateInterface> export_state_interfaces()
240246
{
241247
// return empty vector by default. For backward compatibility we try calling
242248
// export_state_interfaces() and only when empty vector is returned call
@@ -310,10 +316,8 @@ class ActuatorInterface : public rclcpp_lifecycle::node_interfaces::LifecycleNod
310316
*/
311317
[[deprecated(
312318
"Replaced by vector<CommandInterface::SharedPtr> on_export_command_interfaces() method. "
313-
"Exporting is "
314-
"handled "
315-
"by the Framework.")]] virtual std::vector<CommandInterface>
316-
export_command_interfaces()
319+
"Exporting is handled by the Framework.")]]
320+
virtual std::vector<CommandInterface> export_command_interfaces()
317321
{
318322
// return empty vector by default. For backward compatibility we try calling
319323
// export_command_interfaces() and only when empty vector is returned call

hardware_interface/include/hardware_interface/resource_manager.hpp

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -134,6 +134,7 @@ class ResourceManager
134134
* \param[in] update_rate update rate of the main control loop, i.e., of the controller manager.
135135
* \returns false if URDF validation has failed.
136136
*/
137+
[[deprecated("Use load_and_initialize_components(const ResourceManagerParams & params) instead")]]
137138
virtual bool load_and_initialize_components(
138139
const std::string & urdf, const unsigned int update_rate = 100);
139140

@@ -414,6 +415,9 @@ class ResourceManager
414415
* \param[in] actuator pointer to the actuator interface.
415416
* \param[in] hardware_info hardware info
416417
*/
418+
[[deprecated(
419+
"Use import_component(std::unique_ptr<ActuatorInterface> actuator, "
420+
"const HardwareComponentParams & params) instead")]]
417421
void import_component(
418422
std::unique_ptr<ActuatorInterface> actuator, const HardwareInfo & hardware_info);
419423

@@ -430,6 +434,9 @@ class ResourceManager
430434
* \param[in] sensor pointer to the sensor interface.
431435
* \param[in] hardware_info hardware info
432436
*/
437+
[[deprecated(
438+
"Use import_component(std::unique_ptr<SensorInterface> sensor, "
439+
"const HardwareComponentParams & params) instead")]]
433440
void import_component(
434441
std::unique_ptr<SensorInterface> sensor, const HardwareInfo & hardware_info);
435442

@@ -497,6 +504,9 @@ class ResourceManager
497504
* \param[in] params Struct of type HardwareComponentParams containing the hardware info
498505
* and other parameters for the component.
499506
*/
507+
[[deprecated(
508+
"Use import_component(std::unique_ptr<SystemInterface> system, "
509+
"const HardwareComponentParams & params) instead")]]
500510
void import_component(
501511
std::unique_ptr<SystemInterface> system, const HardwareInfo & hardware_info);
502512

hardware_interface/include/hardware_interface/sensor.hpp

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -45,10 +45,16 @@ class Sensor final
4545

4646
~Sensor() = default;
4747

48+
[[deprecated(
49+
"Replaced by const rclcpp_lifecycle::State & initialize(const "
50+
"hardware_interface::HardwareComponentParams & params).")]]
4851
const rclcpp_lifecycle::State & initialize(
4952
const HardwareInfo & sensor_info, rclcpp::Logger logger,
5053
rclcpp::node_interfaces::NodeClockInterface::SharedPtr clock_interface);
5154

55+
[[deprecated(
56+
"Replaced by const rclcpp_lifecycle::State & initialize(const "
57+
"hardware_interface::HardwareComponentParams & params).")]]
5258
const rclcpp_lifecycle::State & initialize(
5359
const HardwareInfo & sensor_info, rclcpp::Logger logger, rclcpp::Clock::SharedPtr clock);
5460

hardware_interface/include/hardware_interface/sensor_interface.hpp

Lines changed: 10 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -107,6 +107,9 @@ class SensorInterface : public rclcpp_lifecycle::node_interfaces::LifecycleNodeI
107107
* \returns CallbackReturn::SUCCESS if required data are provided and can be parsed.
108108
* \returns CallbackReturn::ERROR if any error happens or data are missing.
109109
*/
110+
[[deprecated(
111+
"Replaced by CallbackReturn init(const hardware_interface::HardwareComponentParams & "
112+
"params). Initialization is handled by the Framework.")]]
110113
CallbackReturn init(
111114
const HardwareInfo & hardware_info, rclcpp::Logger logger, rclcpp::Clock::SharedPtr clock)
112115
{
@@ -158,6 +161,7 @@ class SensorInterface : public rclcpp_lifecycle::node_interfaces::LifecycleNodeI
158161
* \returns CallbackReturn::SUCCESS if required data are provided and can be parsed.
159162
* \returns CallbackReturn::ERROR if any error happens or data are missing.
160163
*/
164+
[[deprecated("Use on_init(const HardwareComponentInterfaceParams & params) instead.")]]
161165
virtual CallbackReturn on_init(const HardwareInfo & hardware_info)
162166
{
163167
info_ = hardware_info;
@@ -179,7 +183,11 @@ class SensorInterface : public rclcpp_lifecycle::node_interfaces::LifecycleNodeI
179183
virtual CallbackReturn on_init(
180184
const hardware_interface::HardwareComponentInterfaceParams & params)
181185
{
186+
// This is done for backward compatibility with the old on_init method.
187+
#pragma GCC diagnostic push
188+
#pragma GCC diagnostic ignored "-Wdeprecated-declarations"
182189
return on_init(params.hardware_info);
190+
#pragma GCC diagnostic pop
183191
};
184192

185193
/// Exports all state interfaces for this hardware interface.
@@ -196,9 +204,8 @@ class SensorInterface : public rclcpp_lifecycle::node_interfaces::LifecycleNodeI
196204
*/
197205
[[deprecated(
198206
"Replaced by vector<StateInterface::ConstSharedPtr> on_export_state_interfaces() method. "
199-
"Exporting is handled "
200-
"by the Framework.")]] virtual std::vector<StateInterface>
201-
export_state_interfaces()
207+
"Exporting is handled by the Framework.")]]
208+
virtual std::vector<StateInterface> export_state_interfaces()
202209
{
203210
// return empty vector by default. For backward compatibility we try calling
204211
// export_state_interfaces() and only when empty vector is returned call

hardware_interface/include/hardware_interface/system.hpp

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -45,10 +45,16 @@ class System final
4545

4646
~System() = default;
4747

48+
[[deprecated(
49+
"Replaced by const rclcpp_lifecycle::State & initialize(const "
50+
"hardware_interface::HardwareComponentParams & params).")]]
4851
const rclcpp_lifecycle::State & initialize(
4952
const HardwareInfo & system_info, rclcpp::Logger logger,
5053
rclcpp::node_interfaces::NodeClockInterface::SharedPtr clock_interface);
5154

55+
[[deprecated(
56+
"Replaced by const rclcpp_lifecycle::State & initialize(const "
57+
"hardware_interface::HardwareComponentParams & params).")]]
5258
const rclcpp_lifecycle::State & initialize(
5359
const HardwareInfo & system_info, rclcpp::Logger logger, rclcpp::Clock::SharedPtr clock);
5460

hardware_interface/include/hardware_interface/system_interface.hpp

Lines changed: 12 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -127,6 +127,9 @@ class SystemInterface : public rclcpp_lifecycle::node_interfaces::LifecycleNodeI
127127
* \returns CallbackReturn::SUCCESS if required data are provided and can be parsed.
128128
* \returns CallbackReturn::ERROR if any error happens or data are missing.
129129
*/
130+
[[deprecated(
131+
"Replaced by CallbackReturn init(const hardware_interface::HardwareComponentParams & "
132+
"params). Initialization is handled by the Framework.")]]
130133
CallbackReturn init(
131134
const HardwareInfo & hardware_info, rclcpp::Logger logger, rclcpp::Clock::SharedPtr clock)
132135
{
@@ -199,6 +202,7 @@ class SystemInterface : public rclcpp_lifecycle::node_interfaces::LifecycleNodeI
199202
* \returns CallbackReturn::SUCCESS if required data are provided and can be parsed.
200203
* \returns CallbackReturn::ERROR if any error happens or data are missing.
201204
*/
205+
[[deprecated("Use on_init(const HardwareComponentInterfaceParams & params) instead.")]]
202206
virtual CallbackReturn on_init(const HardwareInfo & hardware_info)
203207
{
204208
info_ = hardware_info;
@@ -223,7 +227,11 @@ class SystemInterface : public rclcpp_lifecycle::node_interfaces::LifecycleNodeI
223227
virtual CallbackReturn on_init(
224228
const hardware_interface::HardwareComponentInterfaceParams & params)
225229
{
230+
// This is done for backward compatibility with the old on_init method.
231+
#pragma GCC diagnostic push
232+
#pragma GCC diagnostic ignored "-Wdeprecated-declarations"
226233
return on_init(params.hardware_info);
234+
#pragma GCC diagnostic pop
227235
};
228236

229237
/// Exports all state interfaces for this hardware interface.
@@ -240,9 +248,8 @@ class SystemInterface : public rclcpp_lifecycle::node_interfaces::LifecycleNodeI
240248
*/
241249
[[deprecated(
242250
"Replaced by vector<StateInterface::ConstSharedPtr> on_export_state_interfaces() method. "
243-
"Exporting is handled "
244-
"by the Framework.")]] virtual std::vector<StateInterface>
245-
export_state_interfaces()
251+
"Exporting is handled by the Framework.")]]
252+
virtual std::vector<StateInterface> export_state_interfaces()
246253
{
247254
// return empty vector by default. For backward compatibility we try calling
248255
// export_state_interfaces() and only when empty vector is returned call
@@ -331,10 +338,8 @@ class SystemInterface : public rclcpp_lifecycle::node_interfaces::LifecycleNodeI
331338
*/
332339
[[deprecated(
333340
"Replaced by vector<CommandInterface::SharedPtr> on_export_command_interfaces() method. "
334-
"Exporting is "
335-
"handled "
336-
"by the Framework.")]] virtual std::vector<CommandInterface>
337-
export_command_interfaces()
341+
"Exporting is handled by the Framework.")]]
342+
virtual std::vector<CommandInterface> export_command_interfaces()
338343
{
339344
// return empty vector by default. For backward compatibility we try calling
340345
// export_command_interfaces() and only when empty vector is returned call

hardware_interface/include/mock_components/generic_system.hpp

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -42,7 +42,8 @@ static constexpr size_t ACCELERATION_INTERFACE_INDEX = 2;
4242
class GenericSystem : public hardware_interface::SystemInterface
4343
{
4444
public:
45-
CallbackReturn on_init(const hardware_interface::HardwareInfo & info) override;
45+
CallbackReturn on_init(
46+
const hardware_interface::HardwareComponentInterfaceParams & params) override;
4647

4748
std::vector<hardware_interface::StateInterface> export_state_interfaces() override;
4849

hardware_interface/src/actuator.cpp

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -49,7 +49,11 @@ const rclcpp_lifecycle::State & Actuator::initialize(
4949
const HardwareInfo & actuator_info, rclcpp::Logger logger,
5050
rclcpp::node_interfaces::NodeClockInterface::SharedPtr clock_interface)
5151
{
52+
// This is done for backward compatibility with the old initialize method.
53+
#pragma GCC diagnostic push
54+
#pragma GCC diagnostic ignored "-Wdeprecated-declarations"
5255
return this->initialize(actuator_info, logger, clock_interface->get_clock());
56+
#pragma GCC diagnostic pop
5357
}
5458

5559
const rclcpp_lifecycle::State & Actuator::initialize(

hardware_interface/src/mock_components/generic_system.cpp

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -30,9 +30,10 @@
3030
namespace mock_components
3131
{
3232

33-
CallbackReturn GenericSystem::on_init(const hardware_interface::HardwareInfo & info)
33+
CallbackReturn GenericSystem::on_init(
34+
const hardware_interface::HardwareComponentInterfaceParams & params)
3435
{
35-
if (hardware_interface::SystemInterface::on_init(info) != CallbackReturn::SUCCESS)
36+
if (hardware_interface::SystemInterface::on_init(params) != CallbackReturn::SUCCESS)
3637
{
3738
return CallbackReturn::ERROR;
3839
}
@@ -83,7 +84,7 @@ CallbackReturn GenericSystem::on_init(const hardware_interface::HardwareInfo & i
8384
// check if there is parameter that disables commands
8485
// this way we simulate disconnected driver
8586
it = get_hardware_info().hardware_parameters.find("disable_commands");
86-
if (it != info.hardware_parameters.end())
87+
if (it != get_hardware_info().hardware_parameters.end())
8788
{
8889
command_propagation_disabled_ = hardware_interface::parse_bool(it->second);
8990
}
@@ -94,7 +95,7 @@ CallbackReturn GenericSystem::on_init(const hardware_interface::HardwareInfo & i
9495

9596
// check if there is parameter that enables dynamic calculation
9697
it = get_hardware_info().hardware_parameters.find("calculate_dynamics");
97-
if (it != info.hardware_parameters.end())
98+
if (it != get_hardware_info().hardware_parameters.end())
9899
{
99100
calculate_dynamics_ = hardware_interface::parse_bool(it->second);
100101
}

0 commit comments

Comments
 (0)