You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
43 lines
1.3 KiB
43 lines
1.3 KiB
#include "my_device.h"
|
|
|
|
namespace Devices {
|
|
std::vector<Mount> Get_device::get_all_device() {
|
|
std::vector<Mount> vec_mount_devices;
|
|
std::vector<string> 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<Mount> Get_device::get_part_devices(string find_device_name) {
|
|
std::vector<Mount> 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;
|
|
}
|
|
|
|
map_str_device Get_device::get_map_part_devices(string find_device_name) {
|
|
map_str_device map_device;
|
|
for (const auto &device: this->get_part_devices(find_device_name)) {
|
|
map_device[device.device] = device;
|
|
}
|
|
return map_device;
|
|
}
|
|
} |