diff --git a/source/ubl-settings-diskquota.cc b/source/ubl-settings-diskquota.cc index e86f23d..bd4a7d1 100755 --- a/source/ubl-settings-diskquota.cc +++ b/source/ubl-settings-diskquota.cc @@ -32,13 +32,7 @@ void MainWindow::settings() { this->filling_device_combo_box_template(usersProjectCombo, map_device); this->init_tree_view(); this->init_spin_all(); - - obj_quotas_sys.set_map_gui(map_gui_cfg); - obj_quotas_ubconfig.set_map_gui(map_gui_cfg); - if (geteuid() == 0) { - this->load_system_cfg(); - this->load_global_cfg(); this->event(); } else { @@ -59,63 +53,48 @@ void MainWindow::init_spin_all() { generalGroupsSizeWeeksSpi->set_range(0, 52); generalGroupsSizeWeeksSpi->set_increments(1.0, 1.0); generalGroupsSizeWeeksSpi->set_value(0); - generalGroupsFileWeeksSpin->set_range(0, 52); generalGroupsFileWeeksSpin->set_increments(1.0, 1.0); generalGroupsFileWeeksSpin->set_value(0); - generalUsersSizWeeksSpin->set_range(0, 52); generalUsersSizWeeksSpin->set_increments(1.0, 1.0); generalUsersSizWeeksSpin->set_value(0); - generalUsersFileWeeksSpin->set_range(0, 52); generalUsersFileWeeksSpin->set_increments(1.0, 1.0); generalUsersFileWeeksSpin->set_value(0); - generalGroupsSizeDaySpin->set_range(0, 31); generalGroupsSizeDaySpin->set_increments(1.0, 1.0); generalGroupsSizeDaySpin->set_value(0); - generalGroupsFilesDaySpin->set_range(0, 31); generalGroupsFilesDaySpin->set_increments(1.0, 1.0); generalGroupsFilesDaySpin->set_value(0); - generalUsersSizeDaySpin->set_range(0, 31); generalUsersSizeDaySpin->set_increments(1.0, 1.0); generalUsersSizeDaySpin->set_value(0); - generalUsersFilesDaySpin->set_range(0, 31); generalUsersFilesDaySpin->set_increments(1.0, 1.0); generalUsersFilesDaySpin->set_value(0); - generalGroupsSizeHourSpin->set_range(0, 23); generalGroupsSizeHourSpin->set_increments(1.0, 1.0); generalGroupsSizeHourSpin->set_value(0); - generalGroupsFilesHourSpin->set_range(0, 23); generalGroupsFilesHourSpin->set_increments(1.0, 1.0); generalGroupsFilesHourSpin->set_value(0); - generalUsersSizeHourSpin->set_range(0, 23); generalUsersSizeHourSpin->set_increments(1.0, 1.0); generalUsersSizeHourSpin->set_value(0); - generalUsersFilesHoursSpin->set_range(0, 23); generalUsersFilesHoursSpin->set_increments(1.0, 1.0); generalUsersFilesHoursSpin->set_value(0); - generalGroupsSizeMinuteSpin->set_range(0, 59); generalGroupsSizeMinuteSpin->set_increments(1.0, 1.0); generalGroupsSizeMinuteSpin->set_value(0); - generalGroupsFilesMinuteSpin->set_range(0, 59); generalGroupsFilesMinuteSpin->set_increments(1.0, 1.0); generalGroupsFilesMinuteSpin->set_value(0); - generalUsersSizeMinuteSpin->set_range(0, 59); generalUsersSizeMinuteSpin->set_increments(1.0, 1.0); generalUsersSizeMinuteSpin->set_value(0); - generalUsersFilesMinutesSpin->set_range(0, 59); generalUsersFilesMinutesSpin->set_increments(1.0, 1.0); generalUsersFilesMinutesSpin->set_value(0); @@ -184,7 +163,6 @@ void MainWindow::lacalization() { groupsDeviceLabel->set_label(str_device); usersDeviceLabel->set_label(str_device); headLabel->set_label(str_lb_head); - btnLoadGlob->set_label(load_global); btnLoadLocal->set_label(load_local); btnAbout->set_label(str_about_1); @@ -198,6 +176,57 @@ void MainWindow::lacalization() { } +void MainWindow::info_warning_error(int mess, int error_save, int error_load) { + if (error_save > 0 || error_load > 0) { + info_status_app(info_box_error_css); + imgInfo->set_from_icon_name(icon_warning, Gtk::ICON_SIZE_MENU); + string mess_error = ""; + if (mess == 0) { + mess_error = string(local_read_error) + str_cmd_error; + lblWarning->set_text(mess_error); + } + else if (mess == 1) { + mess_error = string(global_read_error) + str_cmd_error; + lblWarning->set_text(mess_error); + } + else if (mess == 2) { + mess_error = string(local_write_error) + str_cmd_error; + lblWarning->set_text(mess_error); + } + else if (mess == 3) { + mess_error = string(global_write_error) + str_cmd_error; + lblWarning->set_text(mess_error); + } + else if (mess == 4) { + mess_error = string(error_save_all) + str_cmd_error; + lblWarning->set_text(mess_error); + } + str_cmd_error = ""; + } + else { + info_status_app(info_box_ok_css); + imgInfo->set_from_icon_name(icon_checked, Gtk::ICON_SIZE_MENU); + if (mess == 0) { + lblWarning->set_text(local_load_ok); + } + else if (mess == 1) { + lblWarning->set_text(global_load_ok); + } + else if (mess == 2) { + lblWarning->set_text(local_ok_written); + } + else if (mess == 3) { + lblWarning->set_text(global_ok_written); + } + else if (mess == 4) { + lblWarning->set_text(successfully_save_all); + } + else if (mess == 5) { + lblWarning->set_text(nothing_save); + } + } +} + void MainWindow::filling_device_combo_box_template(Gtk::ComboBoxText *combo_box, map_str_str &map_device) { if (map_device.size() != 0) { for (const auto &device : map_device) { @@ -230,12 +259,14 @@ void MainWindow::flag_block_gui() { } } +/* void MainWindow::entry_combo_box_temp(Gtk::ComboBoxText *combo_box, Gtk::Label *label) { string text = combo_box->get_active_text(); if (map_device.find(text) != map_device.end()){ label->set_text(map_device[text]); } } +*/ void MainWindow::add_CSS() { Glib::RefPtr cssProvider = Gtk::CssProvider::create(); @@ -255,21 +286,6 @@ void MainWindow::add_CSS() { headLabel_css->add_class("textHead"); } -/* -void init_treeview_user() { - -} - -void MainWindow::view_add_data(Gtk::TreeModel::Row &row, Glib::RefPtr list_store_m , std::array, 5> &arr_view , size_t index) { - row = *(list_store_m->append()); - bool flag_chb = false; - string name = arr_view[0][index]; - row[m_columns.check_button] = flag_chb; - row[m_columns.name] = _(name.c_str()); - row[m_columns.description] = _(arr_view[1][index].c_str()); -} -*/ - void MainWindow::get_builder() { builder->set_translation_domain(path_app); builder->get_widget("headerTopic", headerTopic); @@ -323,7 +339,6 @@ void MainWindow::get_builder() { builder->get_widget("GroupsTabLabel", GroupsTabLabel); builder->get_widget("groupsQuotasTree", groupsQuotasTree); builder->get_widget("usersQuotasTree", usersQuotasTree); - builder->get_widget("usersDeviceCombo", usersDeviceCombo); builder->get_widget("GroupsTabLabel", GroupsTabLabel); builder->get_widget("generalTabLabel", generalTabLabel); @@ -344,7 +359,6 @@ void MainWindow::get_builder() { builder->get_widget("generalUsersFilesHoursSpin", generalUsersFilesHoursSpin); builder->get_widget("generalUsersSizeMinuteSpin", generalUsersSizeMinuteSpin); builder->get_widget("generalUsersFilesMinutesSpin", generalUsersFilesMinutesSpin); - builder->get_widget("GeneralQuotasTree", GeneralQuotasTree); builder->get_widget("ProjectQuotasTree", ProjectQuotasTree); builder->get_widget("ProjectTabLabel", ProjectTabLabel); @@ -362,7 +376,6 @@ void MainWindow::get_builder() { builder->get_widget("btnEditProject", btnEditProject); builder->get_widget("btnEditUsers", btnEditUsers); builder->get_widget("btnEditGroups", btnEditGroups); - builder->get_widget("usersProjectCombo", usersProjectCombo); } @@ -370,17 +383,14 @@ void MainWindow::event() { btnFilterGroups->signal_clicked().connect([&]() {this->filters_show();}); btnFilterUsers->signal_clicked().connect([&]() {this->filters_show();}); btnFilterProject->signal_clicked().connect([&]() {this->filters_show();}); - - btnLoadGlob->signal_activate().connect([&]() {this->load_global_cfg();}); - btnLoadLocal->signal_activate().connect([&]() {this->load_system_cfg();}); + //btnLoadGlob->signal_activate().connect([&]() {this->load_global_cfg();}); + //btnLoadLocal->signal_activate().connect([&]() {this->load_system_cfg();}); //btnSynopsis->signal_activate().connect([&]() {this->synopsis_show();}); //btnAbout->signal_activate().connect([&]() {aboutWindows->show();}); - btnSaveLocalGlob->signal_activate().connect([&]() {this->wrapper_save_all_cfg();}); - btnSaveGlob->signal_activate().connect([&]() {this->wrapper_save_global_cfg();}); - btnSaveLocal->signal_activate().connect([&]() {this->wrapper_save_system_cfg();}); + //btnSaveLocalGlob->signal_activate().connect([&]() {this->wrapper_save_all_cfg();}); + //btnSaveGlob->signal_activate().connect([&]() {this->wrapper_save_global_cfg();}); + //btnSaveLocal->signal_activate().connect([&]() {this->wrapper_save_system_cfg();}); chbMangSystemFile->signal_toggled().connect([&]() {this->mode_switch_quota();}); - - // QuotasEditWindow->show(); btnDelGroups->signal_clicked().connect( sigc::bind*, const Gtk::TreeModel::iterator*, bool&> (sigc::mem_fun( *this, &MainWindow::remove_template), &list_store_groups, &iter_groups, flag_validate_del_groups)); @@ -401,14 +411,6 @@ void MainWindow::event() { &MainWindow::set_add_tv_g_u_p), row, list_store_groups, obj_tv_g_u_p)); } - - - - -void MainWindow::del_columns() { - //std::vector vec_columns = tree_view_select->get_columns(); -} - void MainWindow::remove_template(Glib::RefPtr* list_store, const Gtk::TreeModel::iterator* iter, bool& flag_validate_del) { if (flag_validate_del && (*list_store)->iter_is_valid(*(iter))) { Gtk::TreeModel::Row row = *(*iter); @@ -453,11 +455,6 @@ void MainWindow::mode_switch_quota() { void MainWindow::filters_show() { } -void MainWindow::set_data_cfg() { - // TODO: - // Написать функцию -} - void MainWindow::info_status_app(string stule) { Glib::RefPtr boxInfo = boxInfoError->get_style_context(); @@ -466,81 +463,6 @@ void MainWindow::info_status_app(string stule) { boxInfo->add_class(stule); } -void MainWindow::init_dict(string flag_load) { - std::map map_gui_cfg_n; - map_gui_cfg_n[""] = ""; - - map_gui_cfg = map_gui_cfg_n; - if (flag_load == "global") { - map_global_cfg = map_gui_cfg_n; - } - else if (flag_load == "system") { - map_system_cfg = map_gui_cfg_n; - } -} - -bool MainWindow::save_template(string section, string flag_save) { - bool flag_no_save = true; - obj_save.set_data_local(map_system_cfg); - obj_save.set_data_global(map_global_cfg); - obj_save.set_data_gui(map_gui_cfg); - obj_save.set_vec_params(vec_param_names); - obj_save.save(section, flag_save); - vector obj_vec_error = obj_save.get_error(); - flag_no_save = obj_save.get_state_save(); - return flag_no_save; -} - -void MainWindow::wrapper_save_all_cfg() { - this->set_data_cfg(); - bool _flag_save_global = this->save_template("boot", "global");; - bool _flag_save_local = this->save_template("boot", "system"); - if (_flag_save_global && _flag_save_local) { - this->info_warning_error(5); - } - else { - info_warning_error(4); - } - map_global_cfg = map_gui_cfg; - map_system_cfg = map_gui_cfg; - -} - -void MainWindow::load_global_cfg() { - this->load_template(&map_global_cfg, global_load); - info_warning_error(1); - map_gui_cfg = map_global_cfg; -} - -void MainWindow::load_system_cfg() { - this->load_template(&map_system_cfg, system_load); - info_warning_error(0); - map_gui_cfg = map_system_cfg; -} - -void MainWindow::wrapper_save_global_cfg() { - this->set_data_cfg(); - if (this->save_template("boot", "global")) { - this->info_warning_error(5); - } - else { - info_warning_error(3); - } - map_global_cfg = map_gui_cfg; - -} - -void MainWindow::wrapper_save_system_cfg() { - this->set_data_cfg(); - if (this->save_template("boot", "system")) { - this->info_warning_error(5); - } - else { - info_warning_error(2); - } - map_system_cfg = map_gui_cfg; -} - void MainWindow::init_work_tv_g_u_p() { groupsQuotasTree->remove_all_columns(); ProjectQuotasTree->remove_all_columns(); @@ -565,81 +487,16 @@ void MainWindow::init_work_tv_g_u_p() { this->view_add_columns(*usersQuotasTree); } -void MainWindow::load_template(map_str_str* map_temp, string cmd) { - this->init_work_tv_g_u_p(); - if (cmd.find("system") != string::npos) { - this->init_dict("system"); - } - else { - this->init_dict("global"); - } - *map_temp = obj_load.get_load_data(*map_temp, cmd); -} - void MainWindow::remove_line_template(const Gtk::TreeModel::Path&, const Gtk::TreeModel::iterator& iter, Gtk::TreeModel::iterator& iter_del, bool& flag_del) { iter_del = iter; flag_del = true; } -void MainWindow::info_warning_error(int mess) { - if (obj_load.get_count_error() > 0 || obj_save.get_count_error() > 0) { - info_status_app(info_box_error_css); - imgInfo->set_from_icon_name(icon_warning, Gtk::ICON_SIZE_MENU); - string mess_error = ""; - if (mess == 0) { - mess_error = string(local_read_error) + str_cmd_error; - lblWarning->set_text(mess_error); - } - else if (mess == 1) { - mess_error = string(global_read_error) + str_cmd_error; - lblWarning->set_text(mess_error); - } - else if (mess == 2) { - mess_error = string(local_write_error) + str_cmd_error; - lblWarning->set_text(mess_error); - } - else if (mess == 3) { - mess_error = string(global_write_error) + str_cmd_error; - lblWarning->set_text(mess_error); - } - else if (mess == 4) { - mess_error = string(error_save_all) + str_cmd_error; - lblWarning->set_text(mess_error); - } - str_cmd_error = ""; - obj_load.set_count_error(0); - obj_save.set_count_error(0); - } - else { - info_status_app(info_box_ok_css); - imgInfo->set_from_icon_name(icon_checked, Gtk::ICON_SIZE_MENU); - if (mess == 0) { - lblWarning->set_text(local_load_ok); - } - else if (mess == 1) { - lblWarning->set_text(global_load_ok); - } - else if (mess == 2) { - lblWarning->set_text(local_ok_written); - } - else if (mess == 3) { - lblWarning->set_text(global_ok_written); - } - else if (mess == 4) { - lblWarning->set_text(successfully_save_all); - } - else if (mess == 5) { - lblWarning->set_text(nothing_save); - } - } -} - MainWindow::~MainWindow() {} void help() { string version = string(str_version) + version_application + "\n"; cout << version.c_str(); cout << str_help_h; - } diff --git a/source/ubl-settings-diskquota.h b/source/ubl-settings-diskquota.h index 7a5a588..9262d17 100644 --- a/source/ubl-settings-diskquota.h +++ b/source/ubl-settings-diskquota.h @@ -2,9 +2,7 @@ #define UBL_SETTINGS_QUOTAS_H #include "util.h" -#include "load.h" -#include "save.h" -#include "my_process.h" + #include "my_type.h" #include "my_device.h" #include "system_quotas.h" @@ -134,12 +132,7 @@ #define path_resources "/usr/share/ubl-settings-diskquota" #define path_img_head_background "/usr/share/ubl-settings-diskquota/images/logo-background.png" #define no_recognized _("Argument not recognized\n") -#define global_load "ubconfig --default --source global --noexecute get boot" -#define system_load "ubconfig --default --source system --noexecute get boot" -#define global_save "ubconfig --target global --noexecute set boot " -#define system_save "ubconfig --target system --noexecute set boot " -#define global_remove "ubconfig --target global --noexecute set/remove boot " -#define system_remove "ubconfig --target system --noexecute set/remove boot " + using namespace std; extern string version_application; @@ -289,25 +282,14 @@ class MainWindow : public Gtk::ApplicationWindow { Gtk::Button* btnEditProject; Gtk::Button* btnEditUsers; Gtk::Button* btnEditGroups; - - - #ifdef WEBKIT_FOUND - Gtk::Window *wndWeb; - Gtk::Widget *three; - WebKitWebView *one; - #endif public: - Lib_save::Save obj_save = Lib_save::Save(); - Lib_Load::Load obj_load = Lib_Load::Load(); - Devices::Parted obj_device = Devices::Parted(); - Quotas_sys::Quotas_sys obj_quotas_sys = Quotas_sys::Quotas_sys(); - Quotas_ubconfig::Quotas_ubconfig obj_quotas_ubconfig = Quotas_ubconfig::Quotas_ubconfig(); - My_Process::My_Process_system obj_process_system = My_Process::My_Process_system(); - My_Process::My_Process_call obj_process_call = My_Process::My_Process_call(); map_str_str map_gui_cfg; map_str_str map_global_cfg; map_str_str map_system_cfg; + Devices::Parted obj_device = Devices::Parted(); + Quotas_sys::Quotas_sys obj_quotas_sys = Quotas_sys::Quotas_sys(); + Quotas_ubconfig::Quotas_ubconfig obj_quotas_ubconfig = Quotas_ubconfig::Quotas_ubconfig(); vector vec_param_names; map_str_str map_device; string str_cmd_error; @@ -336,6 +318,7 @@ class MainWindow : public Gtk::ApplicationWindow { void add_CSS(); void get_builder(); void event(); + void info_warning_error(int mess, int error_save, int error_load); void init_work_tv_g_u_p(); void remove_line_template(const Gtk::TreeModel::Path&, const Gtk::TreeModel::iterator& iter, Gtk::TreeModel::iterator& iter_del, bool& flag_del); void remove_template(Glib::RefPtr* list_store, const Gtk::TreeModel::iterator* iter, bool& flag_validate_del); @@ -346,29 +329,17 @@ class MainWindow : public Gtk::ApplicationWindow { void init_tree_view(); void del_columns(); void set_add_tv_g_u_p(Gtk::TreeModel::Row &row, Glib::RefPtr list_store, struct tv_g_u_p obj_tv_g_u_p); - void load_template(map_str_str* map_temp, string cmd); - void info_warning_error(int mess); void off_quota_system(Gtk::ComboBoxText* combo_box, string quota_type); - void wrapper_save_system_cfg(); - void wrapper_save_global_cfg(); - void wrapper_save_all_cfg(); - void init_dict(string flag_load); - void set_data_cfg(); void mode_switch_quota(); void save_quotegroupSaveButton(); + void filling_device_combo_box_template(Gtk::ComboBoxText *combo_box, map_str_str &map_device); void wrapper_settings_quotas_temp(string save_user_or_group); void off_quota_ubconfig(Gtk::ComboBoxText* combo_box, string quota_type); void init_spin_all(); + void view_add_columns(Gtk::TreeView &treeView); void format_cmd_quotas_system(struct struct_quotas& _struct_quota); void format_cmd_quotas_ubconfig(struct struct_quotas& _struct_quota); - void load_global_cfg(); - void load_system_cfg(); struct partition_cmd wrapper_settings_quotas(); - void filling_device_combo_box_template(Gtk::ComboBoxText *combo_box, map_str_str &map_device); - bool save_template(string section, string flag_save); - void view_add_columns(Gtk::TreeView &treeView); - - }; void help(); diff --git a/source/view_open_browser.h b/source/view_open_browser.h index 393bf5b..2611b47 100644 --- a/source/view_open_browser.h +++ b/source/view_open_browser.h @@ -21,6 +21,11 @@ private: Gtk::Label *lblhelpText; Gtk::Label *lblhelpHeader; Gtk::Label *lblHeadeWndWeb; + #ifdef WEBKIT_FOUND + Gtk::Window *wndWeb; + Gtk::Widget *three; + WebKitWebView *one; + #endif public: view_open_browser(/* args */); ~view_open_browser(); diff --git a/source/wrapper_load_save.cc b/source/wrapper_load_save.cc new file mode 100644 index 0000000..c8dc36d --- /dev/null +++ b/source/wrapper_load_save.cc @@ -0,0 +1,119 @@ +#include "wrapper_load_save.h" + + + +wrapper_load::wrapper_load(/* args */) { + obj_quotas_sys.set_map_gui(map_gui_cfg); + obj_quotas_ubconfig.set_map_gui(map_gui_cfg); +} + +wrapper_load::~wrapper_load() +{ +} + +void wrapper_load::load_global_cfg() { + this->load_template(&map_global_cfg, global_load); + info_warning_error(1); + map_gui_cfg = map_global_cfg; +} + +void wrapper_load::load_system_cfg() { + this->load_template(&map_system_cfg, system_load); + info_warning_error(0); + map_gui_cfg = map_system_cfg; +} + +void wrapper_load::set_void_work_tv_g_u_p(void (*init_work_tv_g_u_p)()) { + this->init_work_tv_g_u_p = init_work_tv_g_u_p; +} +void wrapper_load::set_void_info_warning_error(void (*info_warning_error)(int, int, int)) { + this->info_warning_error = info_warning_error; +} + +void wrapper_load::load_template(map_str_str* map_temp, string cmd) { + this->init_work_tv_g_u_p(); + if (cmd.find("system") != string::npos) { + this->init_dict("system"); + } + else { + this->init_dict("global"); + } + *map_temp = obj_load.get_load_data(*map_temp, cmd); +} + +void wrapper_load::wrapper_save_global_cfg() { + this->set_data_cfg(); + if (this->save_template("boot", "global")) { + this->info_warning_error(5); + } + else { + info_warning_error(3); + } + map_global_cfg = map_gui_cfg; + +} + +void wrapper_load::wrapper_save_system_cfg() { + this->set_data_cfg(); + if (this->save_template("boot", "system")) { + this->info_warning_error(5); + } + else { + info_warning_error(2); + } + map_system_cfg = map_gui_cfg; +} + + +void wrapper_load::wrapper_save_all_cfg() { + this->set_data_cfg(); + bool _flag_save_global = this->save_template("boot", "global");; + bool _flag_save_local = this->save_template("boot", "system"); + if (_flag_save_global && _flag_save_local) { + this->info_warning_error(5, ); + } + else { + info_warning_error(4); + } + map_global_cfg = map_gui_cfg; + map_system_cfg = map_gui_cfg; + +} + +void wrapper_load::wrapper_info_warning_error(int mess) { + this->info_warning_error(mess, obj_load.get_count_error(), obj_save.get_count_error()); + obj_load.set_count_error(0); + obj_save.set_count_error(0); + +} + + +bool wrapper_load::save_template(string section, string flag_save) { + bool flag_no_save = true; + obj_save.set_data_local(map_system_cfg); + obj_save.set_data_global(map_global_cfg); + obj_save.set_data_gui(map_gui_cfg); + obj_save.set_vec_params(vec_param_names); + obj_save.save(section, flag_save); + vector obj_vec_error = obj_save.get_error(); + flag_no_save = obj_save.get_state_save(); + return flag_no_save; +} + +void wrapper_load::init_dict(string flag_load) { + std::map map_gui_cfg_n; + map_gui_cfg_n[""] = ""; + + map_gui_cfg = map_gui_cfg_n; + if (flag_load == "global") { + map_global_cfg = map_gui_cfg_n; + } + else if (flag_load == "system") { + map_system_cfg = map_gui_cfg_n; + } +} + +void wrapper_load::set_data_cfg() { + // TODO: + // Написать функцию +} \ No newline at end of file diff --git a/source/wrapper_load_save.h b/source/wrapper_load_save.h new file mode 100644 index 0000000..4ff82de --- /dev/null +++ b/source/wrapper_load_save.h @@ -0,0 +1,54 @@ +#ifndef WRAPPER_LOAD_H +#define WRAPPER_LOAD_H +#include "my_type.h" +#include "project_lib.h" +#include "load.h" +#include "save.h" +#include "my_process.h" +#include "util.h" +#define global_load "ubconfig --default --source global get boot" +#define system_load "ubconfig --default --source system get boot" +#define global_save "ubconfig --target global --noexecute set boot " +#define system_save "ubconfig --target system set boot " +#define all_save "ubconfig set boot " +#define all_remove "ubconfig set/remove boot " +#define global_remove "ubconfig --target global --noexecute set/remove boot " +#define system_remove "ubconfig --target system --noexecute set/remove boot " + + + +class wrapper_load { +private: + string str_cmd_error; + void (*init_work_tv_g_u_p)(); + void (*info_warning_error)(int, int, int) +private: + map_str_str map_gui_cfg; + map_str_str map_global_cfg; + map_str_str map_system_cfg; + My_Process::My_Process_system obj_process_system = My_Process::My_Process_system(); + My_Process::My_Process_call obj_process_call = My_Process::My_Process_call(); + Lib_save::Save obj_save = Lib_save::Save(); + Lib_Load::Load obj_load = Lib_Load::Load(); +public: + wrapper_load(/* args */); + ~wrapper_load(); + void load_global_cfg(); + void load_system_cfg(); + void wrapper_save_system_cfg(); + void wrapper_save_global_cfg(); + void wrapper_save_all_cfg(); + void wrapper_info_warning_error(int mess); + void set_void_work_tv_g_u_p(void (*init_work_tv_g_u_p)()); + void set_void_info_warning_error(void (*info_warning_error)(int, int, int)); +private: + void load_template(map_str_str* map_temp, string cmd); + void info_warning_error(int mess); + void init_dict(string flag_load); + void set_data_cfg(); + bool save_template(string section, string flag_save); + +}; + + +#endif \ No newline at end of file