mirror of
https://gitlab.freedesktop.org/NetworkManager/NetworkManager
synced 2024-07-21 18:24:49 +00:00
libnm: return errors in nm_client_networking_set_enabled()
and do not print an error in the library. The caller can decide what to do on an error.
This commit is contained in:
parent
8919a8572a
commit
7e67fd2b24
|
@ -777,7 +777,7 @@ do_networking (NmCli *nmc, int argc, char **argv)
|
||||||
}
|
}
|
||||||
|
|
||||||
nmc->get_client (nmc); /* create NMClient */
|
nmc->get_client (nmc); /* create NMClient */
|
||||||
nm_client_networking_set_enabled (nmc->client, enable_flag);
|
nm_client_networking_set_enabled (nmc->client, enable_flag, NULL);
|
||||||
} else {
|
} else {
|
||||||
usage_networking ();
|
usage_networking ();
|
||||||
g_string_printf (nmc->return_text, _("Error: 'networking' command '%s' is not valid."), *argv);
|
g_string_printf (nmc->return_text, _("Error: 'networking' command '%s' is not valid."), *argv);
|
||||||
|
|
|
@ -16,7 +16,7 @@
|
||||||
* Boston, MA 02110-1301 USA.
|
* Boston, MA 02110-1301 USA.
|
||||||
*
|
*
|
||||||
* Copyright 2007 - 2008 Novell, Inc.
|
* Copyright 2007 - 2008 Novell, Inc.
|
||||||
* Copyright 2007 - 2013 Red Hat, Inc.
|
* Copyright 2007 - 2014 Red Hat, Inc.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include <string.h>
|
#include <string.h>
|
||||||
|
@ -1214,27 +1214,30 @@ nm_client_networking_get_enabled (NMClient *client)
|
||||||
* nm_client_networking_set_enabled:
|
* nm_client_networking_set_enabled:
|
||||||
* @client: a #NMClient
|
* @client: a #NMClient
|
||||||
* @enabled: %TRUE to set networking enabled, %FALSE to set networking disabled
|
* @enabled: %TRUE to set networking enabled, %FALSE to set networking disabled
|
||||||
|
* @error: (allow-none): return location for a #GError, or %NULL
|
||||||
*
|
*
|
||||||
* Enables or disables networking. When networking is disabled, all controlled
|
* Enables or disables networking. When networking is disabled, all controlled
|
||||||
* interfaces are disconnected and deactivated. When networking is enabled,
|
* interfaces are disconnected and deactivated. When networking is enabled,
|
||||||
* all controlled interfaces are available for activation.
|
* all controlled interfaces are available for activation.
|
||||||
|
*
|
||||||
|
* Returns: %TRUE on success, %FALSE otherwise
|
||||||
**/
|
**/
|
||||||
void
|
gboolean
|
||||||
nm_client_networking_set_enabled (NMClient *client, gboolean enable)
|
nm_client_networking_set_enabled (NMClient *client, gboolean enable, GError **error)
|
||||||
{
|
{
|
||||||
GError *err = NULL;
|
g_return_val_if_fail (NM_IS_CLIENT (client), FALSE);
|
||||||
|
|
||||||
g_return_if_fail (NM_IS_CLIENT (client));
|
if (!nm_client_get_nm_running (client)) {
|
||||||
|
g_set_error_literal (error,
|
||||||
if (!nm_client_get_nm_running (client))
|
NM_CLIENT_ERROR,
|
||||||
return;
|
NM_CLIENT_ERROR_MANAGER_NOT_RUNNING,
|
||||||
|
"NetworkManager is not running");
|
||||||
if (!nmdbus_manager_call_enable_sync (NM_CLIENT_GET_PRIVATE (client)->manager_proxy,
|
return FALSE;
|
||||||
enable,
|
|
||||||
NULL, &err)) {
|
|
||||||
g_warning ("Error enabling/disabling networking: %s", err->message);
|
|
||||||
g_error_free (err);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
return nmdbus_manager_call_enable_sync (NM_CLIENT_GET_PRIVATE (client)->manager_proxy,
|
||||||
|
enable,
|
||||||
|
NULL, error);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -1969,7 +1972,7 @@ set_property (GObject *object, guint prop_id,
|
||||||
case PROP_NETWORKING_ENABLED:
|
case PROP_NETWORKING_ENABLED:
|
||||||
b = g_value_get_boolean (value);
|
b = g_value_get_boolean (value);
|
||||||
if (priv->networking_enabled != b) {
|
if (priv->networking_enabled != b) {
|
||||||
nm_client_networking_set_enabled (NM_CLIENT (object), b);
|
nm_client_networking_set_enabled (NM_CLIENT (object), b, NULL);
|
||||||
/* Let the property value flip when we get the change signal from NM */
|
/* Let the property value flip when we get the change signal from NM */
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
|
|
@ -16,7 +16,7 @@
|
||||||
* Boston, MA 02110-1301 USA.
|
* Boston, MA 02110-1301 USA.
|
||||||
*
|
*
|
||||||
* Copyright 2007 - 2008 Novell, Inc.
|
* Copyright 2007 - 2008 Novell, Inc.
|
||||||
* Copyright 2007 - 2012 Red Hat, Inc.
|
* Copyright 2007 - 2014 Red Hat, Inc.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#ifndef __NM_CLIENT_H__
|
#ifndef __NM_CLIENT_H__
|
||||||
|
@ -212,7 +212,9 @@ gboolean nm_client_deactivate_connection_finish (NMClient *client,
|
||||||
GError **error);
|
GError **error);
|
||||||
|
|
||||||
gboolean nm_client_networking_get_enabled (NMClient *client);
|
gboolean nm_client_networking_get_enabled (NMClient *client);
|
||||||
void nm_client_networking_set_enabled (NMClient *client, gboolean enabled);
|
gboolean nm_client_networking_set_enabled (NMClient *client,
|
||||||
|
gboolean enabled,
|
||||||
|
GError **error);
|
||||||
|
|
||||||
gboolean nm_client_wireless_get_enabled (NMClient *client);
|
gboolean nm_client_wireless_get_enabled (NMClient *client);
|
||||||
void nm_client_wireless_set_enabled (NMClient *client, gboolean enabled);
|
void nm_client_wireless_set_enabled (NMClient *client, gboolean enabled);
|
||||||
|
|
|
@ -806,7 +806,7 @@ test_client_nm_running (void)
|
||||||
|
|
||||||
g_assert (!nm_client_networking_get_enabled (client1));
|
g_assert (!nm_client_networking_get_enabled (client1));
|
||||||
/* This will have no effect, but it shouldn't cause any warnings either. */
|
/* This will have no effect, but it shouldn't cause any warnings either. */
|
||||||
nm_client_networking_set_enabled (client1, TRUE);
|
nm_client_networking_set_enabled (client1, TRUE, NULL);
|
||||||
g_assert (!nm_client_networking_get_enabled (client1));
|
g_assert (!nm_client_networking_get_enabled (client1));
|
||||||
|
|
||||||
/* OTOH, this should result in an error */
|
/* OTOH, this should result in an error */
|
||||||
|
|
Loading…
Reference in a new issue