NetworkManager/shared/nm-test-libnm-utils.h
Thomas Haller b53c50e778
shared: move "nm-test-utils.h" to "src/libnm-glib-aux/"
"nm-test-utils.h" is a header-only, helper library for our unit tests.
It was somewhat unmotivated in "shared/nm-utils", because all tests use
it, but it was not part of a "module".

Move it to "src/libnm-glib-aux/". It fits there very well. They both
have (only) a dependency on glib.
2021-02-24 12:48:33 +01:00

90 lines
3.8 KiB
C

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