|
|
|
@ -1,4 +1,5 @@
|
|
|
|
|
#include "view_add.h"
|
|
|
|
|
#include "ubl-utils.h"
|
|
|
|
|
|
|
|
|
|
add_window *add_widgets = NULL;
|
|
|
|
|
add_config obj_add_config;
|
|
|
|
@ -129,6 +130,8 @@ void add_del_disk() {
|
|
|
|
|
|
|
|
|
|
char* pard_array_edit_cmd(char* cmd, char* key, char** array_io, int* array_io_pow_size) {
|
|
|
|
|
char* split_simvol = g_malloc0(sizeof(char)*2);
|
|
|
|
|
int flag_format = 0;
|
|
|
|
|
char* cmd_old = yon_char_new(cmd);
|
|
|
|
|
if (obj_add_config.disk && obj_add_config.size && array_io && array_io_pow_size) {
|
|
|
|
|
int index_find = 0;
|
|
|
|
|
for (int index = 0; index < obj_add_config.size; index++) {
|
|
|
|
@ -142,14 +145,24 @@ char* pard_array_edit_cmd(char* cmd, char* key, char** array_io, int* array_io_p
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
if (array_io_pow_size[index] != -1) {
|
|
|
|
|
cmd = yon_char_unite(cmd, split_simvol, obj_add_config.disk[index], philos_format_cfg_str_size_memory(" ", array_io[index], array_io_pow_size[index]), NULL);
|
|
|
|
|
cmd = yon_char_unite(cmd,
|
|
|
|
|
split_simvol,
|
|
|
|
|
obj_add_config.disk[index],
|
|
|
|
|
philos_format_cfg_str_size_memory(" ", array_io[index], array_io_pow_size[index]), NULL);
|
|
|
|
|
split_simvol[0] = ',';
|
|
|
|
|
split_simvol[1] = '\0';
|
|
|
|
|
flag_format = 1;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
free(split_simvol);
|
|
|
|
|
if (flag_format) {
|
|
|
|
|
return cmd;
|
|
|
|
|
}
|
|
|
|
|
else {
|
|
|
|
|
return cmd_old;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
void add_disk_all(){
|
|
|
|
@ -169,44 +182,90 @@ void add_disk_all(){
|
|
|
|
|
}
|
|
|
|
|
if (index_find == -1) {
|
|
|
|
|
// Добавление
|
|
|
|
|
puts("111");
|
|
|
|
|
obj_add_config.disk = yon_char_parsed_append(obj_add_config.disk,&obj_add_config.size, disk);
|
|
|
|
|
obj_add_config.size--;
|
|
|
|
|
if (gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(add_widgets->chbAddRead))) {
|
|
|
|
|
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.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.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--;
|
|
|
|
|
}
|
|
|
|
|
else {
|
|
|
|
|
obj_add_config.i_o_limit_write_size = philos_int_append(obj_add_config.i_o_limit_write_size,&obj_add_config.size,-1);
|
|
|
|
|
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,"-");
|
|
|
|
|
obj_add_config.size--;
|
|
|
|
|
}
|
|
|
|
|
if (gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(add_widgets->chbAddWrite))) {
|
|
|
|
|
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.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))));
|
|
|
|
|
obj_add_config.size--;
|
|
|
|
|
}
|
|
|
|
|
else {
|
|
|
|
|
obj_add_config.i_o_limit_write_size = philos_int_append(obj_add_config.i_o_limit_write_size,&obj_add_config.size,-1);
|
|
|
|
|
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,"-");
|
|
|
|
|
obj_add_config.size--;
|
|
|
|
|
}
|
|
|
|
|
obj_add_config.size++;
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
else {
|
|
|
|
|
// Редактирование
|
|
|
|
|
puts("2222");
|
|
|
|
|
obj_add_config.disk[index_find] = yon_char_new(disk);
|
|
|
|
|
//obj_add_config.disk[index_find] = yon_char_new(disk);
|
|
|
|
|
if (gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(add_widgets->chbAddRead))) {
|
|
|
|
|
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_value_as_int(GTK_SPIN_BUTTON(add_widgets->spinAddRead)));
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
else {
|
|
|
|
|
obj_add_config.i_o_limit_read_size[index_find] = -1;
|
|
|
|
|
obj_add_config.i_o_limit_read[index_find] = "-";
|
|
|
|
|
}
|
|
|
|
|
if (gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(add_widgets->chbAddWrite))) {
|
|
|
|
|
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_write[index_find] = yon_char_from_int(gtk_spin_button_get_value_as_int(GTK_SPIN_BUTTON(add_widgets->spinAddWrite)));
|
|
|
|
|
puts(yon_char_from_int(gtk_spin_button_get_value_as_int(GTK_SPIN_BUTTON(add_widgets->spinAddRead))));
|
|
|
|
|
}
|
|
|
|
|
else {
|
|
|
|
|
obj_add_config.i_o_limit_write_size[index_find] = -1;
|
|
|
|
|
obj_add_config.i_o_limit_write[index_find] = "-";
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
else {
|
|
|
|
|
if (bool_read == 1 || bool_write == 1) {
|
|
|
|
|
puts("3333");
|
|
|
|
|
obj_add_config.disk = yon_char_parsed_append(obj_add_config.disk,&obj_add_config.size, disk);
|
|
|
|
|
obj_add_config.size--;
|
|
|
|
|
if (gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(add_widgets->chbAddRead))) {
|
|
|
|
|
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.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.disk = yon_char_parsed_append(obj_add_config.disk,&obj_add_config.size, disk);
|
|
|
|
|
}
|
|
|
|
|
else {
|
|
|
|
|
obj_add_config.i_o_limit_write_size = philos_int_append(obj_add_config.i_o_limit_write_size,&obj_add_config.size,-1);
|
|
|
|
|
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,"-");
|
|
|
|
|
obj_add_config.size--;
|
|
|
|
|
}
|
|
|
|
|
if (gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(add_widgets->chbAddWrite))) {
|
|
|
|
|
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.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))));
|
|
|
|
|
obj_add_config.size--;
|
|
|
|
|
}
|
|
|
|
|
else {
|
|
|
|
|
obj_add_config.i_o_limit_write_size = philos_int_append(obj_add_config.i_o_limit_write_size,&obj_add_config.size,-1);
|
|
|
|
|
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,"-");
|
|
|
|
|
obj_add_config.size--;
|
|
|
|
|
}
|
|
|
|
|
obj_add_config.size++;
|
|
|
|
|
}
|
|
|
|
|
puts("44444");
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
@ -449,8 +508,11 @@ void add_generate_cmd() {
|
|
|
|
|
}
|
|
|
|
|
if (gtk_combo_box_get_active(GTK_COMBO_BOX(add_widgets->cbtAddDevice))!=-1) {
|
|
|
|
|
if (obj_add_config.size!=0) {
|
|
|
|
|
puts(str_cmd);
|
|
|
|
|
str_cmd = pard_array_edit_cmd(str_cmd, "IOReadBandwidthMax=", obj_add_config.i_o_limit_read, obj_add_config.i_o_limit_read_size);
|
|
|
|
|
puts(str_cmd);
|
|
|
|
|
str_cmd = pard_array_edit_cmd(str_cmd, "IOWriteBandwidthMax=", obj_add_config.i_o_limit_write, obj_add_config.i_o_limit_write_size);
|
|
|
|
|
puts(str_cmd);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|