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