diff options
author | Simo Sorce <ssorce@redhat.com> | 2009-08-05 05:44:20 -0400 |
---|---|---|
committer | Stephen Gallagher <sgallagh@redhat.com> | 2009-08-10 09:42:19 -0400 |
commit | f1e4471551aa74015579bff0b64735cc9b085b74 (patch) | |
tree | 45071c03d3f4810e8214a9097c36b21641d9cfc3 /server/sbus/sssd_dbus_private.h | |
parent | 0c7050d8569ce7ee61b13d02b4733249a11e171f (diff) | |
download | sssd-f1e4471551aa74015579bff0b64735cc9b085b74.tar.gz sssd-f1e4471551aa74015579bff0b64735cc9b085b74.tar.xz sssd-f1e4471551aa74015579bff0b64735cc9b085b74.zip |
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.
Diffstat (limited to 'server/sbus/sssd_dbus_private.h')
-rw-r--r-- | server/sbus/sssd_dbus_private.h | 36 |
1 files changed, 29 insertions, 7 deletions
diff --git a/server/sbus/sssd_dbus_private.h b/server/sbus/sssd_dbus_private.h index fdee121e9..01eaf00d3 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; }; |