Blame shared/nm-test-libnm-utils.h

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