summaryrefslogtreecommitdiffstats
path: root/server/sbus/sssd_dbus_private.h
diff options
context:
space:
mode:
Diffstat (limited to 'server/sbus/sssd_dbus_private.h')
-rw-r--r--server/sbus/sssd_dbus_private.h39
1 files changed, 37 insertions, 2 deletions
diff --git a/server/sbus/sssd_dbus_private.h b/server/sbus/sssd_dbus_private.h
index bcaee62cd..fdee121e9 100644
--- a/server/sbus/sssd_dbus_private.h
+++ b/server/sbus/sssd_dbus_private.h
@@ -1,8 +1,43 @@
#ifndef _SSSD_DBUS_PRIVATE_H_
#define _SSSD_DBUS_PRIVATE_H_
-struct timeval _dbus_timeout_get_interval_tv(int interval);
+union dbus_pointer {
+ DBusServer *server;
+ DBusConnection *conn;
+};
+enum dbus_pointer_type {
+ SBUS_SERVER,
+ SBUS_CONNECTION
+};
+
+struct sbus_generic_dbus_ctx {
+ struct tevent_context *ev;
+ enum dbus_pointer_type type;
+ union dbus_pointer dbus;
+};
+
+/* =Watches=============================================================== */
+
+struct sbus_watch_ctx {
+ DBusWatch *dbus_watch;
+ enum dbus_pointer_type dbus_type;
+ union dbus_pointer dbus;
+ struct tevent_fd *fde;
+};
+
+dbus_bool_t sbus_add_watch(DBusWatch *watch, void *data);
+void sbus_toggle_watch(DBusWatch *watch, void *data);
void sbus_remove_watch(DBusWatch *watch, void *data);
-void sbus_remove_timeout(DBusTimeout *timeout, void *data);
+
+/* =Timeouts============================================================== */
+
+struct sbus_timeout_ctx {
+ DBusTimeout *dbus_timeout;
+ struct tevent_timer *te;
+};
+
+dbus_bool_t sbus_add_timeout(DBusTimeout *dbus_timeout, void *data);
+void sbus_toggle_timeout(DBusTimeout *dbus_timeout, void *data);
+void sbus_remove_timeout(DBusTimeout *dbus_timeout, void *data);
#endif /* _SSSD_DBUS_PRIVATE_H_ */