blob: 6d5644c46d1fcf094cba9fab3a4570e3054dd13d [file] [log] [blame]
John Edward Broadbent7f2ab642021-11-11 21:00:38 -08001#pragma once
John Edward Broadbente6ffe702021-10-14 14:03:11 -07002#include <string>
3
4/** @class Erase
5 * @brief Erase object provides a base class for the specific erase types
6 */
7class Erase
8{
9 public:
10 /** @brief creates an erase object
11 * @param inDevPath the linux path for the block device
12 */
13 Erase(std::string_view inDevPath) : devPath(inDevPath)
14 {}
John Edward Broadbent7f2ab642021-11-11 21:00:38 -080015 virtual ~Erase() = default;
John Edward Broadbente6ffe702021-10-14 14:03:11 -070016
17 /** @brief finds the size of the linux block device in bytes
18 * @return size of a block device using the devPath
19 */
20 uint64_t findSizeOfBlockDevice();
21
22 protected:
23 /* The linux path for the block device */
24 std::string devPath;
25};