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