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