Typedefs | |
typedef DBusTransport | DBusTransport |
Opaque object representing a way message stream. | |
Functions | |
dbus_bool_t | _dbus_transport_init_base (DBusTransport *transport, const DBusTransportVTable *vtable, const DBusString *server_guid, const DBusString *address) |
Initializes the base class members of DBusTransport. | |
void | _dbus_transport_finalize_base (DBusTransport *transport) |
Finalizes base class members of DBusTransport. | |
DBusTransport * | _dbus_transport_open (DBusAddressEntry *entry, DBusError *error) |
Try to open a new transport for the given address entry. | |
DBusTransport * | _dbus_transport_ref (DBusTransport *transport) |
Increments the reference count for the transport. | |
void | _dbus_transport_unref (DBusTransport *transport) |
Decrements the reference count for the transport. | |
void | _dbus_transport_disconnect (DBusTransport *transport) |
Closes our end of the connection to a remote application. | |
dbus_bool_t | _dbus_transport_get_is_connected (DBusTransport *transport) |
Returns TRUE if the transport has not been disconnected. | |
dbus_bool_t | _dbus_transport_get_is_authenticated (DBusTransport *transport) |
Returns TRUE if we have been authenticated. | |
const char * | _dbus_transport_get_address (DBusTransport *transport) |
Gets the address of a transport. | |
dbus_bool_t | _dbus_transport_handle_watch (DBusTransport *transport, DBusWatch *watch, unsigned int condition) |
Handles a watch by reading data, writing data, or disconnecting the transport, as appropriate for the given condition. | |
dbus_bool_t | _dbus_transport_set_connection (DBusTransport *transport, DBusConnection *connection) |
Sets the connection using this transport. | |
dbus_bool_t | _dbus_transport_get_unix_fd (DBusTransport *transport, int *fd_p) |
Get the UNIX file descriptor, if any. | |
void | _dbus_transport_do_iteration (DBusTransport *transport, unsigned int flags, int timeout_milliseconds) |
Performs a single poll()/select() on the transport's file descriptors and then reads/writes data as appropriate, queueing incoming messages and sending outgoing messages. | |
DBusDispatchStatus | _dbus_transport_get_dispatch_status (DBusTransport *transport) |
Reports our current dispatch status (whether there's buffered data to be queued as messages, or not, or we need memory). | |
dbus_bool_t | _dbus_transport_queue_messages (DBusTransport *transport) |
Processes data we've read while handling a watch, potentially converting some of it to messages and queueing those messages on the connection. | |
void | _dbus_transport_set_max_message_size (DBusTransport *transport, long size) |
See dbus_connection_set_max_message_size(). | |
long | _dbus_transport_get_max_message_size (DBusTransport *transport) |
See dbus_connection_get_max_message_size(). | |
void | _dbus_transport_set_max_received_size (DBusTransport *transport, long size) |
See dbus_connection_set_max_received_size(). | |
long | _dbus_transport_get_max_received_size (DBusTransport *transport) |
See dbus_connection_get_max_received_size(). | |
dbus_bool_t | _dbus_transport_get_unix_user (DBusTransport *transport, unsigned long *uid) |
See dbus_connection_get_unix_user(). | |
dbus_bool_t | _dbus_transport_get_unix_process_id (DBusTransport *transport, unsigned long *pid) |
See dbus_connection_get_unix_process_id(). | |
void | _dbus_transport_set_unix_user_function (DBusTransport *transport, DBusAllowUnixUserFunction function, void *data, DBusFreeFunction free_data_function, void **old_data, DBusFreeFunction *old_free_data_function) |
See dbus_connection_set_unix_user_function(). | |
dbus_bool_t | _dbus_transport_set_auth_mechanisms (DBusTransport *transport, const char **mechanisms) |
Sets the SASL authentication mechanisms supported by this transport. |
Types and functions related to DBusTransport. A transport is an abstraction that can send and receive data via various kinds of network connections or other IPC mechanisms.
|
Opaque object representing a way message stream. DBusTransport abstracts various kinds of actual transport mechanism, such as different network protocols, or encryption schemes. Definition at line 33 of file dbus-transport.h. |
|
Closes our end of the connection to a remote application. Further attempts to use this transport will fail. Only the first call to _dbus_transport_disconnect() will have an effect.
Definition at line 397 of file dbus-transport.c. References _dbus_assert, DBusTransportVTable::disconnect, disconnected, NULL, TRUE, and vtable. Referenced by _dbus_transport_finalize_base(), _dbus_transport_get_is_authenticated(), _dbus_transport_queue_messages(), and dbus_connection_close(). |
|
Performs a single poll()/select() on the transport's file descriptors and then reads/writes data as appropriate, queueing incoming messages and sending outgoing messages. This is the backend for _dbus_connection_do_iteration(). See _dbus_connection_do_iteration() for full details.
Definition at line 698 of file dbus-transport.c. References _dbus_assert, _dbus_transport_ref(), _dbus_transport_unref(), disconnected, DBusTransportVTable::do_iteration, NULL, and vtable. Referenced by _dbus_connection_do_iteration_unlocked(). |
|
Finalizes base class members of DBusTransport. Chained up to from subclass finalizers.
Definition at line 186 of file dbus-transport.c. References _dbus_auth_unref(), _dbus_counter_set_notify(), _dbus_counter_unref(), _dbus_message_loader_unref(), _dbus_transport_disconnect(), address, auth, dbus_free(), disconnected, expected_guid, free_unix_user_data, live_messages_size, loader, NULL, and unix_user_data. |
|
Gets the address of a transport. It will be NULL for a server-side transport.
Definition at line 588 of file dbus-transport.c. References address. |
|
Reports our current dispatch status (whether there's buffered data to be queued as messages, or not, or we need memory).
Definition at line 819 of file dbus-transport.c. References _dbus_auth_do_work(), _dbus_counter_get_value(), _dbus_message_loader_peek_message(), _dbus_message_loader_queue_messages(), _dbus_transport_get_is_authenticated(), live_messages_size, max_live_messages_size, NULL, and TRUE. Referenced by _dbus_transport_queue_messages(). |
|
|
Returns TRUE if the transport has not been disconnected. Disconnection can result from _dbus_transport_disconnect() or because the server drops its end of the connection.
Definition at line 422 of file dbus-transport.c. References disconnected. |
|
See dbus_connection_get_max_message_size().
Definition at line 922 of file dbus-transport.c. References _dbus_message_loader_get_max_message_size(), and loader. Referenced by dbus_connection_get_max_message_size(). |
|
See dbus_connection_get_max_received_size().
Definition at line 952 of file dbus-transport.c. References max_live_messages_size. Referenced by dbus_connection_get_max_received_size(). |
|
Get the UNIX file descriptor, if any.
Definition at line 665 of file dbus-transport.c. References _dbus_transport_ref(), _dbus_transport_unref(), disconnected, FALSE, DBusTransportVTable::get_unix_fd, NULL, and vtable. Referenced by dbus_connection_get_unix_fd(). |
|
See dbus_connection_get_unix_process_id().
Definition at line 997 of file dbus-transport.c. References _dbus_auth_get_identity(), auth, authenticated, FALSE, DBusCredentials::pid, and TRUE. Referenced by dbus_connection_get_unix_process_id(). |
|
See dbus_connection_get_unix_user().
Definition at line 965 of file dbus-transport.c. References _dbus_auth_get_identity(), _DBUS_INT32_MAX, auth, authenticated, FALSE, TRUE, and DBusCredentials::uid. Referenced by dbus_connection_get_unix_user(). |
|
Handles a watch by reading data, writing data, or disconnecting the transport, as appropriate for the given condition.
Definition at line 603 of file dbus-transport.c. References _dbus_assert, _dbus_transport_ref(), _dbus_transport_unref(), _dbus_warn(), _dbus_watch_ref(), _dbus_watch_sanitize_condition(), _dbus_watch_unref(), dbus_watch_get_fd(), disconnected, DBusTransportVTable::handle_watch, NULL, TRUE, and vtable. Referenced by _dbus_connection_handle_watch(). |
|
Initializes the base class members of DBusTransport. Chained up to by subclasses in their constructor. The server GUID is the globally unique ID for the server creating this connection and will be NULL for the client side of a connection. The GUID is in hex format.
Definition at line 91 of file dbus-transport.c. References _dbus_assert, _dbus_auth_client_new(), _dbus_auth_server_new(), _dbus_auth_unref(), _dbus_counter_new(), _dbus_counter_set_notify(), _dbus_counter_unref(), _dbus_message_loader_new(), _dbus_message_loader_unref(), _dbus_string_copy_data(), address, auth, authenticated, credentials, disconnected, expected_guid, FALSE, free_unix_user_data, DBusCredentials::gid, is_server, live_messages_size, loader, max_live_messages_size, NULL, DBusCredentials::pid, receive_credentials_pending, refcount, send_credentials_pending, TRUE, DBusCredentials::uid, unix_user_data, unix_user_function, and vtable. Referenced by _dbus_transport_new_for_fd(). |
|
Try to open a new transport for the given address entry. (This opens a client-side-of-the-connection transport.)
Definition at line 212 of file dbus-transport.c. References _dbus_assert, _dbus_strdup(), _dbus_string_free(), _dbus_string_init_const(), _dbus_string_parse_int(), _dbus_transport_new_for_domain_socket(), _dbus_transport_new_for_tcp_socket(), dbus_address_entry_get_method(), dbus_address_entry_get_value(), dbus_free(), dbus_set_error(), expected_guid, FALSE, NULL, and TRUE. |
|
Processes data we've read while handling a watch, potentially converting some of it to messages and queueing those messages on the connection.
Definition at line 857 of file dbus-transport.c. References _dbus_assert, _dbus_connection_queue_received_message_link(), _dbus_message_add_size_counter(), _dbus_message_loader_get_is_corrupted(), _dbus_message_loader_pop_message_link(), _dbus_message_loader_putback_message_link(), _dbus_transport_disconnect(), _dbus_transport_get_dispatch_status(), DBusList::data, and NULL. |
|
Increments the reference count for the transport.
Definition at line 355 of file dbus-transport.c. References _dbus_assert, and refcount. Referenced by _dbus_connection_new_for_transport(), _dbus_transport_do_iteration(), _dbus_transport_get_unix_fd(), _dbus_transport_handle_watch(), and _dbus_transport_set_connection(). |
|
Sets the SASL authentication mechanisms supported by this transport.
Definition at line 1056 of file dbus-transport.c. References _dbus_auth_set_mechanisms(), and auth. |
|
Sets the connection using this transport. Allows the transport to add watches to the connection, queue incoming messages, and pull outgoing messages.
Definition at line 641 of file dbus-transport.c. References _dbus_assert, _dbus_transport_ref(), _dbus_transport_unref(), connection, DBusTransportVTable::connection_set, NULL, and vtable. Referenced by _dbus_connection_new_for_transport(). |
|
See dbus_connection_set_max_message_size().
Definition at line 909 of file dbus-transport.c. References _dbus_message_loader_set_max_message_size(), and loader. Referenced by dbus_connection_set_max_message_size(). |
|
See dbus_connection_set_max_received_size().
Definition at line 934 of file dbus-transport.c. References _dbus_counter_set_notify(), live_messages_size, and max_live_messages_size. Referenced by dbus_connection_set_max_received_size(). |
|
See dbus_connection_set_unix_user_function().
Definition at line 1032 of file dbus-transport.c. References free_unix_user_data, unix_user_data, and unix_user_function. Referenced by dbus_connection_set_unix_user_function(). |
|
Decrements the reference count for the transport. Disconnects and finalizes the transport if the reference count reaches zero.
Definition at line 372 of file dbus-transport.c. References _dbus_assert, DBusTransportVTable::finalize, NULL, refcount, and vtable. Referenced by _dbus_transport_do_iteration(), _dbus_transport_get_unix_fd(), _dbus_transport_handle_watch(), and _dbus_transport_set_connection(). |