1*e6ffe704SJohn Edward Broadbent #include <string> 2*e6ffe704SJohn Edward Broadbent 3*e6ffe704SJohn Edward Broadbent /** @class Erase 4*e6ffe704SJohn Edward Broadbent * @brief Erase object provides a base class for the specific erase types 5*e6ffe704SJohn Edward Broadbent */ 6*e6ffe704SJohn Edward Broadbent class Erase 7*e6ffe704SJohn Edward Broadbent { 8*e6ffe704SJohn Edward Broadbent public: 9*e6ffe704SJohn Edward Broadbent /** @brief creates an erase object 10*e6ffe704SJohn Edward Broadbent * @param inDevPath the linux path for the block device 11*e6ffe704SJohn Edward Broadbent */ 12*e6ffe704SJohn Edward Broadbent Erase(std::string_view inDevPath) : devPath(inDevPath) 13*e6ffe704SJohn Edward Broadbent {} 14*e6ffe704SJohn Edward Broadbent 15*e6ffe704SJohn Edward Broadbent /** @brief finds the size of the linux block device in bytes 16*e6ffe704SJohn Edward Broadbent * @return size of a block device using the devPath 17*e6ffe704SJohn Edward Broadbent */ 18*e6ffe704SJohn Edward Broadbent uint64_t findSizeOfBlockDevice(); 19*e6ffe704SJohn Edward Broadbent 20*e6ffe704SJohn Edward Broadbent protected: 21*e6ffe704SJohn Edward Broadbent /* The linux path for the block device */ 22*e6ffe704SJohn Edward Broadbent std::string devPath; 23*e6ffe704SJohn Edward Broadbent }; 24