Feat/Add LifecycleNode Support#109
Conversation
16c8087 to
7cbb9d3
Compare
ahcorde
left a comment
There was a problem hiding this comment.
Two main ideas:
- Don't apply style modifications because linter will complain
- Keep old methods and deprecated them
point_cloud_transport/include/point_cloud_transport/node_interfaces.hpp
Outdated
Show resolved
Hide resolved
point_cloud_transport/include/point_cloud_transport/publisher_plugin.hpp
Outdated
Show resolved
Hide resolved
point_cloud_transport/include/point_cloud_transport/simple_publisher_plugin.hpp
Outdated
Show resolved
Hide resolved
|
@DasariChaitanya Could you review the latest changes, along with the overall architecture? Additionally, please check which methods should be marked with the Edit: |
|
Should we deprecate the old methods and enforce using Option 1: Direct pct = std::make_shared<point_cloud_transport::PointCloudTransport>(
point_cloud_transport::create_node_interfaces(this)
);
std::shared_ptr<point_cloud_transport::PublisherPlugin> pub;
pub->advertise(
point_cloud_transport::create_node_interfaces(this),
out_topic, rmw_qos_profile_default, pub_options);
Option 2: Templates pct = std::make_shared<point_cloud_transport::PointCloudTransport>(this->shared_from_this());
std::shared_ptr<point_cloud_transport::PublisherPlugin> pub;
pub->advertise(
this->shared_from_this(),
out_topic, rmw_qos_profile_default, pub_options);
CC @ahcorde |
f16e978 to
fd96167
Compare
|
@ahcorde |
ahcorde
left a comment
There was a problem hiding this comment.
sorry the late response, I was taking a look to this suggestion made by @methylDragon in geometry2 ros2/geometry2#698
and I think we should use rclcpp::node_interfaces::NodeInterfaces instead of point_cloud_transport::NodeInterfaces
fd96167 to
41c844d
Compare
c56131b to
9fc9b07
Compare
9fc9b07 to
629381d
Compare
|
@ahcorde |
ahcorde
left a comment
There was a problem hiding this comment.
@DasariChaitanya point_cloud_transport_plugins are not compiling
point_cloud_transport/simple_publisher_plugin.hpp:152:23: error: ‘struct point_cloud_transport::SimplePublisherPlugin<point_cloud_interfaces::msg::CompressedPointCloud2_<std::allocator<void> > >::SimplePublisherPluginImpl’ has no member named ‘node_interface_’; did you mean ‘node_interfaces_’?
152 | simple_impl_->node_interface_->get_node_parameters_interface()
| ~~~~~~~~~~~~~~^~~~~~~~~~~~~~~
| node_interfaces_
|
Sorry for late response
Fixed the variable name and tested the plugins, everything is working 👍 |
10549ac to
a326255
Compare
|
@ahcorde |
ahcorde
left a comment
There was a problem hiding this comment.
This comment is still open
- Keep old methods and deprecated them
Still need to deprecate the rclcpp::Node methods
a326255 to
63723b1
Compare
|
@ahcorde |
|
@DasariChaitanya
I'll start working on it removing templates and deprecating |
f675e12 to
608840f
Compare
We can close this comment now :) |
ahcorde
left a comment
There was a problem hiding this comment.
there are many warning that I can see in the tests. Do you mind to create:
- Add new test for the new APIs
- silent current warnings which will be removed in the next release
|
you can use #ifdef _MSC_VER
#pragma warning(push)
#pragma warning(disable : 4996)
#else
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wdeprecated-declarations"
#endif
// deprecated code
#ifdef _MSC_VER
#pragma warning(pop)
#else
#pragma GCC diagnostic pop
#endif |
Perfect! 💯 |
|
Pulls: #109 |
ahcorde
left a comment
There was a problem hiding this comment.
republish.obj : error LNK2019: unresolved external symbol "const point_cloud_transport::PointCloudTransport::`vftable'" (??_7PointCloudTransport@point_cloud_transport@@6B@) referenced in function "public: __cdecl point_cloud_transport::PointCloudTransport::PointCloudTransport(class std::shared_ptr<class rclcpp::Node>)" (??0PointCloudTransport@point_cloud_transport@@QEAA@V?$shared_ptr@VNode@rclcpp@@@std@@@Z) [C:\ci\ws\build\point_cloud_transport\pc_republish_node.vcxproj]
Is there any GitHub workflow that runs on Windows to test before pushing to the PR? |
ahcorde
left a comment
There was a problem hiding this comment.
These two changes should fix the issue
point_cloud_transport/include/point_cloud_transport/point_cloud_transport.hpp
Outdated
Show resolved
Hide resolved
Co-authored-by: elsayed <elsayed.elsheikh97@gmail.com> Signed-off-by: DasariChaitanya <chaitanyasai30@gmail.com>
Co-authored-by: elsayed <elsayed.elsheikh97@gmail.com> Signed-off-by: DasariChaitanya <chaitanyasai30@gmail.com>
Co-authored-by: elsayed <elsayed.elsheikh97@gmail.com> Signed-off-by: DasariChaitanya <chaitanyasai30@gmail.com>
Co-authored-by: elsayed <elsayed.elsheikh97@gmail.com> Signed-off-by: DasariChaitanya <chaitanyasai30@gmail.com>
Signed-off-by: elsayed <elsayed.elsheikh97@gmail.com>
Signed-off-by: elsayed <elsayed.elsheikh97@gmail.com>
Co-authored-by: DasariChaitanya <chaitanyasai30@gmail.com> Signed-off-by: elsayedelsheikh <elsayed.elsheikh97@gmail.com>
Co-authored-by: DasariChaitanya <chaitanyasai30@gmail.com> Signed-off-by: elsayed <elsayed.elsheikh97@gmail.com>
Co-authored-by: DasariChaitanya <chaitanyasai30@gmail.com> Signed-off-by: elsayed <elsayed.elsheikh97@gmail.com>
Signed-off-by: elsayed <elsayed.elsheikh97@gmail.com>
Signed-off-by: elsayed <elsayed.elsheikh97@gmail.com>
Signed-off-by: elsayed <elsayed.elsheikh97@gmail.com>
Signed-off-by: elsayed <elsayed.elsheikh97@gmail.com>
Signed-off-by: elsayed <elsayed.elsheikh97@gmail.com>
Signed-off-by: elsayed <elsayed.elsheikh97@gmail.com>
Signed-off-by: elsayed <elsayed.elsheikh97@gmail.com>
5a90938 to
3280e49
Compare
|
@ahcorde |
ahcorde
left a comment
There was a problem hiding this comment.
Awesome! Thank you for iterating!
Closes (#107)
In progress ...