[][src]Trait wayland_commons::MessageGroup

pub trait MessageGroup: Sized {
    type Map;

    const MESSAGES: &'static [MessageDesc];

    fn opcode(&self) -> u16;
fn is_destructor(&self) -> bool;
fn child<Meta: ObjectMetadata>(
        opcode: u16,
        version: u32,
        meta: &Meta
    ) -> Option<Object<Meta>>;
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

The wrapper type for ObjectMap allowing the mapping of Object and NewId arguments to the object map during parsing.

Loading content...

Associated Constants

const MESSAGES: &'static [MessageDesc]

Wire representation of this MessageGroup

Loading content...

Required methods

fn opcode(&self) -> u16

The opcode of this message

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: ObjectMetadata>(
    opcode: u16,
    version: u32,
    meta: &Meta
) -> Option<Object<Meta>>

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

Loading content...

Implementors

impl MessageGroup for NoMessage[src]

type Map = ()

Loading content...