Diag-Client-Lib
uds_transport_protocol_manager.h
Go to the documentation of this file.
1 /* Diagnostic Client library
2  * Copyright (C) 2024 Avijit Dey
3  *
4  * This Source Code Form is subject to the terms of the Mozilla Public
5  * License, v. 2.0. If a copy of the MPL was not distributed with this
6  * file, You can obtain one at http://mozilla.org/MPL/2.0/.
7  */
8 #ifndef DIAGNOSTIC_CLIENT_LIB_APPL_SRC_DCM_CONNECTION_UDS_TRANSPORT_PROTOCOL_MANAGER_H
9 #define DIAGNOSTIC_CLIENT_LIB_APPL_SRC_DCM_CONNECTION_UDS_TRANSPORT_PROTOCOL_MANAGER_H
10 
12 
13 namespace diag {
14 namespace client {
15 namespace uds_transport {
16 /*
17  @ Class Name : UdsTransportProtocolManager
18  @ Class Description : This class must be instantiated by user for using the transport protocol functionalities.
19  This will inherit uds transport protocol handler
20  */
22  public:
23  //ctor
25 
26  //dtor
27  ~UdsTransportProtocolManager() override = default;
28 
29  // initialize all the transport protocol handler
30  void Startup() override;
31 
32  // start all the transport protocol handler
33  void Run() override;
34 
35  // terminate all the transport protocol handler
36  void Shutdown() override;
37 
39 
40  private:
41  // store doip transport handler
42  std::unique_ptr<::uds_transport::UdsTransportProtocolHandler> doip_transport_handler;
43 
44  // handler id count
46 };
47 } // namespace uds_transport
48 } // namespace client
49 } // namespace diag
50 #endif // DIAGNOSTIC_CLIENT_LIB_APPL_SRC_DCM_CONNECTION_UDS_TRANSPORT_PROTOCOL_MANAGER_H
::uds_transport::UdsTransportProtocolHandler & GetTransportProtocolHandler()
::uds_transport::UdsTransportProtocolHandler::UdsTransportProtocolHandlerId handler_id_count
std::unique_ptr<::uds_transport::UdsTransportProtocolHandler > doip_transport_handler
std::uint8_t UdsTransportProtocolHandlerId
Type alias for handler id.