diff options
author | Jiří Klimeš <jklimes@redhat.com> | 2012-12-12 15:41:40 +0100 |
---|---|---|
committer | Jiří Klimeš <jklimes@redhat.com> | 2013-01-09 16:47:49 +0100 |
commit | 4ce355022c341f0c8501cb9263f4e9af5aee1026 (patch) | |
tree | 4113a1c8c353402f795d97ec27e0ecb75f318887 /libnm-glib/nm-client.c | |
parent | 2952c0990239bf95654a8cfdf0bddda789da9e2b (diff) | |
download | NetworkManager-4ce355022c341f0c8501cb9263f4e9af5aee1026.tar.gz |
libnm-glib: add nm_client_get_logging() function
to get current logging level and domains.
Diffstat (limited to 'libnm-glib/nm-client.c')
-rw-r--r-- | libnm-glib/nm-client.c | 39 |
1 files changed, 39 insertions, 0 deletions
diff --git a/libnm-glib/nm-client.c b/libnm-glib/nm-client.c index 4bd8956218..aa7c08e374 100644 --- a/libnm-glib/nm-client.c +++ b/libnm-glib/nm-client.c @@ -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 |