Skip to content

Commit e2752fb

Browse files
committed
Pass reference to get_available_topics
1 parent 54bbd89 commit e2752fb

7 files changed

Lines changed: 16 additions & 16 deletions

File tree

include/web_video_server/streamer.hpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -129,7 +129,7 @@ class StreamerFactoryInterface
129129
* @param node The ROS2 node to use for discovering topics.
130130
* @return A vector of topic names.
131131
*/
132-
virtual std::vector<std::string> get_available_topics(rclcpp::Node::SharedPtr node);
132+
virtual std::vector<std::string> get_available_topics(rclcpp::Node & node);
133133
};
134134

135135
/**

include/web_video_server/streamers/image_transport_streamer.hpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -93,13 +93,13 @@ class ImageTransportStreamerBase : public StreamerInterface
9393
class ImageTransportStreamerFactoryBase : public StreamerFactoryInterface
9494
{
9595
public:
96-
virtual std::vector<std::string> get_available_topics(rclcpp::Node::SharedPtr node);
96+
virtual std::vector<std::string> get_available_topics(rclcpp::Node & node);
9797
};
9898

9999
class ImageTransportSnapshotStreamerFactoryBase : public SnapshotStreamerFactoryInterface
100100
{
101101
public:
102-
virtual std::vector<std::string> get_available_topics(rclcpp::Node::SharedPtr node);
102+
virtual std::vector<std::string> get_available_topics(rclcpp::Node & node);
103103
};
104104

105105
} // namespace streamers

include/web_video_server/streamers/ros_compressed_streamer.hpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -84,7 +84,7 @@ class RosCompressedStreamerFactory : public StreamerFactoryInterface
8484
const async_web_server_cpp::HttpRequest & request,
8585
async_web_server_cpp::HttpConnectionPtr connection,
8686
rclcpp::Node::SharedPtr node);
87-
std::vector<std::string> get_available_topics(rclcpp::Node::SharedPtr node);
87+
std::vector<std::string> get_available_topics(rclcpp::Node & node);
8888
};
8989

9090
class RosCompressedSnapshotStreamer : public StreamerInterface
@@ -118,7 +118,7 @@ class RosCompressedSnapshotStreamerFactory : public SnapshotStreamerFactoryInter
118118
const async_web_server_cpp::HttpRequest & request,
119119
async_web_server_cpp::HttpConnectionPtr connection,
120120
rclcpp::Node::SharedPtr node);
121-
std::vector<std::string> get_available_topics(rclcpp::Node::SharedPtr node);
121+
std::vector<std::string> get_available_topics(rclcpp::Node & node);
122122
};
123123

124124
} // namespace streamers

src/streamer.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -64,7 +64,7 @@ std::string StreamerFactoryInterface::create_viewer(
6464
}
6565

6666
std::vector<std::string> StreamerFactoryInterface::get_available_topics(
67-
rclcpp::Node::SharedPtr /* node */)
67+
rclcpp::Node & /* node */)
6868
{
6969
return {};
7070
}

src/streamers/image_transport_streamer.cpp

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -69,10 +69,10 @@ namespace streamers
6969
namespace
7070
{
7171

72-
std::vector<std::string> get_image_topics(const rclcpp::Node::SharedPtr & node)
72+
std::vector<std::string> get_image_topics(rclcpp::Node & node)
7373
{
7474
std::vector<std::string> result;
75-
auto topic_names_and_types = node->get_topic_names_and_types();
75+
auto topic_names_and_types = node.get_topic_names_and_types();
7676
for (const auto & topic_and_types : topic_names_and_types) {
7777
for (const auto & type : topic_and_types.second) {
7878
if (type == "sensor_msgs/msg/Image") {
@@ -254,13 +254,13 @@ cv::Mat ImageTransportStreamerBase::decode_image(
254254
}
255255

256256
std::vector<std::string> ImageTransportStreamerFactoryBase::get_available_topics(
257-
rclcpp::Node::SharedPtr node)
257+
rclcpp::Node & node)
258258
{
259259
return get_image_topics(node);
260260
}
261261

262262
std::vector<std::string> ImageTransportSnapshotStreamerFactoryBase::get_available_topics(
263-
rclcpp::Node::SharedPtr node)
263+
rclcpp::Node & node)
264264
{
265265
return get_image_topics(node);
266266
}

src/streamers/ros_compressed_streamer.cpp

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -252,9 +252,9 @@ std::shared_ptr<StreamerInterface> RosCompressedStreamerFactory::create_streamer
252252
}
253253

254254
std::vector<std::string> RosCompressedStreamerFactory::get_available_topics(
255-
rclcpp::Node::SharedPtr node)
255+
rclcpp::Node & node)
256256
{
257-
return collect_compressed_topics(*node);
257+
return collect_compressed_topics(node);
258258
}
259259

260260
RosCompressedSnapshotStreamer::RosCompressedSnapshotStreamer(
@@ -355,9 +355,9 @@ RosCompressedSnapshotStreamerFactory::create_streamer(
355355
}
356356

357357
std::vector<std::string> RosCompressedSnapshotStreamerFactory::get_available_topics(
358-
rclcpp::Node::SharedPtr node)
358+
rclcpp::Node & node)
359359
{
360-
return collect_compressed_topics(*node);
360+
return collect_compressed_topics(node);
361361
}
362362

363363
} // namespace streamers

src/web_video_server.cpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -273,7 +273,7 @@ bool WebVideoServer::handle_list_streams(
273273
for (const auto & factory_pair : streamer_factories_) {
274274
RCLCPP_DEBUG(get_logger(), "Getting topics from factory: %s", factory_pair.first.c_str());
275275
std::vector<std::string> factory_topics =
276-
factory_pair.second->get_available_topics(shared_from_this());
276+
factory_pair.second->get_available_topics(*this);
277277
RCLCPP_DEBUG(
278278
get_logger(), "Factory %s returned %zu topics",
279279
factory_pair.first.c_str(), factory_topics.size());
@@ -287,7 +287,7 @@ bool WebVideoServer::handle_list_streams(
287287
for (const auto & factory_pair : snapshot_streamer_factories_) {
288288
RCLCPP_DEBUG(get_logger(), "Getting topics from factory: %s", factory_pair.first.c_str());
289289
std::vector<std::string> factory_topics =
290-
factory_pair.second->get_available_topics(shared_from_this());
290+
factory_pair.second->get_available_topics(*this);
291291
RCLCPP_DEBUG(
292292
get_logger(), "Factory %s returned %zu topics",
293293
factory_pair.first.c_str(), factory_topics.size());

0 commit comments

Comments
 (0)