pub struct Backend { /* private fields */ }
Expand description

A Wayland client backend

This type hosts all the interface for interacting with the wayland protocol. It can be cloned, all clones refer to the same underlying connection.

Implementations

Try to initialize a Wayland backend on the provided unix stream

The provided stream should correspond to an already established unix connection with the Wayland server. On this rust backend, this method never fails.

Get a WeakBackend from this backend

Flush all pending outgoing requests to the server

Get the object ID for the wl_display

Get the last error that occurred on this backend

If this returns an error, your Wayland connection is already dead.

Get the detailed information about a wayland object

Returns an error if the provided object ID is no longer valid.

Create a null object ID

This object ID is always invalid, and can be used as placeholder.

Sends a request to the server

Returns an error if the sender ID of the provided message is no longer valid.

Panic:

Several checks against the protocol specification are done, and this method will panic if they do not pass:

  • the message opcode must be valid for the sender interface
  • the argument list must match the prototype for the message associated with this opcode
  • if the method creates a new object, a null_id() must be given in the argument list at the appropriate place, and a child_spec (interface and version) can be provided. If one is provided, it’ll be checked agains the protocol spec.

Access the object data associated with a given object ID

Returns an error if the object ID is not longer valid or if it corresponds to a Wayland object that is not managed by this backend (when multiple libraries share the same Wayland socket via libwayland if using the system backend).

Set the object data associated with a given object ID

Returns an error if the object ID is not longer valid or if it corresponds to a Wayland object that is not managed by this backend (when multiple libraries share the same Wayland socket via libwayland if using the system backend).

Create a new reading guard

This call will not block, but event callbacks may be invoked in the process of preparing the guard.

Trait Implementations

Returns a copy of the value. Read more

Performs copy-assignment from source. Read more

Formats the value using the given formatter. Read more

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

Immutably borrows from an owned value. Read more

Mutably borrows from an owned value. Read more

Convert Box<dyn Trait> (where Trait: Downcast) to Box<dyn Any>. Box<dyn Any> can then be further downcast into Box<ConcreteType> where ConcreteType implements Trait. Read more

Convert Rc<Trait> (where Trait: Downcast) to Rc<Any>. Rc<Any> can then be further downcast into Rc<ConcreteType> where ConcreteType implements Trait. Read more

Convert &Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot generate &Any’s vtable from &Trait’s. Read more

Convert &mut Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot generate &mut Any’s vtable from &mut Trait’s. Read more

Convert Arc<Trait> (where Trait: Downcast) to Arc<Any>. Arc<Any> can then be further downcast into Arc<ConcreteType> where ConcreteType implements Trait. Read more

Returns the argument unchanged.

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

The resulting type after obtaining ownership.

Creates owned data from borrowed data, usually by cloning. Read more

Uses borrowed data to replace owned data, usually by cloning. Read more

The type returned in the event of a conversion error.

Performs the conversion.

The type returned in the event of a conversion error.

Performs the conversion.