20 #ifndef DDS_ROS_BRIDGE_ROS_GUEST_SCIENCE_H_
21 #define DDS_ROS_BRIDGE_ROS_GUEST_SCIENCE_H_
27 #include "dds_ros_bridge/ros_sub_rapid_pub.h"
28 #include "dds_ros_bridge/util.h"
30 #include "ff_msgs/GuestScienceApk.h"
31 #include "ff_msgs/GuestScienceCommand.h"
32 #include "ff_msgs/GuestScienceConfig.h"
33 #include "ff_msgs/GuestScienceData.h"
34 #include "ff_msgs/GuestScienceState.h"
36 #include "knDds/DdsTypedSupplier.h"
38 #include "rapidUtil/RapidHelper.h"
40 #include "dds_msgs/AstrobeeConstants.h"
41 #include "dds_msgs/GuestScienceConfigSupport.h"
42 #include "dds_msgs/GuestScienceDataSupport.h"
43 #include "dds_msgs/GuestScienceStateSupport.h"
50 const std::string& config_subscribe_topic,
51 const std::string& data_subscribe_topic,
52 const std::string& pub_topic,
53 const ros::NodeHandle &nh,
54 const unsigned int queue_size = 10);
56 void DataCallback(ff_msgs::GuestScienceDataConstPtr
const& data);
57 void ConfigCallback(ff_msgs::GuestScienceConfigConstPtr
const& config);
62 kn::DdsTypedSupplier<rapid::ext::astrobee::GuestScienceState>;
63 using StateSupplierPtr = std::unique_ptr<StateSupplier>;
65 StateSupplierPtr state_supplier_;
67 using ConfigSupplier =
68 kn::DdsTypedSupplier<rapid::ext::astrobee::GuestScienceConfig>;
69 using ConfigSupplierPtr = std::unique_ptr<ConfigSupplier>;
71 ConfigSupplierPtr config_supplier_;
74 kn::DdsTypedSupplier<rapid::ext::astrobee::GuestScienceData>;
75 using DataSupplierPtr = std::unique_ptr<DataSupplier>;
77 DataSupplierPtr data_supplier_;
79 ros::Subscriber config_sub_, data_sub_;
81 std::string config_subscribe_topic_, data_subscribe_topic_;
86 #endif // DDS_ROS_BRIDGE_ROS_GUEST_SCIENCE_H_