Реализованно получение списка слайсов и сервисов

pull/4/head
Igor Belitskiy 2 years ago
parent fedc0619c6
commit 111281f146

@ -237,10 +237,12 @@ void main_update_information() {
philos_array_string_remove_char(&fill_cmb_2, "\n", size); philos_array_string_remove_char(&fill_cmb_2, "\n", size);
} }
else if (menu_id == 2) { else if (menu_id == 2) {
fill_cmb_2 = philos_pars_terminal_systemd_cgls(CMD_GET_SLICE_SERVICE, ".service", &size);
philos_array_string_remove_char(&fill_cmb_2, "\n", size);
} }
else if (menu_id == 3) { else if (menu_id == 3) {
fill_cmb_2 = philos_pars_terminal_systemd_cgls(CMD_GET_SLICE_SERVICE, ".slice", &size);
philos_array_string_remove_char(&fill_cmb_2, "\n", size);
} }
if (menu_id >= 0) { if (menu_id >= 0) {
gtk_combo_box_text_remove_all(GTK_COMBO_BOX_TEXT(widgets->cbtMainInfoLevel2)); gtk_combo_box_text_remove_all(GTK_COMBO_BOX_TEXT(widgets->cbtMainInfoLevel2));
@ -679,7 +681,6 @@ void main_event(main_window *widgets) {
*/ */
} }
void wrapper_add_show(GtkWidget *self) { void wrapper_add_show(GtkWidget *self) {
add_get_cmd_group(CMD_GET_GROUP);
add_show(NULL, glade_path); add_show(NULL, glade_path);
g_signal_connect(G_OBJECT(get_widget_add()->btnSaveAddSave), "clicked", G_CALLBACK(main_add_btn_save), NULL); g_signal_connect(G_OBJECT(get_widget_add()->btnSaveAddSave), "clicked", G_CALLBACK(main_add_btn_save), NULL);
} }
@ -827,10 +828,6 @@ char* save_format_value(int index) {
return value; return value;
} }
void pars_terminal() {
}
int check_save(dictionary* load_cfg) { int check_save(dictionary* load_cfg) {
dictionary* ptr_dict_gui = NULL; dictionary* ptr_dict_gui = NULL;
dictionary* ptr_dict_load = NULL; dictionary* ptr_dict_load = NULL;
@ -995,6 +992,8 @@ int main(int argc, char *argv[]){
exit(0); exit(0);
} }
} }
add_get_cmd_group(CMD_GET_GROUP);
add_get_systemd_cgls(CMD_GET_SLICE_SERVICE);
gtk_init(&argc,&argv); gtk_init(&argc,&argv);
device_disk_parsed(); device_disk_parsed();
main_window *widgets = setup_window(); main_window *widgets = setup_window();

@ -36,9 +36,7 @@
#define CMD_LOAD_SYSTEM "ubconfig --default --source system get security" #define CMD_LOAD_SYSTEM "ubconfig --default --source system get security"
#define CMD_SAVE_GLOBAL "ubconfig --default --source global set security" #define CMD_SAVE_GLOBAL "ubconfig --default --source global set security"
#define CMD_SAVE_SYSTEM "ubconfig --default --source system set security" #define CMD_SAVE_SYSTEM "ubconfig --default --source system set security"
#define CMD_GET_SLICE " |grep -E -A 1 \"/sys/|^[a-zA-Z0-9]{1,}\"|grep -oE \"\\\"[\\\"0-9a-zA-Z :,./=]{1,}|/sys/[-/a-zA-z0-9:.]{1,}|^[a-zA-Z0-9]{0,}\"" #define CMD_GET_SLICE_SERVICE "systemd-cgls --no-page"
#define CMD_GET_SERVICE " |grep -E -A 1 \"/sys/|^[a-zA-Z0-9]{1,}\"|grep -oE \"\\\"[\\\"0-9a-zA-Z :,./=]{1,}|/sys/[-/a-zA-z0-9:.]{1,}|^[a-zA-Z0-9]{0,}\""
#define CMD_GET_GROUP "cut -d: -f1 /etc/group"
typedef char* string; typedef char* string;
string version_application = ""; string version_application = "";
@ -199,3 +197,4 @@ void wrapper_system_save();
void wrapper_global_save(); void wrapper_global_save();
void wrapper_all_save(); void wrapper_all_save();
void template_format_str_save(dictionary* load_cfg, char* source_cmd); void template_format_str_save(dictionary* load_cfg, char* source_cmd);

@ -982,6 +982,22 @@ char *yon_config_make_save_parameter_with_multiple_arguments(char *parameter_str
// terminal-using functions // terminal-using functions
char** philos_pars_terminal_systemd_cgls(char* CMD_GET_SLICE_SERVICE, char* str_find, int* size_array_data) {
int size = 0;
char** terminal_print = yon_config_load(CMD_GET_SLICE_SERVICE, &size);
char** array_data = NULL;
for (int index = 0; index < size; index++) {
if (strstr(terminal_print[index], str_find) != NULL) {
yon_char_divide_search(terminal_print[index],"",-1);
terminal_print[index] = yon_char_divide_search(terminal_print[index]," ", -1);
yon_char_divide(terminal_print[index],1);
array_data = yon_char_parsed_append(array_data, size_array_data, terminal_print[index]);
}
}
return array_data;
}
int yon_launch_app(char *name) int yon_launch_app(char *name)
{ {
char *path = name; char *path = name;

@ -186,6 +186,8 @@ char *yon_config_make_save_parameter_with_multiple_arguments(char *parameter_str
// terminal-using functions // terminal-using functions
char** philos_pars_terminal_systemd_cgls(char* CMD_GET_SLICE_SERVICE, char* str_find, int* size_array_data);
int yon_launch_app(char *name); int yon_launch_app(char *name);
int yon_launch_app_with_arguments(char *name, char *args); int yon_launch_app_with_arguments(char *name, char *args);

@ -87,6 +87,9 @@ void add_event(add_window *widgets) {
void add_get_cmd_group(char* cmd_get_group) { void add_get_cmd_group(char* cmd_get_group) {
CMD_GET_GROUP = cmd_get_group; CMD_GET_GROUP = cmd_get_group;
} }
void add_get_systemd_cgls(char* cmd_systemd_cgls) {
CMD_GET_SLICE_SERVICE = cmd_systemd_cgls;
}
void add_destroy(GtkWidget *self) { void add_destroy(GtkWidget *self) {
add_widgets = NULL; add_widgets = NULL;
@ -220,10 +223,12 @@ void add_update_combo_box() {
philos_array_string_remove_char(&fill_cmb_2, "\n", size); philos_array_string_remove_char(&fill_cmb_2, "\n", size);
} }
else if (menu_id == 2) { else if (menu_id == 2) {
fill_cmb_2 = philos_pars_terminal_systemd_cgls(CMD_GET_SLICE_SERVICE, ".service", &size);
philos_array_string_remove_char(&fill_cmb_2, "\n", size);
} }
else if (menu_id == 3) { else if (menu_id == 3) {
fill_cmb_2 = philos_pars_terminal_systemd_cgls(CMD_GET_SLICE_SERVICE, ".slice", &size);
philos_array_string_remove_char(&fill_cmb_2, "\n", size);
} }
if (menu_id >= 0) { if (menu_id >= 0) {
gtk_combo_box_text_remove_all(GTK_COMBO_BOX_TEXT(add_widgets->cbxAddQuotaLevel2)); gtk_combo_box_text_remove_all(GTK_COMBO_BOX_TEXT(add_widgets->cbxAddQuotaLevel2));

@ -14,6 +14,7 @@
#include "my_device.h" #include "my_device.h"
static char* CMD_GET_GROUP; static char* CMD_GET_GROUP;
static char* CMD_GET_SLICE_SERVICE;
// Переменные // Переменные
typedef struct { typedef struct {
@ -81,4 +82,5 @@ int add_get_quota_object_size();
void add_get_cmd_group(char* cmd_get_group); void add_get_cmd_group(char* cmd_get_group);
char* add_get_select_device_to_level_2(); char* add_get_select_device_to_level_2();
void add_generate_cmd(); void add_generate_cmd();
void add_get_systemd_cgls(char* cmd_systemd_cgls);
#endif #endif
Loading…
Cancel
Save