| 
    Diag-Client-Lib
    
   | 
 
Class to manage all the conversation created from usr request. More...
#include <conversation_manager.h>

Classes | |
| struct | ConversationStorage | 
| Store Dm conversation.  More... | |
Public Member Functions | |
| ConversationManager (diag::client::config_parser::DcmClientConfig config, diag::client::uds_transport::UdsTransportProtocolManager &uds_transport_mgr) noexcept | |
| Constructs an instance of ConversationManager.  More... | |
| ~ConversationManager () noexcept=default | |
| Destructs an instance of ConversationManager.  More... | |
| void | Startup () noexcept | 
| Function to start the ConversationManager.  More... | |
| void | Shutdown () noexcept | 
| Function to shutdown the ConversationManager.  More... | |
| diag::client::conversation::Conversation & | GetDiagnosticClientConversation (std::string_view conversation_name) noexcept | 
| Function to get DM conversation object based on conversation name.  More... | |
Private Member Functions | |
| void | StoreConversationConfig (diag::client::config_parser::DcmClientConfig &config) noexcept | 
| Function to store the dcm client configuration internally.  More... | |
Private Attributes | |
| uds_transport::UdsTransportProtocolManager & | uds_transport_mgr_ | 
| Store the reference to uds transport manager.  More... | |
| std::unordered_map< std::string, ConversationStorage > | conversation_map_ | 
| Map to store conversation object(dm) along with conversation name.  More... | |
Class to manage all the conversation created from usr request.
Definition at line 29 of file conversation_manager.h.
      
  | 
  noexcept | 
Constructs an instance of ConversationManager.
| [in] | config | The configuration of dcm client | 
| [in] | uds_transport_mgr | The reference to Uds transport manger | 
Definition at line 31 of file conversation_manager.cpp.
      
  | 
  defaultnoexcept | 
Destructs an instance of ConversationManager.
      
  | 
  noexcept | 
Function to get DM conversation object based on conversation name.
| [in] | conversation_name | The conversation name | 
Definition at line 61 of file conversation_manager.cpp.
References FILE_NAME, and diag::client::logger::DiagClientLogger::GetDiagClientLogger().

      
  | 
  noexcept | 
Function to shutdown the ConversationManager.
Definition at line 41 of file conversation_manager.cpp.
References conversation_map_, FILE_NAME, diag::client::logger::DiagClientLogger::GetDiagClientLogger(), and diag::client::conversation::Conversation::kInactive.
Referenced by diag::client::dcm::DCMClient::Shutdown().


      
  | 
  noexcept | 
Function to start the ConversationManager.
Definition at line 39 of file conversation_manager.cpp.
      
  | 
  privatenoexcept | 
Function to store the dcm client configuration internally.
| [in] | config | The Dcm client configuration | 
Definition at line 106 of file conversation_manager.cpp.
References diag::client::conversation_manager::anonymous_namespace{conversation_manager.cpp}::kRandomPortNumber, diag::client::conversation_manager::anonymous_namespace{conversation_manager.cpp}::kVdConversationName, diag::client::conversation::DMConversationType::rx_buffer_size, and diag::client::conversation::VDConversationType::udp_address.
      
  | 
  private | 
Map to store conversation object(dm) along with conversation name.
Pair of Conversation name and Conversation Object
Definition at line 92 of file conversation_manager.h.
Referenced by Shutdown().
      
  | 
  private | 
Store the reference to uds transport manager.
Definition at line 86 of file conversation_manager.h.