static gboolean validate (CEPage *page, NMConnection *connection, GError **error) { CEPageEthernet *self = CE_PAGE_ETHERNET (page); CEPageEthernetPrivate *priv = CE_PAGE_ETHERNET_GET_PRIVATE (self); gboolean invalid = FALSE; GByteArray *ignore; GtkWidget *entry; entry = gtk_bin_get_child (GTK_BIN (priv->device_mac)); if (entry) { ignore = ce_page_entry_to_mac (GTK_ENTRY (entry), ARPHRD_ETHER, &invalid); if (invalid) return FALSE; if (ignore) g_byte_array_free (ignore, TRUE); } ignore = ce_page_entry_to_mac (priv->cloned_mac, ARPHRD_ETHER, &invalid); if (invalid) return FALSE; if (ignore) g_byte_array_free (ignore, TRUE); ui_to_setting (self); return nm_setting_verify (NM_SETTING (priv->setting), NULL, error); }
static gboolean validate (CEPage *page, NMConnection *connection, GError **error) { CEPageEthernet *self = CE_PAGE_ETHERNET (page); gboolean invalid = FALSE; GByteArray *ignore; GtkWidget *entry; gboolean ret = TRUE; entry = gtk_bin_get_child (GTK_BIN (self->device_mac)); if (entry) { ignore = ce_page_entry_to_mac (GTK_ENTRY (entry), ARPHRD_ETHER, &invalid); if (invalid) { widget_set_error (entry); ret = FALSE; } else { if (ignore) g_byte_array_free (ignore, TRUE); widget_unset_error (entry); } } ignore = ce_page_entry_to_mac (self->cloned_mac, ARPHRD_ETHER, &invalid); if (invalid) { widget_set_error (GTK_WIDGET (self->cloned_mac)); ret = FALSE; } else { if (ignore) g_byte_array_free (ignore, TRUE); widget_unset_error (GTK_WIDGET (self->cloned_mac)); } if (!ret) return ret; ui_to_setting (self); return nm_setting_verify (NM_SETTING (self->setting_connection), NULL, error) && nm_setting_verify (NM_SETTING (self->setting_wired), NULL, error); }
CEPage * ce_page_ethernet_new (NMConnection *connection, GtkWindow *parent_window, NMClient *client, NMRemoteSettings *settings, const char **out_secrets_setting_name, GError **error) { CEPageEthernet *self; CEPageEthernetPrivate *priv; self = CE_PAGE_ETHERNET (ce_page_new (CE_TYPE_PAGE_ETHERNET, connection, parent_window, client, settings, UIDIR "/ce-page-ethernet.ui", "EthernetPage", _("Ethernet"))); if (!self) { g_set_error_literal (error, NMA_ERROR, NMA_ERROR_GENERIC, _("Could not load ethernet user interface.")); return NULL; } ethernet_private_init (self); priv = CE_PAGE_ETHERNET_GET_PRIVATE (self); priv->setting = nm_connection_get_setting_wired (connection); if (!priv->setting) { priv->setting = NM_SETTING_WIRED (nm_setting_wired_new ()); nm_connection_add_setting (connection, NM_SETTING (priv->setting)); } g_signal_connect (self, "initialized", G_CALLBACK (finish_setup), NULL); return CE_PAGE (self); }