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

This handler handles VerifyNodeId messages (both addressed and global) on the interface level. More...

#include <IfImpl.hxx>

Inheritance diagram for openlcb::VerifyNodeIdHandler:
openlcb::IncomingMessageStateFlow StateFlow< Buffer< GenMessage >, QList< 4 > > TypedStateFlow< MessageType, Base > FlowInterface< MessageType >

Public Member Functions

 VerifyNodeIdHandler (If *service)
 
Action entry () override
 Handler callback for incoming messages.
 
Action send_response ()
 
- Public Member Functions inherited from openlcb::IncomingMessageStateFlow
 IncomingMessageStateFlow (If *iface)
 
Ififace ()
 
GenMessagenmsg ()
 Returns the NMRAnet message we received.
 
- Public Member Functions inherited from StateFlow< Buffer< GenMessage >, QList< 4 > >
 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 Attributes

NodesrcNode_
 
If::VNodeMap::Iterator it_
 

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

This handler handles VerifyNodeId messages (both addressed and global) on the interface level.

Each interface implementation will want to create one of these.

Definition at line 139 of file IfImpl.hxx.

Constructor & Destructor Documentation

◆ VerifyNodeIdHandler()

openlcb::VerifyNodeIdHandler::VerifyNodeIdHandler ( If service)
inline

Definition at line 142 of file IfImpl.hxx.

◆ ~VerifyNodeIdHandler()

openlcb::VerifyNodeIdHandler::~VerifyNodeIdHandler ( )
inline

Definition at line 151 of file IfImpl.hxx.

Member Function Documentation

◆ entry()

Action openlcb::VerifyNodeIdHandler::entry ( )
inlineoverridevirtual

Handler callback for incoming messages.

Implements TypedStateFlow< MessageType, Base >.

Definition at line 161 of file IfImpl.hxx.

◆ send_response()

Action openlcb::VerifyNodeIdHandler::send_response ( )
inline

Continues the iteration over the nodes.

@TODO(balazs.racz): we should probably wait for the outgoing message to be sent.

Definition at line 232 of file IfImpl.hxx.

Member Data Documentation

◆ it_

If::VNodeMap::Iterator openlcb::VerifyNodeIdHandler::it_
private

Definition at line 266 of file IfImpl.hxx.

◆ srcNode_

Node* openlcb::VerifyNodeIdHandler::srcNode_
private

Definition at line 263 of file IfImpl.hxx.


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