Trait wayland_client::MessageGroup [−][src]
pub trait MessageGroup { type Map; const MESSAGES: &'static [MessageDesc]; fn is_destructor(&self) -> bool; fn child<Meta>(
opcode: u16,
version: u32,
meta: &Meta
) -> Option<Object<Meta>>
where
Meta: ObjectMetadata; fn from_raw(msg: Message, map: &mut Self::Map) -> Result<Self, ()>; fn into_raw(self, send_id: u32) -> Message; }
A group of messages
This represents a group of message that can be serialized on the protocol wire. Typically the set of events or requests of a single interface.
Implementations of this trait are supposed to be
generated using the wayland-scanner
crate.
Associated Types
type Map
Associated Constants
const MESSAGES: &'static [MessageDesc]
Wire representation of this MessageGroup
Required Methods
fn is_destructor(&self) -> bool
Whether this message is a destructor
If it is, once send or receive the associated object cannot be used any more.
fn child<Meta>(opcode: u16, version: u32, meta: &Meta) -> Option<Object<Meta>> where
Meta: ObjectMetadata,
Meta: ObjectMetadata,
Retrieve the child Object
associated with this message if any
fn from_raw(msg: Message, map: &mut Self::Map) -> Result<Self, ()>
Construct a message from its raw representation
fn into_raw(self, send_id: u32) -> Message
Turn this message into its raw representation
Implementors
impl MessageGroup for NoMessage type Map = ();
impl MessageGroup for wayland_client::protocol::wl_display::Request type Map = ProxyMap;
impl MessageGroup for wayland_client::protocol::wl_display::Event type Map = ProxyMap;
impl MessageGroup for wayland_client::protocol::wl_registry::Request type Map = ProxyMap;
impl MessageGroup for wayland_client::protocol::wl_registry::Event type Map = ProxyMap;
impl MessageGroup for wayland_client::protocol::wl_callback::Request type Map = ProxyMap;
impl MessageGroup for wayland_client::protocol::wl_callback::Event type Map = ProxyMap;
impl MessageGroup for wayland_client::protocol::wl_compositor::Request type Map = ProxyMap;
impl MessageGroup for wayland_client::protocol::wl_compositor::Event type Map = ProxyMap;
impl MessageGroup for wayland_client::protocol::wl_shm_pool::Request type Map = ProxyMap;
impl MessageGroup for wayland_client::protocol::wl_shm_pool::Event type Map = ProxyMap;
impl MessageGroup for wayland_client::protocol::wl_shm::Request type Map = ProxyMap;
impl MessageGroup for wayland_client::protocol::wl_shm::Event type Map = ProxyMap;
impl MessageGroup for wayland_client::protocol::wl_buffer::Request type Map = ProxyMap;
impl MessageGroup for wayland_client::protocol::wl_buffer::Event type Map = ProxyMap;
impl MessageGroup for wayland_client::protocol::wl_data_offer::Request type Map = ProxyMap;
impl MessageGroup for wayland_client::protocol::wl_data_offer::Event type Map = ProxyMap;
impl MessageGroup for wayland_client::protocol::wl_data_source::Request type Map = ProxyMap;
impl MessageGroup for wayland_client::protocol::wl_data_source::Event type Map = ProxyMap;
impl MessageGroup for wayland_client::protocol::wl_data_device::Request type Map = ProxyMap;
impl MessageGroup for wayland_client::protocol::wl_data_device::Event type Map = ProxyMap;
impl MessageGroup for wayland_client::protocol::wl_data_device_manager::Request type Map = ProxyMap;
impl MessageGroup for wayland_client::protocol::wl_data_device_manager::Event type Map = ProxyMap;
impl MessageGroup for wayland_client::protocol::wl_shell::Request type Map = ProxyMap;
impl MessageGroup for wayland_client::protocol::wl_shell::Event type Map = ProxyMap;
impl MessageGroup for wayland_client::protocol::wl_shell_surface::Request type Map = ProxyMap;
impl MessageGroup for wayland_client::protocol::wl_shell_surface::Event type Map = ProxyMap;
impl MessageGroup for wayland_client::protocol::wl_surface::Request type Map = ProxyMap;
impl MessageGroup for wayland_client::protocol::wl_surface::Event type Map = ProxyMap;
impl MessageGroup for wayland_client::protocol::wl_seat::Request type Map = ProxyMap;
impl MessageGroup for wayland_client::protocol::wl_seat::Event type Map = ProxyMap;
impl MessageGroup for wayland_client::protocol::wl_pointer::Request type Map = ProxyMap;
impl MessageGroup for wayland_client::protocol::wl_pointer::Event type Map = ProxyMap;
impl MessageGroup for wayland_client::protocol::wl_keyboard::Request type Map = ProxyMap;
impl MessageGroup for wayland_client::protocol::wl_keyboard::Event type Map = ProxyMap;
impl MessageGroup for wayland_client::protocol::wl_touch::Request type Map = ProxyMap;
impl MessageGroup for wayland_client::protocol::wl_touch::Event type Map = ProxyMap;
impl MessageGroup for wayland_client::protocol::wl_output::Request type Map = ProxyMap;
impl MessageGroup for wayland_client::protocol::wl_output::Event type Map = ProxyMap;
impl MessageGroup for wayland_client::protocol::wl_region::Request type Map = ProxyMap;
impl MessageGroup for wayland_client::protocol::wl_region::Event type Map = ProxyMap;
impl MessageGroup for wayland_client::protocol::wl_subcompositor::Request type Map = ProxyMap;
impl MessageGroup for wayland_client::protocol::wl_subcompositor::Event type Map = ProxyMap;
impl MessageGroup for wayland_client::protocol::wl_subsurface::Request type Map = ProxyMap;
impl MessageGroup for wayland_client::protocol::wl_subsurface::Event type Map = ProxyMap;