From d185eccf1858a9f8c08db040cf9c812c315ab88c Mon Sep 17 00:00:00 2001 From: Pavel Kirienko Date: Tue, 9 Jun 2015 18:35:49 +0300 Subject: [PATCH] Exposed RX listener API via INode interface --- libuavcan/include/uavcan/node/abstract_node.hpp | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/libuavcan/include/uavcan/node/abstract_node.hpp b/libuavcan/include/uavcan/node/abstract_node.hpp index 1dc458cbb4..8414d2cec1 100644 --- a/libuavcan/include/uavcan/node/abstract_node.hpp +++ b/libuavcan/include/uavcan/node/abstract_node.hpp @@ -114,6 +114,13 @@ public: { return getDispatcher().getCanIOManager().send(frame, tx_deadline, MonotonicTime(), iface_mask, qos, flags); } + + /** + * The @ref IRxFrameListener interface allows one to monitor all incoming CAN frames. + * This feature can be used to implement multithreaded nodes, or to add secondary protocol support. + */ + void removeRxFrameListener() { getDispatcher().removeRxFrameListener(); } + void installRxFrameListener(IRxFrameListener* lst) { getDispatcher().installRxFrameListener(lst); } }; }