void vpn_connection_new (GtkWindow *parent, PageNewConnectionResultFunc result_func, PageGetConnectionsFunc get_connections_func, gpointer user_data) { char *service = NULL; NMConnection *connection; NMSetting *s_vpn; service = vpn_ask_connection_type (parent); if (!service) { (*result_func) (NULL, TRUE, NULL, user_data); return; } connection = ce_page_new_connection (_("VPN connection %d"), NM_SETTING_VPN_SETTING_NAME, FALSE, get_connections_func, user_data); s_vpn = nm_setting_vpn_new (); g_object_set (s_vpn, NM_SETTING_VPN_SERVICE_TYPE, service, NULL); g_free (service); nm_connection_add_setting (connection, s_vpn); (*result_func) (connection, FALSE, NULL, user_data); }
void bond_connection_new (GtkWindow *parent, const char *detail, NMRemoteSettings *settings, PageNewConnectionResultFunc result_func, gpointer user_data) { NMConnection *connection; int bond_num, max_bond_num, num; GSList *connections, *iter; NMConnection *conn2; NMSettingBond *s_bond; const char *iface; char *my_iface; connection = ce_page_new_connection (_("Bond connection %d"), NM_SETTING_BOND_SETTING_NAME, TRUE, settings, user_data); nm_connection_add_setting (connection, nm_setting_bond_new ()); /* Find an available interface name */ bond_num = max_bond_num = 0; connections = nm_remote_settings_list_connections (settings); for (iter = connections; iter; iter = iter->next) { conn2 = iter->data; if (!nm_connection_is_type (conn2, NM_SETTING_BOND_SETTING_NAME)) continue; s_bond = nm_connection_get_setting_bond (conn2); if (!s_bond) continue; iface = nm_setting_bond_get_interface_name (s_bond); if (!iface || strncmp (iface, "bond", 4) != 0 || !g_ascii_isdigit (iface[4])) continue; num = atoi (iface + 4); if (num > max_bond_num) max_bond_num = num; if (num == bond_num) bond_num = max_bond_num + 1; } g_slist_free (connections); my_iface = g_strdup_printf ("bond%d", bond_num); s_bond = nm_connection_get_setting_bond (connection); g_object_set (G_OBJECT (s_bond), NM_SETTING_BOND_INTERFACE_NAME, my_iface, NULL); g_free (my_iface); (*result_func) (connection, FALSE, NULL, user_data); }
void bond_connection_new (GtkWindow *parent, const char *detail, NMClient *client, PageNewConnectionResultFunc result_func, gpointer user_data) { NMConnection *connection; NMSettingConnection *s_con; int bond_num = 0, num, i; const GPtrArray *connections; NMConnection *conn2; const char *iface; char *my_iface; connection = ce_page_new_connection (_("Bond connection %d"), NM_SETTING_BOND_SETTING_NAME, TRUE, client, user_data); nm_connection_add_setting (connection, nm_setting_bond_new ()); /* Find an available interface name */ connections = nm_client_get_connections (client); for (i = 0; i < connections->len; i++) { conn2 = connections->pdata[i]; if (!nm_connection_is_type (conn2, NM_SETTING_BOND_SETTING_NAME)) continue; iface = nm_connection_get_interface_name (conn2); if (!iface || strncmp (iface, "bond", 4) != 0 || !g_ascii_isdigit (iface[4])) continue; num = atoi (iface + 4); if (bond_num <= num) bond_num = num + 1; } s_con = nm_connection_get_setting_connection (connection); my_iface = g_strdup_printf ("bond%d", bond_num); g_object_set (G_OBJECT (s_con), NM_SETTING_CONNECTION_INTERFACE_NAME, my_iface, NULL); g_free (my_iface); (*result_func) (connection, FALSE, NULL, user_data); }
void wired_connection_new (GtkWindow *parent, PageNewConnectionResultFunc result_func, PageGetConnectionsFunc get_connections_func, gpointer user_data) { NMConnection *connection; connection = ce_page_new_connection (_("Wired connection %d"), NM_SETTING_WIRED_SETTING_NAME, TRUE, get_connections_func, user_data); nm_connection_add_setting (connection, nm_setting_wired_new ()); (*result_func) (connection, FALSE, NULL, user_data); }
void ethernet_connection_new (GtkWindow *parent, const char *detail, NMRemoteSettings *settings, PageNewConnectionResultFunc result_func, NMClient *client, gpointer user_data) { NMConnection *connection; connection = ce_page_new_connection (_("Ethernet connection %d"), NM_SETTING_WIRED_SETTING_NAME, TRUE, settings, user_data); nm_connection_add_setting (connection, nm_setting_wired_new ()); (*result_func) (connection, FALSE, NULL, user_data); }
void infiniband_connection_new (GtkWindow *parent, const char *detail, NMRemoteSettings *settings, PageNewConnectionResultFunc result_func, NMClient *client, gpointer user_data) { NMConnection *connection; connection = ce_page_new_connection (_("InfiniBand connection %d"), NM_SETTING_INFINIBAND_SETTING_NAME, TRUE, settings, user_data); nm_connection_add_setting (connection, nm_setting_infiniband_new ()); (*result_func) (connection, FALSE, NULL, user_data); }
void wifi_connection_new (GtkWindow *parent, PageNewConnectionResultFunc result_func, PageGetConnectionsFunc get_connections_func, gpointer user_data) { NMConnection *connection; NMSetting *s_wifi; connection = ce_page_new_connection (_("Wireless connection %d"), NM_SETTING_WIRELESS_SETTING_NAME, TRUE, get_connections_func, user_data); s_wifi = nm_setting_wireless_new (); g_object_set (s_wifi, NM_SETTING_WIRELESS_MODE, "infrastructure", NULL); nm_connection_add_setting (connection, s_wifi); (*result_func) (connection, FALSE, NULL, user_data); }
void vpn_connection_new (GtkWindow *parent, const char *detail, NMRemoteSettings *settings, PageNewConnectionResultFunc result_func, gpointer user_data) { NMConnection *connection; NMSetting *s_vpn; if (!detail) { NewVpnInfo *info; /* This will happen if nm-c-e is launched from the command line * with "--create --type vpn". Dump the user back into the * new connection dialog to let them pick a subtype now. */ info = g_slice_new (NewVpnInfo); info->result_func = result_func; info->user_data = user_data; new_connection_dialog_full (parent, settings, NEW_VPN_CONNECTION_PRIMARY_LABEL, NEW_VPN_CONNECTION_SECONDARY_LABEL, vpn_type_filter_func, vpn_type_result_func, info); return; } connection = ce_page_new_connection (_("VPN connection %d"), NM_SETTING_VPN_SETTING_NAME, FALSE, settings, user_data); s_vpn = nm_setting_vpn_new (); g_object_set (s_vpn, NM_SETTING_VPN_SERVICE_TYPE, detail, NULL); nm_connection_add_setting (connection, s_vpn); (*result_func) (connection, FALSE, NULL, user_data); }
static void new_connection_mobile_wizard_done (NMAMobileWizard *wizard, gboolean canceled, NMAMobileWizardAccessMethod *method, gpointer user_data) { WizardInfo *info = user_data; NMConnection *connection = NULL; if (!canceled && method) { NMSetting *type_setting; const char *ctype = NULL; char *detail = NULL; switch (method->devtype) { case NM_DEVICE_MODEM_CAPABILITY_GSM_UMTS: ctype = NM_SETTING_GSM_SETTING_NAME; type_setting = nm_setting_gsm_new (); /* De-facto standard for GSM */ g_object_set (type_setting, NM_SETTING_GSM_NUMBER, "*99#", NM_SETTING_GSM_USERNAME, method->username, NM_SETTING_GSM_PASSWORD, method->password, NM_SETTING_GSM_APN, method->gsm_apn, NULL); break; case NM_DEVICE_MODEM_CAPABILITY_CDMA_EVDO: ctype = NM_SETTING_CDMA_SETTING_NAME; type_setting = nm_setting_cdma_new (); /* De-facto standard for CDMA */ g_object_set (type_setting, NM_SETTING_CDMA_NUMBER, "#777", NM_SETTING_GSM_USERNAME, method->username, NM_SETTING_GSM_PASSWORD, method->password, NULL); break; default: g_assert_not_reached (); break; } if (method->plan_name) detail = g_strdup_printf ("%s %s %%d", method->provider_name, method->plan_name); else detail = g_strdup_printf ("%s connection %%d", method->provider_name); connection = ce_page_new_connection (detail, ctype, FALSE, info->settings, info->user_data); g_free (detail); nm_connection_add_setting (connection, type_setting); add_default_serial_setting (connection); nm_connection_add_setting (connection, nm_setting_ppp_new ()); } (*info->result_func) (connection, canceled, NULL, info->user_data); if (wizard) nma_mobile_wizard_destroy (wizard); g_object_unref (info->settings); g_free (info); }