Diag-Client-Lib
Public Types | Public Member Functions | Protected Attributes | List of all members
uds_transport::UdsTransportProtocolHandler Class Referenceabstract

#include <protocol_handler.h>

Inheritance diagram for uds_transport::UdsTransportProtocolHandler:
Inheritance graph
[legend]

Public Types

enum class  InitializationResult : std::uint8_t { kInitializeOk = 0 , kInitializeFailed = 1 }
 Definitions of different initialization result. More...
 
using UdsTransportProtocolHandlerId = std::uint8_t
 Type alias for handler id. More...
 

Public Member Functions

 UdsTransportProtocolHandler (UdsTransportProtocolHandlerId const handler_id, UdsTransportProtocolMgr const &)
 Constructs an instance of UdsTransportProtocolHandler. More...
 
virtual ~UdsTransportProtocolHandler ()=default
 Destruct an instance of UdsTransportProtocolHandler. More...
 
virtual UdsTransportProtocolHandlerId GetHandlerID () const
 Function to get the handler id. More...
 
virtual InitializationResult Initialize ()=0
 Function to initialize the handler. More...
 
virtual void Start ()=0
 Function to start the handler. More...
 
virtual void Stop ()=0
 Function to stop the handler. More...
 
virtual std::unique_ptr< ConnectionCreateTcpConnection (ConversionHandler &conversion_handler, std::string_view tcpIpaddress, uint16_t portNum)=0
 Function to create a new Tcp connection. More...
 
virtual std::unique_ptr< ConnectionCreateUdpConnection (ConversionHandler &conversion_handler, std::string_view udpIpaddress, uint16_t portNum)=0
 Function to create a new Udp connection. More...
 

Protected Attributes

UdsTransportProtocolHandlerId handler_id_
 Store the handler id. More...
 

Detailed Description

Definition at line 22 of file protocol_handler.h.

Member Typedef Documentation

◆ UdsTransportProtocolHandlerId

Type alias for handler id.

Definition at line 27 of file protocol_handler.h.

Member Enumeration Documentation

◆ InitializationResult

Definitions of different initialization result.

Enumerator
kInitializeOk 
kInitializeFailed 

Definition at line 32 of file protocol_handler.h.

32 : std::uint8_t { kInitializeOk = 0, kInitializeFailed = 1 };

Constructor & Destructor Documentation

◆ UdsTransportProtocolHandler()

uds_transport::UdsTransportProtocolHandler::UdsTransportProtocolHandler ( UdsTransportProtocolHandlerId const  handler_id,
UdsTransportProtocolMgr const &   
)
inline

Constructs an instance of UdsTransportProtocolHandler.

Parameters
[in]handler_idThe id of this transport protocol handler
[in]transport_protocol_mgrThe reference to transport protocol manager

Definition at line 41 of file protocol_handler.h.

42  : handler_id_{handler_id} {}
UdsTransportProtocolHandlerId handler_id_
Store the handler id.

◆ ~UdsTransportProtocolHandler()

virtual uds_transport::UdsTransportProtocolHandler::~UdsTransportProtocolHandler ( )
virtualdefault

Destruct an instance of UdsTransportProtocolHandler.

Member Function Documentation

◆ CreateTcpConnection()

virtual std::unique_ptr<Connection> uds_transport::UdsTransportProtocolHandler::CreateTcpConnection ( ConversionHandler conversion_handler,
std::string_view  tcpIpaddress,
uint16_t  portNum 
)
pure virtual

Function to create a new Tcp connection.

Parameters
[in]conversationThe conversation handler used by tcp connection to communicate
[in]tcp_ip_addressThe local tcp ip address
[in]port_numThe local port number
Returns
The unique pointer to Connection created

◆ CreateUdpConnection()

virtual std::unique_ptr<Connection> uds_transport::UdsTransportProtocolHandler::CreateUdpConnection ( ConversionHandler conversion_handler,
std::string_view  udpIpaddress,
uint16_t  portNum 
)
pure virtual

Function to create a new Udp connection.

Parameters
[in]conversationThe conversation handler used by tcp connection to communicate
[in]udp_ip_addressThe local udp ip address
[in]port_numThe local port number
Returns
The unique pointer to Connection created

◆ GetHandlerID()

virtual UdsTransportProtocolHandlerId uds_transport::UdsTransportProtocolHandler::GetHandlerID ( ) const
inlinevirtual

Function to get the handler id.

Returns
The handler id

Definition at line 53 of file protocol_handler.h.

53 { return handler_id_; };

References handler_id_.

◆ Initialize()

virtual InitializationResult uds_transport::UdsTransportProtocolHandler::Initialize ( )
pure virtual

Function to initialize the handler.

Returns
The initialization result

Implemented in doip_client::transport_protocol_handler::DoipTransportProtocolHandler.

◆ Start()

virtual void uds_transport::UdsTransportProtocolHandler::Start ( )
pure virtual

Function to start the handler.

Implemented in doip_client::transport_protocol_handler::DoipTransportProtocolHandler.

◆ Stop()

virtual void uds_transport::UdsTransportProtocolHandler::Stop ( )
pure virtual

Function to stop the handler.

Implemented in doip_client::transport_protocol_handler::DoipTransportProtocolHandler.

Member Data Documentation

◆ handler_id_

UdsTransportProtocolHandlerId uds_transport::UdsTransportProtocolHandler::handler_id_
protected

Store the handler id.

Definition at line 101 of file protocol_handler.h.

Referenced by GetHandlerID().


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