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.
51 lines
2.2 KiB
51 lines
2.2 KiB
#include "my_device.h"
|
|
|
|
device_config obj_device_config;
|
|
|
|
device_config* get_device_cfg() {
|
|
return &obj_device_config;
|
|
}
|
|
|
|
void device_disk_parsed() {
|
|
char* cmd = "lsblk --fs --raw --output PATH,FSTYPE --exclude 7,11,253";
|
|
int size = 0;
|
|
char** responce = yon_config_load(cmd, &size);
|
|
obj_device_config.size_disk = 0;
|
|
char* split_simvol = " ";
|
|
for (int index = 1; index < size; index++ ) {
|
|
char* disk = yon_char_divide_search(responce[index], "\n", -1);
|
|
if (yon_char_find_count(disk, " ") != 0) {
|
|
char* name_disk = yon_char_divide_search(disk, " ", -1);
|
|
obj_device_config.name_disk = yon_char_parsed_append(obj_device_config.name_disk, &obj_device_config.size_disk, name_disk);
|
|
obj_device_config.size_disk--;
|
|
obj_device_config.file_system = yon_char_parsed_append(obj_device_config.file_system, &obj_device_config.size_disk, disk);
|
|
obj_device_config.size_disk--;
|
|
obj_device_config.mounted = yon_char_parsed_append(obj_device_config.mounted, &obj_device_config.size_disk, "");
|
|
obj_device_config.size_disk--;
|
|
obj_device_config.type_dick = yon_char_parsed_append(obj_device_config.type_dick, &obj_device_config.size_disk, "");
|
|
obj_device_config.size_disk--;
|
|
disk = yon_char_replace(disk," ", "");
|
|
if (strlen(disk)!=0) {
|
|
char* description_disk = yon_char_unite(name_disk,
|
|
split_simvol,
|
|
disk,
|
|
NULL);
|
|
obj_device_config.description_disk = yon_char_parsed_append(obj_device_config.description_disk, &obj_device_config.size_disk, description_disk);
|
|
free(description_disk);
|
|
|
|
}
|
|
free(name_disk);
|
|
}
|
|
free(disk);
|
|
}
|
|
philos_free_string_array(&responce, size);
|
|
|
|
}
|
|
void device_fill_disk(GtkWidget* combo_box_text) {
|
|
for (int index = 0; index < obj_device_config.size_disk; index++) {
|
|
gtk_combo_box_text_append_text(GTK_COMBO_BOX_TEXT(combo_box_text), obj_device_config.description_disk[index]);
|
|
}
|
|
}
|
|
|
|
|