LCOV - code coverage report
Current view: top level - uds/src/uds/jobs - ReadIdentifierFromMemory.cpp (source / functions) Hit Total Coverage
Test: coverage.info Lines: 16 16 100.0 %
Date: 2025-10-07 10:52:16 Functions: 3 3 100.0 %

          Line data    Source code
       1             : // Copyright 2024 Accenture.
       2             : 
       3             : #include "uds/jobs/ReadIdentifierFromMemory.h"
       4             : 
       5             : #include "uds/connection/IncomingDiagConnection.h"
       6             : 
       7             : namespace uds
       8             : {
       9           2 : ReadIdentifierFromMemory::ReadIdentifierFromMemory(
      10             :     uint16_t const identifier,
      11             :     uint8_t const* const responseData,
      12             :     uint16_t const responseLength,
      13           2 :     DiagSessionMask const sessionMask)
      14             : : ReadIdentifierFromMemory(
      15           2 :     identifier, ::etl::span<uint8_t const>(responseData, responseLength), sessionMask)
      16           2 : {}
      17             : 
      18           5 : ReadIdentifierFromMemory::ReadIdentifierFromMemory(
      19             :     uint16_t const identifier,
      20             :     ::etl::span<uint8_t const> const& responseData,
      21           5 :     DiagSessionMask const sessionMask)
      22           5 : : DataIdentifierJob(_implementedRequest, sessionMask), _responseSlice(responseData)
      23             : {
      24           5 :     _implementedRequest[0] = 0x22U;
      25           5 :     _implementedRequest[1] = (identifier >> 8) & 0xFFU;
      26           5 :     _implementedRequest[2] = identifier & 0xFFU;
      27           5 : }
      28             : 
      29           2 : DiagReturnCode::Type ReadIdentifierFromMemory::process(
      30             :     IncomingDiagConnection& connection,
      31             :     uint8_t const* const /* request */,
      32             :     uint16_t const /* requestLength */)
      33             : {
      34           2 :     PositiveResponse& response = connection.releaseRequestGetResponse();
      35           2 :     (void)response.appendData(_responseSlice.data(), static_cast<uint16_t>(_responseSlice.size()));
      36           2 :     (void)connection.sendPositiveResponseInternal(response.getLength(), *this);
      37             : 
      38           2 :     return DiagReturnCode::OK;
      39             : }
      40             : 
      41             : } // namespace uds

Generated by: LCOV version 1.14