
These SPDX license identifiers are deprecated ([1]). Update them. [1] https://spdx.org/licenses/ sed \ -e '1 s%^/\* SPDX-License-Identifier: \(GPL-2.0\|LGPL-2.1\)+ \*/$%/* SPDX-License-Identifier: \1-or-later */%' \ -e '1,2 s%^\(--\|#\|//\) SPDX-License-Identifier: \(GPL-2.0\|LGPL-2.1\)+$%\1 SPDX-License-Identifier: \2-or-later%' \ -i \ $(git grep -l SPDX-License-Identifier -- \ ':(exclude)shared/c-*/' \ ':(exclude)shared/n-*/' \ ':(exclude)shared/systemd/src' \ ':(exclude)src/systemd/src')
74 lines
2.1 KiB
C
74 lines
2.1 KiB
C
/* SPDX-License-Identifier: GPL-2.0-or-later */
|
|
/*
|
|
* Copyright (C) 2011, 2014 Red Hat, Inc.
|
|
*/
|
|
|
|
/*
|
|
* The example shows how to list connections from the System Settings service
|
|
* using direct D-Bus calls. The example uses GDBus, plus a few defines from
|
|
* the NetworkManager headers. Contrast list-connections-libnm, which is higher
|
|
* level because it uses libnm.
|
|
*
|
|
* Compile with:
|
|
* gcc -Wall list-connections-gdbus.c -o list-connections-gdbus `pkg-config --cflags --libs libnm`
|
|
*/
|
|
|
|
#include <gio/gio.h>
|
|
|
|
#include <nm-dbus-interface.h>
|
|
|
|
static void
|
|
list_connections(GDBusProxy *proxy)
|
|
{
|
|
int i;
|
|
GError * error = NULL;
|
|
GVariant *ret;
|
|
char ** paths;
|
|
|
|
/* Call ListConnections D-Bus method */
|
|
ret = g_dbus_proxy_call_sync(proxy,
|
|
"ListConnections",
|
|
NULL,
|
|
G_DBUS_CALL_FLAGS_NONE,
|
|
-1,
|
|
NULL,
|
|
&error);
|
|
if (!ret) {
|
|
g_dbus_error_strip_remote_error(error);
|
|
g_print("ListConnections failed: %s\n", error->message);
|
|
g_error_free(error);
|
|
return;
|
|
}
|
|
|
|
g_variant_get(ret, "(^ao)", &paths);
|
|
g_variant_unref(ret);
|
|
|
|
for (i = 0; paths[i]; i++)
|
|
g_print("%s\n", paths[i]);
|
|
g_strfreev(paths);
|
|
}
|
|
|
|
int
|
|
main(int argc, char *argv[])
|
|
{
|
|
GDBusProxy *proxy;
|
|
|
|
/* Create a D-Bus proxy; NM_DBUS_* defined in nm-dbus-interface.h */
|
|
proxy = g_dbus_proxy_new_for_bus_sync(G_BUS_TYPE_SYSTEM,
|
|
G_DBUS_PROXY_FLAGS_NONE,
|
|
NULL,
|
|
NM_DBUS_SERVICE,
|
|
NM_DBUS_PATH_SETTINGS,
|
|
NM_DBUS_INTERFACE_SETTINGS,
|
|
NULL,
|
|
NULL);
|
|
g_assert(proxy != NULL);
|
|
|
|
/* List connections of system settings service */
|
|
list_connections(proxy);
|
|
|
|
g_object_unref(proxy);
|
|
|
|
return 0;
|
|
}
|