pub trait Interface: 'static {
    type Request: MessageGroup + 'static;
    type Event: MessageGroup + 'static;

    const NAME: &'static str;
    const VERSION: u32;

    // Required method
    fn c_interface() -> *const wl_interface;
}
Expand description

The description of a wayland interface

Implementations of this trait are supposed to be generated using the wayland-scanner crate.

Required Associated Types§

source

type Request: MessageGroup + 'static

Set of requests associated to this interface

Requests are messages from the client to the server

source

type Event: MessageGroup + 'static

Set of events associated to this interface

Events are messages from the server to the client

Required Associated Constants§

source

const NAME: &'static str

Name of this interface

source

const VERSION: u32

Maximum supported version of this interface

This is the maximum version supported by the protocol specification currently used by this library, and should not be used as-is in your code, as a version change can subtly change the behavior of some objects.

Server are supposed to be able to handle all versions from 1 to the one they advertise through the registry, and clients can choose any version among the ones the server supports.

Required Methods§

source

fn c_interface() -> *const wl_interface

Pointer to the C representation of this interface

Implementors§

source§

impl Interface for AnonymousObject

§

type Request = NoMessage

§

type Event = NoMessage

source§

const NAME: &'static str = "<anonymous>"

source§

const VERSION: u32 = 0u32

source§

impl Interface for WlBuffer

§

type Request = Request

§

type Event = Event

source§

const NAME: &'static str = "wl_buffer"

source§

const VERSION: u32 = 1u32

source§

impl Interface for WlCallback

§

type Request = Request

§

type Event = Event

source§

const NAME: &'static str = "wl_callback"

source§

const VERSION: u32 = 1u32

source§

impl Interface for WlCompositor

§

type Request = Request

§

type Event = Event

source§

const NAME: &'static str = "wl_compositor"

source§

const VERSION: u32 = 5u32

source§

impl Interface for WlDataDevice

§

type Request = Request

§

type Event = Event

source§

const NAME: &'static str = "wl_data_device"

source§

const VERSION: u32 = 3u32

source§

impl Interface for WlDataDeviceManager

§

type Request = Request

§

type Event = Event

source§

const NAME: &'static str = "wl_data_device_manager"

source§

const VERSION: u32 = 3u32

source§

impl Interface for WlDataOffer

§

type Request = Request

§

type Event = Event

source§

const NAME: &'static str = "wl_data_offer"

source§

const VERSION: u32 = 3u32

source§

impl Interface for WlDataSource

§

type Request = Request

§

type Event = Event

source§

const NAME: &'static str = "wl_data_source"

source§

const VERSION: u32 = 3u32

source§

impl Interface for WlDisplay

§

type Request = Request

§

type Event = Event

source§

const NAME: &'static str = "wl_display"

source§

const VERSION: u32 = 1u32

source§

impl Interface for WlKeyboard

§

type Request = Request

§

type Event = Event

source§

const NAME: &'static str = "wl_keyboard"

source§

const VERSION: u32 = 7u32

source§

impl Interface for WlOutput

§

type Request = Request

§

type Event = Event

source§

const NAME: &'static str = "wl_output"

source§

const VERSION: u32 = 4u32

source§

impl Interface for WlPointer

§

type Request = Request

§

type Event = Event

source§

const NAME: &'static str = "wl_pointer"

source§

const VERSION: u32 = 7u32

source§

impl Interface for WlRegion

§

type Request = Request

§

type Event = Event

source§

const NAME: &'static str = "wl_region"

source§

const VERSION: u32 = 1u32

source§

impl Interface for WlRegistry

§

type Request = Request

§

type Event = Event

source§

const NAME: &'static str = "wl_registry"

source§

const VERSION: u32 = 1u32

source§

impl Interface for WlSeat

§

type Request = Request

§

type Event = Event

source§

const NAME: &'static str = "wl_seat"

source§

const VERSION: u32 = 7u32

source§

impl Interface for WlShell

§

type Request = Request

§

type Event = Event

source§

const NAME: &'static str = "wl_shell"

source§

const VERSION: u32 = 1u32

source§

impl Interface for WlShellSurface

§

type Request = Request

§

type Event = Event

source§

const NAME: &'static str = "wl_shell_surface"

source§

const VERSION: u32 = 1u32

source§

impl Interface for WlShm

§

type Request = Request

§

type Event = Event

source§

const NAME: &'static str = "wl_shm"

source§

const VERSION: u32 = 1u32

source§

impl Interface for WlShmPool

§

type Request = Request

§

type Event = Event

source§

const NAME: &'static str = "wl_shm_pool"

source§

const VERSION: u32 = 1u32

source§

impl Interface for WlSubcompositor

§

type Request = Request

§

type Event = Event

source§

const NAME: &'static str = "wl_subcompositor"

source§

const VERSION: u32 = 1u32

source§

impl Interface for WlSubsurface

§

type Request = Request

§

type Event = Event

source§

const NAME: &'static str = "wl_subsurface"

source§

const VERSION: u32 = 1u32

source§

impl Interface for WlSurface

§

type Request = Request

§

type Event = Event

source§

const NAME: &'static str = "wl_surface"

source§

const VERSION: u32 = 5u32

source§

impl Interface for WlTouch

§

type Request = Request

§

type Event = Event

source§

const NAME: &'static str = "wl_touch"

source§

const VERSION: u32 = 7u32