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