blob: 0e456e849b9e7d9f566b76d79315d8374d0fc08f [file] [log] [blame]
Anupama B R08fa59e2025-03-06 22:55:11 -06001#pragma once
2
3#include <string>
4
5namespace vpd
6{
7/**
8 * @brief class to implement single fab feature.
9 *
10 * The class hosts functionalities required to support single FAB feature.
11 *
12 */
13class SingleFab
14{
15 // ToDo: public API to be implemented, which can be called by the user to
16 // support single FAB.
17
18 private:
19 /**
20 * @brief API to get IM value from persisted location.
21 *
22 * @return IM value on success, empty string otherwise.
23 */
24 std::string getImFromPersistedLocation() const noexcept;
Anupama B Rb5bfcbc2025-03-03 03:00:04 -060025
26 /**
27 * @brief API to get IM value from system planar EEPROM path.
28 *
29 * @return IM value on success, empty string otherwise.
30 */
31 std::string getImFromPlanar() const noexcept;
RekhaAparna01d3e693e2025-03-04 05:08:30 -060032
33 /**
34 * @brief API to update IM value on system planar EEPROM path.
35 *
36 * @param[in] i_imValue - IM value to be updated.
37 *
38 * @return true if value updated successfully, otherwise false.
39 */
40 bool setImOnPlanar(const std::string& i_imValue) const noexcept;
RekhaAparna01f05f3542025-03-02 22:25:23 -060041
42 /**
43 * @brief API to check is field mode enabled.
44 *
45 * @return true, if field mode is enabled. otherwise false.
46 */
47 bool isFieldModeEnabled() const noexcept;
Anupama B R08fa59e2025-03-06 22:55:11 -060048};
49} // namespace vpd