From b38bf8b67207b55df9d9c1f9433699c5b0395c89 Mon Sep 17 00:00:00 2001 From: Bastien Nocera Date: Fri, 29 Apr 2016 13:52:45 +0200 Subject: [PATCH] network: Remove bond support It is supported by Cockpit already: https://github.com/cockpit-project/cockpit/issues/458 https://bugzilla.gnome.org/show_bug.cgi?id=747443 --- panels/network/Makefile.am | 2 - panels/network/cc-network-panel.c | 11 +- .../connection-editor/net-connection-editor.c | 1 - .../network/gnome-network-panel.desktop.in.in | 2 +- panels/network/net-device-bond.c | 190 ------------------ panels/network/net-device-bond.h | 58 ------ po/POTFILES.in | 1 - 7 files changed, 2 insertions(+), 263 deletions(-) delete mode 100644 panels/network/net-device-bond.c delete mode 100644 panels/network/net-device-bond.h diff --git a/panels/network/Makefile.am b/panels/network/Makefile.am index ce2a2d08d..2dce8987c 100644 --- a/panels/network/Makefile.am +++ b/panels/network/Makefile.am @@ -32,8 +32,6 @@ libnetwork_la_SOURCES = \ net-device-ethernet.h \ net-device-mobile.c \ net-device-mobile.h \ - net-device-bond.c \ - net-device-bond.h \ net-virtual-device.c \ net-virtual-device.h \ net-vpn.c \ diff --git a/panels/network/cc-network-panel.c b/panels/network/cc-network-panel.c index 1ecf8e63e..f83cf5d93 100644 --- a/panels/network/cc-network-panel.c +++ b/panels/network/cc-network-panel.c @@ -36,7 +36,6 @@ #include "net-device-mobile.h" #include "net-device-wifi.h" #include "net-device-ethernet.h" -#include "net-device-bond.h" #include "net-object.h" #include "net-proxy.h" #include "net-virtual-device.h" @@ -727,7 +726,6 @@ panel_add_device (CcNetworkPanel *panel, NMDevice *device) case NM_DEVICE_TYPE_WIFI: device_g_type = NET_TYPE_DEVICE_WIFI; break; - case NM_DEVICE_TYPE_BOND: case NM_DEVICE_TYPE_VLAN: goto out; default: @@ -1163,8 +1161,6 @@ panel_add_virtual_device (CcNetworkPanel *panel, NMConnection *connection) const gchar *id; GtkNotebook *notebook; GtkSizeGroup *size_group; - NMSettingConnection *s_con; - const gchar *connection_type; GType device_g_type; /* does already exist */ @@ -1173,12 +1169,7 @@ panel_add_virtual_device (CcNetworkPanel *panel, NMConnection *connection) return; /* map the NMConnection to a NetDevice GType */ - s_con = nm_connection_get_setting_connection (connection); - connection_type = nm_setting_connection_get_connection_type (s_con); - if (!strcmp (connection_type, NM_SETTING_BOND_SETTING_NAME)) - device_g_type = NET_TYPE_DEVICE_BOND; - else - device_g_type = NET_TYPE_VIRTUAL_DEVICE; + device_g_type = NET_TYPE_VIRTUAL_DEVICE; /* add as a virtual object */ net_virt = g_object_new (device_g_type, diff --git a/panels/network/connection-editor/net-connection-editor.c b/panels/network/connection-editor/net-connection-editor.c index 91a156367..ae466ab52 100644 --- a/panels/network/connection-editor/net-connection-editor.c +++ b/panels/network/connection-editor/net-connection-editor.c @@ -581,7 +581,6 @@ typedef struct { static const NetConnectionType connection_types[] = { { N_("VPN"), nm_setting_vpn_get_type }, - { N_("Bond"), nm_setting_bond_get_type }, #ifdef HAVE_NM_UNSTABLE { N_("Team"), nm_setting_team_get_type }, #endif /* NM_UNSTABLE */ diff --git a/panels/network/gnome-network-panel.desktop.in.in b/panels/network/gnome-network-panel.desktop.in.in index d3cb39272..e4ab2b1f1 100644 --- a/panels/network/gnome-network-panel.desktop.in.in +++ b/panels/network/gnome-network-panel.desktop.in.in @@ -15,4 +15,4 @@ X-GNOME-Bugzilla-Product=gnome-control-center X-GNOME-Bugzilla-Component=network X-GNOME-Bugzilla-Version=@VERSION@ # Translators: those are keywords for the network control-center panel -_Keywords=Network;Wireless;Wi-Fi;Wifi;IP;LAN;Proxy;WAN;Broadband;Modem;Bluetooth;vpn;vlan;bond;DNS; +_Keywords=Network;Wireless;Wi-Fi;Wifi;IP;LAN;Proxy;WAN;Broadband;Modem;Bluetooth;vpn;vlan;DNS; diff --git a/panels/network/net-device-bond.c b/panels/network/net-device-bond.c deleted file mode 100644 index 67123ff5c..000000000 --- a/panels/network/net-device-bond.c +++ /dev/null @@ -1,190 +0,0 @@ -/* -*- Mode: C; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 8 -*- - * - * Copyright (C) 2012 Red Hat, Inc. - * - * Licensed under the GNU General Public License Version 2 - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. - */ - -#include "config.h" - -#include -#include - -#include -#include -#include -#include - -#include "panel-common.h" -#include "cc-network-panel.h" - -#include "net-device-bond.h" - -#define NET_DEVICE_BOND_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), NET_TYPE_DEVICE_BOND, NetDeviceBondPrivate)) - -struct _NetDeviceBondPrivate { - char *slaves; -}; - -enum { - PROP_0, - PROP_SLAVES, - PROP_LAST -}; - -G_DEFINE_TYPE (NetDeviceBond, net_device_bond, NET_TYPE_VIRTUAL_DEVICE) - -static void -net_device_bond_get_property (GObject *object, - guint prop_id, - GValue *value, - GParamSpec *pspec) -{ - NetDeviceBond *device_bond = NET_DEVICE_BOND (object); - NetDeviceBondPrivate *priv = device_bond->priv; - - switch (prop_id) { - case PROP_SLAVES: - g_value_set_string (value, priv->slaves); - break; - default: - G_OBJECT_WARN_INVALID_PROPERTY_ID (device_bond, prop_id, pspec); - break; - - } -} - -static void -net_device_bond_constructed (GObject *object) -{ - NetDeviceBond *device_bond = NET_DEVICE_BOND (object); - - net_virtual_device_add_row (NET_VIRTUAL_DEVICE (device_bond), - _("Bond slaves"), "slaves"); - - G_OBJECT_CLASS (net_device_bond_parent_class)->constructed (object); -} - -static void -nm_device_slaves_changed (GObject *object, - GParamSpec *pspec, - gpointer user_data) -{ - NetDeviceBond *device_bond = NET_DEVICE_BOND (user_data); - NetDeviceBondPrivate *priv = device_bond->priv; - NMDeviceBond *nm_device = NM_DEVICE_BOND (object); - CcNetworkPanel *panel; - GPtrArray *net_devices; - NetDevice *net_device; - NMDevice *slave; - const GPtrArray *slaves; - int i, j; - GString *str; - - g_free (priv->slaves); - - slaves = nm_device_bond_get_slaves (nm_device); - if (!slaves) { - priv->slaves = g_strdup (_("(none)")); - g_object_notify (G_OBJECT (device_bond), "slaves"); - return; - } - - panel = net_object_get_panel (NET_OBJECT (device_bond)); - net_devices = cc_network_panel_get_devices (panel); - - str = g_string_new (NULL); - for (i = 0; i < slaves->len; i++) { - if (i > 0) - g_string_append (str, ", "); - slave = slaves->pdata[i]; - - for (j = 0; j < net_devices->len; j++) { - net_device = net_devices->pdata[j]; - if (slave == net_device_get_nm_device (net_device)) { - g_string_append (str, net_object_get_title (NET_OBJECT (net_device))); - break; - } - } - if (j == net_devices->len) - g_string_append (str, nm_device_get_iface (slave)); - } - priv->slaves = g_string_free (str, FALSE); - g_object_notify (G_OBJECT (device_bond), "slaves"); -} - -static void -net_device_bond_device_set (NetVirtualDevice *virtual_device, - NMDevice *nm_device) -{ - NetDeviceBond *device_bond = NET_DEVICE_BOND (virtual_device); - - g_signal_connect_object (nm_device, "notify::slaves", - G_CALLBACK (nm_device_slaves_changed), device_bond, 0); - nm_device_slaves_changed (G_OBJECT (nm_device), NULL, device_bond); -} - -static void -net_device_bond_device_unset (NetVirtualDevice *virtual_device, - NMDevice *nm_device) -{ - NetDeviceBond *device_bond = NET_DEVICE_BOND (virtual_device); - - g_signal_handlers_disconnect_by_func (nm_device, - G_CALLBACK (nm_device_slaves_changed), - device_bond); - nm_device_slaves_changed (G_OBJECT (nm_device), NULL, device_bond); -} - -static void -net_device_bond_finalize (GObject *object) -{ - NetDeviceBond *device_bond = NET_DEVICE_BOND (object); - NetDeviceBondPrivate *priv = device_bond->priv; - - g_free (priv->slaves); - - G_OBJECT_CLASS (net_device_bond_parent_class)->finalize (object); -} - -static void -net_device_bond_class_init (NetDeviceBondClass *klass) -{ - GObjectClass *object_class = G_OBJECT_CLASS (klass); - NetVirtualDeviceClass *virtual_device_class = NET_VIRTUAL_DEVICE_CLASS (klass); - GParamSpec *pspec; - - object_class->constructed = net_device_bond_constructed; - object_class->finalize = net_device_bond_finalize; - object_class->get_property = net_device_bond_get_property; - - virtual_device_class->device_set = net_device_bond_device_set; - virtual_device_class->device_unset = net_device_bond_device_unset; - - pspec = g_param_spec_string ("slaves", NULL, NULL, - NULL, - G_PARAM_READABLE); - g_object_class_install_property (object_class, PROP_SLAVES, pspec); - - g_type_class_add_private (klass, sizeof (NetDeviceBondPrivate)); -} - -static void -net_device_bond_init (NetDeviceBond *device_bond) -{ - device_bond->priv = NET_DEVICE_BOND_GET_PRIVATE (device_bond); -} diff --git a/panels/network/net-device-bond.h b/panels/network/net-device-bond.h deleted file mode 100644 index cb4c55083..000000000 --- a/panels/network/net-device-bond.h +++ /dev/null @@ -1,58 +0,0 @@ -/* -*- Mode: C; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 8 -*- - * - * Copyright (C) 2012 Red Hat, Inc. - * - * Licensed under the GNU General Public License Version 2 - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. - */ - -#ifndef __NET_DEVICE_BOND_H -#define __NET_DEVICE_BOND_H - -#include - -#include "net-virtual-device.h" - -G_BEGIN_DECLS - -#define NET_TYPE_DEVICE_BOND (net_device_bond_get_type ()) -#define NET_DEVICE_BOND(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), NET_TYPE_DEVICE_BOND, NetDeviceBond)) -#define NET_DEVICE_BOND_CLASS(k) (G_TYPE_CHECK_CLASS_CAST((k), NET_TYPE_DEVICE_BOND, NetDeviceBondClass)) -#define NET_IS_DEVICE_BOND(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), NET_TYPE_DEVICE_BOND)) -#define NET_IS_DEVICE_BOND_CLASS(k) (G_TYPE_CHECK_CLASS_TYPE ((k), NET_TYPE_DEVICE_BOND)) -#define NET_DEVICE_BOND_GET_CLASS(o) (G_TYPE_INSTANCE_GET_CLASS ((o), NET_TYPE_DEVICE_BOND, NetDeviceBondClass)) - -typedef struct _NetDeviceBondPrivate NetDeviceBondPrivate; -typedef struct _NetDeviceBond NetDeviceBond; -typedef struct _NetDeviceBondClass NetDeviceBondClass; - -struct _NetDeviceBond -{ - NetVirtualDevice parent; - NetDeviceBondPrivate *priv; -}; - -struct _NetDeviceBondClass -{ - NetVirtualDeviceClass parent_class; -}; - -GType net_device_bond_get_type (void); - -G_END_DECLS - -#endif /* __NET_DEVICE_BOND_H */ - diff --git a/po/POTFILES.in b/po/POTFILES.in index 713ab3957..167e7106a 100644 --- a/po/POTFILES.in +++ b/po/POTFILES.in @@ -76,7 +76,6 @@ panels/network/connection-editor/vpn-helpers.c [type: gettext/glade]panels/network/connection-editor/vpn-page.ui [type: gettext/glade]panels/network/connection-editor/wifi-page.ui panels/network/gnome-network-panel.desktop.in.in -panels/network/net-device-bond.c panels/network/net-device-ethernet.c panels/network/net-device-mobile.c panels/network/net-device-team.c