summaryrefslogtreecommitdiff
path: root/shared
diff options
context:
space:
mode:
authorThomas Haller <thaller@redhat.com>2020-01-21 15:04:57 +0100
committerThomas Haller <thaller@redhat.com>2020-02-10 19:11:50 +0100
commit5528086ec5f2929d25869141b4df7ae23b137faa (patch)
treedb72fd93d635a6f78e408190eea906a11648d970 /shared
parent5ce7ea38ff91ad3f71aa6bbabc08b097c97c0104 (diff)
downloadNetworkManager-5528086ec5f2929d25869141b4df7ae23b137faa.tar.gz
shared: add nm_dbus_connection_call_set() util
Diffstat (limited to 'shared')
-rw-r--r--shared/nm-glib-aux/nm-dbus-aux.c34
-rw-r--r--shared/nm-glib-aux/nm-dbus-aux.h11
2 files changed, 43 insertions, 2 deletions
diff --git a/shared/nm-glib-aux/nm-dbus-aux.c b/shared/nm-glib-aux/nm-dbus-aux.c
index faf54e8bbc..7c55b5a750 100644
--- a/shared/nm-glib-aux/nm-dbus-aux.c
+++ b/shared/nm-glib-aux/nm-dbus-aux.c
@@ -56,7 +56,7 @@ nm_dbus_connection_call_get_name_owner (GDBusConnection *dbus_connection,
/*****************************************************************************/
static void
-_nm_dbus_connection_call_get_all_cb (GObject *source,
+_nm_dbus_connection_call_default_cb (GObject *source,
GAsyncResult *res,
gpointer user_data)
{
@@ -96,10 +96,40 @@ nm_dbus_connection_call_get_all (GDBusConnection *dbus_connection,
G_DBUS_CALL_FLAGS_NONE,
timeout_msec,
cancellable,
- _nm_dbus_connection_call_get_all_cb,
+ _nm_dbus_connection_call_default_cb,
nm_utils_user_data_pack (user_data, callback));
}
+void nm_dbus_connection_call_set (GDBusConnection *dbus_connection,
+ const char *bus_name,
+ const char *object_path,
+ const char *interface_name,
+ const char *property_name,
+ GVariant *value,
+ int timeout_msec,
+ GCancellable *cancellable,
+ NMDBusConnectionCallDefaultCb callback,
+ gpointer user_data)
+{
+ nm_assert (callback);
+
+ g_dbus_connection_call (dbus_connection,
+ bus_name,
+ object_path,
+ DBUS_INTERFACE_PROPERTIES,
+ "Set",
+ g_variant_new ("(ssv)",
+ interface_name,
+ property_name,
+ value),
+ G_VARIANT_TYPE ("()"),
+ G_DBUS_CALL_FLAGS_NONE,
+ timeout_msec,
+ cancellable,
+ callback ? _nm_dbus_connection_call_default_cb : NULL,
+ callback ? nm_utils_user_data_pack (user_data, callback) : NULL);
+}
+
/*****************************************************************************/
static void
diff --git a/shared/nm-glib-aux/nm-dbus-aux.h b/shared/nm-glib-aux/nm-dbus-aux.h
index 8ff14adc88..fcf394d1fe 100644
--- a/shared/nm-glib-aux/nm-dbus-aux.h
+++ b/shared/nm-glib-aux/nm-dbus-aux.h
@@ -128,6 +128,17 @@ void nm_dbus_connection_call_get_all (GDBusConnection *dbus_connection,
NMDBusConnectionCallDefaultCb callback,
gpointer user_data);
+void nm_dbus_connection_call_set (GDBusConnection *dbus_connection,
+ const char *bus_name,
+ const char *object_path,
+ const char *interface_name,
+ const char *property_name,
+ GVariant *value,
+ int timeout_msec,
+ GCancellable *cancellable,
+ NMDBusConnectionCallDefaultCb callback,
+ gpointer user_data);
+
/*****************************************************************************/
static inline guint