|
|
@ -49,7 +49,6 @@ add_window *add_setup_window(char* glade_path) {
|
|
|
|
add_localization(add_widgets);
|
|
|
|
add_localization(add_widgets);
|
|
|
|
add_config_init();
|
|
|
|
add_config_init();
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
return add_widgets;
|
|
|
|
return add_widgets;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
@ -106,15 +105,18 @@ void add_del_disk() {
|
|
|
|
return;
|
|
|
|
return;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
if (obj_add_config.disk && obj_add_config.size) {
|
|
|
|
if (obj_add_config.disk && obj_add_config.size) {
|
|
|
|
int index_find = 0;
|
|
|
|
int index_find = -1;
|
|
|
|
for (int index = 0; index < obj_add_config.size; index++) {
|
|
|
|
for (int index = 0; index < obj_add_config.size; index++) {
|
|
|
|
char* disk_cfg = yon_char_new(obj_add_config.disk[index]);
|
|
|
|
char* disk_cfg = yon_char_new(obj_add_config.disk[index]);
|
|
|
|
if (strstr(disk_cfg, disk) != NULL) {
|
|
|
|
if (strstr(disk_cfg, disk) != NULL) {
|
|
|
|
index_find = index;
|
|
|
|
index_find = index;
|
|
|
|
|
|
|
|
printf("%d\n", index_find);
|
|
|
|
|
|
|
|
puts(disk_cfg);
|
|
|
|
|
|
|
|
puts(disk);
|
|
|
|
break;
|
|
|
|
break;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
if ((bool_read == 0 && bool_write == 0 && index_find != 0)) {
|
|
|
|
if ((bool_read == 0 && bool_write == 0 && index_find != -1)) {
|
|
|
|
obj_add_config.disk = yon_char_parsed_shrink(obj_add_config.disk,&obj_add_config.size, index_find);
|
|
|
|
obj_add_config.disk = yon_char_parsed_shrink(obj_add_config.disk,&obj_add_config.size, index_find);
|
|
|
|
obj_add_config.size++;
|
|
|
|
obj_add_config.size++;
|
|
|
|
obj_add_config.i_o_limit_read_size = remove_element_int_array(obj_add_config.i_o_limit_read_size,&obj_add_config.size, index_find);
|
|
|
|
obj_add_config.i_o_limit_read_size = remove_element_int_array(obj_add_config.i_o_limit_read_size,&obj_add_config.size, index_find);
|
|
|
@ -147,7 +149,6 @@ char* pard_array_edit_cmd(char* cmd, char* key, char** array_io, int* array_io_p
|
|
|
|
split_simvol[0] = ',';
|
|
|
|
split_simvol[0] = ',';
|
|
|
|
split_simvol[1] = '\0';
|
|
|
|
split_simvol[1] = '\0';
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
free(split_simvol);
|
|
|
|
free(split_simvol);
|
|
|
@ -161,7 +162,7 @@ void add_disk_all(){
|
|
|
|
int bool_read = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(add_widgets->chbAddRead));
|
|
|
|
int bool_read = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(add_widgets->chbAddRead));
|
|
|
|
int bool_write = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(add_widgets->chbAddWrite));
|
|
|
|
int bool_write = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(add_widgets->chbAddWrite));
|
|
|
|
if (disk_id >= 0 && obj_add_config.size !=0) {
|
|
|
|
if (disk_id >= 0 && obj_add_config.size !=0) {
|
|
|
|
int index_find = 0;
|
|
|
|
int index_find = -1;
|
|
|
|
for (int index = 0; index < obj_add_config.size; index++) {
|
|
|
|
for (int index = 0; index < obj_add_config.size; index++) {
|
|
|
|
char* disk_cfg = yon_char_new(obj_add_config.disk[index]);
|
|
|
|
char* disk_cfg = yon_char_new(obj_add_config.disk[index]);
|
|
|
|
if (strstr(disk_cfg, disk) != NULL) {
|
|
|
|
if (strstr(disk_cfg, disk) != NULL) {
|
|
|
@ -169,16 +170,26 @@ void add_disk_all(){
|
|
|
|
break;
|
|
|
|
break;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
if (index_find == 0) {
|
|
|
|
if (index_find == -1) {
|
|
|
|
|
|
|
|
// Добавление
|
|
|
|
obj_add_config.disk = yon_char_parsed_append(obj_add_config.disk,&obj_add_config.size, disk);
|
|
|
|
obj_add_config.disk = yon_char_parsed_append(obj_add_config.disk,&obj_add_config.size, disk);
|
|
|
|
obj_add_config.size--;
|
|
|
|
obj_add_config.size--;
|
|
|
|
obj_add_config.i_o_limit_read_size = philos_int_append(obj_add_config.i_o_limit_read_size,&obj_add_config.size,(int)gtk_combo_box_get_active(GTK_COMBO_BOX(add_widgets->cbtAddRead)));
|
|
|
|
obj_add_config.i_o_limit_read_size = philos_int_append(obj_add_config.i_o_limit_read_size,&obj_add_config.size,(int)gtk_combo_box_get_active(GTK_COMBO_BOX(add_widgets->cbtAddRead)));
|
|
|
|
obj_add_config.size--;
|
|
|
|
obj_add_config.size--;
|
|
|
|
obj_add_config.i_o_limit_write_size = philos_int_append(obj_add_config.i_o_limit_write_size,&obj_add_config.size,(int)gtk_combo_box_get_active(GTK_COMBO_BOX(add_widgets->cbtAddWrite)));
|
|
|
|
obj_add_config.i_o_limit_write_size = philos_int_append(obj_add_config.i_o_limit_write_size,&obj_add_config.size,(int)gtk_combo_box_get_active(GTK_COMBO_BOX(add_widgets->cbtAddWrite)));
|
|
|
|
obj_add_config.size--;
|
|
|
|
obj_add_config.size--;
|
|
|
|
obj_add_config.i_o_limit_read = yon_char_parsed_append(obj_add_config.i_o_limit_read,&obj_add_config.size,gtk_combo_box_text_get_active_text(GTK_COMBO_BOX_TEXT(add_widgets->cbtAddRead)));
|
|
|
|
obj_add_config.i_o_limit_read = yon_char_parsed_append(obj_add_config.i_o_limit_read,&obj_add_config.size,yon_char_from_int(gtk_spin_button_get_digits(GTK_SPIN_BUTTON(add_widgets->spinAddRead))));
|
|
|
|
obj_add_config.size--;
|
|
|
|
obj_add_config.size--;
|
|
|
|
obj_add_config.i_o_limit_write = yon_char_parsed_append(obj_add_config.i_o_limit_write,&obj_add_config.size,gtk_combo_box_text_get_active_text(GTK_COMBO_BOX_TEXT(add_widgets->cbtAddWrite)));
|
|
|
|
obj_add_config.i_o_limit_write = yon_char_parsed_append(obj_add_config.i_o_limit_write,&obj_add_config.size,yon_char_from_int(gtk_spin_button_get_digits(GTK_SPIN_BUTTON(add_widgets->spinAddWrite))));
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
else {
|
|
|
|
|
|
|
|
// Редактирование
|
|
|
|
|
|
|
|
obj_add_config.disk[index_find] = yon_char_new(disk);
|
|
|
|
|
|
|
|
obj_add_config.i_o_limit_read_size[index_find] =(int)gtk_combo_box_get_active(GTK_COMBO_BOX(add_widgets->cbtAddRead));
|
|
|
|
|
|
|
|
obj_add_config.i_o_limit_write_size[index_find] = (int)gtk_combo_box_get_active(GTK_COMBO_BOX(add_widgets->cbtAddWrite));
|
|
|
|
|
|
|
|
obj_add_config.i_o_limit_read[index_find] = yon_char_from_int(gtk_spin_button_get_digits(GTK_SPIN_BUTTON(add_widgets->spinAddRead)));
|
|
|
|
|
|
|
|
obj_add_config.i_o_limit_write[index_find] = yon_char_from_int(gtk_spin_button_get_digits(GTK_SPIN_BUTTON(add_widgets->spinAddWrite)));
|
|
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
else {
|
|
|
|
else {
|
|
|
@ -187,13 +198,13 @@ void add_disk_all(){
|
|
|
|
obj_add_config.size--;
|
|
|
|
obj_add_config.size--;
|
|
|
|
obj_add_config.i_o_limit_read_size = philos_int_append(obj_add_config.i_o_limit_read_size,&obj_add_config.size,(int)gtk_combo_box_get_active(GTK_COMBO_BOX(add_widgets->cbtAddRead)));
|
|
|
|
obj_add_config.i_o_limit_read_size = philos_int_append(obj_add_config.i_o_limit_read_size,&obj_add_config.size,(int)gtk_combo_box_get_active(GTK_COMBO_BOX(add_widgets->cbtAddRead)));
|
|
|
|
obj_add_config.size--;
|
|
|
|
obj_add_config.size--;
|
|
|
|
obj_add_config.i_o_limit_read = yon_char_parsed_append(obj_add_config.i_o_limit_read,&obj_add_config.size,gtk_combo_box_text_get_active_text(GTK_COMBO_BOX_TEXT(add_widgets->cbtAddRead)));
|
|
|
|
obj_add_config.i_o_limit_read = yon_char_parsed_append(obj_add_config.i_o_limit_read,&obj_add_config.size,yon_char_from_int(gtk_spin_button_get_digits(GTK_SPIN_BUTTON(add_widgets->spinAddRead))));
|
|
|
|
obj_add_config.size--;
|
|
|
|
obj_add_config.size--;
|
|
|
|
obj_add_config.disk = yon_char_parsed_append(obj_add_config.disk,&obj_add_config.size, disk);
|
|
|
|
obj_add_config.disk = yon_char_parsed_append(obj_add_config.disk,&obj_add_config.size, disk);
|
|
|
|
obj_add_config.size--;
|
|
|
|
obj_add_config.size--;
|
|
|
|
obj_add_config.i_o_limit_write_size = philos_int_append(obj_add_config.i_o_limit_write_size,&obj_add_config.size,(int)gtk_combo_box_get_active(GTK_COMBO_BOX(add_widgets->cbtAddWrite)));
|
|
|
|
obj_add_config.i_o_limit_write_size = philos_int_append(obj_add_config.i_o_limit_write_size,&obj_add_config.size,(int)gtk_combo_box_get_active(GTK_COMBO_BOX(add_widgets->cbtAddWrite)));
|
|
|
|
obj_add_config.size--;
|
|
|
|
obj_add_config.size--;
|
|
|
|
obj_add_config.i_o_limit_write = yon_char_parsed_append(obj_add_config.i_o_limit_write,&obj_add_config.size,gtk_combo_box_text_get_active_text(GTK_COMBO_BOX_TEXT(add_widgets->cbtAddWrite)));
|
|
|
|
obj_add_config.i_o_limit_write = yon_char_parsed_append(obj_add_config.i_o_limit_write,&obj_add_config.size,yon_char_from_int(gtk_spin_button_get_digits(GTK_SPIN_BUTTON(add_widgets->spinAddWrite))));
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
@ -435,9 +446,15 @@ void add_generate_cmd() {
|
|
|
|
split_simvol[0] = ',';
|
|
|
|
split_simvol[0] = ',';
|
|
|
|
split_simvol[1] = '\0';
|
|
|
|
split_simvol[1] = '\0';
|
|
|
|
}
|
|
|
|
}
|
|
|
|
str_cmd = pard_array_edit_cmd(str_cmd, "IOReadBandwidthMax=", obj_add_config.i_o_limit_read, obj_add_config.i_o_limit_read_size);
|
|
|
|
if (gtk_combo_box_get_active(GTK_COMBO_BOX(add_widgets->cbtAddDevice))!=-1) {
|
|
|
|
|
|
|
|
if (obj_add_config.size!=0) {
|
|
|
|
str_cmd = pard_array_edit_cmd(str_cmd, "IOWriteBandwidthMax=", obj_add_config.i_o_limit_write, obj_add_config.i_o_limit_write_size);
|
|
|
|
str_cmd = pard_array_edit_cmd(str_cmd, "IOReadBandwidthMax=", obj_add_config.i_o_limit_read, obj_add_config.i_o_limit_read_size);
|
|
|
|
|
|
|
|
str_cmd = pard_array_edit_cmd(str_cmd, "IOWriteBandwidthMax=", obj_add_config.i_o_limit_write, obj_add_config.i_o_limit_write_size);
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
gtk_entry_set_text(GTK_ENTRY(add_widgets->entryAddCmd), str_cmd);
|
|
|
|
gtk_entry_set_text(GTK_ENTRY(add_widgets->entryAddCmd), str_cmd);
|
|
|
|
free(split_simvol);
|
|
|
|
free(split_simvol);
|
|
|
|
}
|
|
|
|
}
|
|
|
|