summaryrefslogtreecommitdiff
path: root/diskman/man/Horizon::DiskMan::DiskMan.3
diff options
context:
space:
mode:
Diffstat (limited to 'diskman/man/Horizon::DiskMan::DiskMan.3')
-rw-r--r--diskman/man/Horizon::DiskMan::DiskMan.374
1 files changed, 74 insertions, 0 deletions
diff --git a/diskman/man/Horizon::DiskMan::DiskMan.3 b/diskman/man/Horizon::DiskMan::DiskMan.3
new file mode 100644
index 0000000..64710c7
--- /dev/null
+++ b/diskman/man/Horizon::DiskMan::DiskMan.3
@@ -0,0 +1,74 @@
+.Dd May 15, 2020
+.Dt Horizon::DiskMan::DiskMan 3
+.Os "Adélie Linux"
+.Sh NAME
+.Nm Horizon::DiskMan::DiskMan
+.Nd main class of the Horizon Disk Manager
+.Sh SYNOPSIS
+.In diskman/diskman.hh
+.Cm using Horizon::DiskMan::DiskMan;
+.Ft vector<Disk>
+.Fo DiskMan::find_disks
+.Fa "bool include_part = true" "bool include_vg = true" "bool include_lvm = false"
+.Fc
+.Sh DESCRIPTION
+The
+.Nm
+class provides a facility for inspecting the fixed disk(s) present on a
+computer.
+.Pp
+Calling the
+.Fn DiskMan::find_disks
+function will return a vector of
+.Cm Horizon::DiskMan::Disk
+containing all fixed disks presently attached to the system. The
+.Fn DiskMan::find_disks
+function allows you to control the data returned with three arguments:
+.Fa include_part ,
+which if true will include partition information when a fixed disk contains
+a readable disk label;
+.Fa include_vg ,
+which if true will include each LVM volume group as a Disk; and
+.Fa include_lvm ,
+which if true will include each LVM logical volume as a Disk.
+.Pp
+You should only create instances of
+.Cm Horizon::DiskMan::DiskMan ;
+the DiskMan class will provide you with the relevant instances of Disk and
+Parition.
+.Sh RETURN VALUES
+The
+.Fn DiskMan::find_disks
+function returns a
+.Cm std::vector
+of
+.Cm Horizon::DiskMan::Disk
+objects describing all fixed disks attached to the system.
+.Sh EXAMPLES
+.Bd -literal -offset indent
+#include <diskman/diskman.hh>
+#include <iostream>
+
+using Horizon::DiskMan::DiskMan;
+
+int main(void) {
+ DiskMan diskMan;
+ auto disks = diskMan.find_disks(false, false, false);
+ std::cout << "Found " << std::to_string(disks.size()) << " disk(s):" << std::endl;
+ for(auto &disk : disks) {
+ std::cout << "==========================================" << std::endl;
+ std::cout << "Disk: " << disk.name() << " (" << disk.model() << ")";
+ std::cout << " at " << disk.dev_path() << std::endl;
+ std::cout << "==========================================" << std::endl;
+ }
+ return 0;
+}
+.Ed
+.Sh SEE ALSO
+.Xr Horizon::DiskMan::Disk 3 ,
+.Xr Horizon::DiskMan::Partition 3 .
+.Sh HISTORY
+The DiskMan library first appeared in Horizon 0.9.
+.Sh AUTHORS
+.An A. Wilcox
+.Aq awilfox@adelielinux.org