Coverage Report

Created: 2026-08-27 07:04

next uncovered line (L), next uncovered region (R), next uncovered branch (B)
/src/bios-bmc-smm-error-logger/include/data_interface.hpp
Line
Count
Source
1
#pragma once
2
3
#include <cstdint>
4
#include <span>
5
#include <vector>
6
7
namespace bios_bmc_smm_error_logger
8
{
9
10
/**
11
 * Each data transport mechanism must implement the DataInterface.
12
 */
13
class DataInterface
14
{
15
  public:
16
2.04k
    virtual ~DataInterface() = default;
17
18
    /**
19
     * Read bytes from shared buffer (blocking call).
20
     *
21
     * @param[in] offset - offset to read from relative to MMIO space
22
     * @param[in] length - number of bytes to read
23
     * @return the bytes read
24
     */
25
    virtual std::vector<uint8_t> read(const uint32_t offset,
26
                                      const uint32_t length) = 0;
27
28
    /**
29
     * Write bytes to shared buffer.
30
     *
31
     * @param[in] offset - offset to write to relative to MMIO space
32
     * @param[in] bytes - byte vector of data.
33
     * @return return the byte length written
34
     */
35
    virtual uint32_t write(const uint32_t offset,
36
                           const std::span<const uint8_t> bytes) = 0;
37
38
    /**
39
     * Getter for Memory Region Size
40
     *
41
     * @return return Memory Region size allocated
42
     */
43
    virtual uint32_t getMemoryRegionSize() = 0;
44
};
45
46
} // namespace bios_bmc_smm_error_logger