summaryrefslogtreecommitdiff
path: root/src/nmtui
diff options
context:
space:
mode:
authorGris Ge <fge@redhat.com>2021-08-20 18:40:21 +0800
committerThomas Haller <thaller@redhat.com>2021-08-20 19:02:23 +0200
commite69c5e4bab126caeed6624735f143b5ae2645f93 (patch)
treeef6cd07ab6c1b3de7156e6c624fb6bbb3ca9bb97 /src/nmtui
parentc265096d660e3d557399c8d3fc170e85fb137837 (diff)
downloadNetworkManager-e69c5e4bab126caeed6624735f143b5ae2645f93.tar.gz
libnm: Use _nm_connection_ensure_setting()
Use `_nm_connection_ensure_setting()` to eliminate the duplicated codes. This function will retrieve the specific setting from connection, if not found, create new one and attach to the connection. Signed-off-by: Gris Ge <fge@redhat.com>
Diffstat (limited to 'src/nmtui')
-rw-r--r--src/nmtui/nmt-page-bond.c15
-rw-r--r--src/nmtui/nmt-page-bridge-port.c7
-rw-r--r--src/nmtui/nmt-page-bridge.c7
-rw-r--r--src/nmtui/nmt-page-dsl.c7
-rw-r--r--src/nmtui/nmt-page-ethernet.c7
-rw-r--r--src/nmtui/nmt-page-infiniband.c7
-rw-r--r--src/nmtui/nmt-page-ip-tunnel.c7
-rw-r--r--src/nmtui/nmt-page-ip4.c8
-rw-r--r--src/nmtui/nmt-page-ip6.c8
-rw-r--r--src/nmtui/nmt-page-team-port.c9
-rw-r--r--src/nmtui/nmt-page-team.c9
-rw-r--r--src/nmtui/nmt-page-vlan.c15
-rw-r--r--src/nmtui/nmt-page-wifi.c10
-rw-r--r--src/nmtui/nmt-page-wireguard.c8
14 files changed, 38 insertions, 86 deletions
diff --git a/src/nmtui/nmt-page-bond.c b/src/nmtui/nmt-page-bond.c
index d3fab1ffda..aea7949ef5 100644
--- a/src/nmtui/nmt-page-bond.c
+++ b/src/nmtui/nmt-page-bond.c
@@ -334,20 +334,11 @@ nmt_page_bond_constructed(GObject *object)
NmtNewtWidget * widget, *label;
NMConnection * conn;
- conn = nmt_editor_page_get_connection(NMT_EDITOR_PAGE(bond));
- s_bond = nm_connection_get_setting_bond(conn);
- if (!s_bond) {
- nm_connection_add_setting(conn, nm_setting_bond_new());
- s_bond = nm_connection_get_setting_bond(conn);
- }
+ conn = nmt_editor_page_get_connection(NMT_EDITOR_PAGE(bond));
+ s_bond = _nm_connection_ensure_setting(conn, NM_TYPE_SETTING_BOND);
priv->s_bond = s_bond;
- s_wired = nm_connection_get_setting_wired(conn);
- if (!s_wired) {
- nm_connection_add_setting(conn, nm_setting_wired_new());
- s_wired = nm_connection_get_setting_wired(conn);
- }
-
+ s_wired = _nm_connection_ensure_setting(conn, NM_TYPE_SETTING_WIRED);
section = nmt_editor_section_new(_("BOND"), NULL, TRUE);
grid = nmt_editor_section_get_body(section);
diff --git a/src/nmtui/nmt-page-bridge-port.c b/src/nmtui/nmt-page-bridge-port.c
index 30163d1524..2374bbb792 100644
--- a/src/nmtui/nmt-page-bridge-port.c
+++ b/src/nmtui/nmt-page-bridge-port.c
@@ -9,6 +9,7 @@
*/
#include "libnm-client-aux-extern/nm-default-client.h"
+#include "libnm-core-aux-intern/nm-libnm-core-utils.h"
#include "nmt-page-bridge-port.h"
@@ -35,11 +36,7 @@ nmt_page_bridge_port_constructed(GObject *object)
NMConnection * conn;
conn = nmt_editor_page_get_connection(NMT_EDITOR_PAGE(bridge));
- s_port = nm_connection_get_setting_bridge_port(conn);
- if (!s_port) {
- nm_connection_add_setting(conn, nm_setting_bridge_port_new());
- s_port = nm_connection_get_setting_bridge_port(conn);
- }
+ s_port = _nm_connection_ensure_setting(conn, NM_TYPE_SETTING_BRIDGE_PORT);
section = nmt_editor_section_new(_("BRIDGE PORT"), NULL, TRUE);
grid = nmt_editor_section_get_body(section);
diff --git a/src/nmtui/nmt-page-bridge.c b/src/nmtui/nmt-page-bridge.c
index 52af8db127..78c1b7c1e1 100644
--- a/src/nmtui/nmt-page-bridge.c
+++ b/src/nmtui/nmt-page-bridge.c
@@ -9,6 +9,7 @@
*/
#include "libnm-client-aux-extern/nm-default-client.h"
+#include "libnm-core-aux-intern/nm-libnm-core-utils.h"
#include "nmt-page-bridge.h"
@@ -53,11 +54,7 @@ nmt_page_bridge_constructed(GObject *object)
NMConnection * conn;
conn = nmt_editor_page_get_connection(NMT_EDITOR_PAGE(bridge));
- s_bridge = nm_connection_get_setting_bridge(conn);
- if (!s_bridge) {
- nm_connection_add_setting(conn, nm_setting_bridge_new());
- s_bridge = nm_connection_get_setting_bridge(conn);
- }
+ s_bridge = _nm_connection_ensure_setting(conn, NM_TYPE_SETTING_BRIDGE);
section = nmt_editor_section_new(_("BRIDGE"), NULL, TRUE);
grid = nmt_editor_section_get_body(section);
diff --git a/src/nmtui/nmt-page-dsl.c b/src/nmtui/nmt-page-dsl.c
index d7e0d144b5..700938f718 100644
--- a/src/nmtui/nmt-page-dsl.c
+++ b/src/nmtui/nmt-page-dsl.c
@@ -9,6 +9,7 @@
*/
#include "libnm-client-aux-extern/nm-default-client.h"
+#include "libnm-core-aux-intern/nm-libnm-core-utils.h"
#include "nmt-page-dsl.h"
#include "nmt-page-ethernet.h"
@@ -83,11 +84,7 @@ nmt_page_dsl_constructed(GObject *object)
const GSList * sections, *iter;
conn = nmt_editor_page_get_connection(NMT_EDITOR_PAGE(dsl));
- s_pppoe = nm_connection_get_setting_pppoe(conn);
- if (!s_pppoe) {
- nm_connection_add_setting(conn, nm_setting_pppoe_new());
- s_pppoe = nm_connection_get_setting_pppoe(conn);
- }
+ s_pppoe = _nm_connection_ensure_setting(conn, NM_TYPE_SETTING_PPPOE);
section = build_dsl_section(dsl, s_pppoe);
nmt_editor_page_add_section(NMT_EDITOR_PAGE(dsl), section);
diff --git a/src/nmtui/nmt-page-ethernet.c b/src/nmtui/nmt-page-ethernet.c
index f5dc91194a..8ff53d770a 100644
--- a/src/nmtui/nmt-page-ethernet.c
+++ b/src/nmtui/nmt-page-ethernet.c
@@ -9,6 +9,7 @@
*/
#include "libnm-client-aux-extern/nm-default-client.h"
+#include "libnm-core-aux-intern/nm-libnm-core-utils.h"
#include "nmt-page-ethernet.h"
@@ -42,11 +43,7 @@ nmt_page_ethernet_constructed(GObject *object)
NMConnection * conn;
conn = nmt_editor_page_get_connection(NMT_EDITOR_PAGE(ethernet));
- s_wired = nm_connection_get_setting_wired(conn);
- if (!s_wired) {
- nm_connection_add_setting(conn, nm_setting_wired_new());
- s_wired = nm_connection_get_setting_wired(conn);
- }
+ s_wired = _nm_connection_ensure_setting(conn, NM_TYPE_SETTING_WIRED);
deventry = nmt_editor_page_device_get_device_entry(NMT_EDITOR_PAGE_DEVICE(object));
g_object_bind_property(s_wired,
diff --git a/src/nmtui/nmt-page-infiniband.c b/src/nmtui/nmt-page-infiniband.c
index c0e3611bdc..c192d7e125 100644
--- a/src/nmtui/nmt-page-infiniband.c
+++ b/src/nmtui/nmt-page-infiniband.c
@@ -9,6 +9,7 @@
*/
#include "libnm-client-aux-extern/nm-default-client.h"
+#include "libnm-core-aux-intern/nm-libnm-core-utils.h"
#include "nmt-page-infiniband.h"
#include "nmt-mtu-entry.h"
@@ -46,11 +47,7 @@ nmt_page_infiniband_constructed(GObject *object)
NMConnection * conn;
conn = nmt_editor_page_get_connection(NMT_EDITOR_PAGE(infiniband));
- s_ib = nm_connection_get_setting_infiniband(conn);
- if (!s_ib) {
- nm_connection_add_setting(conn, nm_setting_infiniband_new());
- s_ib = nm_connection_get_setting_infiniband(conn);
- }
+ s_ib = _nm_connection_ensure_setting(conn, NM_TYPE_SETTING_INFINIBAND);
/* initialize 'transport-mode' if it is NULL */
if (!nm_setting_infiniband_get_transport_mode(s_ib)) {
g_object_set(G_OBJECT(s_ib), NM_SETTING_INFINIBAND_TRANSPORT_MODE, "datagram", NULL);
diff --git a/src/nmtui/nmt-page-ip-tunnel.c b/src/nmtui/nmt-page-ip-tunnel.c
index da6d12b9cc..88aa2149a6 100644
--- a/src/nmtui/nmt-page-ip-tunnel.c
+++ b/src/nmtui/nmt-page-ip-tunnel.c
@@ -8,6 +8,7 @@
*/
#include "libnm-client-aux-extern/nm-default-client.h"
+#include "libnm-core-aux-intern/nm-libnm-core-utils.h"
#include "nmt-page-ip-tunnel.h"
@@ -102,11 +103,7 @@ nmt_page_ip_tunnel_constructed(GObject *object)
GClosure * s2w, *w2s;
conn = nmt_editor_page_get_connection(NMT_EDITOR_PAGE(ip_tunnel));
- s_ip_tunnel = nm_connection_get_setting_ip_tunnel(conn);
- if (!s_ip_tunnel) {
- nm_connection_add_setting(conn, nm_setting_ip_tunnel_new());
- s_ip_tunnel = nm_connection_get_setting_ip_tunnel(conn);
- }
+ s_ip_tunnel = _nm_connection_ensure_setting(conn, NM_TYPE_SETTING_IP_TUNNEL);
/* Initialize the mode for new connections */
if (nm_setting_ip_tunnel_get_mode(s_ip_tunnel) == NM_IP_TUNNEL_MODE_UNKNOWN) {
diff --git a/src/nmtui/nmt-page-ip4.c b/src/nmtui/nmt-page-ip4.c
index ecd714473a..74da20f308 100644
--- a/src/nmtui/nmt-page-ip4.c
+++ b/src/nmtui/nmt-page-ip4.c
@@ -9,6 +9,7 @@
*/
#include "libnm-client-aux-extern/nm-default-client.h"
+#include "libnm-core-aux-intern/nm-libnm-core-utils.h"
#include <stdlib.h>
@@ -84,14 +85,13 @@ nmt_page_ip4_constructed(GObject *object)
NMConnection * conn;
conn = nmt_editor_page_get_connection(NMT_EDITOR_PAGE(ip4));
- s_ip4 = nm_connection_get_setting_ip4_config(conn);
- if (!s_ip4) {
- s_ip4 = (NMSettingIPConfig *) nm_setting_ip4_config_new();
+ s_ip4 = _nm_connection_ensure_setting(conn, NM_TYPE_SETTING_IP4_CONFIG);
+ /* initialize 'method' to auto if it is NULL */
+ if (!nm_setting_ip_config_get_method(s_ip4)) {
g_object_set(G_OBJECT(s_ip4),
NM_SETTING_IP_CONFIG_METHOD,
NM_SETTING_IP4_CONFIG_METHOD_AUTO,
NULL);
- nm_connection_add_setting(conn, (NMSetting *) s_ip4);
}
widget = nmt_newt_popup_new(ip4methods);
diff --git a/src/nmtui/nmt-page-ip6.c b/src/nmtui/nmt-page-ip6.c
index f79c553db4..f142a38451 100644
--- a/src/nmtui/nmt-page-ip6.c
+++ b/src/nmtui/nmt-page-ip6.c
@@ -9,6 +9,7 @@
*/
#include "libnm-client-aux-extern/nm-default-client.h"
+#include "libnm-core-aux-intern/nm-libnm-core-utils.h"
#include <stdlib.h>
@@ -85,14 +86,13 @@ nmt_page_ip6_constructed(GObject *object)
NMConnection * conn;
conn = nmt_editor_page_get_connection(NMT_EDITOR_PAGE(ip6));
- s_ip6 = nm_connection_get_setting_ip6_config(conn);
- if (!s_ip6) {
- s_ip6 = (NMSettingIPConfig *) nm_setting_ip6_config_new();
+ s_ip6 = _nm_connection_ensure_setting(conn, NM_TYPE_SETTING_IP6_CONFIG);
+ /* initialize 'method' to auto if it is NULL */
+ if (!nm_setting_ip_config_get_method(s_ip6)) {
g_object_set(G_OBJECT(s_ip6),
NM_SETTING_IP_CONFIG_METHOD,
NM_SETTING_IP6_CONFIG_METHOD_AUTO,
NULL);
- nm_connection_add_setting(conn, (NMSetting *) s_ip6);
}
widget = nmt_newt_popup_new(ip6methods);
diff --git a/src/nmtui/nmt-page-team-port.c b/src/nmtui/nmt-page-team-port.c
index 13bb84f069..611cc2909d 100644
--- a/src/nmtui/nmt-page-team-port.c
+++ b/src/nmtui/nmt-page-team-port.c
@@ -9,6 +9,7 @@
*/
#include "libnm-client-aux-extern/nm-default-client.h"
+#include "libnm-core-aux-intern/nm-libnm-core-utils.h"
#include "nmt-page-team-port.h"
@@ -63,12 +64,8 @@ nmt_page_team_port_constructed(GObject *object)
NmtNewtWidget * widget;
NMConnection * conn;
- conn = nmt_editor_page_get_connection(NMT_EDITOR_PAGE(team));
- s_port = nm_connection_get_setting_team_port(conn);
- if (!s_port) {
- nm_connection_add_setting(conn, nm_setting_team_port_new());
- s_port = nm_connection_get_setting_team_port(conn);
- }
+ conn = nmt_editor_page_get_connection(NMT_EDITOR_PAGE(team));
+ s_port = _nm_connection_ensure_setting(conn, NM_TYPE_SETTING_TEAM_PORT);
priv->s_port = s_port;
section = nmt_editor_section_new(_("TEAM PORT"), NULL, TRUE);
diff --git a/src/nmtui/nmt-page-team.c b/src/nmtui/nmt-page-team.c
index 3cda1257a7..28721c33f7 100644
--- a/src/nmtui/nmt-page-team.c
+++ b/src/nmtui/nmt-page-team.c
@@ -9,6 +9,7 @@
*/
#include "libnm-client-aux-extern/nm-default-client.h"
+#include "libnm-core-aux-intern/nm-libnm-core-utils.h"
#include "nmt-page-team.h"
@@ -111,12 +112,8 @@ nmt_page_team_constructed(GObject *object)
NmtNewtWidget * widget;
NMConnection * conn;
- conn = nmt_editor_page_get_connection(NMT_EDITOR_PAGE(team));
- s_team = nm_connection_get_setting_team(conn);
- if (!s_team) {
- nm_connection_add_setting(conn, nm_setting_team_new());
- s_team = nm_connection_get_setting_team(conn);
- }
+ conn = nmt_editor_page_get_connection(NMT_EDITOR_PAGE(team));
+ s_team = _nm_connection_ensure_setting(conn, NM_TYPE_SETTING_TEAM);
priv->s_team = s_team;
section = nmt_editor_section_new(_("TEAM"), NULL, TRUE);
diff --git a/src/nmtui/nmt-page-vlan.c b/src/nmtui/nmt-page-vlan.c
index 299a726721..4a12efeda5 100644
--- a/src/nmtui/nmt-page-vlan.c
+++ b/src/nmtui/nmt-page-vlan.c
@@ -9,6 +9,7 @@
*/
#include "libnm-client-aux-extern/nm-default-client.h"
+#include "libnm-core-aux-intern/nm-libnm-core-utils.h"
#include "nm-editor-bindings.h"
@@ -49,17 +50,9 @@ nmt_page_vlan_constructed(GObject *object)
NmtNewtWidget * widget, *parent, *id_entry;
NMConnection * conn;
- conn = nmt_editor_page_get_connection(NMT_EDITOR_PAGE(vlan));
- s_vlan = nm_connection_get_setting_vlan(conn);
- if (!s_vlan) {
- nm_connection_add_setting(conn, nm_setting_vlan_new());
- s_vlan = nm_connection_get_setting_vlan(conn);
- }
- s_wired = nm_connection_get_setting_wired(conn);
- if (!s_wired) {
- nm_connection_add_setting(conn, nm_setting_wired_new());
- s_wired = nm_connection_get_setting_wired(conn);
- }
+ conn = nmt_editor_page_get_connection(NMT_EDITOR_PAGE(vlan));
+ s_vlan = _nm_connection_ensure_setting(conn, NM_TYPE_SETTING_VLAN);
+ s_wired = _nm_connection_ensure_setting(conn, NM_TYPE_SETTING_WIRED);
section = nmt_editor_section_new(_("VLAN"), NULL, TRUE);
grid = nmt_editor_section_get_body(section);
diff --git a/src/nmtui/nmt-page-wifi.c b/src/nmtui/nmt-page-wifi.c
index 247a0e4e3e..45edd6a700 100644
--- a/src/nmtui/nmt-page-wifi.c
+++ b/src/nmtui/nmt-page-wifi.c
@@ -13,6 +13,7 @@
*/
#include "libnm-client-aux-extern/nm-default-client.h"
+#include "libnm-core-aux-intern/nm-libnm-core-utils.h"
#include <stdlib.h>
#include <linux/if_ether.h>
@@ -164,13 +165,8 @@ nmt_page_wifi_constructed(GObject *object)
NMConnection * conn;
conn = nmt_editor_page_get_connection(NMT_EDITOR_PAGE(wifi));
- s_wireless = nm_connection_get_setting_wireless(conn);
- if (!s_wireless) {
- nm_connection_add_setting(conn, nm_setting_wireless_new());
- s_wireless = nm_connection_get_setting_wireless(conn);
- }
-
- s_wsec = nm_connection_get_setting_wireless_security(conn);
+ s_wireless = _nm_connection_ensure_setting(conn, NM_TYPE_SETTING_WIRELESS);
+ s_wsec = nm_connection_get_setting_wireless_security(conn);
if (!s_wsec) {
/* It makes things simpler if we always have a
* NMSettingWirelessSecurity; we'll hold a ref on one, and add
diff --git a/src/nmtui/nmt-page-wireguard.c b/src/nmtui/nmt-page-wireguard.c
index 8b797d33c7..b60d8f40bd 100644
--- a/src/nmtui/nmt-page-wireguard.c
+++ b/src/nmtui/nmt-page-wireguard.c
@@ -8,6 +8,7 @@
*/
#include "libnm-client-aux-extern/nm-default-client.h"
+#include "libnm-core-aux-intern/nm-libnm-core-utils.h"
#include "nmt-page-wireguard.h"
@@ -51,12 +52,7 @@ nmt_page_wireguard_constructed(GObject *object)
NMConnection * conn;
conn = nmt_editor_page_get_connection(NMT_EDITOR_PAGE(wireguard));
- s_wireguard = NM_SETTING_WIREGUARD(nm_connection_get_setting(conn, NM_TYPE_SETTING_WIREGUARD));
- if (!s_wireguard) {
- nm_connection_add_setting(conn, nm_setting_wireguard_new());
- s_wireguard =
- NM_SETTING_WIREGUARD(nm_connection_get_setting(conn, NM_TYPE_SETTING_WIREGUARD));
- }
+ s_wireguard = _nm_connection_ensure_setting(conn, NM_TYPE_SETTING_WIREGUARD);
section = nmt_editor_section_new(_("WireGuard"), NULL, TRUE);
grid = nmt_editor_section_get_body(section);