device: inline NMDevice's implementation of can_auto_connect()

Derived classes should not modify or overwrite this essential behavior
of can_auto_connect(). It doesn't belong to the virtual function.

(cherry picked from commit 715aebe08a)
This commit is contained in:
Thomas Haller
2017-11-02 18:37:32 +01:00
parent d8bb62c909
commit 1433682c28
2 changed files with 18 additions and 13 deletions

View File

@@ -4337,15 +4337,8 @@ can_auto_connect (NMDevice *self,
NMConnection *connection, NMConnection *connection,
char **specific_object) char **specific_object)
{ {
NMSettingConnection *s_con;
nm_assert (!specific_object || !*specific_object); nm_assert (!specific_object || !*specific_object);
return TRUE;
s_con = nm_connection_get_setting_connection (connection);
if (!nm_setting_connection_get_autoconnect (s_con))
return FALSE;
return nm_device_check_connection_available (self, connection, NM_DEVICE_CHECK_CON_AVAILABLE_NONE, NULL);
} }
/** /**
@@ -4370,13 +4363,26 @@ nm_device_can_auto_connect (NMDevice *self,
NMConnection *connection, NMConnection *connection,
char **specific_object) char **specific_object)
{ {
NMSettingConnection *s_con;
g_return_val_if_fail (NM_IS_DEVICE (self), FALSE); g_return_val_if_fail (NM_IS_DEVICE (self), FALSE);
g_return_val_if_fail (NM_IS_CONNECTION (connection), FALSE); g_return_val_if_fail (NM_IS_CONNECTION (connection), FALSE);
g_return_val_if_fail (specific_object && !*specific_object, FALSE); g_return_val_if_fail (!specific_object || !*specific_object, FALSE);
if (nm_device_autoconnect_allowed (self)) if (!nm_device_autoconnect_allowed (self))
return NM_DEVICE_GET_CLASS (self)->can_auto_connect (self, connection, specific_object);
return FALSE; return FALSE;
s_con = nm_connection_get_setting_connection (connection);
if (!nm_setting_connection_get_autoconnect (s_con))
return FALSE;
if (!nm_device_check_connection_available (self, connection, NM_DEVICE_CHECK_CON_AVAILABLE_NONE, NULL))
return FALSE;
if (!NM_DEVICE_GET_CLASS (self)->can_auto_connect (self, connection, specific_object))
return FALSE;
return TRUE;
} }
static gboolean static gboolean

View File

@@ -112,7 +112,6 @@ can_auto_connect (NMDevice *device,
char **specific_object) char **specific_object)
{ {
nm_assert (!specific_object || !*specific_object); nm_assert (!specific_object || !*specific_object);
return FALSE; return FALSE;
} }