diff options
| author | Carl Hetherington <cth@carlh.net> | 2020-04-09 20:52:20 +0200 |
|---|---|---|
| committer | Carl Hetherington <cth@carlh.net> | 2020-04-13 00:23:46 +0200 |
| commit | 6d27b49a7a767a9c8b31dc0f799da940ddb7232f (patch) | |
| tree | 1fe084da7f042bf3ddd3b042ef165803468fcc92 /src/lib/cross.h | |
| parent | 06d773174378a70289bee8d7abb62e67deaaddf8 (diff) | |
Tidy up Drive and unmounting a little.
Diffstat (limited to 'src/lib/cross.h')
| -rw-r--r-- | src/lib/cross.h | 37 |
1 files changed, 23 insertions, 14 deletions
diff --git a/src/lib/cross.h b/src/lib/cross.h index 7bbb394a1..ece36fe25 100644 --- a/src/lib/cross.h +++ b/src/lib/cross.h @@ -98,35 +98,44 @@ private: class Drive { public: - Drive (std::string internal_name, uint64_t size, bool mounted, boost::optional<std::string> vendor, boost::optional<std::string> model) - : _internal_name(internal_name) + Drive (std::string device, std::vector<boost::filesystem::path> mount_points, uint64_t size, boost::optional<std::string> vendor, boost::optional<std::string> model) + : _device(device) + , _mount_points(mount_points) , _size(size) - , _mounted(mounted) , _vendor(vendor) , _model(model) {} + explicit Drive (std::string); + + std::string as_xml () const; + std::string description () const; - std::string internal_name () const { - return _internal_name; + + std::string device () const { + return _device; } + bool mounted () const { - return _mounted; + return !_mount_points.empty(); } + std::string log_summary () const; + + /** Unmount any mounted partitions on a drive. + * @return true on success, false on failure. + */ + bool unmount (); + + static std::vector<Drive> get (); + private: - std::string _internal_name; + std::string _device; + std::vector<boost::filesystem::path> _mount_points; /** size in bytes */ uint64_t _size; - bool _mounted; boost::optional<std::string> _vendor; boost::optional<std::string> _model; }; -std::vector<Drive> get_drives (); -/** Unmount any mounted partitions on a drive. - * @return true on success, false on failure. - */ -bool unmount_drive (std::string drive); - #endif |
