📄 ppp_modem.cxx
字号:
// retuns: none/////////////////////////////////////////////////////////////voidPPP_Account::add_account(PPP_Add_Account * account){ char acnt[20]; memset(acnt, 0, sizeof(acnt)); strncpy(acnt, account->get_account_value(), 19); if (0 == strcmp(acnt, "")) { change_account_value(account); strcpy(acnt, account->get_account_value()); } fl_addto_browser(ppp_account_browser, get_account_value(account)); account_modem->add_account(acnt); write_account(account);}/////////////////////////////////////////////////////////////// Functon: PPP_Accoujt::ppp_delete_account_cb()// Descriptioni: Delete an account// Parameters: Fl_Widget *widget - widget calling function// void *parent - pointer to parent object// Returns: none/////////////////////////////////////////////////////////////voidPPP_Account::ppp_delete_account_cb(Fl_Widget * widget, void *parent){ char dialer_value[40]; char account_value[20]; int val = 0; PPP_Account *account = (PPP_Account *) (parent); val = account->ppp_account_browser->value(); if (0 >= val) { return; } strcpy(account_value, account->ppp_account_browser->text(val)); IniDelSection(account_value, ACCOUNT_FILE); fl_delete_browser_line(account->ppp_account_browser, val); fl_select_browser_line(account->ppp_account_browser, 1); account->account_modem->delete_account(val); sprintf(dialer_value, "Dialer %s", account_value); IniDelSection(dialer_value, DIALER_FILE);}/////////////////////////////////////////////////////////////// Function: PPP_Account::ppp_add_account_cb()// Description: Show the edit/add account window // Paremeters: Fl_Widget *widget - pointer to the calling widget// void *parent - pointer to the parent object// Returns: none// ///////////////////////////////////////////////////////////voidPPP_Account::ppp_add_account_cb(Fl_Widget * widget, void *parent){ NxButton *button = (NxButton *) widget; PPP_Account *account = (PPP_Account *) (parent); PPP_Modem *this_modem = account->get_ppp_modem(); PPP_Add_Account *acnt = this_modem->_add_account; PPP_Add_Account *add_account = this_modem->_add_account; acnt->set_max_values(); acnt->set_secret(); if (button == account->ppp_add_account_button) { account->change_account_value(acnt); } if (button == account->ppp_edit_account_button) { account->edit_account_value(acnt); } add_account->get_parent_win()->show(); while (add_account->get_parent_win()->shown()) { Fl::wait(); for (;;) { Fl_Widget *o = Fl::readqueue(); if (!o) { break; } if (o == add_account->ok_button) { if (button == account->ppp_add_account_button) { account->add_account(acnt); } if (button == account->ppp_edit_account_button) { account->edit_account(acnt); } add_account->get_parent_win()->hide(); account->show(); // parent_win->show(); // parent_win->remove(&ppp_account_win); return; } if ( /*o == &ppp_account_win || */ o == add_account->cancel_button) { add_account->get_parent_win()->hide(); account->show(); // parent_win->show(); // parent_win->remove(&ppp_account_win); return; } } }}/////////////////////////////////////////////////////////////// Function: PPP_Account::fill_acocunt_browser()// Description: populate the account browser object with account// Parameters: none// Returns: none/////////////////////////////////////////////////////////////voidPPP_Account::fill_account_browser(){ int size = account_modem->get_num_accounts(); for (int idx = 0; idx < size; idx++) { fl_addto_browser(ppp_account_browser, account_modem->get_account_name(idx)); } fl_set_browser_topline(ppp_account_browser, 1); fl_select_browser_line(ppp_account_browser, 1);}/////////////////////////////////////////////////////////////// Function PPP_Account::hide()// Description: hide the PPP_Account object// Parameters: none// retuns: none/////////////////////////////////////////////////////////////voidPPP_Account::hide(){ get_parent_win()->hide(); /* //ppp_account_browser->hide(); ppp_add_account_button->hide(); ppp_edit_account_button->hide(); ppp_delete_account_button->hide(); */}/////////////////////////////////////////////////////////////// Function: PPP_Account::show()// descritpion: show the PPP_Account object// ParemetersL none// returns: none/////////////////////////////////////////////////////////////voidPPP_Account::show(){ get_parent_win()->show();}/////////////////////////////////////////////////////////////// Function: PPP_Account::PPP_Account()// Description: PPP_Account class instatiation// Parameters: Fl_Tabs *ppp_setup_tabs - pointer to parent tabs// PPP_Modem *this_modem - pointer to parent modem// Returns: none// ///////////////////////////////////////////////////////////PPP_Account::PPP_Account(PPP_Modem * this_modem){ account_modem = this_modem; acct_win = new NxPimWindow("Accounts", setupMenuItems, MENU); NetConfig::I()->add_window((Fl_Window *) acct_win->GetWindowPtr()); ppp_account_group = new Fl_Group(W_X, W_Y, W_W, W_H); ppp_account_browser = new NxHoldBrowser((240 - (MENU_W) + 20) / 2, 2 * MENU_Y + MENU_H + 5, MENU_W - 20, BUTTON_Y - 5 - (BUTTON_HEIGHT + MENU_Y + MENU_H), "Accounts"); ppp_account_browser->align(FL_ALIGN_TOP); ppp_add_account_button = new NxButton(3, BUTTON_Y, BUTTON_WIDTH - 4, BUTTON_HEIGHT, "Add"); ppp_edit_account_button = new NxButton(62, BUTTON_Y, BUTTON_WIDTH - 4, BUTTON_HEIGHT, "Edit"); ppp_delete_account_button = new NxButton(121, BUTTON_Y, BUTTON_WIDTH - 4, BUTTON_HEIGHT, "Delete"); ppp_add_account_button->callback(ppp_add_account_cb, this); ppp_edit_account_button->callback(ppp_add_account_cb, this); ppp_delete_account_button->callback(ppp_delete_account_cb, this); { NxButton *o = new NxButton(181, BUTTON_Y, BUTTON_WIDTH - 4, BUTTON_HEIGHT, "Done"); o->callback(NetConfig::show_modem); } ppp_account_group->end(); acct_win->add((Fl_Widget *) ppp_account_group); fill_account_browser();}/***************************ppp_add_config***********************************//////////////////////////////////////////////////////////// // Menu items array// ////////////////////////////////////////////////////////static Fl_Menu_Item ppp_speed_menu[] = { {"115200"}, {"57600"}, {"38400"}, {"19200"}, //{"USB"}, {0}};/////////////////////////////////////////////////////////////// Funtions: PPP_Add_config:set_max_value()// description: set maximum inputs lengths// ParametersL none// Returns: none/////////////////////////////////////////////////////////////voidPPP_Add_Config::set_max_values(){ ppp_add_config_script->maximum_size(4095); ppp_add_config_input->maximum_size(60); //add_dns_domain->maximum_size(29);}/////////////////////////////////////////////////////////////// Function: PPP_Add_Config::set_config_value()// Description: set the config input// Parameters: chat *value - value string// returns: none/////////////////////////////////////////////////////////////voidPPP_Add_Config::set_config_value(char *value){ ppp_add_config_input->value(value);}/////////////////////////////////////////////////////////////// functon: PPP_Add_Config::set_device_value// description: set the device choice// parameters: chat *value - string// returns: none/////////////////////////////////////////////////////////////voidPPP_Add_Config::set_device_value(char *value){ int size = ppp_add_config_dev_choice->size(); for (int idx = 0; idx < size; idx++) { if (0 == strcmp(value, ppp_add_config_dev_choice->text(idx))) { ppp_add_config_dev_choice->value(idx); break; } }}/////////////////////////////////////////////////////////////// funtions: PPP_Add_Config::set_speed_value()// description: set the speed choice// parameters: chat *value - string value// returns: none/////////////////////////////////////////////////////////////voidPPP_Add_Config::set_speed_value(char *value){ int size = ppp_add_config_speed_choice->size(); for (int idx = 0; idx < size; idx++) { if (0 == strcmp(value, ppp_add_config_speed_choice->text(idx))) { ppp_add_config_speed_choice->value(idx); break; } }}/////////////////////////////////////////////////////////////// function: PPP_Add_Config::set_dest_value()// description: set the dest inputs// parameters: char *value - string value// returns: none/////////////////////////////////////////////////////////////voidPPP_Add_Config::set_dest_value(char *value){ ppp_add_config_ip_dest->set_ip_inputs(value, false);}//////////////////////////////////////////////////////////////// functon: PPP_Add_Config::set_source_value()// description: set the source ip value// parameters: char *value - string value// returns: none/////////////////////////////////////////////////////////////voidPPP_Add_Config::set_source_value(char *value){ ppp_add_config_ip_source->set_ip_inputs(value, false);}/////////////////////////////////////////////////////////////// function: PPP_Add_Config::set_broadcast_value()// description: set the broadcast ip value// paremeters; char *value - string value// returns: none/////////////////////////////////////////////////////////////voidPPP_Add_Config::set_broadcast_value(char *value){ ppp_add_config_broadcast->set_ip_inputs(value, false);}/////////////////////////////////////////////////////////////// function: PPP_Add_config::set_gateway_value// description: set the gateway ip value// parameters: char *value - string value// returns: none/////////////////////////////////////////////////////////////voidPPP_Add_Config::set_gateway_value(char *value){ ppp_add_config_gateway->set_ip_inputs(value, false);}/////////////////////////////////////////////////////////////// function: PPP_Add_config::set_dhcp_value// description: set the dhcp button value// parameters: char *value - string value // returns: none////\////////////////////////////////////////////////////////voidPPP_Add_Config::set_dhcp_value(char *value){ if (0 == strcmp("on", value)) { dhcp_button->value(1); } if (0 == strcmp("off", value)) { dhcp_button->value(0); } dhcp_button->do_callback();}/////////////////////////////////////////////////////////////// functoin: PPP_Add_Config::set_auto_value()// description: set the auto button value// parameters: char *value - string value// returns: none/////////////////////////////////////////////////////////////voidPPP_Add_Config::set_auto_value(char *value){ if (0 == strcmp("on", value)) { auto_button->value(1); } if (0 == strcmp("off", value)) { auto_button->value(0); } auto_button->do_callback();}/////////////////////////////////////////////////////////////// function: PPP_Add_Config::set_script_value()// description: set the script multiline input value// parameters: char *value - string value// returns: none/////////////////////////////////////////////////////////////voidPPP_Add_Config::set_script_value(char *value){ ppp_add_config_script->value(value);
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -