00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023 #if !defined (DBUS_INSIDE_DBUS_H) && !defined (DBUS_COMPILATION)
00024 #error "Only <dbus/dbus.h> can be included directly, this file may disappear or change contents."
00025 #endif
00026
00027 #ifndef DBUS_SERVER_H
00028 #define DBUS_SERVER_H
00029
00030 #include <dbus/dbus-errors.h>
00031 #include <dbus/dbus-message.h>
00032 #include <dbus/dbus-connection.h>
00033 #include <dbus/dbus-protocol.h>
00034
00035 DBUS_BEGIN_DECLS
00036
00042 typedef struct DBusServer DBusServer;
00043
00047 typedef void (* DBusNewConnectionFunction) (DBusServer *server,
00048 DBusConnection *new_connection,
00049 void *data);
00050
00051 DBusServer* dbus_server_listen (const char *address,
00052 DBusError *error);
00053 DBusServer* dbus_server_ref (DBusServer *server);
00054 void dbus_server_unref (DBusServer *server);
00055 void dbus_server_disconnect (DBusServer *server);
00056 dbus_bool_t dbus_server_get_is_connected (DBusServer *server);
00057 char* dbus_server_get_address (DBusServer *server);
00058 void dbus_server_set_new_connection_function (DBusServer *server,
00059 DBusNewConnectionFunction function,
00060 void *data,
00061 DBusFreeFunction free_data_function);
00062 dbus_bool_t dbus_server_set_watch_functions (DBusServer *server,
00063 DBusAddWatchFunction add_function,
00064 DBusRemoveWatchFunction remove_function,
00065 DBusWatchToggledFunction toggled_function,
00066 void *data,
00067 DBusFreeFunction free_data_function);
00068 dbus_bool_t dbus_server_set_timeout_functions (DBusServer *server,
00069 DBusAddTimeoutFunction add_function,
00070 DBusRemoveTimeoutFunction remove_function,
00071 DBusTimeoutToggledFunction toggled_function,
00072 void *data,
00073 DBusFreeFunction free_data_function);
00074 dbus_bool_t dbus_server_set_auth_mechanisms (DBusServer *server,
00075 const char **mechanisms);
00076
00077 dbus_bool_t dbus_server_allocate_data_slot (dbus_int32_t *slot_p);
00078 void dbus_server_free_data_slot (dbus_int32_t *slot_p);
00079 dbus_bool_t dbus_server_set_data (DBusServer *server,
00080 int slot,
00081 void *data,
00082 DBusFreeFunction free_data_func);
00083 void* dbus_server_get_data (DBusServer *server,
00084 int slot);
00085
00088 DBUS_END_DECLS
00089
00090 #endif