From f1e4471551aa74015579bff0b64735cc9b085b74 Mon Sep 17 00:00:00 2001 From: Simo Sorce Date: Wed, 5 Aug 2009 05:44:20 -0400 Subject: merge server and connection structures This reduce code duplication as it allows to use one set of watch and timeout functions, and at the same time also allow not to use a secondary structure just to unify these functions. --- server/sbus/sssd_dbus_private.h | 36 +++++++++++++++++++++++++++++------- 1 file changed, 29 insertions(+), 7 deletions(-) (limited to 'server/sbus/sssd_dbus_private.h') diff --git a/server/sbus/sssd_dbus_private.h b/server/sbus/sssd_dbus_private.h index fdee121e..01eaf00d 100644 --- a/server/sbus/sssd_dbus_private.h +++ b/server/sbus/sssd_dbus_private.h @@ -1,27 +1,49 @@ #ifndef _SSSD_DBUS_PRIVATE_H_ #define _SSSD_DBUS_PRIVATE_H_ -union dbus_pointer { +union dbus_conn_pointer { DBusServer *server; DBusConnection *conn; }; -enum dbus_pointer_type { +enum dbus_conn_type { SBUS_SERVER, SBUS_CONNECTION }; -struct sbus_generic_dbus_ctx { +struct sbus_connection { struct tevent_context *ev; - enum dbus_pointer_type type; - union dbus_pointer dbus; + + enum dbus_conn_type type; + union dbus_conn_pointer dbus; + + char *address; + int connection_type; + int disconnect; + + sbus_conn_destructor_fn destructor; + void *pvt_data; /* Private data for this connection */ + + /* dbus tables and handlers */ + struct method_holder *method_list; + + /* reconnect settings */ + int retries; + int max_retries; + sbus_conn_reconn_callback_fn reconnect_callback; + /* Private data needed to reinit after reconnection */ + void *reconnect_pvt; + + /* server related stuff */ + struct sbus_method_ctx *server_method; + sbus_server_conn_init_fn srv_init_fn; + void *srv_init_data; }; /* =Watches=============================================================== */ struct sbus_watch_ctx { DBusWatch *dbus_watch; - enum dbus_pointer_type dbus_type; - union dbus_pointer dbus; + struct sbus_connection *conn; struct tevent_fd *fde; }; -- cgit