Struct dbus::Watch [] [src]

pub struct Watch { /* fields omitted */ }

A file descriptor to watch for incoming events (for async I/O).

Example

extern crate libc;
extern crate dbus;
fn main() {
    use dbus::{Connection, BusType, WatchEvent};
    let c = Connection::get_private(BusType::Session).unwrap();

    // Get a list of fds to poll for
    let mut fds: Vec<_> = c.watch_fds().iter().map(|w| w.to_pollfd()).collect();

    // Poll them with a 1 s timeout
    let r = unsafe { libc::poll(fds.as_mut_ptr(), fds.len() as libc::c_ulong, 1000) };
    assert!(r >= 0);

    // And handle incoming events
    for pfd in fds.iter().filter(|pfd| pfd.revents != 0) {
        for item in c.watch_handle(pfd.fd, WatchEvent::from_revents(pfd.revents)) {
            // Handle item
            println!("Received ConnectionItem: {:?}", item);
        }
    }
}

Methods

impl Watch
[src]

Get the RawFd this Watch is for

Add POLLIN to events to listen for

Add POLLOUT to events to listen for

Returns the current watch as a libc::pollfd, to use with libc::poll

Trait Implementations

impl Clone for Watch
[src]

Returns a copy of the value. Read more

Performs copy-assignment from source. Read more

impl Copy for Watch
[src]

impl Debug for Watch
[src]

Formats the value using the given formatter.

impl PartialEq for Watch
[src]

This method tests for self and other values to be equal, and is used by ==. Read more

This method tests for !=.

impl Eq for Watch
[src]

impl PartialOrd for Watch
[src]

This method returns an ordering between self and other values if one exists. Read more

This method tests less than (for self and other) and is used by the < operator. Read more

This method tests less than or equal to (for self and other) and is used by the <= operator. Read more

This method tests greater than (for self and other) and is used by the > operator. Read more

This method tests greater than or equal to (for self and other) and is used by the >= operator. Read more

impl Ord for Watch
[src]

This method returns an Ordering between self and other. Read more

impl AsRawFd for Watch
[src]

Extracts the raw file descriptor. Read more