Open Model Railroad Network (OpenMRN)
Loading...
Searching...
No Matches
openlcb::DccPacketDebugFlow Class Reference

Sends every incoming DCC packet as a custom OpenLCB message to the OpenLCB bus. More...

#include <DccDebugFlow.hxx>

Inheritance diagram for openlcb::DccPacketDebugFlow:
StateFlow< Buffer< dcc::Packet >, QList< 1 > > TypedStateFlow< MessageType, Base > FlowInterface< MessageType >

Public Member Functions

 DccPacketDebugFlow (openlcb::Node *node)
 
- Public Member Functions inherited from StateFlow< Buffer< dcc::Packet >, QList< 1 > >
 StateFlow (Service *service)
 Constructor.
 
- Public Member Functions inherited from TypedStateFlow< MessageType, Base >
 TypedStateFlow (Service *service)
 Constructor.
 
virtual ~TypedStateFlow ()
 Destructor.
 
void send (MessageType *msg, unsigned priority=UINT_MAX) OVERRIDE
 Sends a message to the state flow for processing.
 
- Public Member Functions inherited from FlowInterface< MessageType >
virtual Poolpool ()
 
virtual MessageType * type_helper ()
 This function is never user in the code, but GDB can use it to infer the correct message types.
 
MessageType * alloc ()
 Synchronously allocates a message buffer from the pool of this flow.
 
void alloc_async (Executable *target)
 Asynchronously allocates a message buffer from the pool of this flow.
 

Private Member Functions

Action entry () override
 Entry into the StateFlow activity.
 
Action msg_allocated ()
 

Private Attributes

openlcb::Nodenode_
 

Additional Inherited Members

- Public Types inherited from TypedStateFlow< MessageType, Base >
typedef Base::Action Action
 Allows using Action without having StateFlowBase:: prefix in front of it.
 
- Public Types inherited from FlowInterface< MessageType >
typedef MessageType message_type
 Stores the message template type for external reference.
 
- Static Public Member Functions inherited from FlowInterface< MessageType >
static MessageType * cast_alloc (QMember *entry)
 Down casts and initializes an asynchronous allocation result to the appropriate flow's buffer type.
 
- Protected Member Functions inherited from TypedStateFlow< MessageType, Base >
void release () OVERRIDE
 Unrefs the current buffer.
 
void return_buffer ()
 For state flows that are operated using invoke_subflow_and_wait this is a way to hand back the buffer to the caller.
 
MessageType * message ()
 
MessageType * transfer_message ()
 Releases ownership of the current message.
 

Detailed Description

Sends every incoming DCC packet as a custom OpenLCB message to the OpenLCB bus.

Useful only for debugging, as it generates a lot of noise on the bus. Also the packets used are totally non-standard.

Definition at line 43 of file DccDebugFlow.hxx.

Constructor & Destructor Documentation

◆ DccPacketDebugFlow()

openlcb::DccPacketDebugFlow::DccPacketDebugFlow ( openlcb::Node node)
inline

Definition at line 45 of file DccDebugFlow.hxx.

Member Function Documentation

◆ entry()

Action openlcb::DccPacketDebugFlow::entry ( )
inlineoverrideprivatevirtual

Entry into the StateFlow activity.

Pure virtual which must be defined by derived class.

Returns
function pointer to next state

Implements TypedStateFlow< MessageType, Base >.

Definition at line 51 of file DccDebugFlow.hxx.

◆ msg_allocated()

Action openlcb::DccPacketDebugFlow::msg_allocated ( )
inlineprivate

Definition at line 57 of file DccDebugFlow.hxx.

Member Data Documentation

◆ node_

openlcb::Node* openlcb::DccPacketDebugFlow::node_
private

Definition at line 69 of file DccDebugFlow.hxx.


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