libnm-glib: add nm_client_get_logging() function

to get current logging level and domains.
This commit is contained in:
Jiří Klimeš 2012-12-12 15:41:40 +01:00
parent 2952c09902
commit 4ce355022c
3 changed files with 43 additions and 1 deletions

View file

@ -36,6 +36,7 @@ global:
nm_client_get_device_by_iface;
nm_client_get_device_by_path;
nm_client_get_devices;
nm_client_get_logging;
nm_client_get_manager_running;
nm_client_get_permission_result;
nm_client_get_state;

View file

@ -1045,6 +1045,45 @@ nm_client_get_permission_result (NMClient *client, NMClientPermission permission
return GPOINTER_TO_UINT (result);
}
/**
* nm_client_get_logging:
* @client: a #NMClient
* @level: (allow-none): return location for logging level string
* @domains: (allow-none): return location for log domains string. The string is
* a list of domains separated by ","
* @error: (allow-none): return location for a #GError, or %NULL
*
* Gets NetworkManager current logging level and domains.
*
* Returns: %TRUE on success, %FALSE otherwise
**/
gboolean
nm_client_get_logging (NMClient *client, char **level, char **domains, GError **error)
{
GError *err = NULL;
g_return_val_if_fail (NM_IS_CLIENT (client), FALSE);
g_return_val_if_fail (level == NULL || *level == NULL, FALSE);
g_return_val_if_fail (domains == NULL || *domains == NULL, FALSE);
g_return_val_if_fail (error == NULL || *error == NULL, FALSE);
if (!level && !domains)
return TRUE;
if (!dbus_g_proxy_call (NM_CLIENT_GET_PRIVATE (client)->client_proxy, "GetLogging", &err,
G_TYPE_INVALID,
G_TYPE_STRING, level,
G_TYPE_STRING, domains,
G_TYPE_INVALID)) {
if (error)
*error = g_error_copy (err);
g_error_free (err);
return FALSE;
}
return TRUE;
}
/****************************************************************/
static void

View file

@ -18,7 +18,7 @@
* Boston, MA 02110-1301 USA.
*
* Copyright (C) 2007 - 2008 Novell, Inc.
* Copyright (C) 2007 - 2011 Red Hat, Inc.
* Copyright (C) 2007 - 2012 Red Hat, Inc.
*/
#ifndef NM_CLIENT_H
@ -209,6 +209,8 @@ void nm_client_sleep (NMClient *client, gboolean sleep_);
NMClientPermissionResult nm_client_get_permission_result (NMClient *client,
NMClientPermission permission);
gboolean nm_client_get_logging (NMClient *client, char **level, char **domain, GError **error);
G_END_DECLS
#endif /* NM_CLIENT_H */