Skip to content

Commit b860171

Browse files
committed
fix uses of newly deprecated functions
Signed-off-by: William Woodall <[email protected]>
1 parent d8c52b3 commit b860171

34 files changed

+223
-127
lines changed

rclcpp/include/rclcpp/event_handler.hpp

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -117,12 +117,12 @@ class EventHandlerBase : public Waitable
117117
/// Add the Waitable to a wait set.
118118
RCLCPP_PUBLIC
119119
void
120-
add_to_wait_set(rcl_wait_set_t * wait_set) override;
120+
add_to_wait_set(rcl_wait_set_t & wait_set) override;
121121

122122
/// Check if the Waitable is ready.
123123
RCLCPP_PUBLIC
124124
bool
125-
is_ready(rcl_wait_set_t * wait_set) override;
125+
is_ready(const rcl_wait_set_t & wait_set) override;
126126

127127
/// Set a callback to be called when each new event instance occurs.
128128
/**
@@ -294,7 +294,7 @@ class EventHandler : public EventHandlerBase
294294

295295
/// Execute any entities of the Waitable that are ready.
296296
void
297-
execute(std::shared_ptr<void> & data) override
297+
execute(const std::shared_ptr<void> & data) override
298298
{
299299
if (!data) {
300300
throw std::runtime_error("'data' is empty");

rclcpp/include/rclcpp/executors/executor_notify_waitable.hpp

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -60,7 +60,7 @@ class ExecutorNotifyWaitable : public rclcpp::Waitable
6060
*/
6161
RCLCPP_PUBLIC
6262
void
63-
add_to_wait_set(rcl_wait_set_t * wait_set) override;
63+
add_to_wait_set(rcl_wait_set_t & wait_set) override;
6464

6565
/// Check conditions against the wait set
6666
/**
@@ -69,7 +69,7 @@ class ExecutorNotifyWaitable : public rclcpp::Waitable
6969
*/
7070
RCLCPP_PUBLIC
7171
bool
72-
is_ready(rcl_wait_set_t * wait_set) override;
72+
is_ready(const rcl_wait_set_t & wait_set) override;
7373

7474
/// Perform work associated with the waitable.
7575
/**
@@ -78,7 +78,7 @@ class ExecutorNotifyWaitable : public rclcpp::Waitable
7878
*/
7979
RCLCPP_PUBLIC
8080
void
81-
execute(std::shared_ptr<void> & data) override;
81+
execute(const std::shared_ptr<void> & data) override;
8282

8383
/// Retrieve data to be used in the next execute call.
8484
/**

rclcpp/include/rclcpp/experimental/subscription_intra_process.hpp

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -132,23 +132,22 @@ class SubscriptionIntraProcess
132132
);
133133
}
134134

135-
void execute(std::shared_ptr<void> & data) override
135+
void execute(const std::shared_ptr<void> & data) override
136136
{
137137
execute_impl<SubscribedType>(data);
138138
}
139139

140140
protected:
141141
template<typename T>
142142
typename std::enable_if<std::is_same<T, rcl_serialized_message_t>::value, void>::type
143-
execute_impl(std::shared_ptr<void> & data)
143+
execute_impl(const std::shared_ptr<void> &)
144144
{
145-
(void)data;
146145
throw std::runtime_error("Subscription intra-process can't handle serialized messages");
147146
}
148147

149148
template<class T>
150149
typename std::enable_if<!std::is_same<T, rcl_serialized_message_t>::value, void>::type
151-
execute_impl(std::shared_ptr<void> & data)
150+
execute_impl(const std::shared_ptr<void> & data)
152151
{
153152
if (!data) {
154153
return;

rclcpp/include/rclcpp/experimental/subscription_intra_process_base.hpp

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -60,7 +60,7 @@ class SubscriptionIntraProcessBase : public rclcpp::Waitable
6060

6161
RCLCPP_PUBLIC
6262
void
63-
add_to_wait_set(rcl_wait_set_t * wait_set) override;
63+
add_to_wait_set(rcl_wait_set_t & wait_set) override;
6464

6565
RCLCPP_PUBLIC
6666
virtual
@@ -72,7 +72,7 @@ class SubscriptionIntraProcessBase : public rclcpp::Waitable
7272
is_durability_transient_local() const;
7373

7474
bool
75-
is_ready(rcl_wait_set_t * wait_set) override = 0;
75+
is_ready(const rcl_wait_set_t & wait_set) override = 0;
7676

7777
std::shared_ptr<void>
7878
take_data() override = 0;
@@ -85,7 +85,7 @@ class SubscriptionIntraProcessBase : public rclcpp::Waitable
8585
}
8686

8787
void
88-
execute(std::shared_ptr<void> & data) override = 0;
88+
execute(const std::shared_ptr<void> & data) override = 0;
8989

9090
virtual
9191
bool

rclcpp/include/rclcpp/experimental/subscription_intra_process_buffer.hpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -110,7 +110,7 @@ class SubscriptionIntraProcessBuffer : public SubscriptionROSMsgIntraProcessBuff
110110
}
111111

112112
bool
113-
is_ready(rcl_wait_set_t * wait_set) override
113+
is_ready(const rcl_wait_set_t & wait_set) override
114114
{
115115
(void) wait_set;
116116
return buffer_->has_data();

rclcpp/include/rclcpp/guard_condition.hpp

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -100,7 +100,7 @@ class GuardCondition
100100
*/
101101
RCLCPP_PUBLIC
102102
void
103-
add_to_wait_set(rcl_wait_set_t * wait_set);
103+
add_to_wait_set(rcl_wait_set_t & wait_set);
104104

105105
/// Set a callback to be called whenever the guard condition is triggered.
106106
/**
@@ -128,7 +128,9 @@ class GuardCondition
128128
std::recursive_mutex reentrant_mutex_;
129129
std::function<void(size_t)> on_trigger_callback_{nullptr};
130130
size_t unread_count_{0};
131-
rcl_wait_set_t * wait_set_{nullptr};
131+
// the type of wait_set_ is actually rcl_wait_set_t *, but it's never
132+
// dereferenced, only compared to, so make it void * to avoid accidental use
133+
void * wait_set_{nullptr};
132134
};
133135

134136
} // namespace rclcpp

rclcpp/include/rclcpp/strategies/allocator_memory_strategy.hpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -121,7 +121,7 @@ class AllocatorMemoryStrategy : public memory_strategy::MemoryStrategy
121121
}
122122
}
123123
for (size_t i = 0; i < waitable_handles_.size(); ++i) {
124-
if (waitable_handles_[i]->is_ready(wait_set)) {
124+
if (waitable_handles_[i]->is_ready(*wait_set)) {
125125
waitable_triggered_handles_.emplace_back(std::move(waitable_handles_[i]));
126126
}
127127
}
@@ -235,7 +235,7 @@ class AllocatorMemoryStrategy : public memory_strategy::MemoryStrategy
235235
}
236236

237237
for (const std::shared_ptr<Waitable> & waitable : waitable_handles_) {
238-
waitable->add_to_wait_set(wait_set);
238+
waitable->add_to_wait_set(*wait_set);
239239
}
240240
return true;
241241
}

rclcpp/include/rclcpp/wait_set_policies/detail/storage_policy_common.hpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -375,7 +375,7 @@ class StoragePolicyCommon
375375
needs_pruning_ = true;
376376
continue;
377377
}
378-
waitable_entry.waitable->add_to_wait_set(&rcl_wait_set_);
378+
waitable_entry.waitable->add_to_wait_set(rcl_wait_set_);
379379
}
380380
}
381381

rclcpp/include/rclcpp/waitable.hpp

Lines changed: 27 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -101,6 +101,10 @@ class Waitable
101101
size_t
102102
get_number_of_ready_guard_conditions();
103103

104+
#ifdef __GNUC__
105+
#pragma GCC diagnostic push
106+
#pragma GCC diagnostic ignored "-Woverloaded-virtual"
107+
#endif
104108
/// Deprecated.
105109
/**
106110
* \sa add_to_wait_set(rcl_wait_set_t &)
@@ -109,7 +113,10 @@ class Waitable
109113
RCLCPP_PUBLIC
110114
virtual
111115
void
112-
add_to_wait_set(rcl_wait_set_t * wait_set) = 0;
116+
add_to_wait_set(rcl_wait_set_t * wait_set);
117+
#ifdef __GNUC__
118+
#pragma GCC diagnostic pop
119+
#endif
113120

114121
/// Add the Waitable to a wait set.
115122
/**
@@ -119,8 +126,12 @@ class Waitable
119126
RCLCPP_PUBLIC
120127
virtual
121128
void
122-
add_to_wait_set(rcl_wait_set_t & wait_set) = 0;
129+
add_to_wait_set(rcl_wait_set_t & wait_set);
123130

131+
#ifdef __GNUC__
132+
#pragma GCC diagnostic push
133+
#pragma GCC diagnostic ignored "-Woverloaded-virtual"
134+
#endif
124135
/// Deprecated.
125136
/**
126137
* \sa is_ready(const rcl_wait_set_t &)
@@ -129,7 +140,10 @@ class Waitable
129140
RCLCPP_PUBLIC
130141
virtual
131142
bool
132-
is_ready(rcl_wait_set_t * wait_set) = 0;
143+
is_ready(rcl_wait_set_t * wait_set);
144+
#ifdef __GNUC__
145+
#pragma GCC diagnostic pop
146+
#endif
133147

134148
/// Check if the Waitable is ready.
135149
/**
@@ -144,7 +158,7 @@ class Waitable
144158
RCLCPP_PUBLIC
145159
virtual
146160
bool
147-
is_ready(const rcl_wait_set_t & wait_set) = 0;
161+
is_ready(const rcl_wait_set_t & wait_set);
148162

149163
/// Take the data so that it can be consumed with `execute`.
150164
/**
@@ -198,6 +212,10 @@ class Waitable
198212
std::shared_ptr<void>
199213
take_data_by_entity_id(size_t id);
200214

215+
#ifdef __GNUC__
216+
#pragma GCC diagnostic push
217+
#pragma GCC diagnostic ignored "-Woverloaded-virtual"
218+
#endif
201219
/// Deprecated.
202220
/**
203221
* \sa execute(const std::shared_ptr<void> &)
@@ -206,7 +224,10 @@ class Waitable
206224
RCLCPP_PUBLIC
207225
virtual
208226
void
209-
execute(std::shared_ptr<void> & data) = 0;
227+
execute(std::shared_ptr<void> & data);
228+
#ifdef __GNUC__
229+
#pragma GCC diagnostic pop
230+
#endif
210231

211232
/// Execute data that is passed in.
212233
/**
@@ -233,7 +254,7 @@ class Waitable
233254
RCLCPP_PUBLIC
234255
virtual
235256
void
236-
execute(const std::shared_ptr<void> & data) = 0;
257+
execute(const std::shared_ptr<void> & data);
237258

238259
/// Exchange the "in use by wait set" state for this timer.
239260
/**

rclcpp/src/rclcpp/event_handler.cpp

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -56,19 +56,19 @@ EventHandlerBase::get_number_of_ready_events()
5656

5757
/// Add the Waitable to a wait set.
5858
void
59-
EventHandlerBase::add_to_wait_set(rcl_wait_set_t * wait_set)
59+
EventHandlerBase::add_to_wait_set(rcl_wait_set_t & wait_set)
6060
{
61-
rcl_ret_t ret = rcl_wait_set_add_event(wait_set, &event_handle_, &wait_set_event_index_);
61+
rcl_ret_t ret = rcl_wait_set_add_event(&wait_set, &event_handle_, &wait_set_event_index_);
6262
if (RCL_RET_OK != ret) {
6363
exceptions::throw_from_rcl_error(ret, "Couldn't add event to wait set");
6464
}
6565
}
6666

6767
/// Check if the Waitable is ready.
6868
bool
69-
EventHandlerBase::is_ready(rcl_wait_set_t * wait_set)
69+
EventHandlerBase::is_ready(const rcl_wait_set_t & wait_set)
7070
{
71-
return wait_set->events[wait_set_event_index_] == &event_handle_;
71+
return wait_set.events[wait_set_event_index_] == &event_handle_;
7272
}
7373

7474
void

0 commit comments

Comments
 (0)