typedef dbus_bool_t (* BusConnectionForeachFunction) (DBusConnection *connection,
void *data);
+DBusLoop* bus_connection_get_loop (DBusConnection *connection);
BusConnections* bus_connections_new (BusContext *context);
BusConnections* bus_connections_ref (BusConnections *connections);
void bus_connection_send_oom_error (DBusConnection *connection,
DBusMessage *in_reply_to);
+dbus_bool_t bus_connection_has_deferred_messages (DBusConnection *connection);
+dbus_bool_t bus_connection_queue_deferred_message (DBusConnection *connection,
+ BusDeferredMessage *message,
+ dbus_bool_t prepend);
+BusDeferredMessage *bus_connection_pop_deferred_message (DBusConnection *connection);
+dbus_bool_t bus_connection_putback_deferred_message (DBusConnection *connection,
+ BusDeferredMessage *message);
+void bus_connection_remove_deferred_message (DBusConnection *connection,
+ BusDeferredMessage *message);
+void bus_connection_dispatch_deferred (DBusConnection *connection);
+void bus_connection_clear_deferred_messages (DBusConnection *connection);
+
+/* called by policy.c */
+dbus_bool_t bus_connection_is_service_owner_by_prefix (DBusConnection *connection,
+ const char *name_prefix);
+const DBusList *bus_connection_get_owned_services_list (DBusConnection *connection);
+
/* called by signals.c */
dbus_bool_t bus_connection_add_match_rule (DBusConnection *connection,
BusMatchRule *rule);
BusTransaction *transaction,
DBusList **rules,
DBusError *error);
+#ifdef DBUS_ENABLE_CYNARA
+const char *bus_connection_get_cynara_session_id (DBusConnection *connection);
+#endif
/* transaction API so we can send or not send a block of messages as a whole */
BusContext* bus_transaction_get_context (BusTransaction *transaction);
dbus_bool_t bus_transaction_send (BusTransaction *transaction,
DBusConnection *connection,
- DBusMessage *message);
+ DBusMessage *message,
+ dbus_bool_t deferred_dispatch);
dbus_bool_t bus_transaction_capture (BusTransaction *transaction,
DBusConnection *connection,
DBusConnection *addressed_recipient,
DBusMessage *in_reply_to);
void bus_transaction_cancel_and_free (BusTransaction *transaction);
void bus_transaction_execute_and_free (BusTransaction *transaction);
+DBusList * bus_transaction_copy_connections (BusTransaction *transaction);
dbus_bool_t bus_transaction_add_cancel_hook (BusTransaction *transaction,
BusTransactionCancelFunction cancel_function,
void *data,
int bus_connection_get_peak_match_rules (DBusConnection *connection);
int bus_connection_get_peak_bus_names (DBusConnection *connection);
+int bus_connection_get_n_pending_replies (DBusConnection *connection);
+int bus_connection_get_peak_pending_replies (DBusConnection *connection);
+
#endif /* BUS_CONNECTION_H */