8 #ifndef DIAGNOSTIC_CLIENT_LIB_APPL_SRC_DIAGNOSTIC_COMMUNICATION_MANAGER_H 
    9 #define DIAGNOSTIC_CLIENT_LIB_APPL_SRC_DIAGNOSTIC_COMMUNICATION_MANAGER_H 
   11 #include <string_view> 
   60   void Run() noexcept override;
 
   74       std::string_view conversation_name) noexcept override;
 
   85                                        vehicle_info_request) noexcept override;
 
Class type to contains a value (of type ValueType), or an error (of type ErrorType)
 
Class to manage Diagnostic Client.
 
Parent class to create Diagnostic Manager.
 
Class to create Diagnostic Manager Client functionality.
 
std::unique_ptr< uds_transport::UdsTransportProtocolManager > uds_transport_protocol_mgr_
Stores the uds transport protocol manager.
 
DCMClient(DCMClient &&other) noexcept=delete
Deleted move assignment and move constructor.
 
DCMClient(config_parser::DcmClientConfig dcm_client_config)
Constructs an instance of DCMClient.
 
void Shutdown() noexcept override
Function to shutdown the DCMClient.
 
conversation_manager::ConversationManager conversation_mgr_
Stores the conversation manager instance.
 
void Run() noexcept override
Function to run DCMClient.
 
~DCMClient() noexcept override
Destructs an instance of DCMClient.
 
DCMClient & operator=(DCMClient &&other) noexcept=delete
 
conversation::DiagClientConversation GetDiagnosticClientConversation(std::string_view conversation_name) noexcept override
Function to get required diag client conversation object based on conversation name.
 
DCMClient & operator=(const DCMClient &other) noexcept=delete
 
void Initialize() noexcept override
Function to initialize the DCMClient.
 
conversation::Conversation & vehicle_discovery_conversation_
Store the conversation for vehicle discovery.
 
core_type::Result< diag::client::vehicle_info::VehicleInfoMessageResponseUniquePtr, DiagClient::VehicleInfoResponseError > SendVehicleIdentificationRequest(diag::client::vehicle_info::VehicleInfoListRequestType vehicle_info_request) noexcept override
Function to send vehicle identification request and get the Diagnostic Server list.
 
DCMClient(const DCMClient &other) noexcept=delete
Deleted copy assignment and copy constructor.
 
auto GetConversationManager() noexcept -> conversation_manager::ConversationManager &
Function to get the reference to conversation manager.
 
VehicleAddrInfoRequest VehicleInfoListRequestType
Type alias of request storage type used while sending vehicle identification request.
 
std::unique_ptr< VehicleInfoMessage > VehicleInfoMessageResponseUniquePtr
The unique_ptr for Vehicle Identification Response Message.