/* -*- mode: C; c-file-style: "gnu"; indent-tabs-mode: nil; -*- */ /* dbus-server.h DBusServer object * * Copyright (C) 2002, 2003 Red Hat Inc. * * Licensed under the Academic Free License version 2.1 * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 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, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA * */ #if !defined (DBUS_INSIDE_DBUS_H) && !defined (DBUS_COMPILATION) #error "Only can be included directly, this file may disappear or change contents." #endif #ifndef DBUS_SERVER_H #define DBUS_SERVER_H #include #include #include #include DBUS_BEGIN_DECLS /** * @addtogroup DBusServer * @{ */ typedef struct DBusServer DBusServer; /** Called when a new connection to the server is available. Must reference and save the new * connection, or close the new connection. Set with dbus_server_set_new_connection_function(). */ typedef void (* DBusNewConnectionFunction) (DBusServer *server, DBusConnection *new_connection, void *data); DBUS_EXPORT DBusServer* dbus_server_listen (const char *address, DBusError *error); DBUS_EXPORT DBusServer* dbus_server_ref (DBusServer *server); DBUS_EXPORT void dbus_server_unref (DBusServer *server); DBUS_EXPORT void dbus_server_disconnect (DBusServer *server); DBUS_EXPORT dbus_bool_t dbus_server_get_is_connected (DBusServer *server); DBUS_EXPORT char* dbus_server_get_address (DBusServer *server); DBUS_EXPORT char* dbus_server_get_id (DBusServer *server); DBUS_EXPORT void dbus_server_set_new_connection_function (DBusServer *server, DBusNewConnectionFunction function, void *data, DBusFreeFunction free_data_function); DBUS_EXPORT dbus_bool_t dbus_server_set_watch_functions (DBusServer *server, DBusAddWatchFunction add_function, DBusRemoveWatchFunction remove_function, DBusWatchToggledFunction toggled_function, void *data, DBusFreeFunction free_data_function); DBUS_EXPORT dbus_bool_t dbus_server_set_timeout_functions (DBusServer *server, DBusAddTimeoutFunction add_function, DBusRemoveTimeoutFunction remove_function, DBusTimeoutToggledFunction toggled_function, void *data, DBusFreeFunction free_data_function); DBUS_EXPORT dbus_bool_t dbus_server_set_auth_mechanisms (DBusServer *server, const char **mechanisms); DBUS_EXPORT dbus_bool_t dbus_server_allocate_data_slot (dbus_int32_t *slot_p); DBUS_EXPORT void dbus_server_free_data_slot (dbus_int32_t *slot_p); DBUS_EXPORT dbus_bool_t dbus_server_set_data (DBusServer *server, int slot, void *data, DBusFreeFunction free_data_func); DBUS_EXPORT void* dbus_server_get_data (DBusServer *server, int slot); /** @} */ DBUS_END_DECLS #endif /* DBUS_SERVER_H */