summaryrefslogtreecommitdiff
path: root/src/devices/nm-device-dummy.c
diff options
context:
space:
mode:
authorThomas Haller <thaller@redhat.com>2018-06-27 17:00:55 +0200
committerThomas Haller <thaller@redhat.com>2018-07-24 09:39:09 +0200
commit33a88ca566e87adce9102c3389568dfa0e200c85 (patch)
tree59474d55dc74ba39274a103fc2e8e3780023ceff /src/devices/nm-device-dummy.c
parent570e1fa75b3369eb324afceb32d15f2ba2051df7 (diff)
downloadNetworkManager-33a88ca566e87adce9102c3389568dfa0e200c85.tar.gz
core: give better error reason why device is incompatible with profile
Note the special error codes NM_UTILS_ERROR_CONNECTION_AVAILABLE_*. This will be used to determine, whether the profile is fundamentally incompatible with the device, or whether just some other properties mismatch. That information will be importand during a plain `nmcli connection up`, where NetworkManager searches all devices for a device to activate. If no device is found (and multiple errors happened), we want to show the error that is most likely relevant for the user. Also note, how NMDevice's check_connection_compatible() uses the new class field "device_class->connection_type_check_compatible" to simplify checks for compatible profiles. The error reason is still unused.
Diffstat (limited to 'src/devices/nm-device-dummy.c')
-rw-r--r--src/devices/nm-device-dummy.c17
1 files changed, 1 insertions, 16 deletions
diff --git a/src/devices/nm-device-dummy.c b/src/devices/nm-device-dummy.c
index f5c464b025..a905938369 100644
--- a/src/devices/nm-device-dummy.c
+++ b/src/devices/nm-device-dummy.c
@@ -117,21 +117,6 @@ create_and_realize (NMDevice *device,
return TRUE;
}
-static gboolean
-check_connection_compatible (NMDevice *device, NMConnection *connection)
-{
- NMSettingDummy *s_dummy;
-
- if (!NM_DEVICE_CLASS (nm_device_dummy_parent_class)->check_connection_compatible (device, connection))
- return FALSE;
-
- s_dummy = nm_connection_get_setting_dummy (connection);
- if (!s_dummy)
- return FALSE;
-
- return TRUE;
-}
-
static NMActStageReturn
act_stage1_prepare (NMDevice *device, NMDeviceStateReason *out_failure_reason)
{
@@ -176,10 +161,10 @@ nm_device_dummy_class_init (NMDeviceDummyClass *klass)
dbus_object_class->interface_infos = NM_DBUS_INTERFACE_INFOS (&interface_info_device_dummy);
device_class->connection_type_supported = NM_SETTING_DUMMY_SETTING_NAME;
+ device_class->connection_type_check_compatible = NM_SETTING_DUMMY_SETTING_NAME;
device_class->link_types = NM_DEVICE_DEFINE_LINK_TYPES (NM_LINK_TYPE_DUMMY);
device_class->complete_connection = complete_connection;
- device_class->check_connection_compatible = check_connection_compatible;
device_class->create_and_realize = create_and_realize;
device_class->get_generic_capabilities = get_generic_capabilities;
device_class->update_connection = update_connection;