From 5c53fb2a36024c66b3aaa6d26e93a802393664b2 Mon Sep 17 00:00:00 2001 From: Havoc Pennington Date: Sun, 16 Mar 2003 08:31:00 +0000 Subject: 2003-03-16 Havoc Pennington * dbus/dbus-connection.c (_dbus_connection_queue_received_message_link): new function that can't fail due to OOM * dbus/dbus-message.c (_dbus_message_loader_pop_message_link): new function pops a message together with a list link containing it. * dbus/dbus-transport-unix.c (queue_messages): use new link-based message queuing functions to avoid needing to alloc memory --- dbus/dbus-connection-internal.h | 91 +++++++++++++++++++---------------------- 1 file changed, 42 insertions(+), 49 deletions(-) (limited to 'dbus/dbus-connection-internal.h') diff --git a/dbus/dbus-connection-internal.h b/dbus/dbus-connection-internal.h index 4d3ed130..f2714798 100644 --- a/dbus/dbus-connection-internal.h +++ b/dbus/dbus-connection-internal.h @@ -28,6 +28,7 @@ #include #include #include +#include DBUS_BEGIN_DECLS; @@ -37,56 +38,48 @@ typedef enum DBUS_ITERATION_DO_READING = 1 << 1, /**< Read messages in. */ DBUS_ITERATION_BLOCK = 1 << 2 /**< Block if nothing to do. */ } DBusIterationFlags; +void _dbus_connection_lock (DBusConnection *connection); +void _dbus_connection_unlock (DBusConnection *connection); +void _dbus_connection_ref_unlocked (DBusConnection *connection); +dbus_bool_t _dbus_connection_queue_received_message (DBusConnection *connection, + DBusMessage *message); +void _dbus_connection_queue_received_message_link (DBusConnection *connection, + DBusList *link); +dbus_bool_t _dbus_connection_have_messages_to_send (DBusConnection *connection); +DBusMessage* _dbus_connection_get_message_to_send (DBusConnection *connection); +void _dbus_connection_message_sent (DBusConnection *connection, + DBusMessage *message); +dbus_bool_t _dbus_connection_add_watch (DBusConnection *connection, + DBusWatch *watch); +void _dbus_connection_remove_watch (DBusConnection *connection, + DBusWatch *watch); +void _dbus_connection_toggle_watch (DBusConnection *connection, + DBusWatch *watch, + dbus_bool_t enabled); +dbus_bool_t _dbus_connection_add_timeout (DBusConnection *connection, + DBusTimeout *timeout); +void _dbus_connection_remove_timeout (DBusConnection *connection, + DBusTimeout *timeout); +void _dbus_connection_toggle_timeout (DBusConnection *connection, + DBusTimeout *timeout, + dbus_bool_t enabled); +DBusConnection* _dbus_connection_new_for_transport (DBusTransport *transport); +void _dbus_connection_do_iteration (DBusConnection *connection, + unsigned int flags, + int timeout_milliseconds); +void _dbus_connection_notify_disconnected (DBusConnection *connection); +void _dbus_connection_handler_destroyed_locked (DBusConnection *connection, + DBusMessageHandler *handler); +void _dbus_connection_set_connection_counter (DBusConnection *connection, + DBusCounter *counter); +dbus_bool_t _dbus_message_handler_add_connection (DBusMessageHandler *handler, + DBusConnection *connection); +void _dbus_message_handler_remove_connection (DBusMessageHandler *handler, + DBusConnection *connection); +DBusHandlerResult _dbus_message_handler_handle_message (DBusMessageHandler *handler, + DBusConnection *connection, + DBusMessage *message); -void _dbus_connection_lock (DBusConnection *connection); -void _dbus_connection_unlock (DBusConnection *connection); - -void _dbus_connection_ref_unlocked (DBusConnection *connection); - -dbus_bool_t _dbus_connection_queue_received_message (DBusConnection *connection, - DBusMessage *message); -dbus_bool_t _dbus_connection_have_messages_to_send (DBusConnection *connection); - -DBusMessage* _dbus_connection_get_message_to_send (DBusConnection *connection); -void _dbus_connection_message_sent (DBusConnection *connection, - DBusMessage *message); - -dbus_bool_t _dbus_connection_add_watch (DBusConnection *connection, - DBusWatch *watch); -void _dbus_connection_remove_watch (DBusConnection *connection, - DBusWatch *watch); -void _dbus_connection_toggle_watch (DBusConnection *connection, - DBusWatch *watch, - dbus_bool_t enabled); -dbus_bool_t _dbus_connection_add_timeout (DBusConnection *connection, - DBusTimeout *timeout); -void _dbus_connection_remove_timeout (DBusConnection *connection, - DBusTimeout *timeout); -void _dbus_connection_toggle_timeout (DBusConnection *connection, - DBusTimeout *timeout, - dbus_bool_t enabled); -DBusConnection* _dbus_connection_new_for_transport (DBusTransport *transport); - -void _dbus_connection_do_iteration (DBusConnection *connection, - unsigned int flags, - int timeout_milliseconds); - -void _dbus_connection_notify_disconnected (DBusConnection *connection); - -void _dbus_connection_handler_destroyed_locked (DBusConnection *connection, - DBusMessageHandler *handler); - - -void _dbus_connection_set_connection_counter (DBusConnection *connection, - DBusCounter *counter); - -dbus_bool_t _dbus_message_handler_add_connection (DBusMessageHandler *handler, - DBusConnection *connection); -void _dbus_message_handler_remove_connection (DBusMessageHandler *handler, - DBusConnection *connection); -DBusHandlerResult _dbus_message_handler_handle_message (DBusMessageHandler *handler, - DBusConnection *connection, - DBusMessage *message); -- cgit