D-Bus 1.15.12
|
Implementation details of DBusConnection. More...
Data Fields | |
DBusAtomic | refcount |
Reference count. | |
DBusRMutex * | mutex |
Lock on the entire DBusConnection. | |
DBusCMutex * | dispatch_mutex |
Protects dispatch_acquired. | |
DBusCondVar * | dispatch_cond |
Notify when dispatch_acquired is available. | |
DBusCMutex * | io_path_mutex |
Protects io_path_acquired. | |
DBusCondVar * | io_path_cond |
Notify when io_path_acquired is available. | |
DBusList * | outgoing_messages |
Queue of messages we need to send, send the end of the list first. | |
DBusList * | incoming_messages |
Queue of messages we have received, end of the list received most recently. | |
DBusList * | expired_messages |
Messages that will be released when we next unlock. | |
DBusMessage * | message_borrowed |
Filled in if the first incoming message has been borrowed; dispatch_acquired will be set by the borrower. | |
int | n_outgoing |
Length of outgoing queue. | |
int | n_incoming |
Length of incoming queue. | |
DBusCounter * | outgoing_counter |
Counts size of outgoing messages. | |
DBusTransport * | transport |
Object that sends/receives messages over network. | |
DBusWatchList * | watches |
Stores active watches. | |
DBusTimeoutList * | timeouts |
Stores active timeouts. | |
DBusList * | filter_list |
List of filters. | |
DBusRMutex * | slot_mutex |
Lock on slot_list so overall connection lock need not be taken. | |
DBusDataSlotList | slot_list |
Data stored by allocated integer ID. | |
DBusHashTable * | pending_replies |
Hash of message serials to DBusPendingCall. | |
dbus_uint32_t | client_serial |
Client serial. | |
DBusList * | disconnect_message_link |
Preallocated list node for queueing the disconnection message. | |
DBusWakeupMainFunction | wakeup_main_function |
Function to wake up the mainloop | |
void * | wakeup_main_data |
Application data for wakeup_main_function. | |
DBusFreeFunction | free_wakeup_main_data |
free wakeup_main_data | |
DBusDispatchStatusFunction | dispatch_status_function |
Function on dispatch status changes | |
void * | dispatch_status_data |
Application data for dispatch_status_function. | |
DBusFreeFunction | free_dispatch_status_data |
free dispatch_status_data | |
DBusDispatchStatus | last_dispatch_status |
The last dispatch status we reported to the application. | |
DBusObjectTree * | objects |
Object path handlers registered with this connection. | |
char * | server_guid |
GUID of server if we are in shared_connections, NULL if server GUID is unknown or connection is private. | |
dbus_bool_t | dispatch_acquired |
Someone has dispatch path (can drain incoming queue) | |
dbus_bool_t | io_path_acquired |
Someone has transport io path (can use the transport to read/write messages) | |
unsigned int | shareable: 1 |
TRUE if libdbus owns a reference to the connection and can return it from dbus_connection_open() more than once | |
unsigned int | exit_on_disconnect: 1 |
If TRUE, exit after handling disconnect signal. | |
unsigned int | builtin_filters_enabled: 1 |
If TRUE, handle org.freedesktop.DBus.Peer messages automatically, whether they have a bus name or not. | |
unsigned int | route_peer_messages: 1 |
If TRUE, if org.freedesktop.DBus.Peer messages have a bus name, don't handle them automatically. | |
unsigned int | disconnected_message_arrived: 1 |
We popped or are dispatching the disconnected message. | |
unsigned int | disconnected_message_processed: 1 |
We did our default handling of the disconnected message, such as closing the connection. | |
unsigned int | have_connection_lock: 1 |
Used to check locking. | |
Implementation details of DBusConnection.
All fields are private.
Definition at line 258 of file dbus-connection.c.
unsigned int DBusConnection::builtin_filters_enabled |
If TRUE, handle org.freedesktop.DBus.Peer messages automatically, whether they have a bus name or not.
Definition at line 321 of file dbus-connection.c.
Referenced by _dbus_connection_new_for_transport(), dbus_connection_dispatch(), and dbus_connection_set_builtin_filters_enabled().
dbus_uint32_t DBusConnection::client_serial |
Client serial.
Increments each time a message is sent
Definition at line 293 of file dbus-connection.c.
Referenced by _dbus_connection_get_next_client_serial(), and _dbus_connection_new_for_transport().
DBusList* DBusConnection::disconnect_message_link |
Preallocated list node for queueing the disconnection message.
Definition at line 294 of file dbus-connection.c.
Referenced by _dbus_connection_block_pending_call(), and _dbus_connection_new_for_transport().
unsigned int DBusConnection::disconnected_message_arrived |
We popped or are dispatching the disconnected message.
if the disconnect_message_link is NULL then we queued it, but this flag is whether it got to the head of the queue.
Definition at line 325 of file dbus-connection.c.
Referenced by _dbus_connection_new_for_transport().
unsigned int DBusConnection::disconnected_message_processed |
We did our default handling of the disconnected message, such as closing the connection.
Definition at line 329 of file dbus-connection.c.
Referenced by _dbus_connection_new_for_transport().
dbus_bool_t DBusConnection::dispatch_acquired |
Someone has dispatch path (can drain incoming queue)
Definition at line 314 of file dbus-connection.c.
Referenced by dbus_connection_return_message(), and dbus_connection_steal_borrowed_message().
DBusCondVar* DBusConnection::dispatch_cond |
Notify when dispatch_acquired is available.
Definition at line 265 of file dbus-connection.c.
Referenced by _dbus_connection_new_for_transport().
DBusCMutex* DBusConnection::dispatch_mutex |
Protects dispatch_acquired.
Definition at line 264 of file dbus-connection.c.
Referenced by _dbus_connection_new_for_transport().
void* DBusConnection::dispatch_status_data |
Application data for dispatch_status_function.
Definition at line 301 of file dbus-connection.c.
Referenced by dbus_connection_set_dispatch_status_function().
DBusDispatchStatusFunction DBusConnection::dispatch_status_function |
Function on dispatch status changes
Definition at line 300 of file dbus-connection.c.
Referenced by dbus_connection_set_dispatch_status_function().
unsigned int DBusConnection::exit_on_disconnect |
If TRUE, exit after handling disconnect signal.
Definition at line 319 of file dbus-connection.c.
Referenced by _dbus_connection_new_for_transport(), and dbus_connection_set_exit_on_disconnect().
DBusList* DBusConnection::expired_messages |
Messages that will be released when we next unlock.
Definition at line 271 of file dbus-connection.c.
Referenced by _dbus_connection_message_sent_unlocked(), _dbus_connection_unlock(), and dbus_connection_dispatch().
DBusList* DBusConnection::filter_list |
List of filters.
Definition at line 286 of file dbus-connection.c.
Referenced by _dbus_connection_new_for_transport(), dbus_connection_add_filter(), dbus_connection_dispatch(), and dbus_connection_remove_filter().
DBusFreeFunction DBusConnection::free_dispatch_status_data |
free dispatch_status_data
Definition at line 302 of file dbus-connection.c.
Referenced by dbus_connection_set_dispatch_status_function().
DBusFreeFunction DBusConnection::free_wakeup_main_data |
free wakeup_main_data
Definition at line 298 of file dbus-connection.c.
Referenced by dbus_connection_set_wakeup_main_function().
unsigned int DBusConnection::have_connection_lock |
Used to check locking.
Definition at line 334 of file dbus-connection.c.
DBusList* DBusConnection::incoming_messages |
Queue of messages we have received, end of the list received most recently.
Definition at line 270 of file dbus-connection.c.
Referenced by _dbus_connection_queue_received_message_link(), _dbus_connection_queue_synthesized_message_link(), dbus_connection_borrow_message(), and dbus_connection_steal_borrowed_message().
dbus_bool_t DBusConnection::io_path_acquired |
Someone has transport io path (can use the transport to read/write messages)
Definition at line 315 of file dbus-connection.c.
DBusCondVar* DBusConnection::io_path_cond |
Notify when io_path_acquired is available.
Definition at line 267 of file dbus-connection.c.
Referenced by _dbus_connection_new_for_transport().
DBusCMutex* DBusConnection::io_path_mutex |
Protects io_path_acquired.
Definition at line 266 of file dbus-connection.c.
Referenced by _dbus_connection_new_for_transport().
DBusDispatchStatus DBusConnection::last_dispatch_status |
The last dispatch status we reported to the application.
Definition at line 304 of file dbus-connection.c.
Referenced by _dbus_connection_new_for_transport().
DBusMessage* DBusConnection::message_borrowed |
Filled in if the first incoming message has been borrowed; dispatch_acquired will be set by the borrower.
Definition at line 273 of file dbus-connection.c.
Referenced by dbus_connection_borrow_message(), dbus_connection_return_message(), and dbus_connection_steal_borrowed_message().
DBusRMutex* DBusConnection::mutex |
Lock on the entire DBusConnection.
Definition at line 262 of file dbus-connection.c.
Referenced by _dbus_connection_new_for_transport(), and _dbus_connection_unlock().
int DBusConnection::n_incoming |
Length of incoming queue.
Definition at line 278 of file dbus-connection.c.
Referenced by _dbus_connection_queue_received_message_link(), _dbus_connection_queue_synthesized_message_link(), and dbus_connection_steal_borrowed_message().
int DBusConnection::n_outgoing |
Length of outgoing queue.
Definition at line 277 of file dbus-connection.c.
Referenced by _dbus_connection_do_iteration_unlocked(), and _dbus_connection_message_sent_unlocked().
DBusObjectTree* DBusConnection::objects |
Object path handlers registered with this connection.
Definition at line 306 of file dbus-connection.c.
Referenced by _dbus_connection_new_for_transport(), dbus_connection_dispatch(), dbus_connection_get_object_path_data(), dbus_connection_list_registered(), and dbus_connection_unregister_object_path().
DBusCounter* DBusConnection::outgoing_counter |
Counts size of outgoing messages.
Definition at line 280 of file dbus-connection.c.
Referenced by _dbus_connection_message_sent_unlocked(), _dbus_connection_new_for_transport(), dbus_connection_get_outgoing_size(), and dbus_connection_get_outgoing_unix_fds().
DBusList* DBusConnection::outgoing_messages |
Queue of messages we need to send, send the end of the list first.
Definition at line 269 of file dbus-connection.c.
Referenced by _dbus_connection_get_message_to_send(), _dbus_connection_has_messages_to_send_unlocked(), and _dbus_connection_message_sent_unlocked().
DBusHashTable* DBusConnection::pending_replies |
Hash of message serials to DBusPendingCall.
Definition at line 291 of file dbus-connection.c.
Referenced by _dbus_connection_new_for_transport(), _dbus_connection_queue_received_message_link(), and dbus_connection_dispatch().
DBusAtomic DBusConnection::refcount |
Reference count.
Definition at line 260 of file dbus-connection.c.
Referenced by _dbus_connection_close_if_only_one_ref(), _dbus_connection_new_for_transport(), _dbus_connection_ref_unlocked(), _dbus_connection_unref_unlocked(), dbus_connection_ref(), and dbus_connection_unref().
unsigned int DBusConnection::route_peer_messages |
If TRUE, if org.freedesktop.DBus.Peer messages have a bus name, don't handle them automatically.
Definition at line 323 of file dbus-connection.c.
Referenced by _dbus_connection_new_for_transport(), and dbus_connection_set_route_peer_messages().
char* DBusConnection::server_guid |
GUID of server if we are in shared_connections, NULL if server GUID is unknown or connection is private.
Definition at line 308 of file dbus-connection.c.
unsigned int DBusConnection::shareable |
TRUE if libdbus owns a reference to the connection and can return it from dbus_connection_open() more than once
Definition at line 317 of file dbus-connection.c.
Referenced by _dbus_connection_new_for_transport(), dbus_connection_close(), and dbus_connection_unref().
DBusDataSlotList DBusConnection::slot_list |
Data stored by allocated integer ID.
Definition at line 289 of file dbus-connection.c.
Referenced by _dbus_connection_new_for_transport(), dbus_connection_get_data(), and dbus_connection_set_data().
DBusRMutex* DBusConnection::slot_mutex |
Lock on slot_list so overall connection lock need not be taken.
Definition at line 288 of file dbus-connection.c.
Referenced by _dbus_connection_new_for_transport().
DBusTimeoutList* DBusConnection::timeouts |
Stores active timeouts.
Definition at line 284 of file dbus-connection.c.
Referenced by _dbus_connection_new_for_transport(), and dbus_connection_set_timeout_functions().
DBusTransport* DBusConnection::transport |
Object that sends/receives messages over network.
Definition at line 282 of file dbus-connection.c.
Referenced by _dbus_connection_do_iteration_unlocked(), _dbus_connection_get_pending_fds_count(), _dbus_connection_handle_watch(), _dbus_connection_new_for_transport(), _dbus_connection_queue_received_message_link(), _dbus_connection_set_pending_fds_function(), dbus_connection_can_send_type(), dbus_connection_get_adt_audit_session_data(), dbus_connection_get_is_anonymous(), dbus_connection_get_is_authenticated(), dbus_connection_get_max_message_size(), dbus_connection_get_max_message_unix_fds(), dbus_connection_get_max_received_size(), dbus_connection_get_max_received_unix_fds(), dbus_connection_get_server_id(), dbus_connection_get_socket(), dbus_connection_get_unix_fd(), dbus_connection_get_unix_process_id(), dbus_connection_get_unix_user(), dbus_connection_get_windows_user(), dbus_connection_send(), dbus_connection_send_preallocated(), dbus_connection_send_with_reply(), dbus_connection_send_with_reply_and_block(), dbus_connection_set_allow_anonymous(), dbus_connection_set_max_message_size(), dbus_connection_set_max_message_unix_fds(), dbus_connection_set_max_received_size(), dbus_connection_set_max_received_unix_fds(), dbus_connection_set_unix_user_function(), dbus_connection_set_windows_user_function(), and dbus_connection_unref().
void* DBusConnection::wakeup_main_data |
Application data for wakeup_main_function.
Definition at line 297 of file dbus-connection.c.
Referenced by dbus_connection_set_wakeup_main_function().
DBusWakeupMainFunction DBusConnection::wakeup_main_function |
Function to wake up the mainloop
Definition at line 296 of file dbus-connection.c.
Referenced by dbus_connection_set_wakeup_main_function().
DBusWatchList* DBusConnection::watches |
Stores active watches.
Definition at line 283 of file dbus-connection.c.
Referenced by _dbus_connection_new_for_transport(), and dbus_connection_set_watch_functions().