Expand description
Interfaces for wayland objects
This module defines common interfaces for wayland objects. MonoObject
describes a object with a concrete type, whereas AnyObject describes a
type erased object, akin to dyn Any.
Note these interfaces really only represents part of what a wayland object
does. These objects would also implement one of the RequestDispatch traits
generated from the wayland protocol specification, which will be used by the
Object trait to handle wayland requests.
Normally, you wouldn’t implement traits defined here by hand, but instead
use the #[derive(Object)] or the
#[wayland_object] attribute to generate the impls for
you.
Reference implementations of the core wayland objects: wl_display,
wl_registry, and wl_callback are also provided here.
Re-exports
pub use runa_macros::Object;
Structs
- Default wl_callback implementation
- Default wl_display implementation
- Default wl_registry implementation
Constants
- The object ID of the wl_display object
Traits
- A polymorphic object, i.e. it’s an union of multiple objects types.
- An monomorphic object, i.e. it’s a single object whose interface is known, as opposed to
AnyObject. - A wayland object.
Attribute Macros
- Generate
Objectimpls for types that implementRequestDispatchfor a certain interface. Should be attached toRequestDispatchimpls.