1 #pragma once 2 3 #include "erase.hpp" 4 #include "util.hpp" 5 6 #include <string_view> 7 8 namespace estoraged 9 { 10 11 class VerifyDriveGeometry : public Erase 12 { 13 public: 14 /** @brief Creates a verifyDriveGeomentry erase object. 15 * 16 * @param[in] inDevPath - the linux device path for the block device. 17 */ 18 VerifyDriveGeometry(std::string_view inDevPath) : Erase(inDevPath) 19 {} 20 21 /** @brief Test if input is in between the max and min expected sizes, 22 * and throws errors accordingly. 23 * 24 * @param[in] bytes - Size of the block device 25 */ 26 void geometryOkay() 27 { 28 geometryOkay(util::findSizeOfBlockDevice(devPath)); 29 } 30 void geometryOkay(uint64_t bytes); 31 }; 32 33 } // namespace estoraged 34