Data Structures | |
struct | DBusPendingCall |
Defines | |
#define | CONNECTION_LOCK(connection) _dbus_connection_lock(connection) |
Internals of DBusPendingCall. | |
#define | CONNECTION_UNLOCK(connection) _dbus_connection_unlock(connection) |
Functions | |
DBusPendingCall * | _dbus_pending_call_new_unlocked (DBusConnection *connection, int timeout_milliseconds, DBusTimeoutHandler timeout_handler) |
Creates a new pending reply object. | |
void | _dbus_pending_call_set_reply_unlocked (DBusPendingCall *pending, DBusMessage *message) |
Sets the reply of a pending call with the given message, or if the message is NULL, by timing out the pending call. | |
void | _dbus_pending_call_complete (DBusPendingCall *pending) |
Calls notifier function for the pending call and sets the call to completed. | |
void | _dbus_pending_call_queue_timeout_error_unlocked (DBusPendingCall *pending, DBusConnection *connection) |
dbus_bool_t | _dbus_pending_call_is_timeout_added_unlocked (DBusPendingCall *pending) |
Checks to see if a timeout has been added. | |
void | _dbus_pending_call_set_timeout_added_unlocked (DBusPendingCall *pending, dbus_bool_t is_added) |
Sets wether the timeout has been added. | |
DBusTimeout * | _dbus_pending_call_get_timeout_unlocked (DBusPendingCall *pending) |
Retrives the timeout. | |
dbus_uint32_t | _dbus_pending_call_get_reply_serial_unlocked (DBusPendingCall *pending) |
Gets the reply's serial number. | |
void | _dbus_pending_call_set_reply_serial_unlocked (DBusPendingCall *pending, dbus_uint32_t serial) |
Sets the reply's serial number. | |
DBusConnection * | _dbus_pending_call_get_connection_and_lock (DBusPendingCall *pending) |
Gets the connection associated with this pending call. | |
DBusConnection * | _dbus_pending_call_get_connection_unlocked (DBusPendingCall *pending) |
Gets the connection associated with this pending call. | |
dbus_bool_t | _dbus_pending_call_set_timeout_error_unlocked (DBusPendingCall *pending, DBusMessage *message, dbus_uint32_t serial) |
Sets the reply message associated with the pending call to a timeout error. |
The guts of DBusPendingCall and its methods.
#define CONNECTION_LOCK | ( | connection | ) | _dbus_connection_lock(connection) |
Internals of DBusPendingCall.
Opaque object representing a reply message that we're waiting for.
Definition at line 47 of file dbus-pending-call.c.
Referenced by _dbus_connection_block_pending_call(), _dbus_connection_close_internal(), _dbus_connection_handle_watch(), _dbus_connection_lock(), _dbus_connection_new_for_transport(), _dbus_connection_remove_pending_call(), _dbus_pending_call_get_connection_and_lock(), _dbus_pending_call_set_data_unlocked(), dbus_connection_add_filter(), dbus_connection_borrow_message(), dbus_connection_close(), dbus_connection_dispatch(), dbus_connection_flush(), dbus_connection_get_data(), dbus_connection_get_dispatch_status(), dbus_connection_get_is_authenticated(), dbus_connection_get_is_connected(), dbus_connection_get_max_message_size(), dbus_connection_get_max_received_size(), dbus_connection_get_object_path_data(), dbus_connection_get_outgoing_size(), dbus_connection_get_unix_fd(), dbus_connection_get_unix_process_id(), dbus_connection_get_unix_user(), dbus_connection_has_messages_to_send(), dbus_connection_list_registered(), dbus_connection_pop_message(), dbus_connection_preallocate_send(), dbus_connection_ref(), dbus_connection_register_fallback(), dbus_connection_register_object_path(), dbus_connection_remove_filter(), dbus_connection_return_message(), dbus_connection_send(), dbus_connection_send_preallocated(), dbus_connection_send_with_reply(), dbus_connection_set_data(), dbus_connection_set_dispatch_status_function(), dbus_connection_set_exit_on_disconnect(), dbus_connection_set_max_message_size(), dbus_connection_set_max_received_size(), dbus_connection_set_timeout_functions(), dbus_connection_set_unix_user_function(), dbus_connection_set_wakeup_main_function(), dbus_connection_set_watch_functions(), dbus_connection_steal_borrowed_message(), dbus_connection_unref(), dbus_connection_unregister_object_path(), dbus_pending_call_get_completed(), dbus_pending_call_get_data(), dbus_pending_call_ref(), dbus_pending_call_set_data(), dbus_pending_call_set_notify(), dbus_pending_call_steal_reply(), and dbus_pending_call_unref().
void _dbus_pending_call_complete | ( | DBusPendingCall * | pending | ) |
Calls notifier function for the pending call and sets the call to completed.
pending | the pending call |
Definition at line 176 of file dbus-pending-call.c.
References _dbus_assert, DBusPendingCall::completed, dbus_pending_call_get_data(), DBusPendingCall::function, and TRUE.
DBusConnection* _dbus_pending_call_get_connection_and_lock | ( | DBusPendingCall * | pending | ) |
Gets the connection associated with this pending call.
pending | the pending_call |
Definition at line 288 of file dbus-pending-call.c.
References _dbus_assert, DBusPendingCall::connection, CONNECTION_LOCK, and NULL.
Referenced by _dbus_connection_block_pending_call().
DBusConnection* _dbus_pending_call_get_connection_unlocked | ( | DBusPendingCall * | pending | ) |
Gets the connection associated with this pending call.
pending | the pending_call |
Definition at line 303 of file dbus-pending-call.c.
References _dbus_assert, DBusPendingCall::connection, and NULL.
dbus_uint32_t _dbus_pending_call_get_reply_serial_unlocked | ( | DBusPendingCall * | pending | ) |
Gets the reply's serial number.
pending | the pending_call |
Definition at line 258 of file dbus-pending-call.c.
References _dbus_assert, NULL, and DBusPendingCall::reply_serial.
Referenced by _dbus_connection_block_pending_call().
DBusTimeout* _dbus_pending_call_get_timeout_unlocked | ( | DBusPendingCall * | pending | ) |
Retrives the timeout.
pending | the pending_call |
Definition at line 244 of file dbus-pending-call.c.
References _dbus_assert, NULL, and DBusPendingCall::timeout.
Referenced by _dbus_connection_block_pending_call(), and _dbus_connection_queue_received_message_link().
dbus_bool_t _dbus_pending_call_is_timeout_added_unlocked | ( | DBusPendingCall * | pending | ) |
Checks to see if a timeout has been added.
pending | the pending_call |
Definition at line 213 of file dbus-pending-call.c.
References _dbus_assert, NULL, and DBusPendingCall::timeout_added.
Referenced by _dbus_connection_queue_received_message_link().
DBusPendingCall* _dbus_pending_call_new_unlocked | ( | DBusConnection * | connection, | |
int | timeout_milliseconds, | |||
DBusTimeoutHandler | timeout_handler | |||
) |
Creates a new pending reply object.
connection | connection where reply will arrive | |
timeout_milliseconds | length of timeout, -1 for default | |
timeout_handler | timeout handler, takes pending call as data |
Definition at line 81 of file dbus-pending-call.c.
References _dbus_assert, _dbus_connection_ref_unlocked(), _dbus_data_slot_list_init(), _dbus_timeout_new(), DBusPendingCall::connection, dbus_free(), dbus_new0, dbus_pending_call_allocate_data_slot(), dbus_pending_call_free_data_slot(), NULL, DBusPendingCall::refcount, DBusPendingCall::slot_list, DBusPendingCall::timeout, and DBusAtomic::value.
Referenced by dbus_connection_send_with_reply().
void _dbus_pending_call_set_reply_serial_unlocked | ( | DBusPendingCall * | pending, | |
dbus_uint32_t | serial | |||
) |
Sets the reply's serial number.
pending | the pending_call | |
serial | the serial number |
Definition at line 272 of file dbus-pending-call.c.
References _dbus_assert, NULL, and DBusPendingCall::reply_serial.
Referenced by _dbus_pending_call_set_timeout_error_unlocked().
void _dbus_pending_call_set_reply_unlocked | ( | DBusPendingCall * | pending, | |
DBusMessage * | message | |||
) |
Sets the reply of a pending call with the given message, or if the message is NULL, by timing out the pending call.
pending | the pending call | |
message | the message to complete the call with, or NULL to time out the call |
Definition at line 144 of file dbus-pending-call.c.
References _dbus_assert, _dbus_list_clear(), DBusList::data, dbus_message_get_reply_serial(), dbus_message_get_type(), dbus_message_ref(), DBUS_MESSAGE_TYPE_ERROR, DBUS_MESSAGE_TYPE_METHOD_RETURN, NULL, DBusPendingCall::reply, DBusPendingCall::reply_serial, and DBusPendingCall::timeout_link.
void _dbus_pending_call_set_timeout_added_unlocked | ( | DBusPendingCall * | pending, | |
dbus_bool_t | is_added | |||
) |
Sets wether the timeout has been added.
pending | the pending_call | |
is_added | whether or not a timeout is added |
Definition at line 228 of file dbus-pending-call.c.
References _dbus_assert, NULL, and DBusPendingCall::timeout_added.
Referenced by _dbus_connection_queue_received_message_link().
dbus_bool_t _dbus_pending_call_set_timeout_error_unlocked | ( | DBusPendingCall * | pending, | |
DBusMessage * | message, | |||
dbus_uint32_t | serial | |||
) |
Sets the reply message associated with the pending call to a timeout error.
pending | the pending_call | |
message | the message we are sending the error reply to | |
serial | serial number for the reply |
Definition at line 319 of file dbus-pending-call.c.
References _dbus_list_alloc_link(), _dbus_pending_call_set_reply_serial_unlocked(), DBUS_ERROR_NO_REPLY, dbus_message_new_error(), dbus_message_unref(), FALSE, NULL, DBusPendingCall::timeout_link, and TRUE.
Referenced by dbus_connection_send_with_reply().