xref: /openbmc/estoraged/include/erase.hpp (revision e6ffe7040eb28d8ea2a242177d2780516b6f5cf0)
1*e6ffe704SJohn Edward Broadbent #include <string>
2*e6ffe704SJohn Edward Broadbent 
3*e6ffe704SJohn Edward Broadbent /** @class Erase
4*e6ffe704SJohn Edward Broadbent  *  @brief Erase object provides a base class for the specific erase types
5*e6ffe704SJohn Edward Broadbent  */
6*e6ffe704SJohn Edward Broadbent class Erase
7*e6ffe704SJohn Edward Broadbent {
8*e6ffe704SJohn Edward Broadbent   public:
9*e6ffe704SJohn Edward Broadbent     /** @brief creates an erase object
10*e6ffe704SJohn Edward Broadbent      *  @param inDevPath the linux path for the block device
11*e6ffe704SJohn Edward Broadbent      */
12*e6ffe704SJohn Edward Broadbent     Erase(std::string_view inDevPath) : devPath(inDevPath)
13*e6ffe704SJohn Edward Broadbent     {}
14*e6ffe704SJohn Edward Broadbent 
15*e6ffe704SJohn Edward Broadbent     /** @brief finds the size of the linux block device in bytes
16*e6ffe704SJohn Edward Broadbent      *  @return size of a block device using the devPath
17*e6ffe704SJohn Edward Broadbent      */
18*e6ffe704SJohn Edward Broadbent     uint64_t findSizeOfBlockDevice();
19*e6ffe704SJohn Edward Broadbent 
20*e6ffe704SJohn Edward Broadbent   protected:
21*e6ffe704SJohn Edward Broadbent     /* The linux path for the block device */
22*e6ffe704SJohn Edward Broadbent     std::string devPath;
23*e6ffe704SJohn Edward Broadbent };
24