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