8 #ifndef DIAGNOSTIC_CLIENT_LIB_APPL_SRC_DCM_CONVERSATION_CONVERSATION_MANAGER_H 
    9 #define DIAGNOSTIC_CLIENT_LIB_APPL_SRC_DCM_CONVERSATION_CONVERSATION_MANAGER_H 
   12 #include <string_view> 
   24 namespace conversation_manager {
 
   64       std::string_view conversation_name) noexcept;
 
   74     std::variant<conversation::DMConversationType, conversation::VDConversationType>
 
   80     std::unique_ptr<diag::client::conversation::Conversation> conversation{};
 
Class to manage all the conversation created from usr request.
 
void StoreConversationConfig(diag::client::config_parser::DcmClientConfig &config) noexcept
Function to store the dcm client configuration internally.
 
diag::client::conversation::Conversation & GetDiagnosticClientConversation(std::string_view conversation_name) noexcept
Function to get DM conversation object based on conversation name.
 
void Shutdown() noexcept
Function to shutdown the ConversationManager.
 
ConversationManager(diag::client::config_parser::DcmClientConfig config, diag::client::uds_transport::UdsTransportProtocolManager &uds_transport_mgr) noexcept
Constructs an instance of ConversationManager.
 
void Startup() noexcept
Function to start the ConversationManager.
 
~ConversationManager() noexcept=default
Destructs an instance of ConversationManager.
 
std::unordered_map< std::string, ConversationStorage > conversation_map_
Map to store conversation object(dm) along with conversation name.
 
uds_transport::UdsTransportProtocolManager & uds_transport_mgr_
Store the reference to uds transport manager.