parent
							
								
									4acb8c8bba
								
							
						
					
					
						commit
						65894da802
					
				| @ -1,43 +1,28 @@ | ||||
| #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; | ||||
|      | ||||
|     map_str_str Parted::get_parted() { | ||||
|         string cmd = "lsblk --fs --raw --output PATH,FSTYPE  --exclude 7,11,253"; | ||||
|         string response = obj_process_call.call_all_sections(cmd); | ||||
|         vector<string> vec_parted = Utils::split(response, '\n'); | ||||
|         map_str_str dict_parted; | ||||
|         string key = ""; | ||||
|         if (vec_parted.size()>1) { | ||||
|             vec_parted.erase(vec_parted.begin()); | ||||
|         } | ||||
| 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); | ||||
|         for (const string& str_parted : vec_parted) { | ||||
|             key = str_parted.substr(0, str_parted.find(" ")); | ||||
|             if (str_parted.find(" ") != string::npos) { | ||||
|                 dict_parted[key] = str_parted.substr(str_parted.find(" ") + 1, str_parted.length()); | ||||
|             } | ||||
|             else { | ||||
|                 dict_parted[key] = ""; | ||||
|             } | ||||
|     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; | ||||
|         return dict_parted; | ||||
|     } | ||||
|      | ||||
| } | ||||
					Loading…
					
					
				
		Reference in new issue
	
	