diff options
Diffstat (limited to 'fru_area.hpp')
-rw-r--r-- | fru_area.hpp | 60 |
1 files changed, 49 insertions, 11 deletions
diff --git a/fru_area.hpp b/fru_area.hpp index afd983b..0bee9af 100644 --- a/fru_area.hpp +++ b/fru_area.hpp @@ -11,63 +11,101 @@ using std::uint8_t; +/** + * IPMIFruArea represents a piece of a FRU that is accessible over IPMI. + */ class IPMIFruArea { public: IPMIFruArea() = delete; ~IPMIFruArea() = default; - // constructor + /** + * Construct an IPMIFruArea. + * + * @param[in] fruID - FRU identifier value + * @param[in] type - the type of FRU area. + * @param[in] bmcOnlyFru - Is this FRU only accessible via the BMC + */ IPMIFruArea(const uint8_t fruID, const ipmi_fru_area_type type, bool bmcOnlyFru = false); - // Sets the present bit + /** + * Set whether the FRU is present. + * + * @param[in] present - True if present. + */ inline void setPresent(const bool present) { isPresent = present; } - // returns fru id; + /** + * Retrieves the FRU's ID. + * + * @return the FRU ID. + */ uint8_t getFruID() const { return fruID; } - // Returns the length. + /** + * Returns the length of the FRU data. + * + * @return the number of bytes. + */ size_t getLength() const { return data.size(); } - // Returns the type of the current fru area + /** + * Returns the type of the current FRU area. + * + * @return the type of FRU area + */ ipmi_fru_area_type getType() const { return type; } - // Returns the name + /** + * Returns the FRU area name. + * + * @return the FRU area name + */ const char* getName() const { return name.c_str(); } - // Returns the data portion + /** + * Returns the data portion. + * + * @return pointer to data + */ inline const uint8_t* getData() const { return data.data(); } - // Accepts a pointer to data and sets it in the object. - void setData(const uint8_t*, const size_t); + /** + * Accepts a pointer to data and sets it in the object. + * + * @param[in] value - The data to copy into the FRU area + * @param[in] length - the number of bytes value points to + */ + void setData(const uint8_t* value, const size_t length); private: // Unique way of identifying a FRU uint8_t fruID = 0; - // Type of the fru matching offsets in common header + // Type of the FRU matching offsets in common header ipmi_fru_area_type type = IPMI_FRU_AREA_INTERNAL_USE; - // Name of the fru area. ( BOARD/CHASSIS/PRODUCT ) + // Name of the FRU area. ( BOARD/CHASSIS/PRODUCT ) std::string name; // Special bit for BMC readable eeprom only. |