19 #ifndef DDS_ROS_BRIDGE_ROS_ZONES_RAPID_COMPRESSED_FILE_H_
20 #define DDS_ROS_BRIDGE_ROS_ZONES_RAPID_COMPRESSED_FILE_H_
29 #include "boost/iostreams/copy.hpp"
30 #include "boost/iostreams/device/back_inserter.hpp"
31 #include "boost/iostreams/device/array.hpp"
32 #include "boost/iostreams/filter/zlib.hpp"
33 #include "boost/iostreams/filtering_stream.hpp"
35 #include "dds_ros_bridge/ros_sub_rapid_pub.h"
36 #include "dds_ros_bridge/util.h"
38 #include "ff_msgs/GetZones.h"
39 #include "ff_msgs/Zone.h"
41 #include "visualization_msgs/MarkerArray.h"
43 #include "knDds/DdsTypedSupplier.h"
45 #include "rapidUtil/RapidHelper.h"
47 #include "dds_msgs/AstrobeeConstants.h"
48 #include "dds_msgs/CompressedFileSupport.h"
55 const std::string& get_zones_srv,
56 const std::string& pub_topic,
57 const ros::NodeHandle &nh,
58 const unsigned int queue_size = 10);
60 void Callback(visualization_msgs::MarkerArray::ConstPtr
const& zones);
63 using Supplier = kn::DdsTypedSupplier<rapid::ext::astrobee::CompressedFile>;
64 using SupplierPtr = std::unique_ptr<Supplier>;
66 SupplierPtr file_supplier_;
68 ros::ServiceClient get_zones_client_;
73 #endif // DDS_ROS_BRIDGE_ROS_ZONES_RAPID_COMPRESSED_FILE_H_