10 #include <boost/python.hpp>
17 PublisherBool(std::string name =
"",
bool arg =
false,
int buffer_num = 3)
18 : Publisher<bool>(name, buffer_num)
22 void _publish(
bool data)
31 PublisherInt(std::string name =
"",
int arg = 0,
int buffer_num = 3)
32 : Publisher<int>(name, buffer_num)
36 void _publish(
int data)
45 PublisherFloat(std::string name =
"",
float arg = 0.0f,
int buffer_num = 3)
46 : Publisher<float>(name, buffer_num)
50 void _publish(
float data)
60 : Subscriber<bool>(name)
63 boost::python::tuple _subscribe()
67 return boost::python::make_tuple(result, is_success);
75 : Subscriber<int>(name)
78 boost::python::tuple _subscribe()
82 return boost::python::make_tuple(result, is_success);
90 : Subscriber<float>(name)
93 boost::python::tuple _subscribe()
97 return boost::python::make_tuple(result, is_success);
101 BOOST_PYTHON_MODULE(shm_pub_sub) {
102 boost::python::class_<PublisherBool>(
"Publisher")
103 .def(boost::python::init<std::string, bool, int>())
104 .def(
"publish", &PublisherInt::_publish)
106 boost::python::class_<PublisherInt>(
"Publisher")
107 .def(boost::python::init<std::string, int, int>())
108 .def(
"publish", &PublisherInt::_publish)
110 boost::python::class_<PublisherFloat>(
"Publisher")
111 .def(boost::python::init<std::string, float, int>())
112 .def(
"publish", &PublisherFloat::_publish)
115 boost::python::class_<SubscriberBool>(
"Subscriber")
116 .def(boost::python::init<std::string, bool>())
117 .def(
"subscribe", &SubscriberBool::_subscribe)
119 boost::python::class_<SubscriberInt>(
"Subscriber")
120 .def(boost::python::init<std::string, int>())
121 .def(
"subscribe", &SubscriberInt::_subscribe)
123 boost::python::class_<SubscriberFloat>(
"Subscriber")
124 .def(boost::python::init<std::string, float>())
125 .def(
"subscribe", &SubscriberFloat::_subscribe)