1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
|
/* 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_unused nmtstc_auto_service_cleanup NMTstcServiceInfo *sinfo = ({ \
NMTstcServiceInfo *_sinfo; \
\
_sinfo = nmtstc_service_init(); \
if (!nmtstc_service_available(_sinfo)) \
return; \
_sinfo; \
})
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__ */
|