summaryrefslogtreecommitdiff
path: root/libnm-glib/nm-client.c
diff options
context:
space:
mode:
authorJiří Klimeš <jklimes@redhat.com>2012-12-12 15:41:40 +0100
committerJiří Klimeš <jklimes@redhat.com>2013-01-09 16:47:49 +0100
commit4ce355022c341f0c8501cb9263f4e9af5aee1026 (patch)
tree4113a1c8c353402f795d97ec27e0ecb75f318887 /libnm-glib/nm-client.c
parent2952c0990239bf95654a8cfdf0bddda789da9e2b (diff)
downloadNetworkManager-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.c39
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