sssd_dbus_private.h revision 1319e71fd1680ca4864afe0b1aca2b8c8e4a1ee4
/*
Authors:
Simo Sorce <ssorce@redhat.com>
Stephen Gallagher <sgallagh@redhat.com>
Copyright (C) 2009 Red Hat
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 3 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#ifndef _SSSD_DBUS_PRIVATE_H_
#define _SSSD_DBUS_PRIVATE_H_
#include <dhash.h>
#include "sssd_dbus_meta.h"
union dbus_conn_pointer {
};
enum dbus_conn_type {
};
struct sbus_interface_p;
struct sbus_watch_ctx;
struct sbus_connection {
struct tevent_context *ev;
enum dbus_conn_type type;
union dbus_conn_pointer dbus;
char *address;
int connection_type;
int disconnect;
/* dbus tables and handlers */
struct sbus_interface_p *intf_list;
/* reconnect settings */
int retries;
int max_retries;
/* Private data needed to reinit after reconnection */
void *reconnect_pvt;
/* server related stuff */
char *symlink;
void *srv_init_data;
/* watches list */
struct sbus_watch_ctx *watch_list;
};
/* Looks up a vtable func, in a struct derived from struct sbus_vtable */
/* =Watches=============================================================== */
struct sbus_watch_ctx {
struct sbus_connection *conn;
int fd;
};
/* =Timeouts============================================================== */
struct sbus_timeout_ctx {
struct tevent_timer *te;
};
/* =Requests============================================================== */
struct sbus_request *
/* =Interface=introspection=============================================== */
extern const struct sbus_method_meta introspect_method;
struct sbus_introspect_ctx {
const struct sbus_interface_meta *iface;
};
void
void *handler_data,
/* A low-level, private variant of sbus_conn_send that accepts just
* DBusConnection. It should never be used outside sbus code, responders
* and back ends should use sbus_conn_send!
*/
int timeout_ms,
void *pvt,
/* =Retrieve-conn-credentials=============================================== */
struct tevent_context *ev,
struct sbus_connection *conn,
const char *sender);
/* =Properties============================================================ */
#endif /* _SSSD_DBUS_PRIVATE_H_ */