summaryrefslogtreecommitdiffstats
path: root/src/sbus
diff options
context:
space:
mode:
authorPavel Březina <pbrezina@redhat.com>2016-01-15 12:47:10 +0100
committerJakub Hrozek <jhrozek@redhat.com>2016-06-20 14:48:46 +0200
commit397bc52dd09a8c032abc7ea47a6d81dba5957464 (patch)
treedcccfd8e300eea2468f4a5ecb8f57e48393d63c0 /src/sbus
parentcc2d77d5218c188119fa954c856e858cbde76947 (diff)
downloadsssd-397bc52dd09a8c032abc7ea47a6d81dba5957464.tar.gz
sssd-397bc52dd09a8c032abc7ea47a6d81dba5957464.tar.xz
sssd-397bc52dd09a8c032abc7ea47a6d81dba5957464.zip
SBUS: Add sbus_conn_register_iface_map
Reviewed-by: Sumit Bose <sbose@redhat.com> Reviewed-by: Jakub Hrozek <jhrozek@redhat.com> Reviewed-by: Lukáš Slebodník <lslebodn@redhat.com>
Diffstat (limited to 'src/sbus')
-rw-r--r--src/sbus/sssd_dbus.h9
-rw-r--r--src/sbus/sssd_dbus_interface.c18
2 files changed, 27 insertions, 0 deletions
diff --git a/src/sbus/sssd_dbus.h b/src/sbus/sssd_dbus.h
index c1e27746e..2fc8e36d8 100644
--- a/src/sbus/sssd_dbus.h
+++ b/src/sbus/sssd_dbus.h
@@ -181,6 +181,15 @@ int sbus_conn_register_iface(struct sbus_connection *conn,
const char *object_path,
void *handler_data);
+struct sbus_iface_map {
+ const char *path;
+ struct sbus_vtable *vtable;
+};
+
+errno_t sbus_conn_register_iface_map(struct sbus_connection *conn,
+ struct sbus_iface_map *map,
+ void *pvt);
+
void
sbus_conn_register_nodes(struct sbus_connection *conn,
const char *path,
diff --git a/src/sbus/sssd_dbus_interface.c b/src/sbus/sssd_dbus_interface.c
index f8046c7c1..e96e29b79 100644
--- a/src/sbus/sssd_dbus_interface.c
+++ b/src/sbus/sssd_dbus_interface.c
@@ -970,6 +970,24 @@ sbus_conn_register_iface(struct sbus_connection *conn,
return ret;
}
+errno_t
+sbus_conn_register_iface_map(struct sbus_connection *conn,
+ struct sbus_iface_map *map,
+ void *pvt)
+{
+ errno_t ret;
+ int i;
+
+ for (i = 0; map[i].path != NULL; i++) {
+ ret = sbus_conn_register_iface(conn, map[i].vtable, map[i].path, pvt);
+ if (ret != EOK) {
+ return ret;
+ }
+ }
+
+ return EOK;
+}
+
void
sbus_conn_register_nodes(struct sbus_connection *conn,
const char *path,