1 /* -*- mode: C; c-file-style: "gnu" -*- */
2 /* dbus-server.h DBusServer object
4 * Copyright (C) 2002, 2003 Red Hat Inc.
6 * Licensed under the Academic Free License version 2.1
8 * This program is free software; you can redistribute it and/or modify
9 * it under the terms of the GNU General Public License as published by
10 * the Free Software Foundation; either version 2 of the License, or
11 * (at your option) any later version.
13 * This program is distributed in the hope that it will be useful,
14 * but WITHOUT ANY WARRANTY; without even the implied warranty of
15 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16 * GNU General Public License for more details.
18 * You should have received a copy of the GNU General Public License
19 * along with this program; if not, write to the Free Software
20 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
23 #if !defined (DBUS_INSIDE_DBUS_H) && !defined (DBUS_COMPILATION)
24 #error "Only <dbus/dbus.h> can be included directly, this file may disappear or change contents."
30 #include <dbus/dbus-errors.h>
31 #include <dbus/dbus-message.h>
32 #include <dbus/dbus-connection.h>
33 #include <dbus/dbus-protocol.h>
37 typedef struct DBusServer DBusServer
;
39 typedef void (* DBusNewConnectionFunction
) (DBusServer
*server
,
40 DBusConnection
*new_connection
,
43 DBusServer
* dbus_server_listen (const char *address
,
45 DBusServer
* dbus_server_ref (DBusServer
*server
);
46 void dbus_server_unref (DBusServer
*server
);
47 void dbus_server_disconnect (DBusServer
*server
);
48 dbus_bool_t
dbus_server_get_is_connected (DBusServer
*server
);
49 char* dbus_server_get_address (DBusServer
*server
);
50 void dbus_server_set_new_connection_function (DBusServer
*server
,
51 DBusNewConnectionFunction function
,
53 DBusFreeFunction free_data_function
);
54 dbus_bool_t
dbus_server_set_watch_functions (DBusServer
*server
,
55 DBusAddWatchFunction add_function
,
56 DBusRemoveWatchFunction remove_function
,
57 DBusWatchToggledFunction toggled_function
,
59 DBusFreeFunction free_data_function
);
60 dbus_bool_t
dbus_server_set_timeout_functions (DBusServer
*server
,
61 DBusAddTimeoutFunction add_function
,
62 DBusRemoveTimeoutFunction remove_function
,
63 DBusTimeoutToggledFunction toggled_function
,
65 DBusFreeFunction free_data_function
);
66 dbus_bool_t
dbus_server_set_auth_mechanisms (DBusServer
*server
,
67 const char **mechanisms
);
69 dbus_bool_t
dbus_server_allocate_data_slot (dbus_int32_t
*slot_p
);
70 void dbus_server_free_data_slot (dbus_int32_t
*slot_p
);
71 dbus_bool_t
dbus_server_set_data (DBusServer
*server
,
74 DBusFreeFunction free_data_func
);
75 void* dbus_server_get_data (DBusServer
*server
,
80 #endif /* DBUS_SERVER_H */