summaryrefslogtreecommitdiff
path: root/src/lib/cross.h
diff options
context:
space:
mode:
authorCarl Hetherington <cth@carlh.net>2020-04-09 20:52:20 +0200
committerCarl Hetherington <cth@carlh.net>2020-04-13 00:23:46 +0200
commit6d27b49a7a767a9c8b31dc0f799da940ddb7232f (patch)
tree1fe084da7f042bf3ddd3b042ef165803468fcc92 /src/lib/cross.h
parent06d773174378a70289bee8d7abb62e67deaaddf8 (diff)
Tidy up Drive and unmounting a little.
Diffstat (limited to 'src/lib/cross.h')
-rw-r--r--src/lib/cross.h37
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