blob: 17cfc750c45a395019019d3a8334e5cd46e592f5 [file] [log] [blame]
SunnySrivastava1984c743d822020-04-27 05:49:22 -05001#pragma once
2
SunnySrivastava1984bca5aaa2020-04-21 05:31:04 -05003#include "types.hpp"
4
SunnySrivastava1984c743d822020-04-27 05:49:22 -05005namespace openpower
6{
7namespace vpd
8{
9namespace manager
10{
11namespace reader
12{
13
14/** @class ReaderImpl
15 * @brief Implements functionalities related to reading of VPD related data
16 * from the system.
SunnySrivastava1984c743d822020-04-27 05:49:22 -050017 */
18class ReaderImpl
19{
20 public:
21 ReaderImpl() = default;
22 ReaderImpl(const ReaderImpl&) = delete;
23 ReaderImpl& operator=(const ReaderImpl&) = delete;
24 ReaderImpl(ReaderImpl&&) = delete;
25 ReaderImpl& operator=(ReaderImpl&&) = delete;
26 ~ReaderImpl() = default;
SunnySrivastava1984bca5aaa2020-04-21 05:31:04 -050027
28 /** @brief An API to expand a given unexpanded location code.
29 * @param[in] locationCode - unexpanded location code.
30 * @param[in] nodeNumber - node on which we are looking for location code.
31 * @param[in] frusLocationCode - mapping of inventory path and location
32 * code.
33 * @return Expanded location code.
34 */
35 std::string getExpandedLocationCode(
36 const std::string& locationCode, const uint16_t& nodeNumber,
37 const inventory::LocationCodeMap& frusLocationCode) const;
38
SunnySrivastava1984c743d822020-04-27 05:49:22 -050039}; // class ReaderImpl
40
41} // namespace reader
42} // namespace manager
43} // namespace vpd
44} // namespace openpower