From c8bf3abf5bdda5ac08448fa66f978936dc4637bc Mon Sep 17 00:00:00 2001 From: Igor Belitskiy Date: Thu, 6 Jul 2023 12:25:17 +0600 Subject: [PATCH] =?UTF-8?q?=D0=98=D1=81=D0=BF=D1=80=D0=B0=D0=B2=D0=B8?= =?UTF-8?q?=D0=BB=20=D0=B1=D0=B0=D0=B3=20=D1=81=20=D0=B4=D0=BE=D0=B1=D0=B0?= =?UTF-8?q?=D0=B2=D0=BB=D0=B5=D0=BD=D0=B8=D0=B5=D0=BC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- source/philos_utils.c | 203 ++++++++++++++-------------- source/philos_utils.h | 9 +- source/ubl-settings-resourcequota.c | 75 ++++------ source/view_add.c | 75 +++------- source/view_edit.c | 56 +------- source/view_edit.h | 3 +- 6 files changed, 160 insertions(+), 261 deletions(-) diff --git a/source/philos_utils.c b/source/philos_utils.c index 28d5be8..fbebec0 100644 --- a/source/philos_utils.c +++ b/source/philos_utils.c @@ -433,10 +433,10 @@ char* philos_pard_array_add_cmd(char* cmd, temp_config* _config, char* key, int* } } -int philos_check_activ_disk(temp_set_window *widgets, temp_config* _config, int size_disk) { +int philos_check_activ_disk(temp_set_window *widgets, temp_config* _config) { char* disk = gtk_combo_box_text_get_active_text(GTK_COMBO_BOX_TEXT(widgets->cbtTempDevice)); disk = yon_char_divide_search(disk," ", -1); - if (disk == NULL || size_disk == 0) { + if (disk == NULL) { return 0; } return 1; @@ -483,12 +483,12 @@ void philos_temp_generate_cmd(temp_set_window *widgets, temp_config* _config) { split_simvol[1] = '\0'; } if (gtk_combo_box_get_active(GTK_COMBO_BOX(widgets->cbtTempDevice))!=-1) { - if (_config->size_read!=0) { - str_cmd = philos_pard_array_add_cmd(str_cmd, _config, "IOReadBandwidthMax=", _config->i_o_limit_read, _config->i_o_limit_read_size, _config->disk_read, _config->size_read); + if (_config->size_disk!=0) { + str_cmd = philos_pard_array_add_cmd(str_cmd, _config, "IOReadBandwidthMax=", _config->i_o_limit_read, _config->i_o_limit_read_size, _config->disk_read, _config->size_disk); } - if (_config->size_write!=0) { - str_cmd = philos_pard_array_add_cmd(str_cmd, _config, "IOWriteBandwidthMax=", _config->i_o_limit_write, _config->i_o_limit_write_size, _config->disk_write, _config->size_write); + if (_config->size_disk!=0) { + str_cmd = philos_pard_array_add_cmd(str_cmd, _config, "IOWriteBandwidthMax=", _config->i_o_limit_write, _config->i_o_limit_write_size, _config->disk_write, _config->size_disk); } } @@ -506,65 +506,61 @@ void philos_temp_del_disk(temp_set_window *widgets, temp_config* _config, int fl int size = 0; if (flag_check_array == 0) { - size = _config->size_read; - if (philos_check_activ_disk(widgets, _config, size) == 0) { + size = _config->size_disk; + if (philos_check_activ_disk(widgets, _config) == 0) { return; } ptr_disk = _config->disk_read; } else if (flag_check_array == 1) { - size = _config->size_write; - if (philos_check_activ_disk(widgets, _config, size) == 0) { + size = _config->size_disk; + if (philos_check_activ_disk(widgets, _config) == 0) { return; } ptr_disk = _config->disk_write; } - if (size) { - int index_find = -1; - if (ptr_disk) { - for (int index = 0; index < size; index++) { - char* disk_cfg = ptr_disk[index]; - if (disk_cfg) { - if (strstr(disk_cfg, disk) != NULL) { - index_find = index; - break; - } + int index_find = -1; + if (ptr_disk) { + for (int index = 0; index < size; index++) { + char* disk_cfg = ptr_disk[index]; + if (disk_cfg) { + if (strstr(disk_cfg, disk) != NULL) { + index_find = index; + break; } } } - - if ((bool_read == 0 && bool_write == 0 && index_find != -1)) { - ptr_disk[index_find] = yon_char_new("-"); - _config->i_o_limit_read_size[index_find] = -3; - _config->i_o_limit_write_size[index_find] = -3; - _config->i_o_limit_read[index_find] = -3; - _config->i_o_limit_write[index_find] = -3; - } + } + + if ((bool_read == 0 && bool_write == 0 && index_find != -1)) { + ptr_disk[index_find] = yon_char_new("-"); + _config->i_o_limit_read_size[index_find] = -3; + _config->i_o_limit_write_size[index_find] = -3; + _config->i_o_limit_read[index_find] = -3; + _config->i_o_limit_write[index_find] = -3; } if (flag_check_array == 0) { if (ptr_disk) { - _config->disk_read = ptr_disk; - _config->size_read = size; + yon_char_parsed_copy(&_config->disk_read, &ptr_disk); } } else if (flag_check_array == 1) { if (ptr_disk) { - _config->disk_write = ptr_disk; - _config->size_write = size; + yon_char_parsed_copy(&_config->disk_write, &ptr_disk); } } } void philos_temp_config_init(temp_config* _config) { - if (_config->size_read != 0) { - philos_free_string_array(&_config->disk_read, _config->size_read); - philos_free_int_array(&_config->i_o_limit_read, _config->size_read); - philos_free_int_array(&_config->i_o_limit_read_size, _config->size_read); + if (_config->size_disk != 0) { + philos_free_string_array(&_config->disk_read, _config->size_disk); + philos_free_int_array(&_config->i_o_limit_read, _config->size_disk); + philos_free_int_array(&_config->i_o_limit_read_size, _config->size_disk); } - else if (_config->size_write != 0) { - philos_free_string_array(&_config->disk_write, _config->size_write); - philos_free_int_array(&_config->i_o_limit_write, _config->size_write); - philos_free_int_array(&_config->i_o_limit_write_size, _config->size_write); + else if (_config->size_disk != 0) { + philos_free_string_array(&_config->disk_write, _config->size_disk); + philos_free_int_array(&_config->i_o_limit_write, _config->size_disk); + philos_free_int_array(&_config->i_o_limit_write_size, _config->size_disk); } _config->disk_read = NULL; _config->disk_write = NULL; @@ -572,8 +568,8 @@ void philos_temp_config_init(temp_config* _config) { _config->i_o_limit_write = NULL; _config->i_o_limit_read_size = NULL; _config->i_o_limit_write_size = NULL; - _config->size_read = 0; - _config->size_write = 0; + _config->size_disk = 0; + _config->size_disk = 0; } // flag_check_array = 0 READ @@ -586,7 +582,7 @@ void philos_update_device_to_entry(temp_set_window *widgets, temp_config* _confi int index_find = -1; if (flag_check_array == 0) { if (_config->disk_read) { - for (int index = 0; index < _config->size_read; index++) { + for (int index = 0; index < _config->size_disk; index++) { char* disk_cfg = _config->disk_read[index]; if (disk_cfg) { if (strstr(disk_cfg, disk) != NULL) { @@ -599,7 +595,7 @@ void philos_update_device_to_entry(temp_set_window *widgets, temp_config* _confi } else if (flag_check_array == 1) { if (_config->disk_write) { - for (int index = 0; index < _config->size_write; index++) { + for (int index = 0; index < _config->size_disk; index++) { char* disk_cfg = _config->disk_write[index]; if (disk_cfg) { if (strstr(disk_cfg, disk) != NULL) { @@ -677,11 +673,11 @@ void philos_temp_add_disk(temp_set_window *widgets, temp_config* _config, int fl int size = 0; if (flag_check_array == 0) { ptr_disk = _config->disk_read; - size = _config->size_read; + size = _config->size_disk; } else if (flag_check_array == 1) { ptr_disk = _config->disk_write; - size = _config->size_write; + size = _config->size_disk; } if (disk_id >= 0 && size !=0) { int index_find = -1; @@ -697,46 +693,14 @@ void philos_temp_add_disk(temp_set_window *widgets, temp_config* _config, int fl } } - if (index_find == -1) { - // Добавление - ptr_disk = yon_char_parsed_append(ptr_disk,&size, disk); - size--; - if (flag_check_array == 0) { - if (gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(widgets->chbTempRead))) { - _config->i_o_limit_read_size = philos_int_append(_config->i_o_limit_read_size,&size,(int)gtk_combo_box_get_active(GTK_COMBO_BOX(widgets->cbtTempRead))); - size--; - _config->i_o_limit_read = philos_int_append(_config->i_o_limit_read,&size,gtk_spin_button_get_value_as_int(GTK_SPIN_BUTTON(widgets->spinTempRead))); - size--; - } - else { - _config->i_o_limit_read_size = philos_int_append(_config->i_o_limit_read_size,&size,-3); - size--; - _config->i_o_limit_read = philos_int_append(_config->i_o_limit_read,&size,-3); - size--; - } - } - if (flag_check_array == 1) { - if (gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(widgets->chbTempWrite))) { - _config->i_o_limit_write_size = philos_int_append(_config->i_o_limit_write_size,&size,(int)gtk_combo_box_get_active(GTK_COMBO_BOX(widgets->cbtTempWrite))); - size--; - _config->i_o_limit_write = philos_int_append(_config->i_o_limit_write,&size,gtk_spin_button_get_value_as_int(GTK_SPIN_BUTTON(widgets->spinTempWrite))); - size--; - } - else { - _config->i_o_limit_write_size = philos_int_append(_config->i_o_limit_write_size,&size,-3); - size--; - _config->i_o_limit_write = philos_int_append(_config->i_o_limit_write,&size,-3); - size--; - } + if (index_find == -1 || index_find>=0) { + if (index_find == -1) { + index_find = find_null_array(_config); } - size++; - - } - else { // Редактирование if (flag_check_array == 0) { if (gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(widgets->chbTempRead))) { - _config->i_o_limit_read_size[index_find] =(int)gtk_combo_box_get_active(GTK_COMBO_BOX(widgets->cbtTempRead)); + _config->i_o_limit_read_size[index_find] = (int)gtk_combo_box_get_active(GTK_COMBO_BOX(widgets->cbtTempRead)); _config->i_o_limit_read[index_find] = gtk_spin_button_get_value_as_int(GTK_SPIN_BUTTON(widgets->spinTempRead)); } else { @@ -754,59 +718,62 @@ void philos_temp_add_disk(temp_set_window *widgets, temp_config* _config, int fl _config->i_o_limit_write[index_find] = -3; } } - } } else { if (bool_read == 1 || bool_write == 1) { ptr_disk = yon_char_parsed_append(ptr_disk,&size, disk); - size--; + int index_find = find_null_array(_config); if (flag_check_array == 0) { if (gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(widgets->chbTempRead))) { - _config->i_o_limit_read_size = philos_int_append(_config->i_o_limit_read_size,&size,(int)gtk_combo_box_get_active(GTK_COMBO_BOX(widgets->cbtTempRead))); - size--; - _config->i_o_limit_read = philos_int_append(_config->i_o_limit_read,&size,gtk_spin_button_get_value_as_int(GTK_SPIN_BUTTON(widgets->spinTempRead))); - size--; + _config->i_o_limit_read_size[index_find] = (int)gtk_combo_box_get_active(GTK_COMBO_BOX(widgets->cbtTempRead)); + _config->i_o_limit_read[index_find] = gtk_spin_button_get_value_as_int(GTK_SPIN_BUTTON(widgets->spinTempRead)); + } else { - _config->i_o_limit_read_size = philos_int_append(_config->i_o_limit_read_size,&size,-3); - size--; - _config->i_o_limit_read = philos_int_append(_config->i_o_limit_read,&size,-3); - size--; + _config->i_o_limit_read_size[index_find] = -3; + _config->i_o_limit_read[index_find] = -3; + } } if (flag_check_array == 1) { if (gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(widgets->chbTempWrite))) { - _config->i_o_limit_write_size = philos_int_append(_config->i_o_limit_write_size,&size,(int)gtk_combo_box_get_active(GTK_COMBO_BOX(widgets->cbtTempWrite))); - size--; - _config->i_o_limit_write = philos_int_append(_config->i_o_limit_write,&size,gtk_spin_button_get_value_as_int(GTK_SPIN_BUTTON(widgets->spinTempWrite))); - size--; + _config->i_o_limit_write_size[index_find] = (int)gtk_combo_box_get_active(GTK_COMBO_BOX(widgets->cbtTempWrite)); + _config->i_o_limit_write[index_find] = gtk_spin_button_get_value_as_int(GTK_SPIN_BUTTON(widgets->spinTempWrite)); + } else { - _config->i_o_limit_write_size = philos_int_append(_config->i_o_limit_write_size,&size,-3); - size--; - _config->i_o_limit_write = philos_int_append(_config->i_o_limit_write,&size,-3); - size--; + _config->i_o_limit_write_size[index_find] = -3; + _config->i_o_limit_write[index_find] = -3; + } } - size++; } else { } } if (flag_check_array == 0) { if (ptr_disk) { - _config->disk_read = ptr_disk; - _config->size_read = size; + yon_char_parsed_copy(&_config->disk_read, &ptr_disk); } } else if (flag_check_array == 1) { if (ptr_disk) { - _config->disk_write = ptr_disk; - _config->size_write = size; + yon_char_parsed_copy(&_config->disk_write, &ptr_disk); + } + } +} +int find_null_array(temp_config* _config) { + int index = 0; + for (index = 0; (_config->disk_read[index]!=NULL && _config->disk_write[index]!=NULL); index++) { + if (strcmp(_config->disk_read[index], "-") == 0 && strcmp(_config->disk_write[index], "-") == 0) { + break; } } + return index; + + } int* philos_int_append(int* array, int* size, int value) { array = yon_remalloc(array, (*size+1)*sizeof(int)); @@ -1141,3 +1108,29 @@ void philos_array_char_pars_to(char*** array, char* to) { } } } +void init_device_disk(temp_config* _config) { + for (int index = 0;index< (get_device_cfg()->size_disk*2);index++){ + _config->disk_read = yon_char_parsed_append(_config->disk_read,&_config->size_disk, "-"); + _config->size_disk--; + _config->i_o_limit_write_size = philos_int_append(_config->i_o_limit_write_size, &_config->size_disk, -3); + _config->size_disk--; + _config->i_o_limit_write = philos_int_append(_config->i_o_limit_write, &_config->size_disk, -3); + _config->size_disk--; + _config->i_o_limit_read_size = philos_int_append(_config->i_o_limit_read_size, &_config->size_disk, -3); + _config->size_disk--; + _config->disk_write = yon_char_parsed_append(_config->disk_write,&_config->size_disk, "-"); + _config->size_disk--; + _config->i_o_limit_read = philos_int_append(_config->i_o_limit_read, &_config->size_disk, -3); + } + _config->i_o_limit_write_size = philos_int_append(_config->i_o_limit_write_size, &_config->size_disk, -2); + _config->size_disk--; + _config->disk_write = yon_char_parsed_append(_config->disk_write, &_config->size_disk, NULL); + _config->size_disk--; + _config->disk_read = yon_char_parsed_append(_config->disk_read, &_config->size_disk, NULL); + _config->size_disk--; + _config->i_o_limit_write = philos_int_append(_config->i_o_limit_write, &_config->size_disk, -2); + _config->size_disk--; + _config->i_o_limit_read = philos_int_append(_config->i_o_limit_read, &_config->size_disk, -2); + _config->size_disk--; + _config->i_o_limit_read_size = philos_int_append(_config->i_o_limit_read_size, &_config->size_disk, -2); +} \ No newline at end of file diff --git a/source/philos_utils.h b/source/philos_utils.h index 61e2786..8ec5af6 100644 --- a/source/philos_utils.h +++ b/source/philos_utils.h @@ -14,6 +14,7 @@ #include #include #include +#include "my_device.h" #define catch(x) ExitJmp:if(__HadError) #define throw(x) {__HadError=true;goto ExitJmp;} @@ -26,8 +27,8 @@ typedef struct { int* i_o_limit_write; int* i_o_limit_read_size; int* i_o_limit_write_size; - int size_write; - int size_read; + int size; + int size_disk; } temp_config; typedef struct { @@ -86,7 +87,7 @@ void philos_set_pow_size_memory_device(char* str_find, int** array_size,int inde void philos_array_int_copy(int** source, int** copy); char** philos_pars_terminal_systemd_cgls(char* CMD_GET_SLICE_SERVICE, char* str_find, int* size_array_data); char* philos_pard_array_add_cmd(char* cmd, temp_config* _config, char* key, int* array_io, int* array_io_pow_size, char** disk, int size); -int philos_check_activ_disk(temp_set_window *widgets, temp_config* _config, int size_disk); +int philos_check_activ_disk(temp_set_window *widgets, temp_config* _config); void philos_temp_generate_cmd(temp_set_window *widgets, temp_config* _config); void philos_temp_del_disk(temp_set_window *widgets, temp_config* _config, int flag_check_array); void philos_temp_config_init(temp_config* _config); @@ -114,4 +115,6 @@ static void child_ready(VteTerminal *terminal, GPid pid, GError *error, gpointer int philos_config_save(char *command); void philos_array_int_pars_to(int** array, int to); void philos_array_char_pars_to(char*** array, char* to); +int find_null_array(temp_config* _config); +void init_device_disk(temp_config* _config); #endif \ No newline at end of file diff --git a/source/ubl-settings-resourcequota.c b/source/ubl-settings-resourcequota.c index 349b069..101ab99 100644 --- a/source/ubl-settings-resourcequota.c +++ b/source/ubl-settings-resourcequota.c @@ -631,46 +631,38 @@ void tree_view_select(GtkWidget *self, main_window *widgets) { } void tree_view_add(int index) { - main_config.type_quota = yon_char_parsed_append(main_config.type_quota, &main_config.size_tree_view, add_get_quota_object()); - main_config.quota_volume = yon_char_parsed_append(main_config.quota_volume, &main_config.size_tree_view, add_get_select_device_to_level_2()); - main_config.size_tree_view--; - main_config.soft_raw_limit = philos_int_append(main_config.soft_raw_limit, &main_config.size_tree_view, add_get_soft()); - main_config.size_tree_view--; - main_config.hard_raw_limit = philos_int_append(main_config.hard_raw_limit, &main_config.size_tree_view, add_get_hard()); - main_config.size_tree_view--; - main_config.swap = philos_int_append(main_config.swap, &main_config.size_tree_view, add_get_limit_swap()); - main_config.size_tree_view--; - main_config.cpu_limit = philos_int_append(main_config.cpu_limit, &main_config.size_tree_view, add_get_limit_cpu()); - main_config.size_tree_view--; - - main_config.i_o_limit_read = yon_remalloc(main_config.i_o_limit_read, (main_config.size_tree_view + 1) * sizeof(int*)); - main_config.i_o_limit_read_size = yon_remalloc(main_config.i_o_limit_read_size, (main_config.size_tree_view + 1) * sizeof(int*)); - main_config.disk_read = yon_remalloc(main_config.disk_read, (main_config.size_tree_view + 1) * sizeof(char**)); - yon_char_parsed_copy(&main_config.disk_read[main_config.size_tree_view], add_get_select_read_device()); - philos_array_int_copy(&main_config.i_o_limit_read[main_config.size_tree_view], add_get_read_device()); - philos_array_int_copy(&main_config.i_o_limit_read_size[main_config.size_tree_view], add_get_read_device_size_pow()); - - main_config.disk_write = yon_remalloc(main_config.disk_write, (main_config.size_tree_view + 1) * sizeof(char**)); - yon_char_parsed_copy(&main_config.disk_write[main_config.size_tree_view], add_get_select_write_device()); - main_config.i_o_limit_write = yon_remalloc(main_config.i_o_limit_write, (main_config.size_tree_view + 1) * sizeof(int*)); - main_config.i_o_limit_write_size = yon_remalloc(main_config.i_o_limit_write_size, (main_config.size_tree_view + 1) * sizeof(int*)); - philos_array_int_copy(&main_config.i_o_limit_write[main_config.size_tree_view], add_get_write_device()); - philos_array_int_copy(&main_config.i_o_limit_write_size[main_config.size_tree_view], add_get_write_device_size_pow()); + init_cfg_array(index); + main_config.type_quota_size[index] = add_get_quota_object_size(); + main_config.quota_volume_size[index] = -1; + main_config.type_quota[index] = add_get_quota_object(); + main_config.quota_volume[index] = add_get_select_device_to_level_2(); + + main_config.soft_raw_limit[index] = add_get_soft(); + main_config.hard_raw_limit[index] = add_get_hard(); + main_config.swap[index] = add_get_limit_swap(); + main_config.cpu_limit[index] = add_get_limit_cpu(); + main_config.soft_raw_limit_size[index] = add_get_soft_size(); + main_config.hard_raw_limit_size[index] = add_get_hard_size(); + main_config.swap_size[index] = add_get_limit_swap_size(); + main_config.cpu_limit_size[index] = add_get_limit_cpu_size(); + philos_free_string_array(&main_config.disk_read[index],(get_device_cfg()->size_disk*2)); + philos_free_string_array(&main_config.disk_write[index],(get_device_cfg()->size_disk*2)); + philos_free_int_array(&main_config.i_o_limit_write[index],(get_device_cfg()->size_disk*2)); + philos_free_int_array(&main_config.i_o_limit_read[index],(get_device_cfg()->size_disk*2)); + philos_free_int_array(&main_config.i_o_limit_read_size[index],(get_device_cfg()->size_disk*2)); + philos_free_int_array(&main_config.i_o_limit_write_size[index],(get_device_cfg()->size_disk*2)); - main_config.type_quota_size = philos_int_append(main_config.type_quota_size, &main_config.size_tree_view, add_get_quota_object_size()); - main_config.size_tree_view--; - main_config.quota_volume_size = philos_int_append(main_config.quota_volume_size, &main_config.size_tree_view, -1); - main_config.size_tree_view--; - main_config.soft_raw_limit_size = philos_int_append(main_config.soft_raw_limit_size, &main_config.size_tree_view, add_get_soft_size()); - main_config.size_tree_view--; - main_config.hard_raw_limit_size = philos_int_append(main_config.hard_raw_limit_size, &main_config.size_tree_view, add_get_hard_size()); - main_config.size_tree_view--; - main_config.swap_size = philos_int_append(main_config.swap_size, &main_config.size_tree_view, add_get_limit_swap_size()); - main_config.size_tree_view--; - main_config.cpu_limit_size = philos_int_append(main_config.cpu_limit_size, &main_config.size_tree_view, add_get_limit_cpu_size()); + philos_array_int_copy(&main_config.i_o_limit_read[index], add_get_read_device()); + philos_array_int_copy(&main_config.i_o_limit_write[index], add_get_write_device()); + philos_array_int_copy(&main_config.i_o_limit_read_size[index], add_get_read_device_size_pow()); + philos_array_int_copy(&main_config.i_o_limit_write_size[index], add_get_write_device_size_pow()); + yon_char_parsed_copy(&main_config.disk_read[index], add_get_select_read_device()); + yon_char_parsed_copy(&main_config.disk_write[index], add_get_select_write_device()); + main_config.size_tree_view += 1; fill_tree_view(main_config.size_tree_view-1, main_config.size_tree_view, 1); main_config.flag_set_data = 1; main_config.flag_save = 2; + } void fill_tree_view(int start, int size, int flag_gui_add) { @@ -894,17 +886,8 @@ void wrapper_edit_show() { int index = atoi(str_iter); size_t size_disk_read_array = 0; size_t size_disk_write_array = 0; - if (main_config.disk_read) { - for (size_disk_read_array=0; main_config.disk_read[index][size_disk_read_array]; size_disk_read_array++) { - } - } - if (main_config.disk_write) { - for (size_disk_write_array; main_config.disk_write[index][size_disk_write_array]; size_disk_write_array++) { - } - } edit_show(NULL, glade_path); - edit_set_size_arrays_read(size_disk_read_array); - edit_set_size_arrays_write(size_disk_write_array); + edit_set_size_arrays((get_device_cfg()->size_disk*2)+1); edit_set_select_read_device(&main_config.disk_read[index]); edit_set_select_write_device(&main_config.disk_write[index]); edit_set_write_device(main_config.i_o_limit_write[index], main_config.i_o_limit_write_size[index]); diff --git a/source/view_add.c b/source/view_add.c index 80b16b1..cd26198 100644 --- a/source/view_add.c +++ b/source/view_add.c @@ -48,6 +48,7 @@ temp_set_window *add_setup_window(char* glade_path) { add_init_windows(); add_localization(add_widgets); philos_temp_config_init(&obj_add_config); + init_device_disk(&obj_add_config); } return add_widgets; } @@ -178,60 +179,6 @@ char* add_get_select_device_to_level_2() { } } -int** add_get_read_device() { - int start_index = obj_add_config.size_read; - for (int index = start_index;index< (get_device_cfg()->size_disk*2);index++){ - obj_add_config.i_o_limit_read = philos_int_append(obj_add_config.i_o_limit_read, &obj_add_config.size_read, -3); - } - obj_add_config.i_o_limit_read = philos_int_append(obj_add_config.i_o_limit_read, &obj_add_config.size_read, -2); - obj_add_config.size_read = start_index; - return &obj_add_config.i_o_limit_read; -} -int** add_get_read_device_size_pow() { - int start_index = obj_add_config.size_read; - for (int index = start_index;index< (get_device_cfg()->size_disk*2);index++){ - obj_add_config.i_o_limit_read_size = philos_int_append(obj_add_config.i_o_limit_read_size, &obj_add_config.size_read, -3); - } - obj_add_config.i_o_limit_read_size = philos_int_append(obj_add_config.i_o_limit_read_size, &obj_add_config.size_read, -2); - obj_add_config.size_read = start_index; - return &obj_add_config.i_o_limit_read_size; -} -int** add_get_write_device() { - int start_index = obj_add_config.size_write; - for (int index = start_index;index< (get_device_cfg()->size_disk*2);index++){ - obj_add_config.i_o_limit_write = philos_int_append(obj_add_config.i_o_limit_write, &obj_add_config.size_write, -3); - } - obj_add_config.i_o_limit_write = philos_int_append(obj_add_config.i_o_limit_write, &obj_add_config.size_write, -2); - obj_add_config.size_write = start_index; - return &obj_add_config.i_o_limit_write; -} -int** add_get_write_device_size_pow() { - int start_index = obj_add_config.size_write; - for (int index = start_index;index< (get_device_cfg()->size_disk*2);index++){ - obj_add_config.i_o_limit_write_size = philos_int_append(obj_add_config.i_o_limit_write_size, &obj_add_config.size_write, -3); - } - obj_add_config.i_o_limit_write_size = philos_int_append(obj_add_config.i_o_limit_write_size, &obj_add_config.size_write, -2); - obj_add_config.size_write = start_index; - return &obj_add_config.i_o_limit_write_size; -} -char*** add_get_select_read_device() { - int start_index = obj_add_config.size_read; - for (int index = start_index;index< (get_device_cfg()->size_disk*2);index++){ - obj_add_config.disk_read = yon_char_parsed_append(obj_add_config.disk_read,&obj_add_config.size_read, "-"); - } - obj_add_config.disk_read = yon_char_parsed_append(obj_add_config.disk_read, &obj_add_config.size_read, NULL); - obj_add_config.size_read = start_index; - return &obj_add_config.disk_read; -} -char*** add_get_select_write_device() { - int start_index = obj_add_config.size_write; - for (int index = start_index;index< (get_device_cfg()->size_disk*2);index++){ - obj_add_config.disk_write = yon_char_parsed_append(obj_add_config.disk_write,&obj_add_config.size_write, "-"); - } - obj_add_config.disk_write = yon_char_parsed_append(obj_add_config.disk_write, &obj_add_config.size_write, NULL); - obj_add_config.size_write = start_index; - return &obj_add_config.disk_write; -} int add_get_soft_size() { if (gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(add_widgets->chkSoftRestrictionTemp))) { @@ -313,3 +260,23 @@ void add_update_combo_box() { } } +int** add_get_read_device() { + return &obj_add_config.i_o_limit_read; +} + +int** add_get_read_device_size_pow() { + return &obj_add_config.i_o_limit_read_size; +} +int** add_get_write_device() { + return &obj_add_config.i_o_limit_write; +} +int** add_get_write_device_size_pow() { + return &obj_add_config.i_o_limit_write_size; +} +char*** add_get_select_read_device() { + return &obj_add_config.disk_read; +} +char*** add_get_select_write_device() { + return &obj_add_config.disk_write; +} + diff --git a/source/view_edit.c b/source/view_edit.c index f2bb4d2..4379e08 100644 --- a/source/view_edit.c +++ b/source/view_edit.c @@ -173,47 +173,21 @@ int edit_get_quota_object_size() { } int** edit_get_read_device() { - obj_edit_config.i_o_limit_read = philos_int_append(obj_edit_config.i_o_limit_read,&obj_edit_config.size_read, -2); - obj_edit_config.size_read--; return &obj_edit_config.i_o_limit_read; } int** edit_get_read_device_size_pow() { - obj_edit_config.i_o_limit_read_size = philos_int_append(obj_edit_config.i_o_limit_read_size,&obj_edit_config.size_read, -2); - obj_edit_config.size_read--; return &obj_edit_config.i_o_limit_read_size; } int** edit_get_write_device() { - obj_edit_config.i_o_limit_write = philos_int_append(obj_edit_config.i_o_limit_write, &obj_edit_config.size_write, -2); - obj_edit_config.size_write--; return &obj_edit_config.i_o_limit_write; } int** edit_get_write_device_size_pow() { - obj_edit_config.i_o_limit_write_size = philos_int_append(obj_edit_config.i_o_limit_write_size,&obj_edit_config.size_write, -2); - obj_edit_config.size_write--; return &obj_edit_config.i_o_limit_write_size; } char*** edit_get_select_write_device() { - int index = 0; - if (!obj_edit_config.disk_write) { - obj_edit_config.disk_write = yon_char_parsed_append(obj_edit_config.disk_write,&index, "-"); - obj_edit_config.disk_write = yon_char_parsed_append(obj_edit_config.disk_write,&index, NULL); - } - if (index == 0) { - obj_edit_config.disk_write = yon_char_parsed_append(obj_edit_config.disk_write,&obj_edit_config.size_write, NULL); - obj_edit_config.size_write--; - } return &obj_edit_config.disk_write; } char*** edit_get_select_read_device() { - int index = 0; - if (!obj_edit_config.disk_read) { - obj_edit_config.disk_read = yon_char_parsed_append(obj_edit_config.disk_read,&index, "-"); - obj_edit_config.disk_read = yon_char_parsed_append(obj_edit_config.disk_read,&index, NULL); - } - if (index == 0) { - obj_edit_config.disk_read = yon_char_parsed_append(obj_edit_config.disk_read,&obj_edit_config.size_read, NULL); - obj_edit_config.size_read--; - } return &obj_edit_config.disk_read; } int edit_get_soft() { @@ -237,42 +211,24 @@ int edit_get_limit_swap() { void edit_set_select_read_device(char*** str_value) { if (str_value) { if ((*str_value)) { + yon_char_parsed_copy(&obj_edit_config.disk_read, str_value); if ((*str_value)[0] != NULL && strstr((*str_value)[0], "-") == NULL) { - yon_char_parsed_copy(&obj_edit_config.disk_read, str_value); int index = yon_gtk_combo_box_text_find(edit_widgets->cbtTempDevice, (*str_value)[0]); gtk_combo_box_set_active(GTK_COMBO_BOX(edit_widgets->cbtTempDevice), index); } - else { - obj_edit_config.size_read = 0; - } - } - else { - obj_edit_config.size_read = 0; } } - else { - obj_edit_config.size_read = 0; - } } void edit_set_select_write_device(char*** str_value) { if (str_value) { if ((*str_value)) { + yon_char_parsed_copy(&obj_edit_config.disk_write, str_value); if ((*str_value)[0] != NULL && strstr((*str_value)[0], "-") == NULL) { - yon_char_parsed_copy(&obj_edit_config.disk_write, str_value); int index = yon_gtk_combo_box_text_find(edit_widgets->cbtTempDevice, (*str_value)[0]); gtk_combo_box_set_active(GTK_COMBO_BOX(edit_widgets->cbtTempDevice), index); } - else { - obj_edit_config.size_write = 0; - } - } - else { - obj_edit_config.size_write = 0; } } - else { - obj_edit_config.size_write = 0; - } } void edit_set_read_device(int* str_value, int* pow_mem) { if (str_value && pow_mem) { @@ -300,12 +256,10 @@ void edit_set_write_device(int* str_value, int* pow_mem) { } } -void edit_set_size_arrays_write(size_t size_array) { - obj_edit_config.size_write = size_array; -} -void edit_set_size_arrays_read(size_t size_array) { - obj_edit_config.size_read = size_array; +void edit_set_size_arrays(size_t size_array) { + obj_edit_config.size_disk = size_array; } + void edit_set_soft(int value, int pow_mem) { edit_temp_set(value,pow_mem, edit_widgets->chkSoftRestrictionTemp, edit_widgets->spiSevereRestrictionTemp, diff --git a/source/view_edit.h b/source/view_edit.h index 3e8069a..df51f00 100644 --- a/source/view_edit.h +++ b/source/view_edit.h @@ -51,8 +51,7 @@ void edit_temp_set(int value, int pow_mem, GtkWidget* cheek, GtkWidget* spin, Gt int** edit_get_read_device_size_pow(); int** edit_get_write_device_size_pow(); -void edit_set_size_arrays_read(size_t size_array); -void edit_set_size_arrays_write(size_t size_array); +void edit_set_size_arrays(size_t size_array); int edit_get_soft_size(); int edit_get_hard_size(); int edit_get_limit_cpu_size();