Classes | Protected Member Functions | Private Types | Private Member Functions | Private Attributes | List of all members
uavcan::GenericSubscriber< DataSpec, DataStruct, TransferListenerType > Class Template Referenceabstract

#include <generic_subscriber.hpp>

Inheritance diagram for uavcan::GenericSubscriber< DataSpec, DataStruct, TransferListenerType >:
Inheritance graph
[legend]

Classes

struct  ReceivedDataStructureSpec
 
class  TransferForwarder
 

Protected Member Functions

void allowAnonymousTransfers ()
 
 GenericSubscriber (INode &node)
 
TransferListenerType * getTransferListener ()
 
virtual void handleReceivedDataStruct (ReceivedDataStructure< DataStruct > &)=0
 
int startAsMessageListener ()
 
int startAsServiceRequestListener ()
 
int startAsServiceResponseListener ()
 
void stop ()
 
virtual ~GenericSubscriber ()
 
- Protected Member Functions inherited from uavcan::GenericSubscriberBase
int genericStart (TransferListener *listener, bool(Dispatcher::*registration_method)(TransferListener *))
 
 GenericSubscriberBase (INode &node)
 
void stop (TransferListener *listener)
 
 ~GenericSubscriberBase ()
 

Private Types

typedef GenericSubscriber< DataSpec, DataStruct, TransferListenerType > SelfType
 

Private Member Functions

int checkInit ()
 
int genericStart (bool(Dispatcher::*registration_method)(TransferListener *))
 
void handleIncomingTransfer (IncomingTransfer &transfer)
 

Private Attributes

LazyConstructor< TransferForwarderforwarder_
 

Additional Inherited Members

- Public Member Functions inherited from uavcan::GenericSubscriberBase
uint32_t getFailureCount () const
 
INodegetNode () const
 
- Protected Attributes inherited from uavcan::GenericSubscriberBase
uint32_t failure_count_
 
INodenode_
 

Detailed Description

template<typename DataSpec, typename DataStruct, typename TransferListenerType>
class uavcan::GenericSubscriber< DataSpec, DataStruct, TransferListenerType >

Please note that the reference passed to the RX callback points to a stack-allocated object, which means that it gets invalidated shortly after the callback returns.

Definition at line 128 of file generic_subscriber.hpp.

Member Typedef Documentation

◆ SelfType

template<typename DataSpec , typename DataStruct , typename TransferListenerType >
typedef GenericSubscriber<DataSpec, DataStruct, TransferListenerType> uavcan::GenericSubscriber< DataSpec, DataStruct, TransferListenerType >::SelfType
private

Definition at line 130 of file generic_subscriber.hpp.

Constructor & Destructor Documentation

◆ GenericSubscriber()

template<typename DataSpec , typename DataStruct , typename TransferListenerType >
uavcan::GenericSubscriber< DataSpec, DataStruct, TransferListenerType >::GenericSubscriber ( INode node)
inlineexplicitprotected

Definition at line 173 of file generic_subscriber.hpp.

◆ ~GenericSubscriber()

template<typename DataSpec , typename DataStruct , typename TransferListenerType >
virtual uavcan::GenericSubscriber< DataSpec, DataStruct, TransferListenerType >::~GenericSubscriber ( )
inlineprotectedvirtual

Definition at line 176 of file generic_subscriber.hpp.

Member Function Documentation

◆ allowAnonymousTransfers()

template<typename DataSpec , typename DataStruct , typename TransferListenerType >
void uavcan::GenericSubscriber< DataSpec, DataStruct, TransferListenerType >::allowAnonymousTransfers ( )
inlineprotected

By default, anonymous transfers will be ignored. This option allows to enable reception of anonymous transfers.

Definition at line 204 of file generic_subscriber.hpp.

◆ checkInit()

template<typename DataSpec , typename DataStruct , typename TransferListenerType >
int uavcan::GenericSubscriber< DataSpec, DataStruct, TransferListenerType >::checkInit
private

Definition at line 228 of file generic_subscriber.hpp.

◆ genericStart()

template<typename DataSpec , typename DataStruct , typename TransferListenerType >
int uavcan::GenericSubscriber< DataSpec, DataStruct, TransferListenerType >::genericStart ( bool(Dispatcher::*)(TransferListener *)  registration_method)
private

Definition at line 285 of file generic_subscriber.hpp.

◆ getTransferListener()

template<typename DataSpec , typename DataStruct , typename TransferListenerType >
TransferListenerType* uavcan::GenericSubscriber< DataSpec, DataStruct, TransferListenerType >::getTransferListener ( )
inlineprotected

Definition at line 219 of file generic_subscriber.hpp.

◆ handleIncomingTransfer()

template<typename DataSpec , typename DataStruct , typename TransferListenerType >
void uavcan::GenericSubscriber< DataSpec, DataStruct, TransferListenerType >::handleIncomingTransfer ( IncomingTransfer transfer)
private

Definition at line 253 of file generic_subscriber.hpp.

◆ handleReceivedDataStruct()

template<typename DataSpec , typename DataStruct , typename TransferListenerType >
virtual void uavcan::GenericSubscriber< DataSpec, DataStruct, TransferListenerType >::handleReceivedDataStruct ( ReceivedDataStructure< DataStruct > &  )
protectedpure virtual

◆ startAsMessageListener()

template<typename DataSpec , typename DataStruct , typename TransferListenerType >
int uavcan::GenericSubscriber< DataSpec, DataStruct, TransferListenerType >::startAsMessageListener ( )
inlineprotected

Definition at line 180 of file generic_subscriber.hpp.

◆ startAsServiceRequestListener()

template<typename DataSpec , typename DataStruct , typename TransferListenerType >
int uavcan::GenericSubscriber< DataSpec, DataStruct, TransferListenerType >::startAsServiceRequestListener ( )
inlineprotected

Definition at line 186 of file generic_subscriber.hpp.

◆ startAsServiceResponseListener()

template<typename DataSpec , typename DataStruct , typename TransferListenerType >
int uavcan::GenericSubscriber< DataSpec, DataStruct, TransferListenerType >::startAsServiceResponseListener ( )
inlineprotected

Definition at line 193 of file generic_subscriber.hpp.

◆ stop()

template<typename DataSpec , typename DataStruct , typename TransferListenerType >
void uavcan::GenericSubscriber< DataSpec, DataStruct, TransferListenerType >::stop ( )
inlineprotected

Terminate the subscription. Dispatcher core will remove this instance from the subscribers list.

Definition at line 213 of file generic_subscriber.hpp.

Member Data Documentation

◆ forwarder_

template<typename DataSpec , typename DataStruct , typename TransferListenerType >
LazyConstructor<TransferForwarder> uavcan::GenericSubscriber< DataSpec, DataStruct, TransferListenerType >::forwarder_
private

Definition at line 155 of file generic_subscriber.hpp.


The documentation for this class was generated from the following file:


uavcan_communicator
Author(s):
autogenerated on Fri Dec 13 2024 03:10:04