static NmtNewtForm * nmt_connect_connection (const char *identifier) { NmtNewtWidget *list; NMConnection *connection; NMDevice *device; NMObject *specific_object; NMActiveConnection *ac; list = nmt_connect_connection_list_new (); if (!nmt_connect_connection_list_get_connection (NMT_CONNECT_CONNECTION_LIST (list), identifier, &connection, &device, &specific_object, &ac)) nmt_newt_message_dialog (_("No such connection '%s'"), identifier); else if (ac) nmt_newt_message_dialog (_("Connection is already active")); else activate_connection (connection, device, specific_object); g_object_unref (list); return NULL; }
int srvGoActive (Connection * c) { if (can_go_active (c)) { if (activate_connection (c)) ipcSndS (c->sockfd, SRV_ERR); else { debugMsg ("gone active %p\n", c); ipcSndS (c->sockfd, SRV_NOERR); } } else ipcSndS (c->sockfd, SRV_ERR); return 0; }
static void listbox_activated (NmtNewtListbox *listbox, gpointer user_data) { NmtConnectConnectionList *list = NMT_CONNECT_CONNECTION_LIST (listbox); NMConnection *connection; NMDevice *device; NMObject *specific_object; NMActiveConnection *ac; if (!nmt_connect_connection_list_get_selection (list, &connection, &device, &specific_object, &ac)) return; if (ac) nm_client_deactivate_connection (nm_client, ac, NULL, NULL); else activate_connection (connection, device, specific_object); }