Typedefs | |
typedef DBusWatch | DBusWatch |
Opaque object representing a file descriptor to be watched for changes in readability, writability, or hangup. | |
Functions | |
int | dbus_watch_get_fd (DBusWatch *watch) |
Gets the file descriptor that should be watched. | |
unsigned int | dbus_watch_get_flags (DBusWatch *watch) |
Gets flags from DBusWatchFlags indicating what conditions should be monitored on the file descriptor. | |
void * | dbus_watch_get_data (DBusWatch *watch) |
Gets data previously set with dbus_watch_set_data() or NULL if none. | |
void | dbus_watch_set_data (DBusWatch *watch, void *data, DBusFreeFunction free_data_function) |
Sets data which can be retrieved with dbus_watch_get_data(). | |
dbus_bool_t | dbus_watch_handle (DBusWatch *watch, unsigned int flags) |
Called to notify the D-Bus library when a previously-added watch is ready for reading or writing, or has an exception such as a hangup. | |
dbus_bool_t | dbus_watch_get_enabled (DBusWatch *watch) |
Returns whether a watch is enabled or not. |
Types and functions related to DBusWatch. A watch represents a file descriptor that the main loop needs to monitor, as in Qt's QSocketNotifier or GLib's g_io_add_watch().
Use dbus_connection_set_watch_functions() or dbus_server_set_watch_functions() to be notified when libdbus needs to add or remove watches.
void * dbus_watch_get_data | ( | DBusWatch * | watch | ) |
Gets data previously set with dbus_watch_set_data() or NULL if none.
watch | the DBusWatch object. |
Definition at line 527 of file dbus-watch.c.
References data.
dbus_bool_t dbus_watch_get_enabled | ( | DBusWatch * | watch | ) |
Returns whether a watch is enabled or not.
If not enabled, it should not be polled by the main loop.
watch | the DBusWatch object |
Definition at line 567 of file dbus-watch.c.
References _dbus_assert, enabled, and NULL.
int dbus_watch_get_fd | ( | DBusWatch * | watch | ) |
Gets the file descriptor that should be watched.
On Windows, this will be a socket. On UNIX right now it will be a socket but in principle it could be something else.
watch | the DBusWatch object. |
Definition at line 493 of file dbus-watch.c.
References fd.
Referenced by _dbus_transport_handle_watch(), _dbus_watch_list_add_watch(), _dbus_watch_list_remove_watch(), _dbus_watch_list_set_functions(), _dbus_watch_list_toggle_watch(), and dbus_watch_set_data().
unsigned int dbus_watch_get_flags | ( | DBusWatch * | watch | ) |
Gets flags from DBusWatchFlags indicating what conditions should be monitored on the file descriptor.
The flags returned will only contain DBUS_WATCH_READABLE and DBUS_WATCH_WRITABLE, never DBUS_WATCH_HANGUP or DBUS_WATCH_ERROR; all watches implicitly include a watch for hangups, errors, and other exceptional conditions.
watch | the DBusWatch object. |
Definition at line 512 of file dbus-watch.c.
References _dbus_assert, and flags.
Referenced by _dbus_watch_list_set_functions().
dbus_bool_t dbus_watch_handle | ( | DBusWatch * | watch, | |
unsigned int | flags | |||
) |
Called to notify the D-Bus library when a previously-added watch is ready for reading or writing, or has an exception such as a hangup.
If this function returns FALSE, then the file descriptor may still be ready for reading or writing, but more memory is needed in order to do the reading or writing. If you ignore the FALSE return, your application may spin in a busy loop on the file descriptor until memory becomes available, but nothing more catastrophic should happen.
dbus_watch_handle() cannot be called during the DBusAddWatchFunction, as the connection will not be ready to handle that watch yet.
It is not allowed to reference a DBusWatch after it has been passed to remove_function.
watch | the DBusWatch object. | |
flags | the poll condition using DBusWatchFlags values |
Definition at line 597 of file dbus-watch.c.
References _dbus_warn_check_failed(), _dbus_watch_sanitize_condition(), fd, flags, handler, handler_data, and TRUE.
void dbus_watch_set_data | ( | DBusWatch * | watch, | |
void * | data, | |||
DBusFreeFunction | free_data_function | |||
) |
Sets data which can be retrieved with dbus_watch_get_data().
Intended for use by the DBusAddWatchFunction and DBusRemoveWatchFunction to store their own data. For example with Qt you might store the QSocketNotifier for this watch and with GLib you might store a GSource.
watch | the DBusWatch object. | |
data | the data. | |
free_data_function | function to be called to free the data. |
Definition at line 544 of file dbus-watch.c.
References dbus_watch_get_fd(), and NULL.
Referenced by _dbus_watch_unref().