Re: [PATCH 1/2] Use nm_connection_get_setting_<type>() whenever possible
- From: Dan Williams <dcbw redhat com>
- To: Thomas Graf <tgraf redhat com>
- Cc: networkmanager-list gnome org
- Subject: Re: [PATCH 1/2] Use nm_connection_get_setting_<type>() whenever possible
- Date: Thu, 27 Oct 2011 01:32:59 -0500
On Mon, 2011-10-24 at 12:02 +0200, Thomas Graf wrote:
> Leads to shorter, easier to read code and improves type casting safety.
Thanks; I'm thinking of holding off on this for a short while until
0.9.2 is cut so we can avoid the merge conflicts that'll arise from the
nl80211 and ipunblock branches, but we'll deal with that when it
happens.
Dan
> Signed-off-by: Thomas Graf <tgraf redhat com>
> ---
> examples/C/glib/list-connections-libnm-glib.c | 2 +-
> libnm-glib/nm-device-bt.c | 2 +-
> libnm-util/nm-connection.c | 10 +-
> libnm-util/tests/test-general.c | 6 +-
> libnm-util/tests/test-secrets.c | 4 +-
> src/NetworkManagerUtils.c | 6 +-
> src/modem-manager/nm-modem-cdma.c | 12 +-
> src/modem-manager/nm-modem-gsm.c | 12 +-
> src/modem-manager/nm-modem.c | 2 +-
> src/nm-device-bt.c | 16 +-
> src/nm-device-ethernet.c | 30 +-
> src/nm-device-olpc-mesh.c | 8 +-
> src/nm-device-wifi.c | 30 +-
> src/nm-device.c | 28 +-
> src/nm-manager-auth.c | 2 +-
> src/nm-manager.c | 12 +-
> src/nm-policy.c | 12 +-
> src/nm-wifi-ap.c | 9 +-
> src/ppp-manager/nm-ppp-manager.c | 8 +-
> src/settings/nm-agent-manager.c | 2 +-
> src/settings/nm-settings-connection.c | 10 +-
> src/settings/nm-settings.c | 9 +-
> src/settings/plugins/ifcfg-rh/plugin.c | 2 +-
> src/settings/plugins/ifcfg-rh/reader.c | 2 +-
> .../plugins/ifcfg-rh/tests/test-ifcfg-rh.c | 278 ++++++++++----------
> src/settings/plugins/ifcfg-rh/writer.c | 20 +-
> src/settings/plugins/ifnet/connection_parser.c | 41 +--
> src/settings/plugins/ifnet/plugin.c | 3 +-
> src/settings/plugins/ifupdown/parser.c | 5 +-
> src/settings/plugins/ifupdown/plugin.c | 12 +-
> src/settings/plugins/keyfile/reader.c | 4 +-
> src/settings/plugins/keyfile/tests/test-keyfile.c | 70 +++---
> src/tests/test-wifi-ap-utils.c | 8 +-
> src/vpn-manager/nm-vpn-connection.c | 22 +-
> src/vpn-manager/nm-vpn-manager.c | 2 +-
> src/wimax/nm-wimax-nsp.c | 2 +-
> test/nm-tool.c | 2 +-
> 37 files changed, 342 insertions(+), 363 deletions(-)
>
> diff --git a/examples/C/glib/list-connections-libnm-glib.c b/examples/C/glib/list-connections-libnm-glib.c
> index edb5ccc..01a9f25 100644
> --- a/examples/C/glib/list-connections-libnm-glib.c
> +++ b/examples/C/glib/list-connections-libnm-glib.c
> @@ -76,7 +76,7 @@ show_connection (NMConnection *data, gpointer user_data)
> char timestamp_real_str[64];
> const char *val1, *val2, *val3, *val4, *val5;
>
> - s_con = (NMSettingConnection *) nm_connection_get_setting (connection, NM_TYPE_SETTING_CONNECTION);
> + s_con = nm_connection_get_setting_connection (connection);
> if (s_con) {
> /* Get various info from NMSettingConnection and show it */
> timestamp = nm_setting_connection_get_timestamp (s_con);
> diff --git a/libnm-glib/nm-device-bt.c b/libnm-glib/nm-device-bt.c
> index dc60d25..a306bb7 100644
> --- a/libnm-glib/nm-device-bt.c
> +++ b/libnm-glib/nm-device-bt.c
> @@ -169,7 +169,7 @@ get_connection_bt_type (NMConnection *connection)
> NMSettingBluetooth *s_bt;
> const char *bt_type;
>
> - s_bt = (NMSettingBluetooth *) nm_connection_get_setting (connection, NM_TYPE_SETTING_BLUETOOTH);
> + s_bt = nm_connection_get_setting_bluetooth (connection);
> if (!s_bt)
> return NM_BT_CAPABILITY_NONE;
>
> diff --git a/libnm-util/nm-connection.c b/libnm-util/nm-connection.c
> index 6a10128..76af7e0 100644
> --- a/libnm-util/nm-connection.c
> +++ b/libnm-util/nm-connection.c
> @@ -709,7 +709,7 @@ gboolean
> nm_connection_verify (NMConnection *connection, GError **error)
> {
> NMConnectionPrivate *priv;
> - NMSetting *s_con;
> + NMSettingConnection *s_con;
> GHashTableIter iter;
> gpointer value;
> GSList *all_settings = NULL;
> @@ -731,7 +731,7 @@ nm_connection_verify (NMConnection *connection, GError **error)
> priv = NM_CONNECTION_GET_PRIVATE (connection);
>
> /* First, make sure there's at least 'connection' setting */
> - s_con = nm_connection_get_setting (connection, NM_TYPE_SETTING_CONNECTION);
> + s_con = nm_connection_get_setting_connection (connection);
> if (!s_con) {
> g_set_error_literal (error,
> NM_CONNECTION_ERROR,
> @@ -757,7 +757,7 @@ nm_connection_verify (NMConnection *connection, GError **error)
> /* Now make sure the given 'type' setting can actually be the base setting
> * of the connection. Can't have type=ppp for example.
> */
> - ctype = nm_setting_connection_get_connection_type (NM_SETTING_CONNECTION (s_con));
> + ctype = nm_setting_connection_get_connection_type (s_con);
> if (!ctype) {
> g_set_error_literal (error,
> NM_CONNECTION_ERROR,
> @@ -1243,7 +1243,7 @@ nm_connection_get_uuid (NMConnection *connection)
> g_return_val_if_fail (connection != NULL, NULL);
> g_return_val_if_fail (NM_IS_CONNECTION (connection), NULL);
>
> - s_con = (NMSettingConnection *) nm_connection_get_setting (connection, NM_TYPE_SETTING_CONNECTION);
> + s_con = nm_connection_get_setting_connection (connection);
> g_return_val_if_fail (s_con != NULL, NULL);
>
> return nm_setting_connection_get_uuid (s_con);
> @@ -1265,7 +1265,7 @@ nm_connection_get_id (NMConnection *connection)
> g_return_val_if_fail (connection != NULL, NULL);
> g_return_val_if_fail (NM_IS_CONNECTION (connection), NULL);
>
> - s_con = (NMSettingConnection *) nm_connection_get_setting (connection, NM_TYPE_SETTING_CONNECTION);
> + s_con = nm_connection_get_setting_connection (connection);
> g_return_val_if_fail (s_con != NULL, NULL);
>
> return nm_setting_connection_get_id (s_con);
> diff --git a/libnm-util/tests/test-general.c b/libnm-util/tests/test-general.c
> index f2f7e8f..3376373 100644
> --- a/libnm-util/tests/test-general.c
> +++ b/libnm-util/tests/test-general.c
> @@ -916,7 +916,7 @@ test_connection_diff_different (void)
> {
> NMConnection *a, *b;
> GHashTable *out_diffs = NULL;
> - NMSetting *s_ip4;
> + NMSettingIP4Config *s_ip4;
> gboolean same;
> const DiffSetting settings[] = {
> { NM_SETTING_IP4_CONFIG_SETTING_NAME, {
> @@ -927,7 +927,7 @@ test_connection_diff_different (void)
>
> a = new_test_connection ();
> b = nm_connection_duplicate (a);
> - s_ip4 = nm_connection_get_setting (a, NM_TYPE_SETTING_IP4_CONFIG);
> + s_ip4 = nm_connection_get_setting_ip4_config (a);
> g_assert (s_ip4);
> g_object_set (G_OBJECT (s_ip4),
> NM_SETTING_IP4_CONFIG_METHOD, NM_SETTING_IP4_CONFIG_METHOD_MANUAL,
> @@ -968,7 +968,7 @@ test_connection_diff_no_secrets (void)
> b = nm_connection_duplicate (a);
>
> /* Add a secret to B */
> - s_pppoe = nm_connection_get_setting (b, NM_TYPE_SETTING_PPPOE);
> + s_pppoe = NM_SETTING( nm_connection_get_setting_pppoe (b));
> g_assert (s_pppoe);
> g_object_set (G_OBJECT (s_pppoe),
> NM_SETTING_PPPOE_PASSWORD, "secretpassword",
> diff --git a/libnm-util/tests/test-secrets.c b/libnm-util/tests/test-secrets.c
> index 1fe3c43..0e859ab 100644
> --- a/libnm-util/tests/test-secrets.c
> +++ b/libnm-util/tests/test-secrets.c
> @@ -527,7 +527,7 @@ test_update_secrets_wifi_single_setting (void)
> g_assert (success);
>
> /* Make sure the secret is now in the connection */
> - s_wsec = (NMSettingWirelessSecurity *) nm_connection_get_setting (connection, NM_TYPE_SETTING_WIRELESS_SECURITY);
> + s_wsec = nm_connection_get_setting_wireless_security (connection);
> g_assert (s_wsec);
> tmp = nm_setting_wireless_security_get_wep_key (s_wsec, 0);
> g_assert_cmpstr (tmp, ==, wepkey);
> @@ -563,7 +563,7 @@ test_update_secrets_wifi_full_hash (void)
> g_assert (success);
>
> /* Make sure the secret is now in the connection */
> - s_wsec = (NMSettingWirelessSecurity *) nm_connection_get_setting (connection, NM_TYPE_SETTING_WIRELESS_SECURITY);
> + s_wsec = nm_connection_get_setting_wireless_security (connection);
> g_assert (s_wsec);
> tmp = nm_setting_wireless_security_get_wep_key (s_wsec, 0);
> g_assert_cmpstr (tmp, ==, wepkey);
> diff --git a/src/NetworkManagerUtils.c b/src/NetworkManagerUtils.c
> index 451de6d..f01e395 100644
> --- a/src/NetworkManagerUtils.c
> +++ b/src/NetworkManagerUtils.c
> @@ -955,7 +955,7 @@ nm_utils_complete_generic (NMConnection *connection,
> const char *method;
> char *id, *uuid;
>
> - s_con = (NMSettingConnection *) nm_connection_get_setting (connection, NM_TYPE_SETTING_CONNECTION);
> + s_con = nm_connection_get_setting_connection (connection);
> if (!s_con) {
> s_con = (NMSettingConnection *) nm_setting_connection_new ();
> nm_connection_add_setting (connection, NM_SETTING (s_con));
> @@ -976,7 +976,7 @@ nm_utils_complete_generic (NMConnection *connection,
> }
>
> /* Add an 'auto' IPv4 connection if present */
> - s_ip4 = (NMSettingIP4Config *) nm_connection_get_setting (connection, NM_TYPE_SETTING_IP4_CONFIG);
> + s_ip4 = nm_connection_get_setting_ip4_config (connection);
> if (!s_ip4) {
> s_ip4 = (NMSettingIP4Config *) nm_setting_ip4_config_new ();
> nm_connection_add_setting (connection, NM_SETTING (s_ip4));
> @@ -989,7 +989,7 @@ nm_utils_complete_generic (NMConnection *connection,
> }
>
> /* Add an 'auto' IPv6 setting if allowed and not preset */
> - s_ip6 = (NMSettingIP6Config *) nm_connection_get_setting (connection, NM_TYPE_SETTING_IP6_CONFIG);
> + s_ip6 = nm_connection_get_setting_ip6_config (connection);
> if (!s_ip6 && default_enable_ipv6) {
> s_ip6 = (NMSettingIP6Config *) nm_setting_ip6_config_new ();
> nm_connection_add_setting (connection, NM_SETTING (s_ip6));
> diff --git a/src/modem-manager/nm-modem-cdma.c b/src/modem-manager/nm-modem-cdma.c
> index 5db6a84..3d2153b 100644
> --- a/src/modem-manager/nm-modem-cdma.c
> +++ b/src/modem-manager/nm-modem-cdma.c
> @@ -169,7 +169,7 @@ create_connect_properties (NMConnection *connection)
> GHashTable *properties;
> const char *str;
>
> - setting = NM_SETTING_CDMA (nm_connection_get_setting (connection, NM_TYPE_SETTING_CDMA));
> + setting = nm_connection_get_setting_cdma (connection);
> properties = value_hash_create ();
>
> str = nm_setting_cdma_get_number (setting);
> @@ -230,7 +230,7 @@ real_get_best_auto_connection (NMModem *modem,
> NMConnection *connection = NM_CONNECTION (iter->data);
> NMSettingConnection *s_con;
>
> - s_con = (NMSettingConnection *) nm_connection_get_setting (connection, NM_TYPE_SETTING_CONNECTION);
> + s_con = nm_connection_get_setting_connection (connection);
> g_assert (s_con);
>
> if (!nm_setting_connection_get_autoconnect (s_con))
> @@ -252,7 +252,7 @@ real_check_connection_compatible (NMModem *modem,
> NMSettingConnection *s_con;
> NMSettingCdma *s_cdma;
>
> - s_con = NM_SETTING_CONNECTION (nm_connection_get_setting (connection, NM_TYPE_SETTING_CONNECTION));
> + s_con = nm_connection_get_setting_connection (connection);
> g_assert (s_con);
>
> if (strcmp (nm_setting_connection_get_connection_type (s_con), NM_SETTING_CDMA_SETTING_NAME)) {
> @@ -262,7 +262,7 @@ real_check_connection_compatible (NMModem *modem,
> return FALSE;
> }
>
> - s_cdma = NM_SETTING_CDMA (nm_connection_get_setting (connection, NM_TYPE_SETTING_CDMA));
> + s_cdma = nm_connection_get_setting_cdma (connection);
> if (!s_cdma) {
> g_set_error (error,
> NM_CDMA_ERROR, NM_CDMA_ERROR_CONNECTION_INVALID,
> @@ -281,7 +281,7 @@ real_complete_connection (NMModem *modem,
> {
> NMSettingCdma *s_cdma;
>
> - s_cdma = (NMSettingCdma *) nm_connection_get_setting (connection, NM_TYPE_SETTING_CDMA);
> + s_cdma = nm_connection_get_setting_cdma (connection);
> if (!s_cdma) {
> s_cdma = (NMSettingCdma *) nm_setting_cdma_new ();
> nm_connection_add_setting (connection, NM_SETTING (s_cdma));
> @@ -308,7 +308,7 @@ real_get_user_pass (NMModem *modem,
> {
> NMSettingCdma *s_cdma;
>
> - s_cdma = (NMSettingCdma *) nm_connection_get_setting (connection, NM_TYPE_SETTING_CDMA);
> + s_cdma = nm_connection_get_setting_cdma (connection);
> if (!s_cdma)
> return FALSE;
>
> diff --git a/src/modem-manager/nm-modem-gsm.c b/src/modem-manager/nm-modem-gsm.c
> index 9a96ae9..1a4fe62 100644
> --- a/src/modem-manager/nm-modem-gsm.c
> +++ b/src/modem-manager/nm-modem-gsm.c
> @@ -327,7 +327,7 @@ create_connect_properties (NMConnection *connection)
> GHashTable *properties;
> const char *str;
>
> - setting = NM_SETTING_GSM (nm_connection_get_setting (connection, NM_TYPE_SETTING_GSM));
> + setting = nm_connection_get_setting_gsm (connection);
> properties = value_hash_create ();
>
> str = nm_setting_gsm_get_number (setting);
> @@ -429,7 +429,7 @@ real_get_best_auto_connection (NMModem *modem,
> NMConnection *connection = NM_CONNECTION (iter->data);
> NMSettingConnection *s_con;
>
> - s_con = (NMSettingConnection *) nm_connection_get_setting (connection, NM_TYPE_SETTING_CONNECTION);
> + s_con = nm_connection_get_setting_connection (connection);
> g_assert (s_con);
>
> if (!nm_setting_connection_get_autoconnect (s_con))
> @@ -451,7 +451,7 @@ real_check_connection_compatible (NMModem *modem,
> NMSettingConnection *s_con;
> NMSettingGsm *s_gsm;
>
> - s_con = NM_SETTING_CONNECTION (nm_connection_get_setting (connection, NM_TYPE_SETTING_CONNECTION));
> + s_con = nm_connection_get_setting_connection (connection);
> g_assert (s_con);
>
> if (strcmp (nm_setting_connection_get_connection_type (s_con), NM_SETTING_GSM_SETTING_NAME)) {
> @@ -461,7 +461,7 @@ real_check_connection_compatible (NMModem *modem,
> return FALSE;
> }
>
> - s_gsm = NM_SETTING_GSM (nm_connection_get_setting (connection, NM_TYPE_SETTING_GSM));
> + s_gsm = nm_connection_get_setting_gsm (connection);
> if (!s_gsm) {
> g_set_error (error,
> NM_GSM_ERROR, NM_GSM_ERROR_CONNECTION_INVALID,
> @@ -480,7 +480,7 @@ real_complete_connection (NMModem *modem,
> {
> NMSettingGsm *s_gsm;
>
> - s_gsm = (NMSettingGsm *) nm_connection_get_setting (connection, NM_TYPE_SETTING_GSM);
> + s_gsm = nm_connection_get_setting_gsm (connection);
> if (!s_gsm || !nm_setting_gsm_get_apn (s_gsm)) {
> /* Need an APN at least */
> g_set_error_literal (error,
> @@ -511,7 +511,7 @@ real_get_user_pass (NMModem *modem,
> {
> NMSettingGsm *s_gsm;
>
> - s_gsm = (NMSettingGsm *) nm_connection_get_setting (connection, NM_TYPE_SETTING_GSM);
> + s_gsm = nm_connection_get_setting_gsm (connection);
> if (!s_gsm)
> return FALSE;
>
> diff --git a/src/modem-manager/nm-modem.c b/src/modem-manager/nm-modem.c
> index debfbdf..31526c5 100644
> --- a/src/modem-manager/nm-modem.c
> +++ b/src/modem-manager/nm-modem.c
> @@ -139,7 +139,7 @@ merge_ip4_config (NMActRequest *req, NMIP4Config *config)
> connection = nm_act_request_get_connection (req);
> g_assert (connection);
>
> - s_ip4 = (NMSettingIP4Config *) nm_connection_get_setting (connection, NM_TYPE_SETTING_IP4_CONFIG);
> + s_ip4 = nm_connection_get_setting_ip4_config (connection);
> if (s_ip4)
> nm_utils_merge_ip4_config (config, s_ip4);
> }
> diff --git a/src/nm-device-bt.c b/src/nm-device-bt.c
> index c36e0c0..6b4f61a 100644
> --- a/src/nm-device-bt.c
> +++ b/src/nm-device-bt.c
> @@ -155,7 +155,7 @@ get_connection_bt_type (NMConnection *connection)
> NMSettingBluetooth *s_bt;
> const char *bt_type;
>
> - s_bt = (NMSettingBluetooth *) nm_connection_get_setting (connection, NM_TYPE_SETTING_BLUETOOTH);
> + s_bt = nm_connection_get_setting_bluetooth (connection);
> if (!s_bt)
> return NM_BT_CAPABILITY_NONE;
>
> @@ -183,7 +183,7 @@ real_get_best_auto_connection (NMDevice *device,
> NMSettingConnection *s_con;
> guint32 bt_type;
>
> - s_con = (NMSettingConnection *) nm_connection_get_setting (connection, NM_TYPE_SETTING_CONNECTION);
> + s_con = nm_connection_get_setting_connection (connection);
> g_assert (s_con);
>
> if (!nm_setting_connection_get_autoconnect (s_con))
> @@ -214,7 +214,7 @@ real_check_connection_compatible (NMDevice *device,
> int addr_match = FALSE;
> guint32 bt_type;
>
> - s_con = NM_SETTING_CONNECTION (nm_connection_get_setting (connection, NM_TYPE_SETTING_CONNECTION));
> + s_con = nm_connection_get_setting_connection (connection);
> g_assert (s_con);
>
> if (strcmp (nm_setting_connection_get_connection_type (s_con), NM_SETTING_BLUETOOTH_SETTING_NAME)) {
> @@ -224,7 +224,7 @@ real_check_connection_compatible (NMDevice *device,
> return FALSE;
> }
>
> - s_bt = NM_SETTING_BLUETOOTH (nm_connection_get_setting (connection, NM_TYPE_SETTING_BLUETOOTH));
> + s_bt = nm_connection_get_setting_bluetooth (connection);
> if (!s_bt) {
> g_set_error (error,
> NM_BT_ERROR, NM_BT_ERROR_CONNECTION_INVALID,
> @@ -276,12 +276,12 @@ real_complete_connection (NMDevice *device,
> NMSettingPPP *s_ppp;
> const char *format = NULL, *preferred = NULL;
>
> - s_gsm = (NMSettingGsm *) nm_connection_get_setting (connection, NM_TYPE_SETTING_GSM);
> - s_cdma = (NMSettingCdma *) nm_connection_get_setting (connection, NM_TYPE_SETTING_CDMA);
> + s_gsm = nm_connection_get_setting_gsm (connection);
> + s_cdma = nm_connection_get_setting_cdma (connection);
> s_serial = (NMSettingSerial *) nm_connection_get_setting (connection, NM_TYPE_SETTING_SERIAL);
> - s_ppp = (NMSettingPPP *) nm_connection_get_setting (connection, NM_TYPE_SETTING_PPP);
> + s_ppp = nm_connection_get_setting_ppp (connection);
>
> - s_bt = (NMSettingBluetooth *) nm_connection_get_setting (connection, NM_TYPE_SETTING_BLUETOOTH);
> + s_bt = nm_connection_get_setting_bluetooth (connection);
> if (!s_bt) {
> s_bt = (NMSettingBluetooth *) nm_setting_bluetooth_new ();
> nm_connection_add_setting (connection, NM_SETTING (s_bt));
> diff --git a/src/nm-device-ethernet.c b/src/nm-device-ethernet.c
> index 8556c5b..9b190a9 100644
> --- a/src/nm-device-ethernet.c
> +++ b/src/nm-device-ethernet.c
> @@ -886,7 +886,7 @@ real_get_best_auto_connection (NMDevice *dev,
> const GSList *mac_blacklist, *mac_blacklist_iter;
> gboolean mac_blacklist_found = FALSE;
>
> - s_con = (NMSettingConnection *) nm_connection_get_setting (connection, NM_TYPE_SETTING_CONNECTION);
> + s_con = nm_connection_get_setting_connection (connection);
> g_assert (s_con);
>
> connection_type = nm_setting_connection_get_connection_type (s_con);
> @@ -898,7 +898,7 @@ real_get_best_auto_connection (NMDevice *dev,
> if (!nm_setting_connection_get_autoconnect (s_con))
> continue;
>
> - s_wired = (NMSettingWired *) nm_connection_get_setting (connection, NM_TYPE_SETTING_WIRED);
> + s_wired = nm_connection_get_setting_wired (connection);
> /* Wired setting optional for PPPoE */
> if (!is_pppoe && !s_wired)
> continue;
> @@ -1109,7 +1109,7 @@ build_supplicant_config (NMDeviceEthernet *self)
> if (!config)
> return NULL;
>
> - security = NM_SETTING_802_1X (nm_connection_get_setting (connection, NM_TYPE_SETTING_802_1X));
> + security = nm_connection_get_setting_802_1x (connection);
> if (!nm_supplicant_config_add_setting_8021x (config, security, con_path, TRUE)) {
> nm_log_warn (LOGD_DEVICE, "Couldn't add 802.1X security setting to supplicant config.");
> g_object_unref (config);
> @@ -1377,7 +1377,7 @@ nm_8021x_stage2_config (NMDeviceEthernet *self, NMDeviceStateReason *reason)
> NMActStageReturn ret = NM_ACT_STAGE_RETURN_FAILURE;
>
> connection = nm_act_request_get_connection (nm_device_get_act_request (NM_DEVICE (self)));
> - security = NM_SETTING_802_1X (nm_connection_get_setting (connection, NM_TYPE_SETTING_802_1X));
> + security = nm_connection_get_setting_802_1x (connection);
> if (!security) {
> nm_log_err (LOGD_DEVICE, "Invalid or missing 802.1X security");
> *reason = NM_DEVICE_STATE_REASON_CONFIG_FAILED;
> @@ -1465,7 +1465,7 @@ pppoe_stage3_ip4_config_start (NMDeviceEthernet *self, NMDeviceStateReason *reas
> connection = nm_act_request_get_connection (req);
> g_assert (req);
>
> - s_pppoe = (NMSettingPPPOE *) nm_connection_get_setting (connection, NM_TYPE_SETTING_PPPOE);
> + s_pppoe = nm_connection_get_setting_pppoe (connection);
> g_assert (s_pppoe);
>
> priv->ppp_manager = nm_ppp_manager_new (nm_device_get_iface (NM_DEVICE (self)));
> @@ -1562,7 +1562,7 @@ real_act_stage4_get_ip4_config (NMDevice *device,
>
> connection = nm_act_request_get_connection (nm_device_get_act_request (device));
> g_assert (connection);
> - s_wired = NM_SETTING_WIRED (nm_connection_get_setting (connection, NM_TYPE_SETTING_WIRED));
> + s_wired = nm_connection_get_setting_wired (connection);
> g_assert (s_wired);
>
> /* MTU override */
> @@ -1581,7 +1581,7 @@ real_act_stage4_get_ip4_config (NMDevice *device,
> /* Merge user-defined overrides into the IP4Config to be applied */
> connection = nm_act_request_get_connection (nm_device_get_act_request (device));
> g_assert (connection);
> - s_ip4 = (NMSettingIP4Config *) nm_connection_get_setting (connection, NM_TYPE_SETTING_IP4_CONFIG);
> + s_ip4 = nm_connection_get_setting_ip4_config (connection);
> nm_utils_merge_ip4_config (*config, s_ip4);
>
> ret = NM_ACT_STAGE_RETURN_SUCCESS;
> @@ -1630,7 +1630,7 @@ real_check_connection_compatible (NMDevice *device,
> gboolean try_mac = TRUE;
> const GSList *mac_blacklist, *mac_blacklist_iter;
>
> - s_con = NM_SETTING_CONNECTION (nm_connection_get_setting (connection, NM_TYPE_SETTING_CONNECTION));
> + s_con = nm_connection_get_setting_connection (connection);
> g_assert (s_con);
>
> connection_type = nm_setting_connection_get_connection_type (s_con);
> @@ -1645,7 +1645,7 @@ real_check_connection_compatible (NMDevice *device,
> if (!strcmp (connection_type, NM_SETTING_PPPOE_SETTING_NAME))
> is_pppoe = TRUE;
>
> - s_wired = (NMSettingWired *) nm_connection_get_setting (connection, NM_TYPE_SETTING_WIRED);
> + s_wired = nm_connection_get_setting_wired (connection);
> /* Wired setting is optional for PPPoE */
> if (!is_pppoe && !s_wired) {
> g_set_error (error,
> @@ -1707,7 +1707,7 @@ real_complete_connection (NMDevice *device,
> NMSettingPPPOE *s_pppoe;
> const GByteArray *setting_mac;
>
> - s_pppoe = (NMSettingPPPOE *) nm_connection_get_setting (connection, NM_TYPE_SETTING_PPPOE);
> + s_pppoe = nm_connection_get_setting_pppoe (connection);
>
> /* We can't telepathically figure out the service name or username, so if
> * those weren't given, we can't complete the connection.
> @@ -1725,7 +1725,7 @@ real_complete_connection (NMDevice *device,
> NULL,
> s_pppoe ? FALSE : TRUE); /* No IPv6 by default yet for PPPoE */
>
> - s_wired = (NMSettingWired *) nm_connection_get_setting (connection, NM_TYPE_SETTING_WIRED);
> + s_wired = nm_connection_get_setting_wired (connection);
> if (!s_wired) {
> s_wired = (NMSettingWired *) nm_setting_wired_new ();
> nm_connection_add_setting (connection, NM_SETTING (s_wired));
> @@ -1782,7 +1782,7 @@ wired_match_config (NMDevice *self, NMConnection *connection)
> const GByteArray *s_ether;
> gboolean try_mac = TRUE;
>
> - s_wired = (NMSettingWired *) nm_connection_get_setting (connection, NM_TYPE_SETTING_WIRED);
> + s_wired = nm_connection_get_setting_wired (connection);
> if (!s_wired)
> return FALSE;
>
> @@ -1880,7 +1880,7 @@ connection_match_config (NMDevice *self, const GSList *connections)
> for (iter = (GSList *) connections; iter; iter = g_slist_next (iter)) {
> NMConnection *candidate = NM_CONNECTION (iter->data);
>
> - s_con = (NMSettingConnection *) nm_connection_get_setting (candidate, NM_TYPE_SETTING_CONNECTION);
> + s_con = nm_connection_get_setting_connection (candidate);
> g_assert (s_con);
> if (strcmp (nm_setting_connection_get_connection_type (s_con), NM_SETTING_WIRED_SETTING_NAME))
> continue;
> @@ -1888,8 +1888,8 @@ connection_match_config (NMDevice *self, const GSList *connections)
> /* Can't assume 802.1x or PPPoE connections; they have too much state
> * that's impossible to get on-the-fly from PPPoE or the supplicant.
> */
> - if ( nm_connection_get_setting (candidate, NM_TYPE_SETTING_802_1X)
> - || nm_connection_get_setting (candidate, NM_TYPE_SETTING_PPPOE))
> + if ( nm_connection_get_setting_802_1x (candidate)
> + || nm_connection_get_setting_pppoe (candidate))
> continue;
>
> if (!wired_match_config (self, candidate))
> diff --git a/src/nm-device-olpc-mesh.c b/src/nm-device-olpc-mesh.c
> index ddd5198..0eddc4d 100644
> --- a/src/nm-device-olpc-mesh.c
> +++ b/src/nm-device-olpc-mesh.c
> @@ -331,7 +331,7 @@ real_check_connection_compatible (NMDevice *device,
> NMSettingConnection *s_con;
> NMSettingOlpcMesh *s_mesh;
>
> - s_con = NM_SETTING_CONNECTION (nm_connection_get_setting (connection, NM_TYPE_SETTING_CONNECTION));
> + s_con = nm_connection_get_setting_connection (connection);
> g_assert (s_con);
>
> if (strcmp (nm_setting_connection_get_connection_type (s_con), NM_SETTING_OLPC_MESH_SETTING_NAME)) {
> @@ -341,7 +341,7 @@ real_check_connection_compatible (NMDevice *device,
> return FALSE;
> }
>
> - s_mesh = NM_SETTING_OLPC_MESH (nm_connection_get_setting (connection, NM_TYPE_SETTING_OLPC_MESH));
> + s_mesh = nm_connection_get_setting_olpc_mesh (connection);
> if (!s_mesh) {
> g_set_error (error,
> NM_OLPC_MESH_ERROR, NM_OLPC_MESH_ERROR_CONNECTION_INVALID,
> @@ -364,7 +364,7 @@ real_complete_connection (NMDevice *device,
> NMSettingOlpcMesh *s_mesh;
> GByteArray *tmp;
>
> - s_mesh = (NMSettingOlpcMesh *) nm_connection_get_setting (connection, NM_TYPE_SETTING_OLPC_MESH);
> + s_mesh = nm_connection_get_setting_olpc_mesh (connection);
> if (!s_mesh) {
> s_mesh = (NMSettingOlpcMesh *) nm_setting_olpc_mesh_new ();
> nm_connection_add_setting (connection, NM_SETTING (s_mesh));
> @@ -622,7 +622,7 @@ real_act_stage2_config (NMDevice *dev, NMDeviceStateReason *reason)
> connection = nm_act_request_get_connection (req);
> g_assert (connection);
>
> - s_mesh = NM_SETTING_OLPC_MESH (nm_connection_get_setting (connection, NM_TYPE_SETTING_OLPC_MESH));
> + s_mesh = nm_connection_get_setting_olpc_mesh (connection);
> g_assert (s_mesh);
>
> channel = nm_setting_olpc_mesh_get_channel (s_mesh);
> diff --git a/src/nm-device-wifi.c b/src/nm-device-wifi.c
> index 9695c07..045fcbf 100644
> --- a/src/nm-device-wifi.c
> +++ b/src/nm-device-wifi.c
> @@ -1320,7 +1320,7 @@ real_check_connection_compatible (NMDevice *device,
> const GByteArray *mac;
> const GSList *mac_blacklist, *mac_blacklist_iter;
>
> - s_con = NM_SETTING_CONNECTION (nm_connection_get_setting (connection, NM_TYPE_SETTING_CONNECTION));
> + s_con = nm_connection_get_setting_connection (connection);
> g_assert (s_con);
>
> if (strcmp (nm_setting_connection_get_connection_type (s_con), NM_SETTING_WIRELESS_SETTING_NAME)) {
> @@ -1330,7 +1330,7 @@ real_check_connection_compatible (NMDevice *device,
> return FALSE;
> }
>
> - s_wireless = NM_SETTING_WIRELESS (nm_connection_get_setting (connection, NM_TYPE_SETTING_WIRELESS));
> + s_wireless = nm_connection_get_setting_wireless (connection);
> if (!s_wireless) {
> g_set_error (error,
> NM_WIFI_ERROR, NM_WIFI_ERROR_CONNECTION_INVALID,
> @@ -1614,7 +1614,7 @@ real_get_best_auto_connection (NMDevice *dev,
> NMSettingIP4Config *s_ip4;
> const char *method = NULL;
>
> - s_con = (NMSettingConnection *) nm_connection_get_setting (connection, NM_TYPE_SETTING_CONNECTION);
> + s_con = nm_connection_get_setting_connection (connection);
> if (s_con == NULL)
> continue;
> if (strcmp (nm_setting_connection_get_connection_type (s_con), NM_SETTING_WIRELESS_SETTING_NAME))
> @@ -1622,7 +1622,7 @@ real_get_best_auto_connection (NMDevice *dev,
> if (!nm_setting_connection_get_autoconnect (s_con))
> continue;
>
> - s_wireless = (NMSettingWireless *) nm_connection_get_setting (connection, NM_TYPE_SETTING_WIRELESS);
> + s_wireless = nm_connection_get_setting_wireless (connection);
> if (!s_wireless)
> continue;
>
> @@ -1650,7 +1650,7 @@ real_get_best_auto_connection (NMDevice *dev,
> continue;
>
> /* Use the connection if it's a shared connection */
> - s_ip4 = (NMSettingIP4Config *) nm_connection_get_setting (connection, NM_TYPE_SETTING_IP4_CONFIG);
> + s_ip4 = nm_connection_get_setting_ip4_config (connection);
> if (s_ip4)
> method = nm_setting_ip4_config_get_method (s_ip4);
>
> @@ -2020,7 +2020,7 @@ scanning_allowed (NMDeviceWifi *self)
>
> /* Don't scan when a shared connection is active; it makes drivers mad */
> connection = nm_act_request_get_connection (req);
> - s_ip4 = (NMSettingIP4Config *) nm_connection_get_setting (connection, NM_TYPE_SETTING_IP4_CONFIG);
> + s_ip4 = nm_connection_get_setting_ip4_config (connection);
> if (s_ip4)
> ip4_method = nm_setting_ip4_config_get_method (s_ip4);
>
> @@ -2031,7 +2031,7 @@ scanning_allowed (NMDeviceWifi *self)
> * intra-ESS roaming (which requires periodic scanning) isn't being
> * used due to the specific AP lock. (bgo #513820)
> */
> - s_wifi = (NMSettingWireless *) nm_connection_get_setting (connection, NM_TYPE_SETTING_WIRELESS);
> + s_wifi = nm_connection_get_setting_wireless (connection);
> g_assert (s_wifi);
> bssid = nm_setting_wireless_get_bssid (s_wifi);
> if (bssid && bssid->len == ETH_ALEN)
> @@ -2951,7 +2951,7 @@ build_supplicant_config (NMDeviceWifi *self,
>
> g_return_val_if_fail (self != NULL, NULL);
>
> - s_wireless = (NMSettingWireless *) nm_connection_get_setting (connection, NM_TYPE_SETTING_WIRELESS);
> + s_wireless = nm_connection_get_setting_wireless (connection);
> g_return_val_if_fail (s_wireless != NULL, NULL);
>
> config = nm_supplicant_config_new ();
> @@ -2992,13 +2992,13 @@ build_supplicant_config (NMDeviceWifi *self,
> goto error;
> }
>
> - s_wireless_sec = (NMSettingWirelessSecurity *) nm_connection_get_setting (connection, NM_TYPE_SETTING_WIRELESS_SECURITY);
> + s_wireless_sec = nm_connection_get_setting_wireless_security (connection);
> if (s_wireless_sec) {
> NMSetting8021x *s_8021x;
> const char *con_path = nm_connection_get_path (connection);
>
> g_assert (con_path);
> - s_8021x = (NMSetting8021x *) nm_connection_get_setting (connection, NM_TYPE_SETTING_802_1X);
> + s_8021x = nm_connection_get_setting_802_1x (connection);
> if (!nm_supplicant_config_add_setting_wireless_security (config,
> s_wireless_sec,
> s_8021x,
> @@ -3136,7 +3136,7 @@ real_act_stage1_prepare (NMDevice *dev, NMDeviceStateReason *reason)
> g_return_val_if_fail (connection != NULL, NM_ACT_STAGE_RETURN_FAILURE);
>
> /* Set spoof MAC to the interface */
> - s_wireless = (NMSettingWireless *) nm_connection_get_setting (connection, NM_TYPE_SETTING_WIRELESS);
> + s_wireless = nm_connection_get_setting_wireless (connection);
> g_assert (s_wireless);
>
> cloned_mac = nm_setting_wireless_get_cloned_mac_address (s_wireless);
> @@ -3212,7 +3212,7 @@ real_act_stage2_config (NMDevice *dev, NMDeviceStateReason *reason)
> connection = nm_act_request_get_connection (req);
> g_assert (connection);
>
> - s_wireless = (NMSettingWireless *) nm_connection_get_setting (connection, NM_TYPE_SETTING_WIRELESS);
> + s_wireless = nm_connection_get_setting_wireless (connection);
> g_assert (s_wireless);
>
> /* If we need secrets, get them */
> @@ -3309,7 +3309,7 @@ real_act_stage4_get_ip4_config (NMDevice *dev,
>
> connection = nm_act_request_get_connection (nm_device_get_act_request (dev));
> g_assert (connection);
> - s_wireless = NM_SETTING_WIRELESS (nm_connection_get_setting (connection, NM_TYPE_SETTING_WIRELESS));
> + s_wireless = nm_connection_get_setting_wireless (connection);
> g_assert (s_wireless);
>
> /* MTU override */
> @@ -3413,7 +3413,7 @@ real_act_stage4_ip4_config_timeout (NMDevice *dev,
> connection = nm_act_request_get_connection (req);
> g_assert (connection);
>
> - s_ip4 = (NMSettingIP4Config *) nm_connection_get_setting (connection, NM_TYPE_SETTING_IP4_CONFIG);
> + s_ip4 = nm_connection_get_setting_ip4_config (connection);
> if (s_ip4)
> may_fail = nm_setting_ip4_config_get_may_fail (s_ip4);
>
> @@ -3440,7 +3440,7 @@ real_act_stage4_ip6_config_timeout (NMDevice *dev,
> connection = nm_act_request_get_connection (req);
> g_assert (connection);
>
> - s_ip6 = (NMSettingIP6Config *) nm_connection_get_setting (connection, NM_TYPE_SETTING_IP6_CONFIG);
> + s_ip6 = nm_connection_get_setting_ip6_config (connection);
> if (s_ip6)
> may_fail = nm_setting_ip6_config_get_may_fail (s_ip6);
>
> diff --git a/src/nm-device.c b/src/nm-device.c
> index a4cd3e9..ae83ddb 100644
> --- a/src/nm-device.c
> +++ b/src/nm-device.c
> @@ -693,11 +693,11 @@ nm_device_ip_config_should_fail (NMDevice *self, gboolean ip6)
>
> /* Fail the connection if the failed IP method is required to complete */
> if (ip6) {
> - s_ip6 = (NMSettingIP6Config *) nm_connection_get_setting (connection, NM_TYPE_SETTING_IP6_CONFIG);
> + s_ip6 = nm_connection_get_setting_ip6_config (connection);
> if (s_ip6 && !nm_setting_ip6_config_get_may_fail (s_ip6))
> return TRUE;
> } else {
> - s_ip4 = (NMSettingIP4Config *) nm_connection_get_setting (connection, NM_TYPE_SETTING_IP4_CONFIG);
> + s_ip4 = nm_connection_get_setting_ip4_config (connection);
> if (s_ip4 && !nm_setting_ip4_config_get_may_fail (s_ip4))
> return TRUE;
> }
> @@ -806,7 +806,7 @@ ip6_method_matches (NMConnection *connection, const char *match)
> NMSettingIP6Config *s_ip6;
> const char *method = NULL;
>
> - s_ip6 = (NMSettingIP6Config *) nm_connection_get_setting (connection, NM_TYPE_SETTING_IP6_CONFIG);
> + s_ip6 = nm_connection_get_setting_ip6_config (connection);
> if (s_ip6) {
> method = nm_setting_ip6_config_get_method (s_ip6);
> g_assert (method);
> @@ -845,7 +845,7 @@ addrconf6_setup (NMDevice *self)
> self);
> }
>
> - s_ip6 = (NMSettingIP6Config *) nm_connection_get_setting (connection, NM_TYPE_SETTING_IP6_CONFIG);
> + s_ip6 = nm_connection_get_setting_ip6_config (connection);
> success = nm_ip6_manager_prepare_interface (priv->ip6_manager,
> nm_device_get_ip_ifindex (self),
> s_ip6,
> @@ -1155,7 +1155,7 @@ nm_device_handle_autoip4_event (NMDevice *self,
> return;
>
> /* Ignore if the connection isn't an AutoIP connection */
> - s_ip4 = (NMSettingIP4Config *) nm_connection_get_setting (connection, NM_TYPE_SETTING_IP4_CONFIG);
> + s_ip4 = nm_connection_get_setting_ip4_config (connection);
> if (s_ip4)
> method = nm_setting_ip4_config_get_method (s_ip4);
>
> @@ -1378,7 +1378,7 @@ handle_dhcp_lease_change (NMDevice *device, gboolean ipv6)
> return;
> }
>
> - s_ip6 = NM_SETTING_IP6_CONFIG (nm_connection_get_setting (connection, NM_TYPE_SETTING_IP6_CONFIG));
> + s_ip6 = nm_connection_get_setting_ip6_config (connection);
> nm_utils_merge_ip6_config (ip6_config, s_ip6);
>
> g_object_set_data (G_OBJECT (req), NM_ACT_REQUEST_IP6_CONFIG, ip6_config);
> @@ -1403,7 +1403,7 @@ handle_dhcp_lease_change (NMDevice *device, gboolean ipv6)
> return;
> }
>
> - s_ip4 = NM_SETTING_IP4_CONFIG (nm_connection_get_setting (connection, NM_TYPE_SETTING_IP4_CONFIG));
> + s_ip4 = nm_connection_get_setting_ip4_config (connection);
> nm_utils_merge_ip4_config (ip4_config, s_ip4);
>
> g_object_set_data (G_OBJECT (req), NM_ACT_REQUEST_IP4_CONFIG, ip4_config);
> @@ -1526,7 +1526,7 @@ dhcp4_start (NMDevice *self,
> NMSettingIP4Config *s_ip4;
> guint8 *anycast = NULL;
>
> - s_ip4 = (NMSettingIP4Config *) nm_connection_get_setting (connection, NM_TYPE_SETTING_IP4_CONFIG);
> + s_ip4 = nm_connection_get_setting_ip4_config (connection);
>
> if (priv->dhcp_anycast_address)
> anycast = priv->dhcp_anycast_address->data;
> @@ -1611,7 +1611,7 @@ real_act_stage3_ip4_config_start (NMDevice *self, NMDeviceStateReason *reason)
> req = nm_device_get_act_request (self);
> connection = nm_act_request_get_connection (req);
>
> - s_ip4 = (NMSettingIP4Config *) nm_connection_get_setting (connection, NM_TYPE_SETTING_IP4_CONFIG);
> + s_ip4 = nm_connection_get_setting_ip4_config (connection);
>
> /* If we did not receive IP4 configuration information, default to DHCP */
> if (s_ip4)
> @@ -1692,7 +1692,7 @@ dhcp6_start (NMDevice *self,
> priv->ip_iface ? priv->ip_iface : priv->iface, nl_geterror (err));
> }
>
> - s_ip6 = (NMSettingIP6Config *) nm_connection_get_setting (connection, NM_TYPE_SETTING_IP6_CONFIG);
> + s_ip6 = nm_connection_get_setting_ip6_config (connection);
>
> ip_iface = nm_device_get_ip_iface (self);
> priv->dhcp6_client = nm_dhcp_manager_start_ip6 (priv->dhcp_manager,
> @@ -1930,7 +1930,7 @@ real_act_stage4_get_ip4_config (NMDevice *self,
> connection = nm_act_request_get_connection (nm_device_get_act_request (self));
> g_assert (connection);
>
> - s_ip4 = (NMSettingIP4Config *) nm_connection_get_setting (connection, NM_TYPE_SETTING_IP4_CONFIG);
> + s_ip4 = nm_connection_get_setting_ip4_config (connection);
>
> if (priv->dhcp4_client) {
> /* DHCP */
> @@ -2254,7 +2254,7 @@ real_act_stage4_get_ip6_config (NMDevice *self,
>
> /* Merge user-defined overrides into the IP6Config to be applied */
> if (*config) {
> - s_ip6 = (NMSettingIP6Config *) nm_connection_get_setting (connection, NM_TYPE_SETTING_IP6_CONFIG);
> + s_ip6 = nm_connection_get_setting_ip6_config (connection);
> nm_utils_merge_ip6_config (*config, s_ip6);
> }
>
> @@ -2618,7 +2618,7 @@ nm_device_activate_stage5_ip_config_commit (gpointer user_data)
> connection = nm_act_request_get_connection (nm_device_get_act_request (self));
>
> if (ip4_config) {
> - s_ip4 = (NMSettingIP4Config *) nm_connection_get_setting (connection, NM_TYPE_SETTING_IP4_CONFIG);
> + s_ip4 = nm_connection_get_setting_ip4_config (connection);
> if (s_ip4)
> method = nm_setting_ip4_config_get_method (s_ip4);
>
> @@ -3328,7 +3328,7 @@ dispose (GObject *object)
> * All IPv6 connections can be left up, so we don't have
> * to check that.
> */
> - s_ip4 = (NMSettingIP4Config *) nm_connection_get_setting (connection, NM_TYPE_SETTING_IP4_CONFIG);
> + s_ip4 = nm_connection_get_setting_ip4_config (connection);
> if (s_ip4)
> method = nm_setting_ip4_config_get_method (s_ip4);
> if ( !method
> diff --git a/src/nm-manager-auth.c b/src/nm-manager-auth.c
> index beed65a..d797032 100644
> --- a/src/nm-manager-auth.c
> +++ b/src/nm-manager-auth.c
> @@ -541,7 +541,7 @@ nm_auth_uid_in_acl (NMConnection *connection,
> g_return_val_if_fail (connection != NULL, FALSE);
> g_return_val_if_fail (smon != NULL, FALSE);
>
> - s_con = NM_SETTING_CONNECTION (nm_connection_get_setting (connection, NM_TYPE_SETTING_CONNECTION));
> + s_con = nm_connection_get_setting_connection (connection);
> g_assert (s_con);
>
> /* Reject the request if the request comes from no session at all */
> diff --git a/src/nm-manager.c b/src/nm-manager.c
> index b09cceb..3c428e8 100644
> --- a/src/nm-manager.c
> +++ b/src/nm-manager.c
> @@ -639,11 +639,11 @@ might_be_vpn (NMConnection *connection)
> NMSettingConnection *s_con;
> const char *ctype = NULL;
>
> - if (nm_connection_get_setting (connection, NM_TYPE_SETTING_VPN))
> + if (nm_connection_get_setting_vpn (connection))
> return TRUE;
>
> /* Make sure it's not a VPN, which we can't autocomplete yet */
> - s_con = (NMSettingConnection *) nm_connection_get_setting (connection, NM_TYPE_SETTING_CONNECTION);
> + s_con = nm_connection_get_setting_connection (connection);
> if (s_con)
> ctype = nm_setting_connection_get_connection_type (s_con);
>
> @@ -655,7 +655,7 @@ try_complete_vpn (NMConnection *connection, GSList *existing, GError **error)
> {
> g_assert (might_be_vpn (connection) == TRUE);
>
> - if (!nm_connection_get_setting (connection, NM_TYPE_SETTING_VPN)) {
> + if (!nm_connection_get_setting_vpn (connection)) {
> g_set_error_literal (error,
> NM_MANAGER_ERROR,
> NM_MANAGER_ERROR_UNSUPPORTED_CONNECTION_TYPE,
> @@ -1570,14 +1570,14 @@ bluez_manager_find_connection (NMManager *manager,
> const char *con_type;
> const char *bt_type;
>
> - s_con = NM_SETTING_CONNECTION (nm_connection_get_setting (candidate, NM_TYPE_SETTING_CONNECTION));
> + s_con = nm_connection_get_setting_connection (candidate);
> g_assert (s_con);
> con_type = nm_setting_connection_get_connection_type (s_con);
> g_assert (con_type);
> if (!g_str_equal (con_type, NM_SETTING_BLUETOOTH_SETTING_NAME))
> continue;
>
> - s_bt = (NMSettingBluetooth *) nm_connection_get_setting (candidate, NM_TYPE_SETTING_BLUETOOTH);
> + s_bt = nm_connection_get_setting_bluetooth (candidate);
> if (!s_bt)
> continue;
>
> @@ -1948,7 +1948,7 @@ nm_manager_activate_connection (NMManager *manager,
> }
> }
>
> - s_con = NM_SETTING_CONNECTION (nm_connection_get_setting (connection, NM_TYPE_SETTING_CONNECTION));
> + s_con = nm_connection_get_setting_connection (connection);
> g_assert (s_con);
>
> if (!strcmp (nm_setting_connection_get_connection_type (s_con), NM_SETTING_VPN_SETTING_NAME)) {
> diff --git a/src/nm-policy.c b/src/nm-policy.c
> index 5c4059e..e2e598b 100644
> --- a/src/nm-policy.c
> +++ b/src/nm-policy.c
> @@ -116,7 +116,7 @@ get_best_ip4_device (NMManager *manager, NMActRequest **out_req)
> g_assert (connection);
>
> /* Never set the default route through an IPv4LL-addressed device */
> - s_ip4 = (NMSettingIP4Config *) nm_connection_get_setting (connection, NM_TYPE_SETTING_IP4_CONFIG);
> + s_ip4 = nm_connection_get_setting_ip4_config (connection);
> if (s_ip4)
> method = nm_setting_ip4_config_get_method (s_ip4);
>
> @@ -190,7 +190,7 @@ get_best_ip6_device (NMManager *manager, NMActRequest **out_req)
> g_assert (connection);
>
> /* Never set the default route through an IPv4LL-addressed device */
> - s_ip6 = (NMSettingIP6Config *) nm_connection_get_setting (connection, NM_TYPE_SETTING_IP6_CONFIG);
> + s_ip6 = nm_connection_get_setting_ip6_config (connection);
> if (s_ip6)
> method = nm_setting_ip6_config_get_method (s_ip6);
>
> @@ -452,7 +452,7 @@ update_ip4_routing_and_dns (NMPolicy *policy, gboolean force_update)
> can_default = FALSE;
>
> /* Check the user's preference from the NMConnection */
> - s_ip4 = (NMSettingIP4Config *) nm_connection_get_setting (vpn_connection, NM_TYPE_SETTING_IP4_CONFIG);
> + s_ip4 = nm_connection_get_setting_ip4_config (vpn_connection);
> if (s_ip4 && nm_setting_ip4_config_get_never_default (s_ip4))
> can_default = FALSE;
>
> @@ -528,7 +528,7 @@ update_ip4_routing_and_dns (NMPolicy *policy, gboolean force_update)
> nm_act_request_set_default (best_req, TRUE);
>
> if (connection)
> - s_con = (NMSettingConnection *) nm_connection_get_setting (connection, NM_TYPE_SETTING_CONNECTION);
> + s_con = nm_connection_get_setting_connection (connection);
>
> connection_id = s_con ? nm_setting_connection_get_id (s_con) : NULL;
> if (connection_id) {
> @@ -579,7 +579,7 @@ update_ip6_routing_and_dns (NMPolicy *policy, gboolean force_update)
> /* If it's marked 'never-default', don't make it default */
> vpn_connection = nm_vpn_connection_get_connection (candidate);
> g_assert (vpn_connection);
> - s_ip6 = (NMSettingIP6Config *) nm_connection_get_setting (vpn_connection, NM_TYPE_SETTING_IP6_CONFIG);
> + s_ip6 = nm_connection_get_setting_ip6_config (vpn_connection);
> if (s_ip6 && nm_setting_ip6_config_get_never_default (s_ip6))
> can_default = FALSE;
>
> @@ -655,7 +655,7 @@ update_ip6_routing_and_dns (NMPolicy *policy, gboolean force_update)
> nm_act_request_set_default6 (best_req, TRUE);
>
> if (connection)
> - s_con = (NMSettingConnection *) nm_connection_get_setting (connection, NM_TYPE_SETTING_CONNECTION);
> + s_con = nm_connection_get_setting_connection (connection);
>
> connection_id = s_con ? nm_setting_connection_get_id (s_con) : NULL;
> if (connection_id) {
> diff --git a/src/nm-wifi-ap.c b/src/nm-wifi-ap.c
> index 20af3e4..6d1c63e 100644
> --- a/src/nm-wifi-ap.c
> +++ b/src/nm-wifi-ap.c
> @@ -634,7 +634,7 @@ nm_ap_new_fake_from_connection (NMConnection *connection)
>
> g_return_val_if_fail (connection != NULL, NULL);
>
> - s_wireless = NM_SETTING_WIRELESS (nm_connection_get_setting (connection, NM_TYPE_SETTING_WIRELESS));
> + s_wireless = nm_connection_get_setting_wireless (connection);
> g_return_val_if_fail (s_wireless != NULL, NULL);
>
> ssid = nm_setting_wireless_get_ssid (s_wireless);
> @@ -671,7 +671,7 @@ nm_ap_new_fake_from_connection (NMConnection *connection)
> nm_ap_set_freq (ap, freq);
> }
>
> - s_wireless_sec = (NMSettingWirelessSecurity *) nm_connection_get_setting (connection, NM_TYPE_SETTING_WIRELESS_SECURITY);
> + s_wireless_sec = nm_connection_get_setting_wireless_security (connection);
> /* Assume presence of a security setting means the AP is encrypted */
> if (!s_wireless_sec)
> goto done;
> @@ -1129,7 +1129,7 @@ nm_ap_check_compatible (NMAccessPoint *self,
>
> priv = NM_AP_GET_PRIVATE (self);
>
> - s_wireless = NM_SETTING_WIRELESS (nm_connection_get_setting (connection, NM_TYPE_SETTING_WIRELESS));
> + s_wireless = nm_connection_get_setting_wireless (connection);
> if (s_wireless == NULL)
> return FALSE;
>
> @@ -1167,8 +1167,7 @@ nm_ap_check_compatible (NMAccessPoint *self,
> return FALSE;
> }
>
> - s_wireless_sec = (NMSettingWirelessSecurity *) nm_connection_get_setting (connection,
> - NM_TYPE_SETTING_WIRELESS_SECURITY);
> + s_wireless_sec = nm_connection_get_setting_wireless_security (connection);
>
> return nm_setting_wireless_ap_security_compatible (s_wireless,
> s_wireless_sec,
> diff --git a/src/ppp-manager/nm-ppp-manager.c b/src/ppp-manager/nm-ppp-manager.c
> index 3546f8d..9b93733 100644
> --- a/src/ppp-manager/nm-ppp-manager.c
> +++ b/src/ppp-manager/nm-ppp-manager.c
> @@ -374,7 +374,7 @@ extract_details_from_connection (NMConnection *connection,
> g_return_val_if_fail (username != NULL, FALSE);
> g_return_val_if_fail (password != NULL, FALSE);
>
> - s_con = NM_SETTING_CONNECTION (nm_connection_get_setting (connection, NM_TYPE_SETTING_CONNECTION));
> + s_con = nm_connection_get_setting_connection (connection);
> g_assert (s_con);
>
> connection_type = nm_setting_connection_get_connection_type (s_con);
> @@ -579,7 +579,7 @@ impl_ppp_manager_set_ip4_config (NMPPPManager *manager,
> g_object_set_data (G_OBJECT (connection), PPP_MANAGER_SECRET_TRIES, NULL);
>
> /* Merge in custom MTU */
> - s_ppp = (NMSettingPPP *) nm_connection_get_setting (connection, NM_TYPE_SETTING_PPP);
> + s_ppp = nm_connection_get_setting_ppp (connection);
> if (s_ppp) {
> guint32 mtu = nm_setting_ppp_get_mtu (s_ppp);
>
> @@ -999,7 +999,7 @@ nm_ppp_manager_start (NMPPPManager *manager,
> connection = nm_act_request_get_connection (req);
> g_assert (connection);
>
> - s_ppp = (NMSettingPPP *) nm_connection_get_setting (connection, NM_TYPE_SETTING_PPP);
> + s_ppp = nm_connection_get_setting_ppp (connection);
> if (!s_ppp) {
> /* If the PPP settings are all default we may not have a PPP setting yet,
> * so just make a default one here.
> @@ -1008,7 +1008,7 @@ nm_ppp_manager_start (NMPPPManager *manager,
> s_ppp_created = TRUE;
> }
>
> - pppoe_setting = (NMSettingPPPOE *) nm_connection_get_setting (connection, NM_TYPE_SETTING_PPPOE);
> + pppoe_setting = nm_connection_get_setting_pppoe (connection);
> if (pppoe_setting)
> pppoe_fill_defaults (s_ppp);
>
> diff --git a/src/settings/nm-agent-manager.c b/src/settings/nm-agent-manager.c
> index 5ccbdc6..bd08fc2 100644
> --- a/src/settings/nm-agent-manager.c
> +++ b/src/settings/nm-agent-manager.c
> @@ -962,7 +962,7 @@ get_next_cb (Request *req)
> * we use the 'modify.own' permission instead of 'modify.system'. If the
> * request affects more than just the caller, require 'modify.system'.
> */
> - s_con = (NMSettingConnection *) nm_connection_get_setting (req->connection, NM_TYPE_SETTING_CONNECTION);
> + s_con = nm_connection_get_setting_connection (req->connection);
> g_assert (s_con);
> if (nm_setting_connection_get_num_permissions (s_con) == 1)
> perm = NM_AUTH_PERMISSION_SETTINGS_MODIFY_OWN;
> diff --git a/src/settings/nm-settings-connection.c b/src/settings/nm-settings-connection.c
> index cdad832..4a44214 100644
> --- a/src/settings/nm-settings-connection.c
> +++ b/src/settings/nm-settings-connection.c
> @@ -221,7 +221,7 @@ nm_settings_connection_recheck_visibility (NMSettingsConnection *self)
>
> priv = NM_SETTINGS_CONNECTION_GET_PRIVATE (self);
>
> - s_con = (NMSettingConnection *) nm_connection_get_setting (NM_CONNECTION (self), NM_TYPE_SETTING_CONNECTION);
> + s_con = nm_connection_get_setting_connection (NM_CONNECTION (self));
> g_assert (s_con);
>
> /* Check every user in the ACL for a session */
> @@ -1024,7 +1024,7 @@ check_writable (NMConnection *connection, GError **error)
> g_return_val_if_fail (connection != NULL, FALSE);
> g_return_val_if_fail (NM_IS_CONNECTION (connection), FALSE);
>
> - s_con = (NMSettingConnection *) nm_connection_get_setting (connection, NM_TYPE_SETTING_CONNECTION);
> + s_con = nm_connection_get_setting_connection (connection);
> if (!s_con) {
> g_set_error_literal (error,
> NM_SETTINGS_ERROR,
> @@ -1175,11 +1175,11 @@ get_modify_permission_update (NMConnection *old, NMConnection *new)
> NMSettingConnection *s_con;
> guint32 orig_num = 0, new_num = 0;
>
> - s_con = (NMSettingConnection *) nm_connection_get_setting (old, NM_TYPE_SETTING_CONNECTION);
> + s_con = nm_connection_get_setting_connection (old);
> g_assert (s_con);
> orig_num = nm_setting_connection_get_num_permissions (s_con);
>
> - s_con = (NMSettingConnection *) nm_connection_get_setting (new, NM_TYPE_SETTING_CONNECTION);
> + s_con = nm_connection_get_setting_connection (new);
> g_assert (s_con);
> new_num = nm_setting_connection_get_num_permissions (s_con);
>
> @@ -1283,7 +1283,7 @@ get_modify_permission_basic (NMSettingsConnection *connection)
> * we use the 'modify.own' permission instead of 'modify.system'. If the
> * request affects more than just the caller, require 'modify.system'.
> */
> - s_con = (NMSettingConnection *) nm_connection_get_setting (NM_CONNECTION (connection), NM_TYPE_SETTING_CONNECTION);
> + s_con = nm_connection_get_setting_connection (NM_CONNECTION (connection));
> g_assert (s_con);
> if (nm_setting_connection_get_num_permissions (s_con) == 1)
> return NM_AUTH_PERMISSION_SETTINGS_MODIFY_OWN;
> diff --git a/src/settings/nm-settings.c b/src/settings/nm-settings.c
> index f0bfc16..46b3544 100644
> --- a/src/settings/nm-settings.c
> +++ b/src/settings/nm-settings.c
> @@ -267,9 +267,9 @@ connection_sort (gconstpointer pa, gconstpointer pb)
> NMSettingConnection *con_b;
> guint64 ts_a, ts_b;
>
> - con_a = (NMSettingConnection *) nm_connection_get_setting (a, NM_TYPE_SETTING_CONNECTION);
> + con_a = nm_connection_get_setting_connection (a);
> g_assert (con_a);
> - con_b = (NMSettingConnection *) nm_connection_get_setting (b, NM_TYPE_SETTING_CONNECTION);
> + con_b = nm_connection_get_setting_connection (b);
> g_assert (con_b);
>
> if (nm_setting_connection_get_autoconnect (con_a) != nm_setting_connection_get_autoconnect (con_b)) {
> @@ -1044,7 +1044,7 @@ nm_settings_add_connection (NMSettings *self,
> * we use the 'modify.own' permission instead of 'modify.system'. If the
> * request affects more than just the caller, require 'modify.system'.
> */
> - s_con = (NMSettingConnection *) nm_connection_get_setting (connection, NM_TYPE_SETTING_CONNECTION);
> + s_con = nm_connection_get_setting_connection (connection);
> g_assert (s_con);
> if (nm_setting_connection_get_num_permissions (s_con) == 1)
> perm = NM_AUTH_PERMISSION_SETTINGS_MODIFY_OWN;
> @@ -1297,8 +1297,7 @@ default_wired_deleted (NMDefaultWiredConnection *wired,
> * connection for that device again.
> */
>
> - s_con = (NMSettingConnection *) nm_connection_get_setting (NM_CONNECTION (wired),
> - NM_TYPE_SETTING_CONNECTION);
> + s_con = nm_connection_get_setting_connection (NM_CONNECTION (wired));
> g_assert (s_con);
>
> /* Ignore removals of read-only connections, since they couldn't have
> diff --git a/src/settings/plugins/ifcfg-rh/plugin.c b/src/settings/plugins/ifcfg-rh/plugin.c
> index b4be4cb..067072e 100644
> --- a/src/settings/plugins/ifcfg-rh/plugin.c
> +++ b/src/settings/plugins/ifcfg-rh/plugin.c
> @@ -569,7 +569,7 @@ impl_ifcfgrh_get_ifcfg_details (SCPluginIfcfg *plugin,
> return FALSE;
> }
>
> - s_con = (NMSettingConnection *) nm_connection_get_setting (NM_CONNECTION (connection), NM_TYPE_SETTING_CONNECTION);
> + s_con = nm_connection_get_setting_connection (NM_CONNECTION (connection));
> if (!s_con) {
> g_set_error (error,
> NM_SETTINGS_ERROR,
> diff --git a/src/settings/plugins/ifcfg-rh/reader.c b/src/settings/plugins/ifcfg-rh/reader.c
> index 910cca3..c43a067 100644
> --- a/src/settings/plugins/ifcfg-rh/reader.c
> +++ b/src/settings/plugins/ifcfg-rh/reader.c
> @@ -3544,7 +3544,7 @@ connection_from_file (const char *filename,
> && !g_ascii_strcasecmp (bootproto, "ibft")) {
> NMSettingConnection *s_con;
>
> - s_con = (NMSettingConnection *) nm_connection_get_setting (connection, NM_TYPE_SETTING_CONNECTION);
> + s_con = nm_connection_get_setting_connection (connection);
> g_assert (s_con);
>
> g_object_set (G_OBJECT (s_con), NM_SETTING_CONNECTION_READ_ONLY, TRUE, NULL);
> diff --git a/src/settings/plugins/ifcfg-rh/tests/test-ifcfg-rh.c b/src/settings/plugins/ifcfg-rh/tests/test-ifcfg-rh.c
> index e32266c..15a3c7f 100644
> --- a/src/settings/plugins/ifcfg-rh/tests/test-ifcfg-rh.c
> +++ b/src/settings/plugins/ifcfg-rh/tests/test-ifcfg-rh.c
> @@ -235,7 +235,7 @@ test_read_minimal (void)
>
> /* ===== CONNECTION SETTING ===== */
>
> - s_con = NM_SETTING_CONNECTION (nm_connection_get_setting (connection, NM_TYPE_SETTING_CONNECTION));
> + s_con = nm_connection_get_setting_connection (connection);
> ASSERT (s_con != NULL,
> "minimal-wired-verify-connection", "failed to verify %s: missing %s setting",
> TEST_IFCFG_MINIMAL,
> @@ -275,7 +275,7 @@ test_read_minimal (void)
>
> /* ===== WIRED SETTING ===== */
>
> - s_wired = NM_SETTING_WIRED (nm_connection_get_setting (connection, NM_TYPE_SETTING_WIRED));
> + s_wired = nm_connection_get_setting_wired (connection);
> ASSERT (s_wired != NULL,
> "minimal-wired-verify-wired", "failed to verify %s: missing %s setting",
> TEST_IFCFG_MINIMAL,
> @@ -307,7 +307,7 @@ test_read_minimal (void)
>
> /* ===== IPv4 SETTING ===== */
>
> - s_ip4 = NM_SETTING_IP4_CONFIG (nm_connection_get_setting (connection, NM_TYPE_SETTING_IP4_CONFIG));
> + s_ip4 = nm_connection_get_setting_ip4_config (connection);
> ASSERT (s_ip4 != NULL,
> "minimal-wired-verify-ip4", "failed to verify %s: missing %s setting",
> TEST_IFCFG_MINIMAL,
> @@ -379,7 +379,7 @@ test_read_unmanaged (void)
>
> /* ===== CONNECTION SETTING ===== */
>
> - s_con = NM_SETTING_CONNECTION (nm_connection_get_setting (connection, NM_TYPE_SETTING_CONNECTION));
> + s_con = nm_connection_get_setting_connection (connection);
> ASSERT (s_con != NULL,
> "unmanaged-verify-connection", "failed to verify %s: missing %s setting",
> TEST_IFCFG_UNMANAGED,
> @@ -417,7 +417,7 @@ test_read_unmanaged (void)
>
> /* ===== WIRED SETTING ===== */
>
> - s_wired = NM_SETTING_WIRED (nm_connection_get_setting (connection, NM_TYPE_SETTING_WIRED));
> + s_wired = nm_connection_get_setting_wired (connection);
> ASSERT (s_wired != NULL,
> "unmanaged-verify-wired", "failed to verify %s: missing %s setting",
> TEST_IFCFG_UNMANAGED,
> @@ -443,7 +443,7 @@ test_read_unmanaged (void)
>
> /* ===== IPv4 SETTING ===== */
>
> - s_ip4 = NM_SETTING_IP4_CONFIG (nm_connection_get_setting (connection, NM_TYPE_SETTING_IP4_CONFIG));
> + s_ip4 = nm_connection_get_setting_ip4_config (connection);
> ASSERT (s_ip4 == NULL,
> "unmanaged-verify-ip4", "failed to verify %s: unexpected %s setting",
> TEST_IFCFG_UNMANAGED,
> @@ -504,7 +504,7 @@ test_read_wired_static (const char *file, const char *expected_id)
>
> /* ===== CONNECTION SETTING ===== */
>
> - s_con = NM_SETTING_CONNECTION (nm_connection_get_setting (connection, NM_TYPE_SETTING_CONNECTION));
> + s_con = nm_connection_get_setting_connection (connection);
> ASSERT (s_con != NULL,
> "wired-static-verify-connection", "failed to verify %s: missing %s setting",
> file,
> @@ -539,7 +539,7 @@ test_read_wired_static (const char *file, const char *expected_id)
>
> /* ===== WIRED SETTING ===== */
>
> - s_wired = NM_SETTING_WIRED (nm_connection_get_setting (connection, NM_TYPE_SETTING_WIRED));
> + s_wired = nm_connection_get_setting_wired (connection);
> ASSERT (s_wired != NULL,
> "wired-static-verify-wired", "failed to verify %s: missing %s setting",
> file,
> @@ -571,7 +571,7 @@ test_read_wired_static (const char *file, const char *expected_id)
>
> /* ===== IPv4 SETTING ===== */
>
> - s_ip4 = NM_SETTING_IP4_CONFIG (nm_connection_get_setting (connection, NM_TYPE_SETTING_IP4_CONFIG));
> + s_ip4 = nm_connection_get_setting_ip4_config (connection);
> ASSERT (s_ip4 != NULL,
> "wired-static-verify-ip4", "failed to verify %s: missing %s setting",
> file,
> @@ -666,7 +666,7 @@ test_read_wired_static (const char *file, const char *expected_id)
> if (!strcmp (expected_id, "System test-wired-static")) {
> /* ===== IPv6 SETTING ===== */
>
> - s_ip6 = NM_SETTING_IP6_CONFIG (nm_connection_get_setting (connection, NM_TYPE_SETTING_IP6_CONFIG));
> + s_ip6 = nm_connection_get_setting_ip6_config (connection);
> ASSERT (s_ip6 != NULL,
> "wired-static-verify-ip6", "failed to verify %s: missing %s setting",
> file,
> @@ -807,7 +807,7 @@ test_read_wired_static_no_prefix (guint32 expected_prefix)
>
> /* ===== CONNECTION SETTING ===== */
>
> - s_con = NM_SETTING_CONNECTION (nm_connection_get_setting (connection, NM_TYPE_SETTING_CONNECTION));
> + s_con = nm_connection_get_setting_connection (connection);
> ASSERT (s_con != NULL,
> "wired-static-no-prefix-verify-connection", "failed to verify %s: missing %s setting",
> file,
> @@ -829,7 +829,7 @@ test_read_wired_static_no_prefix (guint32 expected_prefix)
>
> /* ===== IPv4 SETTING ===== */
>
> - s_ip4 = NM_SETTING_IP4_CONFIG (nm_connection_get_setting (connection, NM_TYPE_SETTING_IP4_CONFIG));
> + s_ip4 = nm_connection_get_setting_ip4_config (connection);
> ASSERT (s_ip4 != NULL,
> "wired-static-no-prefix-verify-ip4", "failed to verify %s: missing %s setting",
> file,
> @@ -916,7 +916,7 @@ test_read_wired_dhcp (void)
>
> /* ===== CONNECTION SETTING ===== */
>
> - s_con = NM_SETTING_CONNECTION (nm_connection_get_setting (connection, NM_TYPE_SETTING_CONNECTION));
> + s_con = nm_connection_get_setting_connection (connection);
> ASSERT (s_con != NULL,
> "wired-dhcp-verify-connection", "failed to verify %s: missing %s setting",
> TEST_IFCFG_WIRED_DHCP,
> @@ -951,7 +951,7 @@ test_read_wired_dhcp (void)
>
> /* ===== WIRED SETTING ===== */
>
> - s_wired = NM_SETTING_WIRED (nm_connection_get_setting (connection, NM_TYPE_SETTING_WIRED));
> + s_wired = nm_connection_get_setting_wired (connection);
> ASSERT (s_wired != NULL,
> "wired-dhcp-verify-wired", "failed to verify %s: missing %s setting",
> TEST_IFCFG_WIRED_DHCP,
> @@ -977,7 +977,7 @@ test_read_wired_dhcp (void)
>
> /* ===== IPv4 SETTING ===== */
>
> - s_ip4 = NM_SETTING_IP4_CONFIG (nm_connection_get_setting (connection, NM_TYPE_SETTING_IP4_CONFIG));
> + s_ip4 = nm_connection_get_setting_ip4_config (connection);
> ASSERT (s_ip4 != NULL,
> "wired-dhcp-verify-ip4", "failed to verify %s: missing %s setting",
> TEST_IFCFG_WIRED_DHCP,
> @@ -1089,7 +1089,7 @@ test_read_wired_global_gateway (void)
>
> /* ===== CONNECTION SETTING ===== */
>
> - s_con = NM_SETTING_CONNECTION (nm_connection_get_setting (connection, NM_TYPE_SETTING_CONNECTION));
> + s_con = nm_connection_get_setting_connection (connection);
> ASSERT (s_con != NULL,
> "wired-global-gateway-verify-connection", "failed to verify %s: missing %s setting",
> TEST_IFCFG_WIRED_GLOBAL_GATEWAY,
> @@ -1110,7 +1110,7 @@ test_read_wired_global_gateway (void)
>
> /* ===== WIRED SETTING ===== */
>
> - s_wired = NM_SETTING_WIRED (nm_connection_get_setting (connection, NM_TYPE_SETTING_WIRED));
> + s_wired = nm_connection_get_setting_wired (connection);
> ASSERT (s_wired != NULL,
> "wired-global-gateway-verify-wired", "failed to verify %s: missing %s setting",
> TEST_IFCFG_WIRED_GLOBAL_GATEWAY,
> @@ -1118,7 +1118,7 @@ test_read_wired_global_gateway (void)
>
> /* ===== IPv4 SETTING ===== */
>
> - s_ip4 = NM_SETTING_IP4_CONFIG (nm_connection_get_setting (connection, NM_TYPE_SETTING_IP4_CONFIG));
> + s_ip4 = nm_connection_get_setting_ip4_config (connection);
> ASSERT (s_ip4 != NULL,
> "wired-global-gateway-verify-ip4", "failed to verify %s: missing %s setting",
> TEST_IFCFG_WIRED_GLOBAL_GATEWAY,
> @@ -1216,7 +1216,7 @@ test_read_wired_never_default (void)
>
> /* ===== CONNECTION SETTING ===== */
>
> - s_con = NM_SETTING_CONNECTION (nm_connection_get_setting (connection, NM_TYPE_SETTING_CONNECTION));
> + s_con = nm_connection_get_setting_connection (connection);
> ASSERT (s_con != NULL,
> "wired-never-default-verify-connection", "failed to verify %s: missing %s setting",
> TEST_IFCFG_WIRED_NEVER_DEFAULT,
> @@ -1237,7 +1237,7 @@ test_read_wired_never_default (void)
>
> /* ===== WIRED SETTING ===== */
>
> - s_wired = NM_SETTING_WIRED (nm_connection_get_setting (connection, NM_TYPE_SETTING_WIRED));
> + s_wired = nm_connection_get_setting_wired (connection);
> ASSERT (s_wired != NULL,
> "wired-never-default-verify-wired", "failed to verify %s: missing %s setting",
> TEST_IFCFG_WIRED_NEVER_DEFAULT,
> @@ -1245,7 +1245,7 @@ test_read_wired_never_default (void)
>
> /* ===== IPv4 SETTING ===== */
>
> - s_ip4 = NM_SETTING_IP4_CONFIG (nm_connection_get_setting (connection, NM_TYPE_SETTING_IP4_CONFIG));
> + s_ip4 = nm_connection_get_setting_ip4_config (connection);
> ASSERT (s_ip4 != NULL,
> "wired-never-default-verify-ip4", "failed to verify %s: missing %s setting",
> TEST_IFCFG_WIRED_NEVER_DEFAULT,
> @@ -1274,7 +1274,7 @@ test_read_wired_never_default (void)
>
> /* ===== IPv6 SETTING ===== */
>
> - s_ip6 = NM_SETTING_IP6_CONFIG (nm_connection_get_setting (connection, NM_TYPE_SETTING_IP6_CONFIG));
> + s_ip6 = nm_connection_get_setting_ip6_config (connection);
> ASSERT (s_ip6 != NULL,
> "wired-never-default-verify-ip6", "failed to verify %s: missing %s setting",
> TEST_IFCFG_WIRED_NEVER_DEFAULT,
> @@ -1341,7 +1341,7 @@ test_read_wired_defroute_no (void)
>
> /* ===== CONNECTION SETTING ===== */
>
> - s_con = NM_SETTING_CONNECTION (nm_connection_get_setting (connection, NM_TYPE_SETTING_CONNECTION));
> + s_con = nm_connection_get_setting_connection (connection);
> ASSERT (s_con != NULL,
> "wired-defroute-no-verify-connection", "failed to verify %s: missing %s setting",
> TEST_IFCFG_WIRED_DEFROUTE_NO,
> @@ -1362,7 +1362,7 @@ test_read_wired_defroute_no (void)
>
> /* ===== WIRED SETTING ===== */
>
> - s_wired = NM_SETTING_WIRED (nm_connection_get_setting (connection, NM_TYPE_SETTING_WIRED));
> + s_wired = nm_connection_get_setting_wired (connection);
> ASSERT (s_wired != NULL,
> "wired-defroute-no-verify-wired", "failed to verify %s: missing %s setting",
> TEST_IFCFG_WIRED_DEFROUTE_NO,
> @@ -1370,7 +1370,7 @@ test_read_wired_defroute_no (void)
>
> /* ===== IPv4 SETTING ===== */
>
> - s_ip4 = NM_SETTING_IP4_CONFIG (nm_connection_get_setting (connection, NM_TYPE_SETTING_IP4_CONFIG));
> + s_ip4 = nm_connection_get_setting_ip4_config (connection);
> ASSERT (s_ip4 != NULL,
> "wired-defroute-no-verify-ip4", "failed to verify %s: missing %s setting",
> TEST_IFCFG_WIRED_DEFROUTE_NO,
> @@ -1392,7 +1392,7 @@ test_read_wired_defroute_no (void)
>
> /* ===== IPv6 SETTING ===== */
>
> - s_ip6 = NM_SETTING_IP6_CONFIG (nm_connection_get_setting (connection, NM_TYPE_SETTING_IP6_CONFIG));
> + s_ip6 = nm_connection_get_setting_ip6_config (connection);
> ASSERT (s_ip6 != NULL,
> "wired-defroute-no-verify-ip6", "failed to verify %s: missing %s setting",
> TEST_IFCFG_WIRED_DEFROUTE_NO,
> @@ -1468,7 +1468,7 @@ test_read_wired_defroute_no_gatewaydev_yes (void)
>
> /* ===== CONNECTION SETTING ===== */
>
> - s_con = NM_SETTING_CONNECTION (nm_connection_get_setting (connection, NM_TYPE_SETTING_CONNECTION));
> + s_con = nm_connection_get_setting_connection (connection);
> ASSERT (s_con != NULL,
> "wired-defroute-no-gatewaydev-yes-verify-connection", "failed to verify %s: missing %s setting",
> TEST_IFCFG_WIRED_DEFROUTE_NO_GATEWAYDEV_YES,
> @@ -1489,7 +1489,7 @@ test_read_wired_defroute_no_gatewaydev_yes (void)
>
> /* ===== WIRED SETTING ===== */
>
> - s_wired = NM_SETTING_WIRED (nm_connection_get_setting (connection, NM_TYPE_SETTING_WIRED));
> + s_wired = nm_connection_get_setting_wired (connection);
> ASSERT (s_wired != NULL,
> "wired-defroute-no-gatewaydev-yes-verify-wired", "failed to verify %s: missing %s setting",
> TEST_IFCFG_WIRED_DEFROUTE_NO_GATEWAYDEV_YES,
> @@ -1497,7 +1497,7 @@ test_read_wired_defroute_no_gatewaydev_yes (void)
>
> /* ===== IPv4 SETTING ===== */
>
> - s_ip4 = NM_SETTING_IP4_CONFIG (nm_connection_get_setting (connection, NM_TYPE_SETTING_IP4_CONFIG));
> + s_ip4 = nm_connection_get_setting_ip4_config (connection);
> ASSERT (s_ip4 != NULL,
> "wired-defroute-no-gatewaydev-yes-verify-ip4", "failed to verify %s: missing %s setting",
> TEST_IFCFG_WIRED_DEFROUTE_NO_GATEWAYDEV_YES,
> @@ -1519,7 +1519,7 @@ test_read_wired_defroute_no_gatewaydev_yes (void)
>
> /* ===== IPv6 SETTING ===== */
>
> - s_ip6 = NM_SETTING_IP6_CONFIG (nm_connection_get_setting (connection, NM_TYPE_SETTING_IP6_CONFIG));
> + s_ip6 = nm_connection_get_setting_ip6_config (connection);
> ASSERT (s_ip6 != NULL,
> "wired-defroute-no-gatewaydev-yes-verify-ip6", "failed to verify %s: missing %s setting",
> TEST_IFCFG_WIRED_DEFROUTE_NO_GATEWAYDEV_YES,
> @@ -1597,7 +1597,7 @@ test_read_wired_static_routes (void)
>
> /* ===== CONNECTION SETTING ===== */
>
> - s_con = NM_SETTING_CONNECTION (nm_connection_get_setting (connection, NM_TYPE_SETTING_CONNECTION));
> + s_con = nm_connection_get_setting_connection (connection);
> ASSERT (s_con != NULL,
> "wired-static-routes-verify-connection", "failed to verify %s: missing %s setting",
> TEST_IFCFG_WIRED_STATIC_ROUTES,
> @@ -1618,7 +1618,7 @@ test_read_wired_static_routes (void)
>
> /* ===== WIRED SETTING ===== */
>
> - s_wired = NM_SETTING_WIRED (nm_connection_get_setting (connection, NM_TYPE_SETTING_WIRED));
> + s_wired = nm_connection_get_setting_wired (connection);
> ASSERT (s_wired != NULL,
> "wired-static-routes-verify-wired", "failed to verify %s: missing %s setting",
> TEST_IFCFG_WIRED_STATIC_ROUTES,
> @@ -1626,7 +1626,7 @@ test_read_wired_static_routes (void)
>
> /* ===== IPv4 SETTING ===== */
>
> - s_ip4 = NM_SETTING_IP4_CONFIG (nm_connection_get_setting (connection, NM_TYPE_SETTING_IP4_CONFIG));
> + s_ip4 = nm_connection_get_setting_ip4_config (connection);
> ASSERT (s_ip4 != NULL,
> "wired-static-routes-verify-ip4", "failed to verify %s: missing %s setting",
> TEST_IFCFG_WIRED_STATIC_ROUTES,
> @@ -1764,7 +1764,7 @@ test_read_wired_static_routes_legacy (void)
>
> /* ===== CONNECTION SETTING ===== */
>
> - s_con = NM_SETTING_CONNECTION (nm_connection_get_setting (connection, NM_TYPE_SETTING_CONNECTION));
> + s_con = nm_connection_get_setting_connection (connection);
> ASSERT (s_con != NULL,
> "wired-static-routes-legacy-verify-connection", "failed to verify %s: missing %s setting",
> TEST_IFCFG_WIRED_STATIC_ROUTES_LEGACY,
> @@ -1785,7 +1785,7 @@ test_read_wired_static_routes_legacy (void)
>
> /* ===== WIRED SETTING ===== */
>
> - s_wired = NM_SETTING_WIRED (nm_connection_get_setting (connection, NM_TYPE_SETTING_WIRED));
> + s_wired = nm_connection_get_setting_wired (connection);
> ASSERT (s_wired != NULL,
> "wired-static-routes-legacy-verify-wired", "failed to verify %s: missing %s setting",
> TEST_IFCFG_WIRED_STATIC_ROUTES_LEGACY,
> @@ -1793,7 +1793,7 @@ test_read_wired_static_routes_legacy (void)
>
> /* ===== IPv4 SETTING ===== */
>
> - s_ip4 = NM_SETTING_IP4_CONFIG (nm_connection_get_setting (connection, NM_TYPE_SETTING_IP4_CONFIG));
> + s_ip4 = nm_connection_get_setting_ip4_config (connection);
> ASSERT (s_ip4 != NULL,
> "wired-static-routes-legacy-verify-ip4", "failed to verify %s: missing %s setting",
> TEST_IFCFG_WIRED_STATIC_ROUTES_LEGACY,
> @@ -1961,7 +1961,7 @@ test_read_wired_ipv4_manual (const char *file, const char *expected_id)
>
> /* ===== CONNECTION SETTING ===== */
>
> - s_con = NM_SETTING_CONNECTION (nm_connection_get_setting (connection, NM_TYPE_SETTING_CONNECTION));
> + s_con = nm_connection_get_setting_connection (connection);
> ASSERT (s_con != NULL,
> "wired-ipv4-manual-verify-connection", "failed to verify %s: missing %s setting",
> file,
> @@ -1982,7 +1982,7 @@ test_read_wired_ipv4_manual (const char *file, const char *expected_id)
>
> /* ===== WIRED SETTING ===== */
>
> - s_wired = NM_SETTING_WIRED (nm_connection_get_setting (connection, NM_TYPE_SETTING_WIRED));
> + s_wired = nm_connection_get_setting_wired (connection);
> ASSERT (s_wired != NULL,
> "wired-ipv4-manual-verify-wired", "failed to verify %s: missing %s setting",
> file,
> @@ -1990,7 +1990,7 @@ test_read_wired_ipv4_manual (const char *file, const char *expected_id)
>
> /* ===== IPv4 SETTING ===== */
>
> - s_ip4 = NM_SETTING_IP4_CONFIG (nm_connection_get_setting (connection, NM_TYPE_SETTING_IP4_CONFIG));
> + s_ip4 = nm_connection_get_setting_ip4_config (connection);
> ASSERT (s_ip4 != NULL,
> "wired-ipv4-manual-verify-ip4", "failed to verify %s: missing %s setting",
> file,
> @@ -2124,7 +2124,7 @@ test_read_wired_ipv6_manual (void)
>
> /* ===== CONNECTION SETTING ===== */
>
> - s_con = NM_SETTING_CONNECTION (nm_connection_get_setting (connection, NM_TYPE_SETTING_CONNECTION));
> + s_con = nm_connection_get_setting_connection (connection);
> ASSERT (s_con != NULL,
> "wired-ipv6-manual-verify-connection", "failed to verify %s: missing %s setting",
> TEST_IFCFG_WIRED_IPV6_MANUAL,
> @@ -2145,7 +2145,7 @@ test_read_wired_ipv6_manual (void)
>
> /* ===== WIRED SETTING ===== */
>
> - s_wired = NM_SETTING_WIRED (nm_connection_get_setting (connection, NM_TYPE_SETTING_WIRED));
> + s_wired = nm_connection_get_setting_wired (connection);
> ASSERT (s_wired != NULL,
> "wired-ipv6-manual-verify-wired", "failed to verify %s: missing %s setting",
> TEST_IFCFG_WIRED_IPV6_MANUAL,
> @@ -2153,7 +2153,7 @@ test_read_wired_ipv6_manual (void)
>
> /* ===== IPv4 SETTING ===== */
>
> - s_ip4 = NM_SETTING_IP4_CONFIG (nm_connection_get_setting (connection, NM_TYPE_SETTING_IP4_CONFIG));
> + s_ip4 = nm_connection_get_setting_ip4_config (connection);
> ASSERT (s_ip4 != NULL,
> "wired-ipv6-manual-verify-ip4", "failed to verify %s: missing %s setting",
> TEST_IFCFG_WIRED_IPV6_MANUAL,
> @@ -2211,7 +2211,7 @@ test_read_wired_ipv6_manual (void)
>
> /* ===== IPv6 SETTING ===== */
>
> - s_ip6 = NM_SETTING_IP6_CONFIG (nm_connection_get_setting (connection, NM_TYPE_SETTING_IP6_CONFIG));
> + s_ip6 = nm_connection_get_setting_ip6_config (connection);
> ASSERT (s_ip6 != NULL,
> "wired-ipv6-manual-verify-ip6", "failed to verify %s: missing %s setting",
> TEST_IFCFG_WIRED_IPV6_MANUAL,
> @@ -2415,7 +2415,7 @@ test_read_wired_ipv6_only (void)
>
> /* ===== CONNECTION SETTING ===== */
>
> - s_con = NM_SETTING_CONNECTION (nm_connection_get_setting (connection, NM_TYPE_SETTING_CONNECTION));
> + s_con = nm_connection_get_setting_connection (connection);
> ASSERT (s_con != NULL,
> "wired-ipv6-only-verify-connection", "failed to verify %s: missing %s setting",
> TEST_IFCFG_WIRED_IPV6_MANUAL,
> @@ -2436,7 +2436,7 @@ test_read_wired_ipv6_only (void)
>
> /* ===== WIRED SETTING ===== */
>
> - s_wired = NM_SETTING_WIRED (nm_connection_get_setting (connection, NM_TYPE_SETTING_WIRED));
> + s_wired = nm_connection_get_setting_wired (connection);
> ASSERT (s_wired != NULL,
> "wired-ipv6-only-verify-wired", "failed to verify %s: missing %s setting",
> TEST_IFCFG_WIRED_IPV6_MANUAL,
> @@ -2444,7 +2444,7 @@ test_read_wired_ipv6_only (void)
>
> /* ===== IPv4 SETTING ===== */
>
> - s_ip4 = NM_SETTING_IP4_CONFIG (nm_connection_get_setting (connection, NM_TYPE_SETTING_IP4_CONFIG));
> + s_ip4 = nm_connection_get_setting_ip4_config (connection);
> ASSERT (s_ip4 != NULL,
> "wired-ipv6-only-verify-ip4", "failed to verify %s: missing %s setting",
> TEST_IFCFG_WIRED_IPV6_MANUAL,
> @@ -2459,7 +2459,7 @@ test_read_wired_ipv6_only (void)
>
> /* ===== IPv6 SETTING ===== */
>
> - s_ip6 = NM_SETTING_IP6_CONFIG (nm_connection_get_setting (connection, NM_TYPE_SETTING_IP6_CONFIG));
> + s_ip6 = nm_connection_get_setting_ip6_config (connection);
> ASSERT (s_ip6 != NULL,
> "wired-ipv6-only-verify-ip6", "failed to verify %s: missing %s setting",
> TEST_IFCFG_WIRED_IPV6_MANUAL,
> @@ -2568,7 +2568,7 @@ test_read_wired_dhcp6_only (void)
>
> /* ===== CONNECTION SETTING ===== */
>
> - s_con = NM_SETTING_CONNECTION (nm_connection_get_setting (connection, NM_TYPE_SETTING_CONNECTION));
> + s_con = nm_connection_get_setting_connection (connection);
> ASSERT (s_con != NULL,
> "wired-dhcp6-only-verify-connection", "failed to verify %s: missing %s setting",
> TEST_IFCFG_WIRED_DHCP6_ONLY,
> @@ -2589,7 +2589,7 @@ test_read_wired_dhcp6_only (void)
>
> /* ===== WIRED SETTING ===== */
>
> - s_wired = NM_SETTING_WIRED (nm_connection_get_setting (connection, NM_TYPE_SETTING_WIRED));
> + s_wired = nm_connection_get_setting_wired (connection);
> ASSERT (s_wired != NULL,
> "wired-dhcp6-only-verify-wired", "failed to verify %s: missing %s setting",
> TEST_IFCFG_WIRED_DHCP6_ONLY,
> @@ -2597,7 +2597,7 @@ test_read_wired_dhcp6_only (void)
>
> /* ===== IPv4 SETTING ===== */
>
> - s_ip4 = NM_SETTING_IP4_CONFIG (nm_connection_get_setting (connection, NM_TYPE_SETTING_IP4_CONFIG));
> + s_ip4 = nm_connection_get_setting_ip4_config (connection);
> ASSERT (s_ip4 != NULL,
> "wired-dhcp6-only-verify-ip4", "failed to verify %s: missing %s setting",
> TEST_IFCFG_WIRED_DHCP6_ONLY,
> @@ -2612,7 +2612,7 @@ test_read_wired_dhcp6_only (void)
>
> /* ===== IPv6 SETTING ===== */
>
> - s_ip6 = NM_SETTING_IP6_CONFIG (nm_connection_get_setting (connection, NM_TYPE_SETTING_IP6_CONFIG));
> + s_ip6 = nm_connection_get_setting_ip6_config (connection);
> ASSERT (s_ip6 != NULL,
> "wired-dhcp6-only-verify-ip6", "failed to verify %s: missing %s setting",
> TEST_IFCFG_WIRED_DHCP6_ONLY,
> @@ -2668,7 +2668,7 @@ test_read_onboot_no (void)
>
> /* ===== CONNECTION SETTING ===== */
>
> - s_con = NM_SETTING_CONNECTION (nm_connection_get_setting (connection, NM_TYPE_SETTING_CONNECTION));
> + s_con = nm_connection_get_setting_connection (connection);
> ASSERT (s_con != NULL,
> "onboot-no-verify-connection", "failed to verify %s: missing %s setting",
> TEST_IFCFG_ONBOOT_NO,
> @@ -2734,7 +2734,7 @@ test_read_wired_8021x_peap_mschapv2 (void)
>
> /* ===== WIRED SETTING ===== */
>
> - s_wired = NM_SETTING_WIRED (nm_connection_get_setting (connection, NM_TYPE_SETTING_WIRED));
> + s_wired = nm_connection_get_setting_wired (connection);
> ASSERT (s_wired != NULL,
> "wired-8021x-peap-mschapv2-verify-wired", "failed to verify %s: missing %s setting",
> TEST_IFCFG_WIRED_8021x_PEAP_MSCHAPV2,
> @@ -2742,7 +2742,7 @@ test_read_wired_8021x_peap_mschapv2 (void)
>
> /* ===== IPv4 SETTING ===== */
>
> - s_ip4 = NM_SETTING_IP4_CONFIG (nm_connection_get_setting (connection, NM_TYPE_SETTING_IP4_CONFIG));
> + s_ip4 = nm_connection_get_setting_ip4_config (connection);
> ASSERT (s_ip4 != NULL,
> "wired-8021x-peap-mschapv2-verify-ip4", "failed to verify %s: missing %s setting",
> TEST_IFCFG_WIRED_8021x_PEAP_MSCHAPV2,
> @@ -2757,7 +2757,7 @@ test_read_wired_8021x_peap_mschapv2 (void)
> NM_SETTING_IP4_CONFIG_METHOD);
>
> /* ===== 802.1x SETTING ===== */
> - s_8021x = NM_SETTING_802_1X (nm_connection_get_setting (connection, NM_TYPE_SETTING_802_1X));
> + s_8021x = nm_connection_get_setting_802_1x (connection);
> ASSERT (s_8021x != NULL,
> "wired-8021x-peap-mschapv2-verify-8021x", "failed to verify %s: missing %s setting",
> TEST_IFCFG_WIRED_8021x_PEAP_MSCHAPV2,
> @@ -2929,11 +2929,11 @@ test_read_wired_8021x_tls_secret_flags (const char *ifcfg, NMSettingSecretFlags
> g_assert (success);
>
> /* ===== WIRED SETTING ===== */
> - s_wired = (NMSettingWired *) nm_connection_get_setting (connection, NM_TYPE_SETTING_WIRED);
> + s_wired = nm_connection_get_setting_wired (connection);
> g_assert (s_wired);
>
> /* ===== 802.1x SETTING ===== */
> - s_8021x = (NMSetting8021x *) nm_connection_get_setting (connection, NM_TYPE_SETTING_802_1X);
> + s_8021x = nm_connection_get_setting_802_1x (connection);
> g_assert (s_8021x);
> g_assert_cmpint (nm_setting_802_1x_get_num_eap_methods (s_8021x), ==, 1);
> g_assert_cmpstr (nm_setting_802_1x_get_eap_method (s_8021x, 0), ==, "tls");
> @@ -3001,7 +3001,7 @@ test_read_wifi_open (void)
>
> /* ===== CONNECTION SETTING ===== */
>
> - s_con = NM_SETTING_CONNECTION (nm_connection_get_setting (connection, NM_TYPE_SETTING_CONNECTION));
> + s_con = nm_connection_get_setting_connection (connection);
> ASSERT (s_con != NULL,
> "wifi-open-verify-connection", "failed to verify %s: missing %s setting",
> TEST_IFCFG_WIFI_OPEN,
> @@ -3041,7 +3041,7 @@ test_read_wifi_open (void)
>
> /* ===== WIRELESS SETTING ===== */
>
> - s_wireless = NM_SETTING_WIRELESS (nm_connection_get_setting (connection, NM_TYPE_SETTING_WIRELESS));
> + s_wireless = nm_connection_get_setting_wireless (connection);
> ASSERT (s_wireless != NULL,
> "wifi-open-verify-wireless", "failed to verify %s: missing %s setting",
> TEST_IFCFG_WIFI_OPEN,
> @@ -3120,7 +3120,7 @@ test_read_wifi_open (void)
>
> /* ===== IPv4 SETTING ===== */
>
> - s_ip4 = NM_SETTING_IP4_CONFIG (nm_connection_get_setting (connection, NM_TYPE_SETTING_IP4_CONFIG));
> + s_ip4 = nm_connection_get_setting_ip4_config (connection);
> ASSERT (s_ip4 != NULL,
> "wifi-open-verify-ip4", "failed to verify %s: missing %s setting",
> TEST_IFCFG_WIFI_OPEN,
> @@ -3177,7 +3177,7 @@ test_read_wifi_open_auto (void)
>
> /* ===== CONNECTION SETTING ===== */
>
> - s_con = NM_SETTING_CONNECTION (nm_connection_get_setting (connection, NM_TYPE_SETTING_CONNECTION));
> + s_con = nm_connection_get_setting_connection (connection);
> ASSERT (s_con != NULL,
> "wifi-open-auto-verify-connection", "failed to verify %s: missing %s setting",
> TEST_IFCFG_WIFI_OPEN_AUTO,
> @@ -3198,7 +3198,7 @@ test_read_wifi_open_auto (void)
>
> /* ===== WIRELESS SETTING ===== */
>
> - s_wireless = NM_SETTING_WIRELESS (nm_connection_get_setting (connection, NM_TYPE_SETTING_WIRELESS));
> + s_wireless = nm_connection_get_setting_wireless (connection);
> ASSERT (s_wireless != NULL,
> "wifi-open-auto-verify-wireless", "failed to verify %s: missing %s setting",
> TEST_IFCFG_WIFI_OPEN_AUTO,
> @@ -3260,7 +3260,7 @@ test_read_wifi_open_ssid_hex (void)
>
> /* ===== CONNECTION SETTING ===== */
>
> - s_con = NM_SETTING_CONNECTION (nm_connection_get_setting (connection, NM_TYPE_SETTING_CONNECTION));
> + s_con = nm_connection_get_setting_connection (connection);
> ASSERT (s_con != NULL,
> "wifi-open-ssid-hex-verify-connection", "failed to verify %s: missing %s setting",
> TEST_IFCFG_WIFI_OPEN_SSID_HEX,
> @@ -3281,7 +3281,7 @@ test_read_wifi_open_ssid_hex (void)
>
> /* ===== WIRELESS SETTING ===== */
>
> - s_wireless = NM_SETTING_WIRELESS (nm_connection_get_setting (connection, NM_TYPE_SETTING_WIRELESS));
> + s_wireless = nm_connection_get_setting_wireless (connection);
> ASSERT (s_wireless != NULL,
> "wifi-open-ssid-hex-verify-wireless", "failed to verify %s: missing %s setting",
> TEST_IFCFG_WIFI_OPEN_SSID_HEX,
> @@ -3379,7 +3379,7 @@ test_read_wifi_open_ssid_quoted (void)
>
> /* ===== CONNECTION SETTING ===== */
>
> - s_con = NM_SETTING_CONNECTION (nm_connection_get_setting (connection, NM_TYPE_SETTING_CONNECTION));
> + s_con = nm_connection_get_setting_connection (connection);
> ASSERT (s_con != NULL,
> "wifi-open-ssid-quoted-verify-connection", "failed to verify %s: missing %s setting",
> TEST_IFCFG_WIFI_OPEN_SSID_QUOTED,
> @@ -3400,7 +3400,7 @@ test_read_wifi_open_ssid_quoted (void)
>
> /* ===== WIRELESS SETTING ===== */
>
> - s_wireless = NM_SETTING_WIRELESS (nm_connection_get_setting (connection, NM_TYPE_SETTING_WIRELESS));
> + s_wireless = nm_connection_get_setting_wireless (connection);
> ASSERT (s_wireless != NULL,
> "wifi-open-ssid-quoted-verify-wireless", "failed to verify %s: missing %s setting",
> TEST_IFCFG_WIFI_OPEN_SSID_QUOTED,
> @@ -3476,7 +3476,7 @@ test_read_wifi_wep (void)
>
> /* ===== CONNECTION SETTING ===== */
>
> - s_con = NM_SETTING_CONNECTION (nm_connection_get_setting (connection, NM_TYPE_SETTING_CONNECTION));
> + s_con = nm_connection_get_setting_connection (connection);
> ASSERT (s_con != NULL,
> "wifi-wep-verify-connection", "failed to verify %s: missing %s setting",
> TEST_IFCFG_WIFI_WEP,
> @@ -3516,7 +3516,7 @@ test_read_wifi_wep (void)
>
> /* ===== WIRELESS SETTING ===== */
>
> - s_wireless = NM_SETTING_WIRELESS (nm_connection_get_setting (connection, NM_TYPE_SETTING_WIRELESS));
> + s_wireless = nm_connection_get_setting_wireless (connection);
> ASSERT (s_wireless != NULL,
> "wifi-wep-verify-wireless", "failed to verify %s: missing %s setting",
> TEST_IFCFG_WIFI_WEP,
> @@ -3608,7 +3608,7 @@ test_read_wifi_wep (void)
>
> /* ===== WIRELESS SECURITY SETTING ===== */
>
> - s_wsec = NM_SETTING_WIRELESS_SECURITY (nm_connection_get_setting (connection, NM_TYPE_SETTING_WIRELESS_SECURITY));
> + s_wsec = nm_connection_get_setting_wireless_security (connection);
> ASSERT (s_wsec != NULL,
> "wifi-wep-verify-wireless", "failed to verify %s: missing %s setting",
> TEST_IFCFG_WIFI_WEP,
> @@ -3687,7 +3687,7 @@ test_read_wifi_wep (void)
>
> /* ===== IPv4 SETTING ===== */
>
> - s_ip4 = NM_SETTING_IP4_CONFIG (nm_connection_get_setting (connection, NM_TYPE_SETTING_IP4_CONFIG));
> + s_ip4 = nm_connection_get_setting_ip4_config (connection);
> ASSERT (s_ip4 != NULL,
> "wifi-wep-verify-ip4", "failed to verify %s: missing %s setting",
> TEST_IFCFG_WIFI_WEP,
> @@ -3752,7 +3752,7 @@ test_read_wifi_wep_adhoc (void)
>
> /* ===== CONNECTION SETTING ===== */
>
> - s_con = NM_SETTING_CONNECTION (nm_connection_get_setting (connection, NM_TYPE_SETTING_CONNECTION));
> + s_con = nm_connection_get_setting_connection (connection);
> ASSERT (s_con != NULL,
> "wifi-wep-adhoc-verify-connection", "failed to verify %s: missing %s setting",
> TEST_IFCFG_WIFI_WEP_ADHOC,
> @@ -3785,7 +3785,7 @@ test_read_wifi_wep_adhoc (void)
>
> /* ===== WIRELESS SETTING ===== */
>
> - s_wireless = NM_SETTING_WIRELESS (nm_connection_get_setting (connection, NM_TYPE_SETTING_WIRELESS));
> + s_wireless = nm_connection_get_setting_wireless (connection);
> ASSERT (s_wireless != NULL,
> "wifi-wep-adhoc-verify-wireless", "failed to verify %s: missing %s setting",
> TEST_IFCFG_WIFI_WEP_ADHOC,
> @@ -3852,7 +3852,7 @@ test_read_wifi_wep_adhoc (void)
>
> /* ===== WIRELESS SECURITY SETTING ===== */
>
> - s_wsec = NM_SETTING_WIRELESS_SECURITY (nm_connection_get_setting (connection, NM_TYPE_SETTING_WIRELESS_SECURITY));
> + s_wsec = nm_connection_get_setting_wireless_security (connection);
> ASSERT (s_wsec != NULL,
> "wifi-wep-adhoc-verify-wireless", "failed to verify %s: missing %s setting",
> TEST_IFCFG_WIFI_WEP_ADHOC,
> @@ -3919,7 +3919,7 @@ test_read_wifi_wep_adhoc (void)
>
> /* ===== IPv4 SETTING ===== */
>
> - s_ip4 = NM_SETTING_IP4_CONFIG (nm_connection_get_setting (connection, NM_TYPE_SETTING_IP4_CONFIG));
> + s_ip4 = nm_connection_get_setting_ip4_config (connection);
> ASSERT (s_ip4 != NULL,
> "wifi-wep-adhoc-verify-ip4", "failed to verify %s: missing %s setting",
> TEST_IFCFG_WIFI_WEP_ADHOC,
> @@ -4015,7 +4015,7 @@ test_read_wifi_wep_passphrase (void)
>
> /* ===== CONNECTION SETTING ===== */
>
> - s_con = NM_SETTING_CONNECTION (nm_connection_get_setting (connection, NM_TYPE_SETTING_CONNECTION));
> + s_con = nm_connection_get_setting_connection (connection);
> ASSERT (s_con != NULL,
> "wifi-wep-passphrase-verify-connection", "failed to verify %s: missing %s setting",
> TEST_IFCFG_WIFI_WEP_PASSPHRASE,
> @@ -4023,7 +4023,7 @@ test_read_wifi_wep_passphrase (void)
>
> /* ===== WIRELESS SETTING ===== */
>
> - s_wireless = NM_SETTING_WIRELESS (nm_connection_get_setting (connection, NM_TYPE_SETTING_WIRELESS));
> + s_wireless = nm_connection_get_setting_wireless (connection);
> ASSERT (s_wireless != NULL,
> "wifi-wep-passphrase-verify-wireless", "failed to verify %s: missing %s setting",
> TEST_IFCFG_WIFI_WEP_PASSPHRASE,
> @@ -4045,7 +4045,7 @@ test_read_wifi_wep_passphrase (void)
>
> /* ===== WIRELESS SECURITY SETTING ===== */
>
> - s_wsec = NM_SETTING_WIRELESS_SECURITY (nm_connection_get_setting (connection, NM_TYPE_SETTING_WIRELESS_SECURITY));
> + s_wsec = nm_connection_get_setting_wireless_security (connection);
> ASSERT (s_wsec != NULL,
> "wifi-wep-passphrase-verify-wireless", "failed to verify %s: missing %s setting",
> TEST_IFCFG_WIFI_WEP_PASSPHRASE,
> @@ -4153,7 +4153,7 @@ test_read_wifi_wep_40_ascii (void)
>
> /* ===== CONNECTION SETTING ===== */
>
> - s_con = NM_SETTING_CONNECTION (nm_connection_get_setting (connection, NM_TYPE_SETTING_CONNECTION));
> + s_con = nm_connection_get_setting_connection (connection);
> ASSERT (s_con != NULL,
> "wifi-wep-40-ascii-verify-connection", "failed to verify %s: missing %s setting",
> TEST_IFCFG_WIFI_WEP_40_ASCII,
> @@ -4161,7 +4161,7 @@ test_read_wifi_wep_40_ascii (void)
>
> /* ===== WIRELESS SETTING ===== */
>
> - s_wireless = NM_SETTING_WIRELESS (nm_connection_get_setting (connection, NM_TYPE_SETTING_WIRELESS));
> + s_wireless = nm_connection_get_setting_wireless (connection);
> ASSERT (s_wireless != NULL,
> "wifi-wep-40-ascii-verify-wireless", "failed to verify %s: missing %s setting",
> TEST_IFCFG_WIFI_WEP_40_ASCII,
> @@ -4182,7 +4182,7 @@ test_read_wifi_wep_40_ascii (void)
>
> /* ===== WIRELESS SECURITY SETTING ===== */
>
> - s_wsec = NM_SETTING_WIRELESS_SECURITY (nm_connection_get_setting (connection, NM_TYPE_SETTING_WIRELESS_SECURITY));
> + s_wsec = nm_connection_get_setting_wireless_security (connection);
> ASSERT (s_wsec != NULL,
> "wifi-wep-40-ascii-verify-wireless", "failed to verify %s: missing %s setting",
> TEST_IFCFG_WIFI_WEP_40_ASCII,
> @@ -4290,7 +4290,7 @@ test_read_wifi_wep_104_ascii (void)
>
> /* ===== CONNECTION SETTING ===== */
>
> - s_con = NM_SETTING_CONNECTION (nm_connection_get_setting (connection, NM_TYPE_SETTING_CONNECTION));
> + s_con = nm_connection_get_setting_connection (connection);
> ASSERT (s_con != NULL,
> "wifi-wep-104-ascii-verify-connection", "failed to verify %s: missing %s setting",
> TEST_IFCFG_WIFI_WEP_104_ASCII,
> @@ -4298,7 +4298,7 @@ test_read_wifi_wep_104_ascii (void)
>
> /* ===== WIRELESS SETTING ===== */
>
> - s_wireless = NM_SETTING_WIRELESS (nm_connection_get_setting (connection, NM_TYPE_SETTING_WIRELESS));
> + s_wireless = nm_connection_get_setting_wireless (connection);
> ASSERT (s_wireless != NULL,
> "wifi-wep-104-ascii-verify-wireless", "failed to verify %s: missing %s setting",
> TEST_IFCFG_WIFI_WEP_104_ASCII,
> @@ -4319,7 +4319,7 @@ test_read_wifi_wep_104_ascii (void)
>
> /* ===== WIRELESS SECURITY SETTING ===== */
>
> - s_wsec = NM_SETTING_WIRELESS_SECURITY (nm_connection_get_setting (connection, NM_TYPE_SETTING_WIRELESS_SECURITY));
> + s_wsec = nm_connection_get_setting_wireless_security (connection);
> ASSERT (s_wsec != NULL,
> "wifi-wep-104-ascii-verify-wireless", "failed to verify %s: missing %s setting",
> TEST_IFCFG_WIFI_WEP_104_ASCII,
> @@ -4428,7 +4428,7 @@ test_read_wifi_leap (void)
>
> /* ===== CONNECTION SETTING ===== */
>
> - s_con = NM_SETTING_CONNECTION (nm_connection_get_setting (connection, NM_TYPE_SETTING_CONNECTION));
> + s_con = nm_connection_get_setting_connection (connection);
> ASSERT (s_con != NULL,
> "wifi-leap-verify-connection", "failed to verify %s: missing %s setting",
> TEST_IFCFG_WIFI_LEAP,
> @@ -4449,7 +4449,7 @@ test_read_wifi_leap (void)
>
> /* ===== WIRELESS SETTING ===== */
>
> - s_wireless = NM_SETTING_WIRELESS (nm_connection_get_setting (connection, NM_TYPE_SETTING_WIRELESS));
> + s_wireless = nm_connection_get_setting_wireless (connection);
> ASSERT (s_wireless != NULL,
> "wifi-leap-verify-wireless", "failed to verify %s: missing %s setting",
> TEST_IFCFG_WIFI_LEAP,
> @@ -4471,7 +4471,7 @@ test_read_wifi_leap (void)
>
> /* ===== WIRELESS SECURITY SETTING ===== */
>
> - s_wsec = NM_SETTING_WIRELESS_SECURITY (nm_connection_get_setting (connection, NM_TYPE_SETTING_WIRELESS_SECURITY));
> + s_wsec = nm_connection_get_setting_wireless_security (connection);
> ASSERT (s_wsec != NULL,
> "wifi-leap-verify-wireless", "failed to verify %s: missing %s setting",
> TEST_IFCFG_WIFI_LEAP,
> @@ -4566,13 +4566,13 @@ test_read_wifi_leap_secret_flags (const char *file, NMSettingSecretFlags expecte
> g_assert (success);
>
> /* ===== WIRELESS SETTING ===== */
> - s_wifi = (NMSettingWireless *) nm_connection_get_setting (connection, NM_TYPE_SETTING_WIRELESS);
> + s_wifi = nm_connection_get_setting_wireless (connection);
> g_assert (s_wifi);
>
> g_assert (g_strcmp0 (nm_setting_wireless_get_security (s_wifi), NM_SETTING_WIRELESS_SECURITY_SETTING_NAME) == 0);
>
> /* ===== WIRELESS SECURITY SETTING ===== */
> - s_wsec = (NMSettingWirelessSecurity *) nm_connection_get_setting (connection, NM_TYPE_SETTING_WIRELESS_SECURITY);
> + s_wsec = nm_connection_get_setting_wireless_security (connection);
> g_assert (s_wsec);
>
> g_assert (g_strcmp0 (nm_setting_wireless_security_get_key_mgmt (s_wsec), "ieee8021x") == 0);
> @@ -4643,7 +4643,7 @@ test_read_wifi_wpa_psk (void)
>
> /* ===== CONNECTION SETTING ===== */
>
> - s_con = NM_SETTING_CONNECTION (nm_connection_get_setting (connection, NM_TYPE_SETTING_CONNECTION));
> + s_con = nm_connection_get_setting_connection (connection);
> ASSERT (s_con != NULL,
> "wifi-wpa-psk-verify-connection", "failed to verify %s: missing %s setting",
> TEST_IFCFG_WIFI_WPA_PSK,
> @@ -4683,7 +4683,7 @@ test_read_wifi_wpa_psk (void)
>
> /* ===== WIRELESS SETTING ===== */
>
> - s_wireless = NM_SETTING_WIRELESS (nm_connection_get_setting (connection, NM_TYPE_SETTING_WIRELESS));
> + s_wireless = nm_connection_get_setting_wireless (connection);
> ASSERT (s_wireless != NULL,
> "wifi-wpa-psk-verify-wireless", "failed to verify %s: missing %s setting",
> TEST_IFCFG_WIFI_WPA_PSK,
> @@ -4774,7 +4774,7 @@ test_read_wifi_wpa_psk (void)
>
> /* ===== WIRELESS SECURITY SETTING ===== */
>
> - s_wsec = NM_SETTING_WIRELESS_SECURITY (nm_connection_get_setting (connection, NM_TYPE_SETTING_WIRELESS_SECURITY));
> + s_wsec = nm_connection_get_setting_wireless_security (connection);
> ASSERT (s_wsec != NULL,
> "wifi-wpa-psk-verify-wireless", "failed to verify %s: missing %s setting",
> TEST_IFCFG_WIFI_WPA_PSK,
> @@ -4887,7 +4887,7 @@ test_read_wifi_wpa_psk (void)
>
> /* ===== IPv4 SETTING ===== */
>
> - s_ip4 = NM_SETTING_IP4_CONFIG (nm_connection_get_setting (connection, NM_TYPE_SETTING_IP4_CONFIG));
> + s_ip4 = nm_connection_get_setting_ip4_config (connection);
> ASSERT (s_ip4 != NULL,
> "wifi-wpa-psk-verify-ip4", "failed to verify %s: missing %s setting",
> TEST_IFCFG_WIFI_WPA_PSK,
> @@ -4945,7 +4945,7 @@ test_read_wifi_wpa_psk_unquoted (void)
>
> /* ===== CONNECTION SETTING ===== */
>
> - s_con = NM_SETTING_CONNECTION (nm_connection_get_setting (connection, NM_TYPE_SETTING_CONNECTION));
> + s_con = nm_connection_get_setting_connection (connection);
> ASSERT (s_con != NULL,
> "wifi-wpa-psk-unquoted-verify-connection", "failed to verify %s: missing %s setting",
> TEST_IFCFG_WIFI_WPA_PSK_UNQUOTED,
> @@ -4966,7 +4966,7 @@ test_read_wifi_wpa_psk_unquoted (void)
>
> /* ===== WIRELESS SETTING ===== */
>
> - s_wireless = NM_SETTING_WIRELESS (nm_connection_get_setting (connection, NM_TYPE_SETTING_WIRELESS));
> + s_wireless = nm_connection_get_setting_wireless (connection);
> ASSERT (s_wireless != NULL,
> "wifi-wpa-psk-unquoted-verify-wireless", "failed to verify %s: missing %s setting",
> TEST_IFCFG_WIFI_WPA_PSK_UNQUOTED,
> @@ -4987,7 +4987,7 @@ test_read_wifi_wpa_psk_unquoted (void)
>
> /* ===== WIRELESS SECURITY SETTING ===== */
>
> - s_wsec = NM_SETTING_WIRELESS_SECURITY (nm_connection_get_setting (connection, NM_TYPE_SETTING_WIRELESS_SECURITY));
> + s_wsec = nm_connection_get_setting_wireless_security (connection);
> ASSERT (s_wsec != NULL,
> "wifi-wpa-psk-unquoted-verify-wireless", "failed to verify %s: missing %s setting",
> TEST_IFCFG_WIFI_WPA_PSK_UNQUOTED,
> @@ -5092,7 +5092,7 @@ test_read_wifi_wpa_psk_adhoc (void)
>
> /* ===== CONNECTION SETTING ===== */
>
> - s_con = NM_SETTING_CONNECTION (nm_connection_get_setting (connection, NM_TYPE_SETTING_CONNECTION));
> + s_con = nm_connection_get_setting_connection (connection);
> ASSERT (s_con != NULL,
> "wifi-wpa-psk-adhoc-verify-connection", "failed to verify %s: missing %s setting",
> TEST_IFCFG_WIFI_WPA_PSK_ADHOC,
> @@ -5113,7 +5113,7 @@ test_read_wifi_wpa_psk_adhoc (void)
>
> /* ===== WIRELESS SETTING ===== */
>
> - s_wireless = NM_SETTING_WIRELESS (nm_connection_get_setting (connection, NM_TYPE_SETTING_WIRELESS));
> + s_wireless = nm_connection_get_setting_wireless (connection);
> ASSERT (s_wireless != NULL,
> "wifi-wpa-psk-adhoc-verify-wireless", "failed to verify %s: missing %s setting",
> TEST_IFCFG_WIFI_WPA_PSK_ADHOC,
> @@ -5147,7 +5147,7 @@ test_read_wifi_wpa_psk_adhoc (void)
>
> /* ===== WIRELESS SECURITY SETTING ===== */
>
> - s_wsec = NM_SETTING_WIRELESS_SECURITY (nm_connection_get_setting (connection, NM_TYPE_SETTING_WIRELESS_SECURITY));
> + s_wsec = nm_connection_get_setting_wireless_security (connection);
> ASSERT (s_wsec != NULL,
> "wifi-wpa-psk-adhoc-verify-wireless", "failed to verify %s: missing %s setting",
> TEST_IFCFG_WIFI_WPA_PSK_ADHOC,
> @@ -5221,7 +5221,7 @@ test_read_wifi_wpa_psk_adhoc (void)
>
> /* ===== IPv4 SETTING ===== */
>
> - s_ip4 = NM_SETTING_IP4_CONFIG (nm_connection_get_setting (connection, NM_TYPE_SETTING_IP4_CONFIG));
> + s_ip4 = nm_connection_get_setting_ip4_config (connection);
> ASSERT (s_ip4 != NULL,
> "wifi-wpa-psk-adhoc-verify-ip4", "failed to verify %s: missing %s setting",
> TEST_IFCFG_WIFI_WPA_PSK_ADHOC,
> @@ -5283,7 +5283,7 @@ test_read_wifi_wpa_psk_hex (void)
>
> /* ===== CONNECTION SETTING ===== */
>
> - s_con = NM_SETTING_CONNECTION (nm_connection_get_setting (connection, NM_TYPE_SETTING_CONNECTION));
> + s_con = nm_connection_get_setting_connection (connection);
> ASSERT (s_con != NULL,
> "wifi-wpa-psk-hex-verify-connection", "failed to verify %s: missing %s setting",
> TEST_IFCFG_WIFI_WPA_PSK_HEX,
> @@ -5304,7 +5304,7 @@ test_read_wifi_wpa_psk_hex (void)
>
> /* ===== WIRELESS SETTING ===== */
>
> - s_wireless = NM_SETTING_WIRELESS (nm_connection_get_setting (connection, NM_TYPE_SETTING_WIRELESS));
> + s_wireless = nm_connection_get_setting_wireless (connection);
> ASSERT (s_wireless != NULL,
> "wifi-wpa-psk-hex-verify-wireless", "failed to verify %s: missing %s setting",
> TEST_IFCFG_WIFI_WPA_PSK_HEX,
> @@ -5343,7 +5343,7 @@ test_read_wifi_wpa_psk_hex (void)
>
> /* ===== WIRELESS SECURITY SETTING ===== */
>
> - s_wsec = NM_SETTING_WIRELESS_SECURITY (nm_connection_get_setting (connection, NM_TYPE_SETTING_WIRELESS_SECURITY));
> + s_wsec = nm_connection_get_setting_wireless_security (connection);
> ASSERT (s_wsec != NULL,
> "wifi-wpa-psk-hex-verify-wireless", "failed to verify %s: missing %s setting",
> TEST_IFCFG_WIFI_WPA_PSK_HEX,
> @@ -5377,7 +5377,7 @@ test_read_wifi_wpa_psk_hex (void)
>
> /* ===== IPv4 SETTING ===== */
>
> - s_ip4 = NM_SETTING_IP4_CONFIG (nm_connection_get_setting (connection, NM_TYPE_SETTING_IP4_CONFIG));
> + s_ip4 = nm_connection_get_setting_ip4_config (connection);
> ASSERT (s_ip4 != NULL,
> "wifi-wpa-psk-hex-verify-ip4", "failed to verify %s: missing %s setting",
> TEST_IFCFG_WIFI_WPA_PSK_HEX,
> @@ -5441,7 +5441,7 @@ test_read_wifi_wpa_eap_tls (void)
>
> /* ===== WIRELESS SETTING ===== */
>
> - s_wireless = NM_SETTING_WIRELESS (nm_connection_get_setting (connection, NM_TYPE_SETTING_WIRELESS));
> + s_wireless = nm_connection_get_setting_wireless (connection);
> ASSERT (s_wireless != NULL,
> "wifi-wpa-eap-tls-verify-wireless", "failed to verify %s: missing %s setting",
> TEST_IFCFG_WIFI_WPA_EAP_TLS,
> @@ -5449,7 +5449,7 @@ test_read_wifi_wpa_eap_tls (void)
>
> /* ===== IPv4 SETTING ===== */
>
> - s_ip4 = NM_SETTING_IP4_CONFIG (nm_connection_get_setting (connection, NM_TYPE_SETTING_IP4_CONFIG));
> + s_ip4 = nm_connection_get_setting_ip4_config (connection);
> ASSERT (s_ip4 != NULL,
> "wifi-wpa-eap-tls-verify-ip4", "failed to verify %s: missing %s setting",
> TEST_IFCFG_WIFI_WPA_EAP_TLS,
> @@ -5464,7 +5464,7 @@ test_read_wifi_wpa_eap_tls (void)
> NM_SETTING_IP4_CONFIG_METHOD);
>
> /* ===== 802.1x SETTING ===== */
> - s_8021x = NM_SETTING_802_1X (nm_connection_get_setting (connection, NM_TYPE_SETTING_802_1X));
> + s_8021x = nm_connection_get_setting_802_1x (connection);
> ASSERT (s_8021x != NULL,
> "wifi-wpa-eap-tls-verify-8021x", "failed to verify %s: missing %s setting",
> TEST_IFCFG_WIFI_WPA_EAP_TLS,
> @@ -5591,7 +5591,7 @@ test_read_wifi_wpa_eap_ttls_tls (void)
>
> /* ===== WIRELESS SETTING ===== */
>
> - s_wireless = NM_SETTING_WIRELESS (nm_connection_get_setting (connection, NM_TYPE_SETTING_WIRELESS));
> + s_wireless = nm_connection_get_setting_wireless (connection);
> ASSERT (s_wireless != NULL,
> "wifi-wpa-eap-ttls-tls-verify-wireless", "failed to verify %s: missing %s setting",
> TEST_IFCFG_WIFI_WPA_EAP_TTLS_TLS,
> @@ -5599,7 +5599,7 @@ test_read_wifi_wpa_eap_ttls_tls (void)
>
> /* ===== IPv4 SETTING ===== */
>
> - s_ip4 = NM_SETTING_IP4_CONFIG (nm_connection_get_setting (connection, NM_TYPE_SETTING_IP4_CONFIG));
> + s_ip4 = nm_connection_get_setting_ip4_config (connection);
> ASSERT (s_ip4 != NULL,
> "wifi-wpa-eap-ttls-tls-verify-ip4", "failed to verify %s: missing %s setting",
> TEST_IFCFG_WIFI_WPA_EAP_TTLS_TLS,
> @@ -5614,7 +5614,7 @@ test_read_wifi_wpa_eap_ttls_tls (void)
> NM_SETTING_IP4_CONFIG_METHOD);
>
> /* ===== 802.1x SETTING ===== */
> - s_8021x = NM_SETTING_802_1X (nm_connection_get_setting (connection, NM_TYPE_SETTING_802_1X));
> + s_8021x = nm_connection_get_setting_802_1x (connection);
> ASSERT (s_8021x != NULL,
> "wifi-wpa-eap-ttls-tls-verify-8021x", "failed to verify %s: missing %s setting",
> TEST_IFCFG_WIFI_WPA_EAP_TTLS_TLS,
> @@ -5756,13 +5756,13 @@ test_read_wifi_dynamic_wep_leap (void)
>
> /* ===== WIRELESS SETTING ===== */
>
> - s_wifi = (NMSettingWireless *) nm_connection_get_setting (connection, NM_TYPE_SETTING_WIRELESS);
> + s_wifi = nm_connection_get_setting_wireless (connection);
> g_assert (s_wifi);
>
> g_assert_cmpstr (nm_setting_wireless_get_security (s_wifi), ==, NM_SETTING_WIRELESS_SECURITY_SETTING_NAME);
>
> /* ===== WiFi SECURITY SETTING ===== */
> - s_wsec = (NMSettingWirelessSecurity *) nm_connection_get_setting (connection, NM_TYPE_SETTING_WIRELESS_SECURITY);
> + s_wsec = nm_connection_get_setting_wireless_security (connection);
> g_assert (s_wsec);
>
> /* Key management */
> @@ -5778,7 +5778,7 @@ test_read_wifi_dynamic_wep_leap (void)
> g_assert_cmpstr (nm_setting_wireless_security_get_leap_password (s_wsec), ==, NULL);
>
> /* ===== 802.1x SETTING ===== */
> - s_8021x = (NMSetting8021x *) nm_connection_get_setting (connection, NM_TYPE_SETTING_802_1X);
> + s_8021x = nm_connection_get_setting_802_1x (connection);
> g_assert (s_8021x);
>
> /* EAP method should be "leap" */
> @@ -5839,7 +5839,7 @@ test_read_wifi_wep_eap_ttls_chap (void)
>
> /* ===== WIRELESS SETTING ===== */
>
> - s_wireless = NM_SETTING_WIRELESS (nm_connection_get_setting (connection, NM_TYPE_SETTING_WIRELESS));
> + s_wireless = nm_connection_get_setting_wireless (connection);
> ASSERT (s_wireless != NULL,
> "wifi-wep-eap-ttls-chap-verify-wireless", "failed to verify %s: missing %s setting",
> TEST_IFCFG_WIFI_WEP_EAP_TTLS_CHAP,
> @@ -5847,7 +5847,7 @@ test_read_wifi_wep_eap_ttls_chap (void)
>
> /* ===== IPv4 SETTING ===== */
>
> - s_ip4 = NM_SETTING_IP4_CONFIG (nm_connection_get_setting (connection, NM_TYPE_SETTING_IP4_CONFIG));
> + s_ip4 = nm_connection_get_setting_ip4_config (connection);
> ASSERT (s_ip4 != NULL,
> "wifi-wep-eap-ttls-chap-verify-ip4", "failed to verify %s: missing %s setting",
> TEST_IFCFG_WIFI_WEP_EAP_TTLS_CHAP,
> @@ -5862,7 +5862,7 @@ test_read_wifi_wep_eap_ttls_chap (void)
> NM_SETTING_IP4_CONFIG_METHOD);
>
> /* ===== 802.1x SETTING ===== */
> - s_wsec = NM_SETTING_WIRELESS_SECURITY (nm_connection_get_setting (connection, NM_TYPE_SETTING_WIRELESS_SECURITY));
> + s_wsec = nm_connection_get_setting_wireless_security (connection);
> ASSERT (s_wsec != NULL,
> "wifi-wep-eap-ttls-chap-verify-wireless-security", "failed to verify %s: missing %s setting",
> TEST_IFCFG_WIFI_WEP_EAP_TTLS_CHAP,
> @@ -5882,7 +5882,7 @@ test_read_wifi_wep_eap_ttls_chap (void)
> NM_SETTING_WIRELESS_SECURITY_KEY_MGMT);
>
> /* ===== 802.1x SETTING ===== */
> - s_8021x = NM_SETTING_802_1X (nm_connection_get_setting (connection, NM_TYPE_SETTING_802_1X));
> + s_8021x = nm_connection_get_setting_802_1x (connection);
> ASSERT (s_8021x != NULL,
> "wifi-wep-eap-ttls-chap-verify-8021x", "failed to verify %s: missing %s setting",
> TEST_IFCFG_WIFI_WEP_EAP_TTLS_CHAP,
> @@ -6005,7 +6005,7 @@ test_read_wired_qeth_static (void)
>
> /* ===== CONNECTION SETTING ===== */
>
> - s_con = NM_SETTING_CONNECTION (nm_connection_get_setting (connection, NM_TYPE_SETTING_CONNECTION));
> + s_con = nm_connection_get_setting_connection (connection);
> ASSERT (s_con != NULL,
> "wired-qeth-static-verify-connection", "failed to verify %s: missing %s setting",
> TEST_IFCFG_WIRED_QETH_STATIC,
> @@ -6026,7 +6026,7 @@ test_read_wired_qeth_static (void)
>
> /* ===== WIRED SETTING ===== */
>
> - s_wired = NM_SETTING_WIRED (nm_connection_get_setting (connection, NM_TYPE_SETTING_WIRED));
> + s_wired = nm_connection_get_setting_wired (connection);
> ASSERT (s_wired != NULL,
> "wired-qeth-static-verify-wired", "failed to verify %s: missing %s setting",
> TEST_IFCFG_WIRED_QETH_STATIC,
> @@ -6116,7 +6116,7 @@ test_read_wired_qeth_static (void)
>
> /* ===== IPv4 SETTING ===== */
>
> - s_ip4 = NM_SETTING_IP4_CONFIG (nm_connection_get_setting (connection, NM_TYPE_SETTING_IP4_CONFIG));
> + s_ip4 = nm_connection_get_setting_ip4_config (connection);
> ASSERT (s_ip4 != NULL,
> "wired-qeth-static-verify-ip4", "failed to verify %s: missing %s setting",
> TEST_IFCFG_WIRED_QETH_STATIC,
> @@ -6247,7 +6247,7 @@ test_read_wifi_wep_no_keys (void)
>
> /* ===== CONNECTION SETTING ===== */
>
> - s_con = NM_SETTING_CONNECTION (nm_connection_get_setting (connection, NM_TYPE_SETTING_CONNECTION));
> + s_con = nm_connection_get_setting_connection (connection);
> ASSERT (s_con != NULL,
> "wifi-wep-no-keys-verify-connection", "failed to verify %s: missing %s setting",
> TEST_IFCFG_WIFI_WEP_NO_KEYS,
> @@ -6273,7 +6273,7 @@ test_read_wifi_wep_no_keys (void)
>
> /* ===== WIRELESS SETTING ===== */
>
> - s_wireless = NM_SETTING_WIRELESS (nm_connection_get_setting (connection, NM_TYPE_SETTING_WIRELESS));
> + s_wireless = nm_connection_get_setting_wireless (connection);
> ASSERT (s_wireless != NULL,
> "wifi-wep-no-keys-verify-wireless", "failed to verify %s: missing %s setting",
> TEST_IFCFG_WIFI_WEP_NO_KEYS,
> @@ -6295,7 +6295,7 @@ test_read_wifi_wep_no_keys (void)
>
> /* ===== WIRELESS SECURITY SETTING ===== */
>
> - s_wsec = NM_SETTING_WIRELESS_SECURITY (nm_connection_get_setting (connection, NM_TYPE_SETTING_WIRELESS_SECURITY));
> + s_wsec = nm_connection_get_setting_wireless_security (connection);
> ASSERT (s_wsec != NULL,
> "wifi-wep-no-keys-verify-wireless", "failed to verify %s: missing %s setting",
> TEST_IFCFG_WIFI_WEP_NO_KEYS,
> @@ -6371,7 +6371,7 @@ test_read_permissions (void)
>
> /* ===== CONNECTION SETTING ===== */
>
> - s_con = NM_SETTING_CONNECTION (nm_connection_get_setting (connection, NM_TYPE_SETTING_CONNECTION));
> + s_con = nm_connection_get_setting_connection (connection);
> ASSERT (s_con != NULL,
> "permissions-verify-connection", "failed to verify %s: missing %s setting",
> TEST_IFCFG_PERMISSIONS,
> @@ -6451,13 +6451,13 @@ test_read_wifi_wep_agent_keys (void)
> */
>
> /* ===== WIRELESS SETTING ===== */
> - s_wifi = (NMSettingWireless *) nm_connection_get_setting (connection, NM_TYPE_SETTING_WIRELESS);
> + s_wifi = nm_connection_get_setting_wireless (connection);
> g_assert (s_wifi);
> tmp = nm_setting_wireless_get_security (s_wifi);
> g_assert (g_strcmp0 (tmp, NM_SETTING_WIRELESS_SECURITY_SETTING_NAME) == 0);
>
> /* ===== WIRELESS SECURITY SETTING ===== */
> - s_wsec = (NMSettingWirelessSecurity *) nm_connection_get_setting (connection, NM_TYPE_SETTING_WIRELESS_SECURITY);
> + s_wsec = nm_connection_get_setting_wireless_security (connection);
> g_assert (s_wsec);
>
> g_assert (strcmp (nm_setting_wireless_security_get_key_mgmt (s_wsec), "none") == 0);
> @@ -6692,8 +6692,8 @@ test_write_wired_static (void)
> * However after re-reading they are dropped into IPv4 setting.
> * So, in order to comparison succeeded, move DNS domains back to IPv6 setting.
> */
> - reread_s_ip4 = NM_SETTING_IP4_CONFIG (nm_connection_get_setting (reread, NM_TYPE_SETTING_IP4_CONFIG));
> - reread_s_ip6 = NM_SETTING_IP6_CONFIG (nm_connection_get_setting (reread, NM_TYPE_SETTING_IP6_CONFIG));
> + reread_s_ip4 = nm_connection_get_setting_ip4_config (reread);
> + reread_s_ip6 = nm_connection_get_setting_ip6_config (reread);
> nm_setting_ip6_config_add_dns_search (reread_s_ip6, nm_setting_ip4_config_get_dns_search (reread_s_ip4, 2));
> nm_setting_ip6_config_add_dns_search (reread_s_ip6, nm_setting_ip4_config_get_dns_search (reread_s_ip4, 3));
> nm_setting_ip4_config_remove_dns_search (reread_s_ip4, 3);
> @@ -7018,7 +7018,7 @@ test_read_write_static_routes_legacy (void)
>
> /* ===== CONNECTION SETTING ===== */
>
> - s_con = NM_SETTING_CONNECTION (nm_connection_get_setting (connection, NM_TYPE_SETTING_CONNECTION));
> + s_con = nm_connection_get_setting_connection (connection);
> ASSERT (s_con != NULL,
> "read-write-static-routes-legacy-verify-connection", "failed to verify %s: missing %s setting",
> TEST_IFCFG_READ_WRITE_STATIC_ROUTES_LEGACY,
> @@ -7041,7 +7041,7 @@ test_read_write_static_routes_legacy (void)
>
> /* ===== WIRED SETTING ===== */
>
> - s_wired = NM_SETTING_WIRED (nm_connection_get_setting (connection, NM_TYPE_SETTING_WIRED));
> + s_wired = nm_connection_get_setting_wired (connection);
> ASSERT (s_wired != NULL,
> "read-write-static-routes-legacy-verify-wired", "failed to verify %s: missing %s setting",
> TEST_IFCFG_READ_WRITE_STATIC_ROUTES_LEGACY,
> @@ -7049,7 +7049,7 @@ test_read_write_static_routes_legacy (void)
>
> /* ===== IPv4 SETTING ===== */
>
> - s_ip4 = NM_SETTING_IP4_CONFIG (nm_connection_get_setting (connection, NM_TYPE_SETTING_IP4_CONFIG));
> + s_ip4 = nm_connection_get_setting_ip4_config (connection);
> ASSERT (s_ip4 != NULL,
> "read-write-static-routes-legacy-verify-ip4", "failed to verify %s: missing %s setting",
> TEST_IFCFG_READ_WRITE_STATIC_ROUTES_LEGACY,
> @@ -7628,7 +7628,7 @@ test_write_wired_8021x_tls (NMSetting8021xCKScheme scheme,
> * matter what scheme was used in the original connection they will be read
> * back in as paths.
> */
> - s_8021x = (NMSetting8021x *) nm_connection_get_setting (reread, NM_TYPE_SETTING_802_1X);
> + s_8021x = nm_connection_get_setting_802_1x (reread);
> g_assert (s_8021x);
> g_assert_cmpint (nm_setting_802_1x_get_ca_cert_scheme (s_8021x), ==, NM_SETTING_802_1X_CK_SCHEME_PATH);
> g_assert_cmpint (nm_setting_802_1x_get_client_cert_scheme (s_8021x), ==, NM_SETTING_802_1X_CK_SCHEME_PATH);
> @@ -7657,7 +7657,7 @@ test_write_wired_8021x_tls (NMSetting8021xCKScheme scheme,
> * say it's not system-owned, and therefore it should not show up
> * in the re-read connection.
> */
> - s_8021x = (NMSetting8021x *) nm_connection_get_setting (connection, NM_TYPE_SETTING_802_1X);
> + s_8021x = nm_connection_get_setting_802_1x (connection);
> g_object_set (s_8021x, NM_SETTING_802_1X_PRIVATE_KEY_PASSWORD, NULL, NULL);
> }
>
> @@ -10085,7 +10085,7 @@ test_write_wifi_wpa_then_open (void)
> g_object_unref (reread);
>
> /* Now change the connection to open and recheck */
> - s_wifi = (NMSettingWireless *) nm_connection_get_setting (connection, NM_TYPE_SETTING_WIRELESS);
> + s_wifi = nm_connection_get_setting_wireless (connection);
> g_assert (s_wifi);
> g_object_set (s_wifi, NM_SETTING_WIRELESS_SEC, NULL, NULL);
> nm_connection_remove_setting (connection, NM_TYPE_SETTING_WIRELESS_SECURITY);
> @@ -10534,7 +10534,7 @@ test_read_ibft_dhcp (void)
>
> /* ===== CONNECTION SETTING ===== */
>
> - s_con = NM_SETTING_CONNECTION (nm_connection_get_setting (connection, NM_TYPE_SETTING_CONNECTION));
> + s_con = nm_connection_get_setting_connection (connection);
> ASSERT (s_con != NULL,
> "ibft-dhcp-verify-connection", "failed to verify %s: missing %s setting",
> TEST_IFCFG_IBFT_DHCP,
> @@ -10581,7 +10581,7 @@ test_read_ibft_dhcp (void)
>
> /* ===== WIRED SETTING ===== */
>
> - s_wired = NM_SETTING_WIRED (nm_connection_get_setting (connection, NM_TYPE_SETTING_WIRED));
> + s_wired = nm_connection_get_setting_wired (connection);
> ASSERT (s_wired != NULL,
> "ibft-dhcp-verify-wired", "failed to verify %s: missing %s setting",
> TEST_IFCFG_IBFT_DHCP,
> @@ -10613,7 +10613,7 @@ test_read_ibft_dhcp (void)
>
> /* ===== IPv4 SETTING ===== */
>
> - s_ip4 = NM_SETTING_IP4_CONFIG (nm_connection_get_setting (connection, NM_TYPE_SETTING_IP4_CONFIG));
> + s_ip4 = nm_connection_get_setting_ip4_config (connection);
> ASSERT (s_ip4 != NULL,
> "ibft-dhcp-verify-ip4", "failed to verify %s: missing %s setting",
> TEST_IFCFG_IBFT_DHCP,
> @@ -10679,7 +10679,7 @@ test_read_ibft_static (void)
>
> /* ===== CONNECTION SETTING ===== */
>
> - s_con = NM_SETTING_CONNECTION (nm_connection_get_setting (connection, NM_TYPE_SETTING_CONNECTION));
> + s_con = nm_connection_get_setting_connection (connection);
> ASSERT (s_con != NULL,
> "ibft-static-verify-connection", "failed to verify %s: missing %s setting",
> TEST_IFCFG_IBFT_STATIC,
> @@ -10726,7 +10726,7 @@ test_read_ibft_static (void)
>
> /* ===== WIRED SETTING ===== */
>
> - s_wired = NM_SETTING_WIRED (nm_connection_get_setting (connection, NM_TYPE_SETTING_WIRED));
> + s_wired = nm_connection_get_setting_wired (connection);
> ASSERT (s_wired != NULL,
> "ibft-static-verify-wired", "failed to verify %s: missing %s setting",
> TEST_IFCFG_IBFT_STATIC,
> @@ -10758,7 +10758,7 @@ test_read_ibft_static (void)
>
> /* ===== IPv4 SETTING ===== */
>
> - s_ip4 = NM_SETTING_IP4_CONFIG (nm_connection_get_setting (connection, NM_TYPE_SETTING_IP4_CONFIG));
> + s_ip4 = nm_connection_get_setting_ip4_config (connection);
> ASSERT (s_ip4 != NULL,
> "ibft-static-verify-ip4", "failed to verify %s: missing %s setting",
> TEST_IFCFG_IBFT_STATIC,
> diff --git a/src/settings/plugins/ifcfg-rh/writer.c b/src/settings/plugins/ifcfg-rh/writer.c
> index 068bcda..2971f01 100644
> --- a/src/settings/plugins/ifcfg-rh/writer.c
> +++ b/src/settings/plugins/ifcfg-rh/writer.c
> @@ -456,7 +456,7 @@ write_8021x_setting (NMConnection *connection,
> gboolean success = FALSE;
> GString *phase2_auth;
>
> - s_8021x = (NMSetting8021x *) nm_connection_get_setting (connection, NM_TYPE_SETTING_802_1X);
> + s_8021x = nm_connection_get_setting_802_1x (connection);
> if (!s_8021x) {
> /* If wired, clear KEY_MGMT */
> if (wired)
> @@ -554,7 +554,7 @@ write_wireless_security_setting (NMConnection *connection,
> guint32 i, num;
> GString *str;
>
> - s_wsec = (NMSettingWirelessSecurity *) nm_connection_get_setting (connection, NM_TYPE_SETTING_WIRELESS_SECURITY);
> + s_wsec = nm_connection_get_setting_wireless_security (connection);
> if (!s_wsec) {
> g_set_error (error, IFCFG_PLUGIN_ERROR, 0,
> "Missing '%s' setting", NM_SETTING_WIRELESS_SECURITY_SETTING_NAME);
> @@ -761,7 +761,7 @@ write_wireless_setting (NMConnection *connection,
> gboolean adhoc = FALSE, hex_ssid = FALSE;
> const GSList *macaddr_blacklist;
>
> - s_wireless = (NMSettingWireless *) nm_connection_get_setting (connection, NM_TYPE_SETTING_WIRELESS);
> + s_wireless = nm_connection_get_setting_wireless (connection);
> if (!s_wireless) {
> g_set_error (error, IFCFG_PLUGIN_ERROR, 0,
> "Missing '%s' setting", NM_SETTING_WIRELESS_SETTING_NAME);
> @@ -955,7 +955,7 @@ write_wired_setting (NMConnection *connection, shvarFile *ifcfg, GError **error)
> GString *str;
> const GSList *macaddr_blacklist;
>
> - s_wired = (NMSettingWired *) nm_connection_get_setting (connection, NM_TYPE_SETTING_WIRED);
> + s_wired = nm_connection_get_setting_wired (connection);
> if (!s_wired) {
> g_set_error (error, IFCFG_PLUGIN_ERROR, 0,
> "Missing '%s' setting", NM_SETTING_WIRED_SETTING_NAME);
> @@ -1172,7 +1172,7 @@ write_ip4_setting (NMConnection *connection, shvarFile *ifcfg, GError **error)
> gboolean fake_ip4 = FALSE;
> const char *method = NULL;
>
> - s_ip4 = (NMSettingIP4Config *) nm_connection_get_setting (connection, NM_TYPE_SETTING_IP4_CONFIG);
> + s_ip4 = nm_connection_get_setting_ip4_config (connection);
> if (s_ip4)
> method = nm_setting_ip4_config_get_method (s_ip4);
>
> @@ -1509,7 +1509,7 @@ write_ip6_setting (NMConnection *connection, shvarFile *ifcfg, GError **error)
> GString *ip_str1, *ip_str2, *ip_ptr;
> char *route6_path;
>
> - s_ip6 = (NMSettingIP6Config *) nm_connection_get_setting (connection, NM_TYPE_SETTING_IP6_CONFIG);
> + s_ip6 = nm_connection_get_setting_ip6_config (connection);
> if (!s_ip6) {
> g_set_error (error, IFCFG_PLUGIN_ERROR, 0,
> "Missing '%s' setting", NM_SETTING_IP6_CONFIG_SETTING_NAME);
> @@ -1587,7 +1587,7 @@ write_ip6_setting (NMConnection *connection, shvarFile *ifcfg, GError **error)
> }
>
> /* Write out DNS - 'DNS' key is used both for IPv4 and IPv6 */
> - s_ip4 = (NMSettingIP4Config *) nm_connection_get_setting (connection, NM_TYPE_SETTING_IP4_CONFIG);
> + s_ip4 = nm_connection_get_setting_ip4_config (connection);
> num4 = s_ip4 ? nm_setting_ip4_config_get_num_dns (s_ip4) : 0; /* from where to start with IPv6 entries */
> num = nm_setting_ip6_config_get_num_dns (s_ip6);
> for (i = 0; i < 254; i++) {
> @@ -1699,7 +1699,7 @@ write_connection (NMConnection *connection,
> gboolean no_8021x = FALSE;
> gboolean wired = FALSE;
>
> - s_con = NM_SETTING_CONNECTION (nm_connection_get_setting (connection, NM_TYPE_SETTING_CONNECTION));
> + s_con = nm_connection_get_setting_connection (connection);
> if (!s_con) {
> g_set_error (error, IFCFG_PLUGIN_ERROR, 0,
> "Missing '%s' setting", NM_SETTING_CONNECTION_SETTING_NAME);
> @@ -1759,7 +1759,7 @@ write_connection (NMConnection *connection,
>
> if (!strcmp (type, NM_SETTING_WIRED_SETTING_NAME)) {
> // FIXME: can't write PPPoE at this time
> - if (nm_connection_get_setting (connection, NM_TYPE_SETTING_PPPOE)) {
> + if (nm_connection_get_setting_pppoe (connection)) {
> g_set_error (error, IFCFG_PLUGIN_ERROR, 0,
> "Can't write connection type '%s'",
> NM_SETTING_PPPOE_SETTING_NAME);
> @@ -1786,7 +1786,7 @@ write_connection (NMConnection *connection,
> if (!write_ip4_setting (connection, ifcfg, error))
> goto out;
>
> - s_ip6 = (NMSettingIP6Config *) nm_connection_get_setting (connection, NM_TYPE_SETTING_IP6_CONFIG);
> + s_ip6 = nm_connection_get_setting_ip6_config (connection);
> if (s_ip6) {
> if (!write_ip6_setting (connection, ifcfg, error))
> goto out;
> diff --git a/src/settings/plugins/ifnet/connection_parser.c b/src/settings/plugins/ifnet/connection_parser.c
> index b4aaa8d..f397644 100644
> --- a/src/settings/plugins/ifnet/connection_parser.c
> +++ b/src/settings/plugins/ifnet/connection_parser.c
> @@ -69,9 +69,7 @@ update_connection_id (NMConnection *connection, const char *conn_name)
> idstr = g_strdup_printf ("%s (%s)", get_prefix (), conn_name);
> uuid_base = idstr;
> uuid = nm_utils_uuid_generate_from_string (uuid_base);
> - setting =
> - (NMSettingConnection *) nm_connection_get_setting (connection,
> - NM_TYPE_SETTING_CONNECTION);
> + setting = nm_connection_get_setting_connection (connection);
> g_object_set (setting, NM_SETTING_CONNECTION_ID, idstr,
> NM_SETTING_CONNECTION_UUID, uuid, NULL);
> PLUGIN_PRINT (IFNET_PLUGIN_NAME,
> @@ -1666,9 +1664,7 @@ ifnet_update_connection_from_config_block (const char *conn_name, GError **error
> connection = nm_connection_new ();
> if (!connection)
> return NULL;
> - setting =
> - (NMSettingConnection *) nm_connection_get_setting (connection,
> - NM_TYPE_SETTING_CONNECTION);
> + setting = nm_connection_get_setting_connection (connection);
> if (!setting) {
> setting = NM_SETTING_CONNECTION (nm_setting_connection_new ());
> g_assert (setting);
> @@ -2021,10 +2017,7 @@ write_8021x_setting (NMConnection *connection,
> GString *phase2_auth;
> GString *phase1;
>
> - s_8021x =
> - (NMSetting8021x *) nm_connection_get_setting (connection,
> - NM_TYPE_SETTING_802_1X);
> -
> + s_8021x = nm_connection_get_setting_802_1x (connection);
> if (!s_8021x) {
> return TRUE;
> }
> @@ -2119,9 +2112,7 @@ write_wireless_security_setting (NMConnection * connection,
> guint32 i, num;
> GString *str;
>
> - s_wsec =
> - (NMSettingWirelessSecurity *) nm_connection_get_setting (connection,
> - NM_TYPE_SETTING_WIRELESS_SECURITY);
> + s_wsec = nm_connection_get_setting_wireless_security (connection);
> if (!s_wsec) {
> g_set_error (error, ifnet_plugin_error_quark (), 0,
> "Missing '%s' setting",
> @@ -2287,7 +2278,7 @@ write_wireless_setting (NMConnection *connection,
> gboolean adhoc = FALSE, hex_ssid = FALSE;
> gchar *ssid_str, *tmp;
>
> - s_wireless = (NMSettingWireless *) nm_connection_get_setting (connection, NM_TYPE_SETTING_WIRELESS);
> + s_wireless = nm_connection_get_setting_wireless (connection);
> if (!s_wireless) {
> g_set_error (error, ifnet_plugin_error_quark (), 0,
> "Missing '%s' setting",
> @@ -2406,9 +2397,7 @@ write_wired_setting (NMConnection *connection,
> char *tmp;
> guint32 mtu;
>
> - s_wired =
> - (NMSettingWired *) nm_connection_get_setting (connection,
> - NM_TYPE_SETTING_WIRED);
> + s_wired = nm_connection_get_setting_wired (connection);
> if (!s_wired) {
> g_set_error (error, ifnet_plugin_error_quark (), 0,
> "Missing '%s' setting",
> @@ -2462,9 +2451,7 @@ write_ip4_setting (NMConnection *connection, const char *conn_name, GError **err
> gboolean has_def_route = FALSE;
> gboolean success = FALSE;
>
> - s_ip4 =
> - (NMSettingIP4Config *) nm_connection_get_setting (connection,
> - NM_TYPE_SETTING_IP4_CONFIG);
> + s_ip4 = nm_connection_get_setting_ip4_config (connection);
> if (!s_ip4) {
> g_set_error (error, ifnet_plugin_error_quark (), 0,
> "Missing '%s' setting",
> @@ -2668,9 +2655,7 @@ write_ip6_setting (NMConnection *connection, const char *conn_name, GError **err
> NMIP6Address *addr;
> const struct in6_addr *ip;
>
> - s_ip6 =
> - (NMSettingIP6Config *) nm_connection_get_setting (connection,
> - NM_TYPE_SETTING_IP6_CONFIG);
> + s_ip6 = nm_connection_get_setting_ip6_config (connection);
> if (!s_ip6) {
> g_set_error (error, ifnet_plugin_error_quark (), 0,
> "Missing '%s' setting",
> @@ -2856,7 +2841,7 @@ ifnet_update_parsers_by_connection (NMConnection *connection,
> NMSettingPPPOE *s_pppoe;
>
> /* Writing pppoe setting */
> - s_pppoe = NM_SETTING_PPPOE (nm_connection_get_setting (connection, NM_TYPE_SETTING_PPPOE));
> + s_pppoe = nm_connection_get_setting_pppoe (connection);
> if (!write_pppoe_setting (conn_name, s_pppoe))
> goto out;
> pppoe = TRUE;
> @@ -2884,7 +2869,7 @@ ifnet_update_parsers_by_connection (NMConnection *connection,
> if (!write_ip4_setting (connection, conn_name, error))
> goto out;
>
> - s_ip6 = (NMSettingIP6Config *) nm_connection_get_setting (connection, NM_TYPE_SETTING_IP6_CONFIG);
> + s_ip6 = nm_connection_get_setting_ip6_config (connection);
> if (s_ip6) {
> /* IPv6 Setting */
> if (!write_ip6_setting (connection, conn_name, error))
> @@ -2972,9 +2957,7 @@ get_wireless_name (NMConnection * connection)
> char buf[33];
> int i = 0;
>
> - s_wireless =
> - (NMSettingWireless *) nm_connection_get_setting (connection,
> - NM_TYPE_SETTING_WIRELESS);
> + s_wireless = nm_connection_get_setting_wireless (connection);
> if (!s_wireless)
> return NULL;
>
> @@ -3020,7 +3003,7 @@ ifnet_add_new_connection (NMConnection *connection,
> const char *type;
> gchar *new_type, *new_name = NULL;
>
> - s_con = NM_SETTING_CONNECTION (nm_connection_get_setting (connection, NM_TYPE_SETTING_CONNECTION));
> + s_con = nm_connection_get_setting_connection (connection);
> g_assert (s_con);
> type = nm_setting_connection_get_connection_type (s_con);
> g_assert (type);
> diff --git a/src/settings/plugins/ifnet/plugin.c b/src/settings/plugins/ifnet/plugin.c
> index 5908368..8fee9c2 100644
> --- a/src/settings/plugins/ifnet/plugin.c
> +++ b/src/settings/plugins/ifnet/plugin.c
> @@ -188,8 +188,7 @@ commit_cb (NMSettingsConnection *connection, GError *error, gpointer unused)
> } else {
> NMSettingConnection *s_con;
>
> - s_con = (NMSettingConnection *) nm_connection_get_setting (NM_CONNECTION (connection),
> - NM_TYPE_SETTING_CONNECTION);
> + s_con = nm_connection_get_setting_connection (NM_CONNECTION (connection));
> g_assert (s_con);
> PLUGIN_PRINT (IFNET_PLUGIN_NAME, "Connection %s updated",
> nm_setting_connection_get_id (s_con));
> diff --git a/src/settings/plugins/ifupdown/parser.c b/src/settings/plugins/ifupdown/parser.c
> index dc2f8ab..accf62c 100644
> --- a/src/settings/plugins/ifupdown/parser.c
> +++ b/src/settings/plugins/ifupdown/parser.c
> @@ -311,8 +311,7 @@ update_wireless_security_setting_from_if_block(NMConnection *connection,
> return;
> }
>
> - s_wireless = NM_SETTING_WIRELESS(nm_connection_get_setting(connection,
> - NM_TYPE_SETTING_WIRELESS));
> + s_wireless = nm_connection_get_setting_wireless(connection);
> g_return_if_fail(s_wireless);
>
> PLUGIN_PRINT ("SCPlugin-Ifupdown","update wireless security settings (%s).", block->name);
> @@ -537,7 +536,7 @@ ifupdown_update_connection_from_if_block (NMConnection *connection,
> NMSettingConnection *s_con;
> gboolean success = FALSE;
>
> - s_con = (NMSettingConnection *) nm_connection_get_setting (connection, NM_TYPE_SETTING_CONNECTION);
> + s_con = nm_connection_get_setting_connection (connection);
> if(!s_con) {
> s_con = NM_SETTING_CONNECTION (nm_setting_connection_new());
> g_assert (s_con);
> diff --git a/src/settings/plugins/ifupdown/plugin.c b/src/settings/plugins/ifupdown/plugin.c
> index 9679ede..08e3e2f 100644
> --- a/src/settings/plugins/ifupdown/plugin.c
> +++ b/src/settings/plugins/ifupdown/plugin.c
> @@ -190,8 +190,8 @@ bind_device_to_connection (SCPluginIfupdown *self,
> NMIfupdownConnection *exported)
> {
> GByteArray *mac_address;
> - NMSetting *s_wired = NULL;
> - NMSetting *s_wifi = NULL;
> + NMSettingWired *s_wired;
> + NMSettingWireless *s_wifi;
> const char *iface, *address;
> struct ether_addr *tmp_mac;
>
> @@ -217,8 +217,8 @@ bind_device_to_connection (SCPluginIfupdown *self,
> mac_address = g_byte_array_sized_new (ETH_ALEN);
> g_byte_array_append (mac_address, &(tmp_mac->ether_addr_octet[0]), ETH_ALEN);
>
> - s_wired = nm_connection_get_setting (NM_CONNECTION (exported), NM_TYPE_SETTING_WIRED);
> - s_wifi = nm_connection_get_setting (NM_CONNECTION (exported), NM_TYPE_SETTING_WIRELESS);
> + s_wired = nm_connection_get_setting_wired (NM_CONNECTION (exported));
> + s_wifi = nm_connection_get_setting_wireless (NM_CONNECTION (exported));
> if (s_wired) {
> PLUGIN_PRINT ("SCPluginIfupdown", "locking wired connection setting");
> g_object_set (s_wired, NM_SETTING_WIRED_MAC_ADDRESS, mac_address, NULL);
> @@ -432,13 +432,13 @@ SCPluginIfupdown_init (NMSystemConfigInterface *config)
> keys = g_hash_table_get_keys (priv->iface_connections);
> for (iter = keys; iter; iter = g_list_next (iter)) {
> NMIfupdownConnection *exported;
> - NMSetting *setting;
> + NMSettingConnection *setting;
>
> if (!g_hash_table_lookup (auto_ifaces, iter->data))
> continue;
>
> exported = g_hash_table_lookup (priv->iface_connections, iter->data);
> - setting = NM_SETTING (nm_connection_get_setting (NM_CONNECTION (exported), NM_TYPE_SETTING_CONNECTION));
> + setting = nm_connection_get_setting_connection (NM_CONNECTION (exported));
> g_object_set (setting, NM_SETTING_CONNECTION_AUTOCONNECT, TRUE, NULL);
>
> nm_settings_connection_commit_changes (NM_SETTINGS_CONNECTION (exported), ignore_cb, NULL);
> diff --git a/src/settings/plugins/keyfile/reader.c b/src/settings/plugins/keyfile/reader.c
> index 4128b9f..c9eed3b 100644
> --- a/src/settings/plugins/keyfile/reader.c
> +++ b/src/settings/plugins/keyfile/reader.c
> @@ -1300,7 +1300,7 @@ nm_keyfile_plugin_connection_from_file (const char *filename, GError **error)
> * the keyfile didn't include it, which can happen when the base
> * device type setting is all default values (like ethernet).
> */
> - s_con = (NMSettingConnection *) nm_connection_get_setting (connection, NM_TYPE_SETTING_CONNECTION);
> + s_con = nm_connection_get_setting_connection (connection);
> if (s_con) {
> ctype = nm_setting_connection_get_connection_type (s_con);
> setting = nm_connection_get_setting_by_name (connection, ctype);
> @@ -1314,7 +1314,7 @@ nm_keyfile_plugin_connection_from_file (const char *filename, GError **error)
> if (vpn_secrets) {
> NMSettingVPN *s_vpn;
>
> - s_vpn = (NMSettingVPN *) nm_connection_get_setting (connection, NM_TYPE_SETTING_VPN);
> + s_vpn = nm_connection_get_setting_vpn (connection);
> if (s_vpn)
> read_vpn_secrets (key_file, s_vpn);
> }
> diff --git a/src/settings/plugins/keyfile/tests/test-keyfile.c b/src/settings/plugins/keyfile/tests/test-keyfile.c
> index 2859cb3..5c9ced7 100644
> --- a/src/settings/plugins/keyfile/tests/test-keyfile.c
> +++ b/src/settings/plugins/keyfile/tests/test-keyfile.c
> @@ -93,7 +93,7 @@ test_read_valid_wired_connection (void)
>
> /* ===== CONNECTION SETTING ===== */
>
> - s_con = NM_SETTING_CONNECTION (nm_connection_get_setting (connection, NM_TYPE_SETTING_CONNECTION));
> + s_con = nm_connection_get_setting_connection (connection);
> ASSERT (s_con != NULL,
> "connection-verify-connection", "failed to verify %s: missing %s setting",
> TEST_WIRED_FILE,
> @@ -142,7 +142,7 @@ test_read_valid_wired_connection (void)
>
> /* ===== WIRED SETTING ===== */
>
> - s_wired = NM_SETTING_WIRED (nm_connection_get_setting (connection, NM_TYPE_SETTING_WIRED));
> + s_wired = nm_connection_get_setting_wired (connection);
> ASSERT (s_wired != NULL,
> "connection-verify-wired", "failed to verify %s: missing %s setting",
> TEST_WIRED_FILE,
> @@ -174,7 +174,7 @@ test_read_valid_wired_connection (void)
>
> /* ===== IPv4 SETTING ===== */
>
> - s_ip4 = NM_SETTING_IP4_CONFIG (nm_connection_get_setting (connection, NM_TYPE_SETTING_IP4_CONFIG));
> + s_ip4 = nm_connection_get_setting_ip4_config (connection);
> ASSERT (s_ip4 != NULL,
> "connection-verify-ip4", "failed to verify %s: missing %s setting",
> TEST_WIRED_FILE,
> @@ -297,7 +297,7 @@ test_read_valid_wired_connection (void)
>
> /* ===== IPv6 SETTING ===== */
>
> - s_ip6 = NM_SETTING_IP6_CONFIG (nm_connection_get_setting (connection, NM_TYPE_SETTING_IP6_CONFIG));
> + s_ip6 = nm_connection_get_setting_ip6_config (connection);
> ASSERT (s_ip6 != NULL,
> "connection-verify-ip6", "failed to verify %s: missing %s setting",
> TEST_WIRED_FILE,
> @@ -745,7 +745,7 @@ test_read_ip6_wired_connection (void)
>
> /* ===== CONNECTION SETTING ===== */
>
> - s_con = NM_SETTING_CONNECTION (nm_connection_get_setting (connection, NM_TYPE_SETTING_CONNECTION));
> + s_con = nm_connection_get_setting_connection (connection);
> ASSERT (s_con != NULL,
> "connection-verify-connection", "failed to verify %s: missing %s setting",
> TEST_WIRED_IP6_FILE,
> @@ -779,7 +779,7 @@ test_read_ip6_wired_connection (void)
>
> /* ===== WIRED SETTING ===== */
>
> - s_wired = NM_SETTING_WIRED (nm_connection_get_setting (connection, NM_TYPE_SETTING_WIRED));
> + s_wired = nm_connection_get_setting_wired (connection);
> ASSERT (s_wired != NULL,
> "connection-verify-wired", "failed to verify %s: missing %s setting",
> TEST_WIRED_IP6_FILE,
> @@ -787,7 +787,7 @@ test_read_ip6_wired_connection (void)
>
> /* ===== IPv4 SETTING ===== */
>
> - s_ip4 = NM_SETTING_IP4_CONFIG (nm_connection_get_setting (connection, NM_TYPE_SETTING_IP4_CONFIG));
> + s_ip4 = nm_connection_get_setting_ip4_config (connection);
> ASSERT (s_ip4 != NULL,
> "connection-verify-ip4", "failed to verify %s: missing %s setting",
> TEST_WIRED_IP6_FILE,
> @@ -809,7 +809,7 @@ test_read_ip6_wired_connection (void)
>
> /* ===== IPv6 SETTING ===== */
>
> - s_ip6 = NM_SETTING_IP6_CONFIG (nm_connection_get_setting (connection, NM_TYPE_SETTING_IP6_CONFIG));
> + s_ip6 = nm_connection_get_setting_ip6_config (connection);
> ASSERT (s_ip6 != NULL,
> "connection-verify-ip6", "failed to verify %s: missing %s setting",
> TEST_WIRED_IP6_FILE,
> @@ -1001,7 +1001,7 @@ test_read_wired_mac_case (void)
>
> /* ===== CONNECTION SETTING ===== */
>
> - s_con = NM_SETTING_CONNECTION (nm_connection_get_setting (connection, NM_TYPE_SETTING_CONNECTION));
> + s_con = nm_connection_get_setting_connection (connection);
> ASSERT (s_con != NULL,
> "connection-verify-connection", "failed to verify %s: missing %s setting",
> TEST_WIRED_MAC_CASE_FILE,
> @@ -1035,7 +1035,7 @@ test_read_wired_mac_case (void)
>
> /* ===== WIRED SETTING ===== */
>
> - s_wired = NM_SETTING_WIRED (nm_connection_get_setting (connection, NM_TYPE_SETTING_WIRED));
> + s_wired = nm_connection_get_setting_wired (connection);
> ASSERT (s_wired != NULL,
> "connection-verify-wired", "failed to verify %s: missing %s setting",
> TEST_WIRED_MAC_CASE_FILE,
> @@ -1087,7 +1087,7 @@ test_read_valid_wireless_connection (void)
>
> /* ===== CONNECTION SETTING ===== */
>
> - s_con = NM_SETTING_CONNECTION (nm_connection_get_setting (connection, NM_TYPE_SETTING_CONNECTION));
> + s_con = nm_connection_get_setting_connection (connection);
> ASSERT (s_con != NULL,
> "connection-verify-connection", "failed to verify %s: missing %s setting",
> TEST_WIRELESS_FILE,
> @@ -1136,7 +1136,7 @@ test_read_valid_wireless_connection (void)
>
> /* ===== WIRED SETTING ===== */
>
> - s_wireless = NM_SETTING_WIRELESS (nm_connection_get_setting (connection, NM_TYPE_SETTING_WIRELESS));
> + s_wireless = nm_connection_get_setting_wireless (connection);
> ASSERT (s_wireless != NULL,
> "connection-verify-wireless", "failed to verify %s: missing %s setting",
> TEST_WIRELESS_FILE,
> @@ -1162,7 +1162,7 @@ test_read_valid_wireless_connection (void)
>
> /* ===== IPv4 SETTING ===== */
>
> - s_ip4 = NM_SETTING_IP4_CONFIG (nm_connection_get_setting (connection, NM_TYPE_SETTING_IP4_CONFIG));
> + s_ip4 = nm_connection_get_setting_ip4_config (connection);
> ASSERT (s_ip4 != NULL,
> "connection-verify-ip4", "failed to verify %s: missing %s setting",
> TEST_WIRELESS_FILE,
> @@ -1315,7 +1315,7 @@ test_read_string_ssid (void)
>
> /* ===== WIRELESS SETTING ===== */
>
> - s_wireless = NM_SETTING_WIRELESS (nm_connection_get_setting (connection, NM_TYPE_SETTING_WIRELESS));
> + s_wireless = nm_connection_get_setting_wireless (connection);
> ASSERT (s_wireless != NULL,
> "connection-verify-wireless", "failed to verify %s: missing %s setting",
> TEST_STRING_SSID_FILE,
> @@ -1832,7 +1832,7 @@ test_read_bt_dun_connection (void)
>
> /* ===== CONNECTION SETTING ===== */
>
> - s_con = NM_SETTING_CONNECTION (nm_connection_get_setting (connection, NM_TYPE_SETTING_CONNECTION));
> + s_con = nm_connection_get_setting_connection (connection);
> ASSERT (s_con != NULL,
> "connection-verify-connection", "failed to verify %s: missing %s setting",
> TEST_BT_DUN_FILE,
> @@ -1866,7 +1866,7 @@ test_read_bt_dun_connection (void)
>
> /* ===== BLUETOOTH SETTING ===== */
>
> - s_bluetooth = NM_SETTING_BLUETOOTH (nm_connection_get_setting (connection, NM_TYPE_SETTING_BLUETOOTH));
> + s_bluetooth = nm_connection_get_setting_bluetooth (connection);
> ASSERT (s_bluetooth != NULL,
> "connection-verify-bt", "failed to verify %s: missing %s setting",
> TEST_WIRELESS_FILE,
> @@ -1905,7 +1905,7 @@ test_read_bt_dun_connection (void)
>
> /* ===== GSM SETTING ===== */
>
> - s_gsm = NM_SETTING_GSM (nm_connection_get_setting (connection, NM_TYPE_SETTING_GSM));
> + s_gsm = nm_connection_get_setting_gsm (connection);
> ASSERT (s_gsm != NULL,
> "connection-verify-gsm", "failed to verify %s: missing %s setting",
> TEST_BT_DUN_FILE,
> @@ -2081,7 +2081,7 @@ test_read_gsm_connection (void)
> NMSettingConnection *s_con;
> NMSettingSerial *s_serial;
> NMSettingGsm *s_gsm;
> - NMSetting *s_bluetooth;
> + NMSettingBluetooth *s_bluetooth;
> GError *error = NULL;
> const char *tmp;
> const char *expected_id = "AT&T Data Connect";
> @@ -2100,7 +2100,7 @@ test_read_gsm_connection (void)
>
> /* ===== CONNECTION SETTING ===== */
>
> - s_con = NM_SETTING_CONNECTION (nm_connection_get_setting (connection, NM_TYPE_SETTING_CONNECTION));
> + s_con = nm_connection_get_setting_connection (connection);
> ASSERT (s_con != NULL,
> "connection-verify-connection", "failed to verify %s: missing %s setting",
> TEST_GSM_FILE,
> @@ -2134,7 +2134,7 @@ test_read_gsm_connection (void)
> /* ===== BLUETOOTH SETTING ===== */
>
> /* Plain GSM, so no BT setting expected */
> - s_bluetooth = nm_connection_get_setting (connection, NM_TYPE_SETTING_BLUETOOTH);
> + s_bluetooth = nm_connection_get_setting_bluetooth (connection);
> ASSERT (s_bluetooth == NULL,
> "connection-verify-bt", "unexpected %s setting",
> TEST_GSM_FILE,
> @@ -2142,7 +2142,7 @@ test_read_gsm_connection (void)
>
> /* ===== GSM SETTING ===== */
>
> - s_gsm = NM_SETTING_GSM (nm_connection_get_setting (connection, NM_TYPE_SETTING_GSM));
> + s_gsm = nm_connection_get_setting_gsm (connection);
> ASSERT (s_gsm != NULL,
> "connection-verify-gsm", "failed to verify %s: missing %s setting",
> TEST_GSM_FILE,
> @@ -2324,7 +2324,7 @@ static void
> test_read_wired_8021x_tls_blob_connection (void)
> {
> NMConnection *connection;
> - NMSetting *s_wired;
> + NMSettingWired *s_wired;
> NMSetting8021x *s_8021x;
> GError *error = NULL;
> const char *tmp;
> @@ -2346,11 +2346,11 @@ test_read_wired_8021x_tls_blob_connection (void)
> }
>
> /* ===== Wired Setting ===== */
> - s_wired = nm_connection_get_setting (connection, NM_TYPE_SETTING_WIRED);
> + s_wired = nm_connection_get_setting_wired (connection);
> g_assert (s_wired != NULL);
>
> /* ===== 802.1x Setting ===== */
> - s_8021x = (NMSetting8021x *) nm_connection_get_setting (connection, NM_TYPE_SETTING_802_1X);
> + s_8021x = nm_connection_get_setting_802_1x (connection);
> g_assert (s_8021x != NULL);
>
> g_assert (nm_setting_802_1x_get_num_eap_methods (s_8021x) == 1);
> @@ -2389,7 +2389,7 @@ static void
> test_read_wired_8021x_tls_bad_path_connection (void)
> {
> NMConnection *connection;
> - NMSetting *s_wired;
> + NMSettingWired *s_wired;
> NMSetting8021x *s_8021x;
> GError *error = NULL;
> const char *tmp;
> @@ -2411,11 +2411,11 @@ test_read_wired_8021x_tls_bad_path_connection (void)
> }
>
> /* ===== Wired Setting ===== */
> - s_wired = nm_connection_get_setting (connection, NM_TYPE_SETTING_WIRED);
> + s_wired = nm_connection_get_setting_wired (connection);
> g_assert (s_wired != NULL);
>
> /* ===== 802.1x Setting ===== */
> - s_8021x = (NMSetting8021x *) nm_connection_get_setting (connection, NM_TYPE_SETTING_802_1X);
> + s_8021x = nm_connection_get_setting_802_1x (connection);
> g_assert (s_8021x != NULL);
>
> g_assert (nm_setting_802_1x_get_num_eap_methods (s_8021x) == 1);
> @@ -2451,7 +2451,7 @@ static void
> test_read_wired_8021x_tls_old_connection (void)
> {
> NMConnection *connection;
> - NMSetting *s_wired;
> + NMSettingWired *s_wired;
> NMSetting8021x *s_8021x;
> GError *error = NULL;
> const char *tmp;
> @@ -2472,11 +2472,11 @@ test_read_wired_8021x_tls_old_connection (void)
> }
>
> /* ===== Wired Setting ===== */
> - s_wired = nm_connection_get_setting (connection, NM_TYPE_SETTING_WIRED);
> + s_wired = nm_connection_get_setting_wired (connection);
> g_assert (s_wired != NULL);
>
> /* ===== 802.1x Setting ===== */
> - s_8021x = (NMSetting8021x *) nm_connection_get_setting (connection, NM_TYPE_SETTING_802_1X);
> + s_8021x = nm_connection_get_setting_802_1x (connection);
> g_assert (s_8021x != NULL);
>
> g_assert (nm_setting_802_1x_get_num_eap_methods (s_8021x) == 1);
> @@ -2507,7 +2507,7 @@ static void
> test_read_wired_8021x_tls_new_connection (void)
> {
> NMConnection *connection;
> - NMSetting *s_wired;
> + NMSettingWired *s_wired;
> NMSetting8021x *s_8021x;
> GError *error = NULL;
> const char *tmp;
> @@ -2529,11 +2529,11 @@ test_read_wired_8021x_tls_new_connection (void)
> }
>
> /* ===== Wired Setting ===== */
> - s_wired = nm_connection_get_setting (connection, NM_TYPE_SETTING_WIRED);
> + s_wired = nm_connection_get_setting_wired (connection);
> g_assert (s_wired != NULL);
>
> /* ===== 802.1x Setting ===== */
> - s_8021x = (NMSetting8021x *) nm_connection_get_setting (connection, NM_TYPE_SETTING_802_1X);
> + s_8021x = nm_connection_get_setting_802_1x (connection);
> g_assert (s_8021x != NULL);
>
> g_assert (nm_setting_802_1x_get_num_eap_methods (s_8021x) == 1);
> @@ -2779,7 +2779,7 @@ test_write_wired_8021x_tls_connection_blob (void)
> g_assert (testfile);
>
> /* Check that the new certs got written out */
> - s_con = (NMSettingConnection *) nm_connection_get_setting (connection, NM_TYPE_SETTING_CONNECTION);
> + s_con = nm_connection_get_setting_connection (connection);
> g_assert (s_con);
> uuid = nm_setting_connection_get_uuid (s_con);
> g_assert (uuid);
> @@ -2805,7 +2805,7 @@ test_write_wired_8021x_tls_connection_blob (void)
> }
>
> /* Ensure the re-read connection's certificates use the path scheme */
> - s_8021x = (NMSetting8021x *) nm_connection_get_setting (reread, NM_TYPE_SETTING_802_1X);
> + s_8021x = nm_connection_get_setting_802_1x (reread);
> g_assert (s_8021x);
> g_assert (nm_setting_802_1x_get_ca_cert_scheme (s_8021x) == NM_SETTING_802_1X_CK_SCHEME_PATH);
> g_assert (nm_setting_802_1x_get_client_cert_scheme (s_8021x) == NM_SETTING_802_1X_CK_SCHEME_PATH);
> diff --git a/src/tests/test-wifi-ap-utils.c b/src/tests/test-wifi-ap-utils.c
> index 93bd325..faa023f 100644
> --- a/src/tests/test-wifi-ap-utils.c
> +++ b/src/tests/test-wifi-ap-utils.c
> @@ -162,7 +162,7 @@ fill_wifi_empty (NMConnection *connection)
> {
> NMSettingWireless *s_wifi;
>
> - s_wifi = (NMSettingWireless *) nm_connection_get_setting (connection, NM_TYPE_SETTING_WIRELESS);
> + s_wifi = nm_connection_get_setting_wireless (connection);
> if (!s_wifi) {
> s_wifi = (NMSettingWireless *) nm_setting_wireless_new ();
> nm_connection_add_setting (connection, NM_SETTING (s_wifi));
> @@ -175,7 +175,7 @@ fill_wifi (NMConnection *connection, const KeyData items[])
> {
> NMSettingWireless *s_wifi;
>
> - s_wifi = (NMSettingWireless *) nm_connection_get_setting (connection, NM_TYPE_SETTING_WIRELESS);
> + s_wifi = nm_connection_get_setting_wireless (connection);
> if (!s_wifi) {
> s_wifi = (NMSettingWireless *) nm_setting_wireless_new ();
> nm_connection_add_setting (connection, NM_SETTING (s_wifi));
> @@ -190,7 +190,7 @@ fill_wsec (NMConnection *connection, const KeyData items[])
> {
> NMSettingWirelessSecurity *s_wsec;
>
> - s_wsec = (NMSettingWirelessSecurity *) nm_connection_get_setting (connection, NM_TYPE_SETTING_WIRELESS_SECURITY);
> + s_wsec = nm_connection_get_setting_wireless_security (connection);
> if (!s_wsec) {
> s_wsec = (NMSettingWirelessSecurity *) nm_setting_wireless_security_new ();
> nm_connection_add_setting (connection, NM_SETTING (s_wsec));
> @@ -205,7 +205,7 @@ fill_8021x (NMConnection *connection, const KeyData items[])
> {
> NMSetting8021x *s_8021x;
>
> - s_8021x = (NMSetting8021x *) nm_connection_get_setting (connection, NM_TYPE_SETTING_802_1X);
> + s_8021x = nm_connection_get_setting_802_1x (connection);
> if (!s_8021x) {
> s_8021x = (NMSetting8021x *) nm_setting_802_1x_new ();
> nm_connection_add_setting (connection, NM_SETTING (s_8021x));
> diff --git a/src/vpn-manager/nm-vpn-connection.c b/src/vpn-manager/nm-vpn-connection.c
> index 4f1e0ab..17e28bb 100644
> --- a/src/vpn-manager/nm-vpn-connection.c
> +++ b/src/vpn-manager/nm-vpn-connection.c
> @@ -259,10 +259,10 @@ static const char *
> nm_vpn_connection_get_service (NMVPNConnection *connection)
> {
> NMVPNConnectionPrivate *priv = NM_VPN_CONNECTION_GET_PRIVATE (connection);
> - NMSettingVPN *setting;
> + NMSettingVPN *s_vpn;
>
> - setting = (NMSettingVPN *) nm_connection_get_setting (priv->connection, NM_TYPE_SETTING_VPN);
> - return nm_setting_vpn_get_service_type (setting);
> + s_vpn = nm_connection_get_setting_vpn (priv->connection);
> + return nm_setting_vpn_get_service_type (s_vpn);
> }
>
> static void
> @@ -536,7 +536,7 @@ nm_vpn_connection_ip4_config_get (DBusGProxy *proxy,
> print_vpn_config (config, priv->ip4_internal_gw, priv->ip_iface, priv->banner);
>
> /* Merge in user overrides from the NMConnection's IPv4 setting */
> - s_ip4 = NM_SETTING_IP4_CONFIG (nm_connection_get_setting (priv->connection, NM_TYPE_SETTING_IP4_CONFIG));
> + s_ip4 = nm_connection_get_setting_ip4_config (priv->connection);
> nm_utils_merge_ip4_config (config, s_ip4);
>
> nm_system_iface_set_up (priv->ip_ifindex, TRUE, NULL);
> @@ -623,22 +623,22 @@ static GHashTable *
> _hash_with_username (NMConnection *connection, const char *username)
> {
> NMConnection *dup;
> - NMSetting *s_vpn;
> + NMSettingVPN *s_vpn;
> GHashTable *hash;
> const char *existing;
>
> /* Shortcut if we weren't given a username or if there already was one in
> * the VPN setting; don't bother duplicating the connection and everything.
> */
> - s_vpn = nm_connection_get_setting (connection, NM_TYPE_SETTING_VPN);
> + s_vpn = nm_connection_get_setting_vpn (connection);
> g_assert (s_vpn);
> - existing = nm_setting_vpn_get_user_name (NM_SETTING_VPN (s_vpn));
> + existing = nm_setting_vpn_get_user_name (s_vpn);
> if (username == NULL || existing)
> return nm_connection_to_hash (connection, NM_SETTING_HASH_FLAG_ALL);
>
> dup = nm_connection_duplicate (connection);
> g_assert (dup);
> - s_vpn = nm_connection_get_setting (dup, NM_TYPE_SETTING_VPN);
> + s_vpn = nm_connection_get_setting_vpn (dup);
> g_assert (s_vpn);
> g_object_set (s_vpn, NM_SETTING_VPN_USER_NAME, username, NULL);
> hash = nm_connection_to_hash (dup, NM_SETTING_HASH_FLAG_ALL);
> @@ -725,14 +725,14 @@ const char *
> nm_vpn_connection_get_name (NMVPNConnection *connection)
> {
> NMVPNConnectionPrivate *priv;
> - NMSettingConnection *setting;
> + NMSettingConnection *s_con;
>
> g_return_val_if_fail (NM_IS_VPN_CONNECTION (connection), NULL);
>
> priv = NM_VPN_CONNECTION_GET_PRIVATE (connection);
> - setting = (NMSettingConnection *) nm_connection_get_setting (priv->connection, NM_TYPE_SETTING_CONNECTION);
> + s_con = nm_connection_get_setting_connection (priv->connection);
>
> - return nm_setting_connection_get_id (setting);
> + return nm_setting_connection_get_id (s_con);
> }
>
> NMConnection *
> diff --git a/src/vpn-manager/nm-vpn-manager.c b/src/vpn-manager/nm-vpn-manager.c
> index 41e96c0..c359a39 100644
> --- a/src/vpn-manager/nm-vpn-manager.c
> +++ b/src/vpn-manager/nm-vpn-manager.c
> @@ -185,7 +185,7 @@ nm_vpn_manager_activate_connection (NMVPNManager *manager,
> return NULL;
> }
>
> - vpn_setting = (NMSettingVPN *) nm_connection_get_setting (connection, NM_TYPE_SETTING_VPN);
> + vpn_setting = nm_connection_get_setting_vpn (connection);
> if (!vpn_setting) {
> g_set_error (error,
> NM_VPN_MANAGER_ERROR, NM_VPN_MANAGER_ERROR_CONNECTION_INVALID,
> diff --git a/src/wimax/nm-wimax-nsp.c b/src/wimax/nm-wimax-nsp.c
> index b10cee3..491cb5d 100644
> --- a/src/wimax/nm-wimax-nsp.c
> +++ b/src/wimax/nm-wimax-nsp.c
> @@ -118,7 +118,7 @@ nm_wimax_nsp_check_compatible (NMWimaxNsp *self,
>
> priv = GET_PRIVATE (self);
>
> - s_wimax = NM_SETTING_WIMAX (nm_connection_get_setting (connection, NM_TYPE_SETTING_WIMAX));
> + s_wimax = nm_connection_get_setting_wimax (connection);
> if (!s_wimax)
> return FALSE;
>
> diff --git a/test/nm-tool.c b/test/nm-tool.c
> index 9ce44f8..d8c75ce 100644
> --- a/test/nm-tool.c
> +++ b/test/nm-tool.c
> @@ -627,7 +627,7 @@ detail_vpn (gpointer data, gpointer user_data)
> connection = get_connection_for_active (active);
> g_return_if_fail (connection != NULL);
>
> - s_con = (NMSettingConnection *) nm_connection_get_setting (connection, NM_TYPE_SETTING_CONNECTION);
> + s_con = nm_connection_get_setting_connection (connection);
> g_return_if_fail (s_con != NULL);
>
> print_header ("VPN", NULL, nm_setting_connection_get_id (s_con));
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]