From 01a1fb5d828db2ac1f2a8f826ad768fbf5cc2816 Mon Sep 17 00:00:00 2001 From: Igor Belitskiy Date: Mon, 10 Apr 2023 11:39:38 +0000 Subject: [PATCH] =?UTF-8?q?=D0=94=D0=BE=D0=B1=D0=B0=D0=B2=D0=B8=D0=BB=20?= =?UTF-8?q?=D0=BA=D0=BE=D0=B4=20=D0=B4=D0=BB=D1=8F=20=D1=87=D1=82=D0=B5?= =?UTF-8?q?=D0=BD=D0=B8=D1=8F=20=D1=81=D0=BF=D0=B8=D1=81=D0=BA=D0=B0=20?= =?UTF-8?q?=D0=B1=D0=BB=D0=BE=D1=87=D0=BD=D1=8B=D1=85=20=D1=83=D1=81=D1=82?= =?UTF-8?q?=D1=80=D0=BE=D0=B9=D1=81=D1=82=D0=B2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- source/my_device.cc | 35 +++++++++++++++++++++++++++++++++++ source/my_device.h | 27 +++++++++++++++++++++++++++ 2 files changed, 62 insertions(+) create mode 100644 source/my_device.cc create mode 100644 source/my_device.h diff --git a/source/my_device.cc b/source/my_device.cc new file mode 100644 index 0000000..b17af36 --- /dev/null +++ b/source/my_device.cc @@ -0,0 +1,35 @@ +#include "my_device.h" + +namespace Devices { +std::vector Get_device::get_all_device() { + std::vector vec_mount_devices; + std::vector vec_str; + std::ifstream file("/proc/mounts"); + if (file.is_open()) { + std::string line; + while (std::getline(file, line)) { + vec_str = Utils::split(line, ' '); + struct Mount mount; + mount.device = vec_str[0]; + mount.destination = vec_str[1]; + mount.fstype = vec_str[2]; + mount.options = vec_str[3]; + mount.dump = vec_str[4]; + mount.pass = vec_str[5]; + vec_mount_devices.push_back(mount); + } + } + file.close(); + return vec_mount_devices; + +} +std::vector Get_device::get_part_devices(string find_device_name) { + std::vector vec_mount_devices; + for (const auto device: this->get_all_device) { + if (device.device.find(find_device_name) != std::string::npos) { + vec_mount_devices.push_back(device); + } + } + return vec_mount_devices; +} +} diff --git a/source/my_device.h b/source/my_device.h new file mode 100644 index 0000000..d52fce1 --- /dev/null +++ b/source/my_device.h @@ -0,0 +1,27 @@ +#ifndef MY_DEVICE_H +#define MY_DEVICE_H + +#include "project_lib.h" +#include "util.h" + + +namespace Devices { +class Get_device +{ +public: + struct Mount { + std::string device; + std::string destination; + std::string fstype; + std::string options; + std::string dump; + std::string pass; + }; + +public: + std::vector get_all_device(); + std::vector Get_device::get_part_devices(string find_device_name) +}; +} +#endif +