Blame src/libnm-client-test/nm-test-libnm-utils.h

Packit Service dff8e4
/* SPDX-License-Identifier: LGPL-2.1-or-later */
Packit Service dff8e4
/*
Packit Service dff8e4
 * Copyright (C) 2014 - 2015 Red Hat, Inc.
Packit Service dff8e4
 */
Packit Service dff8e4
Packit Service dff8e4
#ifndef __NM_TEST_LIBNM_UTILS_H__
Packit Service dff8e4
#define __NM_TEST_LIBNM_UTILS_H__
Packit Service dff8e4
Packit Service dff8e4
#include "NetworkManager.h"
Packit Service dff8e4
Packit Service dff8e4
#include "libnm-glib-aux/nm-test-utils.h"
Packit Service dff8e4
Packit Service dff8e4
typedef struct {
Packit Service dff8e4
    GDBusConnection *bus;
Packit Service dff8e4
    GDBusProxy *     proxy;
Packit Service dff8e4
    GPid             pid;
Packit Service dff8e4
    int              keepalive_fd;
Packit Service dff8e4
} NMTstcServiceInfo;
Packit Service dff8e4
Packit Service dff8e4
NMTstcServiceInfo *nmtstc_service_init(void);
Packit Service dff8e4
void               nmtstc_service_cleanup(NMTstcServiceInfo *info);
Packit Service dff8e4
NMTstcServiceInfo *nmtstc_service_available(NMTstcServiceInfo *info);
Packit Service dff8e4
Packit Service dff8e4
static inline void
Packit Service dff8e4
_nmtstc_auto_service_cleanup(NMTstcServiceInfo **info)
Packit Service dff8e4
{
Packit Service dff8e4
    nmtstc_service_cleanup(g_steal_pointer(info));
Packit Service dff8e4
}
Packit Service dff8e4
#define nmtstc_auto_service_cleanup nm_auto(_nmtstc_auto_service_cleanup)
Packit Service dff8e4
Packit Service dff8e4
#define NMTSTC_SERVICE_INFO_SETUP(sinfo)                      \
Packit Service dff8e4
    NM_PRAGMA_WARNING_DISABLE("-Wunused-variable")            \
Packit Service dff8e4
    nmtstc_auto_service_cleanup NMTstcServiceInfo *sinfo = ({ \
Packit Service dff8e4
        NMTstcServiceInfo *_sinfo;                            \
Packit Service dff8e4
                                                              \
Packit Service dff8e4
        _sinfo = nmtstc_service_init();                       \
Packit Service dff8e4
        if (!nmtstc_service_available(_sinfo))                \
Packit Service dff8e4
            return;                                           \
Packit Service dff8e4
        _sinfo;                                               \
Packit Service dff8e4
    });                                                       \
Packit Service dff8e4
    NM_PRAGMA_WARNING_REENABLE
Packit Service dff8e4
Packit Service dff8e4
NMDevice *nmtstc_service_add_device(NMTstcServiceInfo *info,
Packit Service dff8e4
                                    NMClient *         client,
Packit Service dff8e4
                                    const char *       method,
Packit Service dff8e4
                                    const char *       ifname);
Packit Service dff8e4
Packit Service dff8e4
NMDevice *nmtstc_service_add_wired_device(NMTstcServiceInfo *sinfo,
Packit Service dff8e4
                                          NMClient *         client,
Packit Service dff8e4
                                          const char *       ifname,
Packit Service dff8e4
                                          const char *       hwaddr,
Packit Service dff8e4
                                          const char **      subchannels);
Packit Service dff8e4
Packit Service dff8e4
void nmtstc_service_add_connection(NMTstcServiceInfo *sinfo,
Packit Service dff8e4
                                   NMConnection *     connection,
Packit Service dff8e4
                                   gboolean           verify_connection,
Packit Service dff8e4
                                   char **            out_path);
Packit Service dff8e4
Packit Service dff8e4
void nmtstc_service_add_connection_variant(NMTstcServiceInfo *sinfo,
Packit Service dff8e4
                                           GVariant *         connection,
Packit Service dff8e4
                                           gboolean           verify_connection,
Packit Service dff8e4
                                           char **            out_path);
Packit Service dff8e4
Packit Service dff8e4
void nmtstc_service_update_connection(NMTstcServiceInfo *sinfo,
Packit Service dff8e4
                                      const char *       path,
Packit Service dff8e4
                                      NMConnection *     connection,
Packit Service dff8e4
                                      gboolean           verify_connection);
Packit Service dff8e4
Packit Service dff8e4
void nmtstc_service_update_connection_variant(NMTstcServiceInfo *sinfo,
Packit Service dff8e4
                                              const char *       path,
Packit Service dff8e4
                                              GVariant *         connection,
Packit Service dff8e4
                                              gboolean           verify_connection);
Packit Service dff8e4
Packit Service dff8e4
gpointer nmtstc_context_object_new_valist(GType       gtype,
Packit Service dff8e4
                                          gboolean    allow_iterate_main_context,
Packit Service dff8e4
                                          const char *first_property_name,
Packit Service dff8e4
                                          va_list     var_args);
Packit Service dff8e4
Packit Service dff8e4
gpointer nmtstc_context_object_new(GType       gtype,
Packit Service dff8e4
                                   gboolean    allow_iterate_main_context,
Packit Service dff8e4
                                   const char *first_property_name,
Packit Service dff8e4
                                   ...);
Packit Service dff8e4
Packit Service dff8e4
static inline NMClient *
Packit Service dff8e4
nmtstc_client_new(gboolean allow_iterate_main_context)
Packit Service dff8e4
{
Packit Service dff8e4
    return nmtstc_context_object_new(NM_TYPE_CLIENT, allow_iterate_main_context, NULL);
Packit Service dff8e4
}
Packit Service dff8e4
Packit Service dff8e4
#endif /* __NM_TEST_LIBNM_UTILS_H__ */