summary refs log tree commit diff
path: root/libnm/nm-libnm-aux/nm-libnm-aux.c
diff options
context:
space:
mode:
authorMichael Biebl <biebl@debian.org>2021-10-01 23:05:04 +0200
committerMichael Biebl <biebl@debian.org>2021-10-01 23:05:04 +0200
commite74c568b07b50b97873fb4ee1d776dedefbd54d6 (patch)
tree3469f17ea9af91f7ff169b890633bda68b0cf76e /libnm/nm-libnm-aux/nm-libnm-aux.c
parentbfe522304da217296e2a61040f58e35ec5d6f3f2 (diff)
New upstream version 1.32.12 upstream/1.32.12
Diffstat (limited to 'libnm/nm-libnm-aux/nm-libnm-aux.c')
-rw-r--r--libnm/nm-libnm-aux/nm-libnm-aux.c137
1 files changed, 0 insertions, 137 deletions
diff --git a/libnm/nm-libnm-aux/nm-libnm-aux.c b/libnm/nm-libnm-aux/nm-libnm-aux.c
deleted file mode 100644
index 2b8d2c2e..00000000
--- a/libnm/nm-libnm-aux/nm-libnm-aux.c
+++ /dev/null
@@ -1,137 +0,0 @@
-/* SPDX-License-Identifier: LGPL-2.1-or-later */
-
-#include "libnm/nm-default-client.h"
-
-#include "nm-libnm-aux.h"
-
-/*****************************************************************************/
-
-NMClient *
-nmc_client_new_async_valist(GCancellable *      cancellable,
-                            GAsyncReadyCallback callback,
-                            gpointer            user_data,
-                            const char *        first_property_name,
-                            va_list             ap)
-{
-    NMClient *nmc;
-
-    nmc = NM_CLIENT(g_object_new_valist(NM_TYPE_CLIENT, first_property_name, ap));
-    g_async_initable_init_async(G_ASYNC_INITABLE(nmc),
-                                G_PRIORITY_DEFAULT,
-                                cancellable,
-                                callback,
-                                user_data);
-    return nmc;
-}
-
-NMClient *
-nmc_client_new_async(GCancellable *      cancellable,
-                     GAsyncReadyCallback callback,
-                     gpointer            user_data,
-                     const char *        first_property_name,
-                     ...)
-{
-    NMClient *nmc;
-    va_list   ap;
-
-    va_start(ap, first_property_name);
-    nmc = nmc_client_new_async_valist(cancellable, callback, user_data, first_property_name, ap);
-    va_end(ap);
-    return nmc;
-}
-
-/*****************************************************************************/
-
-typedef struct {
-    GMainLoop *main_loop;
-    NMClient * nmc;
-    GError *   error;
-} ClientCreateData;
-
-static void
-_nmc_client_new_waitsync_cb(GObject *source_object, GAsyncResult *result, gpointer user_data)
-{
-    ClientCreateData *data = user_data;
-
-    g_async_initable_init_finish(G_ASYNC_INITABLE(source_object), result, &data->error);
-    g_main_loop_quit(data->main_loop);
-}
-
-/**
- * nmc_client_new:
- * @cancellable: the cancellable to abort the creation.
- * @out_nmc: (out): (transfer full): if give, transfers a reference
- *   to the NMClient instance. Note that this never fails to create
- *   the NMClient GObject, but depending on the return value,
- *   the instance was successfully initialized or not.
- * @error: the error if creation fails.
- * @first_property_name: the name of the first property
- * @...: the value of the first property, followed optionally by more
- *  name/value pairs, followed by %NULL
- *
- * Returns: %TRUE, if the client was successfully initalized.
- *
- * This uses nm_client_new_async() to create a NMClient instance,
- * but it iterates the current GMainContext until the client is
- * ready. As such, it waits for the client creation to complete
- * (like sync nm_client_new()) but it iterates the caller's GMainContext
- * (unlike sync nm_client_new()). This is often preferable, because
- * sync nm_client_new() needs to create an additional internal GMainContext
- * that it can iterate instead. That has a performance overhead that
- * is often unnecessary.
- */
-gboolean
-nmc_client_new_waitsync(GCancellable *cancellable,
-                        NMClient **   out_nmc,
-                        GError **     error,
-                        const char *  first_property_name,
-                        ...)
-{
-    gs_unref_object NMClient *nmc = NULL;
-    nm_auto_unref_gmainloop GMainLoop *main_loop =
-        g_main_loop_new(g_main_context_get_thread_default(), FALSE);
-    ClientCreateData data = {
-        .main_loop = main_loop,
-    };
-    va_list ap;
-
-#if NM_MORE_ASSERTS > 10
-    /* The sync initialization of NMClient is generally a bad idea, because it
-     * brings the overhead of an additional GMainContext. Anyway, since our own
-     * code no longer uses that, we hardly test those code paths. But they should
-     * work just the same. Randomly use instead the sync initialization in a debug
-     * build... */
-    if ((g_random_int() % 2) == 0) {
-        gboolean success;
-
-        va_start(ap, first_property_name);
-        nmc = NM_CLIENT(g_object_new_valist(NM_TYPE_CLIENT, first_property_name, ap));
-        va_end(ap);
-
-        /* iterate the context at least once, just so that the behavior from POV of the
-         * caller is roughly the same. */
-        g_main_context_iteration(nm_client_get_main_context(nmc), FALSE);
-
-        success = g_initable_init(G_INITABLE(nmc), cancellable, error);
-        NM_SET_OUT(out_nmc, g_steal_pointer(&nmc));
-        return success;
-    }
-#endif
-
-    va_start(ap, first_property_name);
-    nmc = nmc_client_new_async_valist(cancellable,
-                                      _nmc_client_new_waitsync_cb,
-                                      &data,
-                                      first_property_name,
-                                      ap);
-    va_end(ap);
-
-    g_main_loop_run(main_loop);
-
-    NM_SET_OUT(out_nmc, g_steal_pointer(&nmc));
-    if (data.error) {
-        g_propagate_error(error, data.error);
-        return FALSE;
-    }
-    return TRUE;
-}