settings: add and use nm_settings_connection_autoconnect_retries_try_next()

This commit is contained in:
Thomas Haller 2017-10-24 09:18:16 +02:00
parent 361a199a06
commit 18f2d272ba
4 changed files with 16 additions and 10 deletions

View file

@ -667,16 +667,12 @@ handle_auth_or_fail (NMDeviceEthernet *self,
const char *setting_name;
NMConnection *applied_connection;
NMSettingsConnection *settings_connection;
int tries_left;
applied_connection = nm_act_request_get_applied_connection (req);
settings_connection = nm_act_request_get_settings_connection (req);
tries_left = nm_settings_connection_autoconnect_retries_get (settings_connection);
if (tries_left == 0)
if (!nm_settings_connection_autoconnect_retries_try_next (settings_connection))
return NM_ACT_STAGE_RETURN_FAILURE;
if (tries_left > 0)
nm_settings_connection_autoconnect_retries_set (settings_connection, tries_left - 1);
nm_device_state_changed (NM_DEVICE (self), NM_DEVICE_STATE_NEED_AUTH, NM_DEVICE_STATE_REASON_NONE);

View file

@ -478,18 +478,14 @@ handle_auth_or_fail (NMDeviceMacsec *self,
gboolean new_secrets)
{
const char *setting_name;
int tries_left;
NMConnection *applied_connection;
NMSettingsConnection *settings_connection;
applied_connection = nm_act_request_get_applied_connection (req);
settings_connection = nm_act_request_get_settings_connection (req);
tries_left = nm_settings_connection_autoconnect_retries_get (settings_connection);
if (tries_left == 0)
if (!nm_settings_connection_autoconnect_retries_try_next (settings_connection))
return NM_ACT_STAGE_RETURN_FAILURE;
if (tries_left > 0)
nm_settings_connection_autoconnect_retries_set (settings_connection, tries_left - 1);
nm_device_state_changed (NM_DEVICE (self), NM_DEVICE_STATE_NEED_AUTH, NM_DEVICE_STATE_REASON_NONE);

View file

@ -2599,6 +2599,19 @@ nm_settings_connection_autoconnect_retries_reset (NMSettingsConnection *self)
nm_settings_connection_autoconnect_retries_set (self, AUTOCONNECT_RETRIES_UNSET);
}
gboolean
nm_settings_connection_autoconnect_retries_try_next (NMSettingsConnection *self)
{
int tries;
tries = nm_settings_connection_autoconnect_retries_get (self);
if (tries == 0)
return FALSE;
if (tries > 0)
nm_settings_connection_autoconnect_retries_set (self, tries - 1);
return TRUE;
}
gint32
nm_settings_connection_autoconnect_blocked_until_get (NMSettingsConnection *self)
{

View file

@ -217,6 +217,7 @@ int nm_settings_connection_autoconnect_retries_get (NMSettingsConnection *self);
void nm_settings_connection_autoconnect_retries_set (NMSettingsConnection *self,
int retries);
void nm_settings_connection_autoconnect_retries_reset (NMSettingsConnection *self);
gboolean nm_settings_connection_autoconnect_retries_try_next (NMSettingsConnection *self);
gint32 nm_settings_connection_autoconnect_blocked_until_get (NMSettingsConnection *self);