opensplice_dds_comm.cpp
Go to the documentation of this file.
1 
23 #include <iostream>
24 
26 
28 
29 namespace opensplice_dds_comm{
30 
31  OpenSpliceDDSComm::OpenSpliceDDSComm()
32  {
33  packet_publisher_.reset(new opensplice_dds_comm::Publisher("micros_swarm_framework_topic"));
34  packet_subscriber_.reset(new opensplice_dds_comm::Subscriber("micros_swarm_framework_topic"));
35  }
36 
37  void OpenSpliceDDSComm::init(std::string name, const micros_swarm::PacketParser& parser)
38  {
39  name_=name;
40  parser_=parser;
41  }
42 
43  void OpenSpliceDDSComm::broadcast(const micros_swarm::CommPacket& packet)
44  {
46  dds_msg.packet_source=packet.packet_source;
47  dds_msg.packet_version=packet.packet_version;
48  dds_msg.packet_type=packet.packet_type;
49  dds_msg.packet_data=packet.packet_data.data();
50  dds_msg.package_check_sum=packet.package_check_sum;
51 
52  packet_publisher_->publish(dds_msg);
53  }
54 
55  void OpenSpliceDDSComm::callback(const opensplice_dds_comm::GSDFPacket& dds_msg)
56  {
58  packet.packet_source=dds_msg.packet_source;
59  packet.packet_version=dds_msg.packet_version;
60  packet.packet_type=dds_msg.packet_type;
61  packet.packet_data=dds_msg.packet_data;
62  packet.package_check_sum=dds_msg.package_check_sum;
63 
64  parser_.parse(packet);
65  }
66 
67  void OpenSpliceDDSComm::receive()
68  {
69  boost::function<void(const opensplice_dds_comm::GSDFPacket&)> func=boost::bind(&OpenSpliceDDSComm::callback,this,_1);
70  packet_subscriber_->subscribe(func);
71  }
72 };
#define PLUGINLIB_EXPORT_CLASS(class_type, base_class_type)


opensplice_dds_comm
Author(s):
autogenerated on Thu Jun 1 2017 02:43:49