24 #include <blackboard/net/interface_listener.h>
25 #include <blackboard/net/messages.h>
27 #include <blackboard/blackboard.h>
28 #include <interface/interface.h>
30 #include <netcomm/fawkes/hub.h>
31 #include <netcomm/fawkes/message.h>
32 #include <netcomm/fawkes/component_ids.h>
33 #include <logging/liblogger.h>
38 #include <arpa/inet.h>
68 __blackboard = blackboard;
69 __interface = interface;
90 size_t payload_size =
sizeof(
bb_idata_msg_t) + interface->datasize();
91 void *payload = malloc(payload_size);
93 dm->
serial = htonl(interface->serial());
94 dm->
data_size = htonl(interface->datasize());
95 memcpy((
char *)payload +
sizeof(
bb_idata_msg_t), interface->datachunk(),
96 interface->datasize());
99 __fnh->send(__clid, FAWKES_CID_BLACKBOARD, MSG_BB_DATA_CHANGED, payload, payload_size);
113 void *payload = calloc(1, payload_size);
115 dm->
serial = htonl(interface->serial());
116 strncpy(dm->
msg_type, message->type(), __INTERFACE_MESSAGE_TYPE_SIZE);
117 dm->
data_size = htonl(message->datasize());
118 dm->
msgid = htonl(message->id());
119 dm->
hops = htonl(message->hops());
121 message->datasize());
124 __fnh->send(__clid, FAWKES_CID_BLACKBOARD, MSG_BB_INTERFACE_MESSAGE, payload, payload_size);
136 BlackBoardNetHandlerInterfaceListener::send_event_serial(
Interface *interface,
138 unsigned int event_serial)
146 }
catch (Exception &e) {
155 unsigned int instance_serial)
throw()
157 send_event_serial(interface, MSG_BB_WRITER_ADDED, instance_serial);
163 unsigned int instance_serial)
throw()
165 send_event_serial(interface, MSG_BB_WRITER_REMOVED, instance_serial);
171 unsigned int instance_serial)
throw()
173 send_event_serial(interface, MSG_BB_READER_ADDED, instance_serial);
179 unsigned int instance_serial)
throw()
181 send_event_serial(interface, MSG_BB_READER_REMOVED, instance_serial);