8 #ifndef DIAGNOSTIC_CLIENT_LIB_LIB_UDS_TRANSPORT_LAYER_API_UDS_TRANSPORT_CONNECTION_H
9 #define DIAGNOSTIC_CLIENT_LIB_LIB_UDS_TRANSPORT_LAYER_API_UDS_TRANSPORT_CONNECTION_H
118 virtual std::pair<UdsTransportProtocolMgr::IndicationResult, UdsMessagePtr>
IndicateMessage(
Interface class to handle connection between two layers.
std::uint8_t ConnectionId
Type alias for connection id.
virtual ~Connection()=default
Destruct an instance of Connection.
uds_transport::ConversionHandler const & conversation_handler_
Store the conversation handler.
virtual std::pair< UdsTransportProtocolMgr::IndicationResult, UdsMessagePtr > IndicateMessage(UdsMessage::Address source_addr, UdsMessage::Address target_addr, UdsMessage::TargetAddressType type, ChannelID channel_id, std::size_t size, Priority priority, ProtocolKind protocol_kind, core_type::Span< std::uint8_t > payload_info)=0
Function to indicate a start of reception of message.
virtual UdsTransportProtocolMgr::TransmissionResult Transmit(UdsMessageConstPtr message)=0
Function to transmit a valid Uds message.
virtual InitializationResult Initialize()=0
Function to initialize the connection.
ConnectionId connection_id_
Store the connection id.
Connection(ConnectionId connection_id, uds_transport::ConversionHandler const &conversation_handler) noexcept
Constructor to create a new connection.
virtual void Stop()=0
Function to stop the connection.
virtual bool IsConnectToHost()=0
Function to check if connected to host remote server.
ConnectionId GetConnectionId() const
Function to get the connection id.
virtual UdsTransportProtocolMgr::ConnectionResult ConnectToHost(UdsMessageConstPtr message)=0
Function to establish connection to remote host server.
virtual void Start()=0
Function to start the connection.
virtual void HandleMessage(UdsMessagePtr message)=0
Function to Hands over a valid received Uds message.
ConnectionId GetConnectionId() noexcept
Function to get the connection id.
virtual UdsTransportProtocolMgr::DisconnectionResult DisconnectFromHost()=0
Function to disconnect from remote host server.
Class to manage reception from transport protocol handler to connection handler.
InitializationResult
Definitions of different initialization result.
std::string_view ProtocolKind
std::unique_ptr< const UdsMessage > UdsMessageConstPtr
std::unique_ptr< UdsMessage > UdsMessagePtr