5 #ifndef UAVCAN_TRANSPORT_DISPATCHER_HPP_INCLUDED 6 #define UAVCAN_TRANSPORT_DISPATCHER_HPP_INCLUDED 33 : dispatcher_(dispatcher)
38 void startListening();
40 bool isListening()
const;
45 virtual void handleLoopbackFrame(
const RxFrame&
frame) = 0;
129 void handleFrame(
const CanRxFrame& can_frame);
131 void handleLoopbackFrame(
const CanRxFrame& can_frame);
137 : canio_(driver, allocator, sysclock)
138 , sysclock_(sysclock)
139 , outgoing_transfer_reg_(allocator)
143 , self_node_id_(
NodeID::Broadcast)
144 , self_node_id_is_set_(false)
214 rx_listener_ = listener;
223 bool setNodeID(
NodeID nid);
242 #endif // UAVCAN_TRANSPORT_DISPATCHER_HPP_INCLUDED
LoopbackFrameListenerRegistry & getLoopbackFrameListenerRegistry()
const DataTypeDescriptor & getDataTypeDescriptor() const
bool operator()(const TransferListener *listener) const
ListenerRegistry lsrv_req_
const CanIOManager & getCanIOManager() const
IRxFrameListener * getRxFrameListener() const
ListenerRegistry lsrv_resp_
unsigned getNumServiceResponseListeners() const
TransferPerfCounter & getTransferPerfCounter()
void installRxFrameListener(IRxFrameListener *listener)
LinkedListRoot< TransferListener > list_
void removeRxFrameListener()
bool isPassiveMode() const
Dispatcher(ICanDriver &driver, IPoolAllocator &allocator, ISystemClock &sysclock)
unsigned getNumServiceRequestListeners() const
OutgoingTransferRegistry outgoing_transfer_reg_
virtual ~LoopbackFrameListenerBase()
CanIOManager & getCanIOManager()
unsigned getNumListeners() const
virtual ~IRxFrameListener()
const TransferPerfCounter & getTransferPerfCounter() const
unsigned getLength() const
unsigned getNumEntries() const
const LinkedListRoot< TransferListener > & getListOfServiceRequestListeners() const
LoopbackFrameListenerBase(Dispatcher &dispatcher)
const LinkedListRoot< TransferListener > & getListOfMessageListeners() const
bool self_node_id_is_set_
const LinkedListRoot< TransferListener > & getListOfServiceResponseListeners() const
unsigned getNumMessageListeners() const
TransferPerfCounter perf_
LoopbackFrameListenerRegistry loopback_listeners_
ROSCPP_DECL bool exists(const std::string &service_name, bool print_failure_reason)
const LinkedListRoot< TransferListener > & getList() const
LinkedListRoot< LoopbackFrameListenerBase > listeners_
ISystemClock & getSystemClock()
Dispatcher & getDispatcher()
ROSCPP_DECL void spinOnce()
const ISystemClock & getSystemClock() const
IRxFrameListener * rx_listener_
DataTypeIDInsertionComparator(DataTypeID id)
OutgoingTransferRegistry & getOutgoingTransferRegistry()