Diag-Client-Lib
protocol_mgr.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_LIB_UDS_TRANSPORT_LAYER_API_UDS_TRANSPORT_PROTOCOL_MANAGER_H
9 #define DIAGNOSTIC_CLIENT_LIB_LIB_UDS_TRANSPORT_LAYER_API_UDS_TRANSPORT_PROTOCOL_MANAGER_H
10 
11 #include <cstdint>
12 
14 
15 namespace uds_transport {
16 
18  public:
19  // Result for Indication of message received
20  enum class IndicationResult : std::uint8_t {
21  kIndicationOk = 0U,
27  };
28  // Result for transmission of message sent
29  enum class TransmissionResult : std::uint8_t {
30  kTransmitOk = 0U,
35  };
36  // Result for connection to remote endpoint
38  // Result for disconnection to remote endpoint
39  enum class DisconnectionResult : std::uint8_t { kDisconnectionOk = 0U, kDisconnectionFailed };
40 
41  //ctor
43 
44  //dtor
45  virtual ~UdsTransportProtocolMgr() = default;
46 
47  // initialize all the transport protocol handler
48  virtual void Startup() = 0;
49 
50  // start all the transport protocol handler
51  virtual void Run() = 0;
52 
53  // terminate all the transport protocol handler
54  virtual void Shutdown() = 0;
55 };
56 } // namespace uds_transport
57 #endif // DIAGNOSTIC_CLIENT_LIB_LIB_UDS_TRANSPORT_LAYER_API_UDS_TRANSPORT_PROTOCOL_MANAGER_H