Trait wayland_commons::MessageGroup [−][src]
pub trait MessageGroup: Sized { type Map; const MESSAGES: &'static [MessageDesc]; fn opcode(&self) -> u16; fn is_destructor(&self) -> bool; fn since(&self) -> u32; 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; unsafe fn from_raw_c(
obj: *mut c_void,
opcode: u32,
args: *const wl_argument
) -> Result<Self, ()>; fn as_raw_c_in<F, T>(self, f: F) -> T
where
F: FnOnce(u32, &mut [wl_argument]) -> T; }
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
[src][−]
The wrapper type for ObjectMap allowing the mapping of Object and NewId arguments to the object map during parsing.
Associated Constants
const MESSAGES: &'static [MessageDesc]
[src][−]
Wire representation of this MessageGroup
Required methods
fn opcode(&self) -> u16
[src][−]
The opcode of this message
fn is_destructor(&self) -> bool
[src][−]
Whether this message is a destructor
If it is, once send or receive the associated object cannot be used any more.
fn since(&self) -> u32
[src][−]
The minimal object version for which this message exists
fn child<Meta: ObjectMetadata>(
opcode: u16,
version: u32,
meta: &Meta
) -> Option<Object<Meta>>
[src][−]
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, ()>
[src][−]
Construct a message from its raw representation
fn into_raw(self, send_id: u32) -> Message
[src][−]
Turn this message into its raw representation
unsafe fn from_raw_c(
obj: *mut c_void,
opcode: u32,
args: *const wl_argument
) -> Result<Self, ()>
[src][−]
obj: *mut c_void,
opcode: u32,
args: *const wl_argument
) -> Result<Self, ()>
Construct a message of this group from its C representation
Safety
The pointers provided to this function must all be valid pointers from
libwayland-client
fn as_raw_c_in<F, T>(self, f: F) -> T where
F: FnOnce(u32, &mut [wl_argument]) -> T,
[src][−]
F: FnOnce(u32, &mut [wl_argument]) -> T,
Build a C representation of this message
It can only be accessed from the provided closure, and this consumes the message.
Implementors
impl MessageGroup for NoMessage
[src][+]
impl MessageGroup for Request
impl MessageGroup for Request
impl MessageGroup for Event
impl MessageGroup for Event
impl MessageGroup for Request
impl MessageGroup for Request
impl MessageGroup for Event
impl MessageGroup for Event
impl MessageGroup for Request
impl MessageGroup for Request
impl MessageGroup for Event
impl MessageGroup for Event
impl MessageGroup for Request
impl MessageGroup for Request
impl MessageGroup for Event
impl MessageGroup for Event
impl MessageGroup for Request
impl MessageGroup for Request
impl MessageGroup for Event
impl MessageGroup for Event
impl MessageGroup for Request
impl MessageGroup for Request
impl MessageGroup for Event
impl MessageGroup for Event
impl MessageGroup for Request
impl MessageGroup for Request
impl MessageGroup for Event
impl MessageGroup for Event
impl MessageGroup for Request
impl MessageGroup for Request
impl MessageGroup for Event
impl MessageGroup for Event
impl MessageGroup for Request
impl MessageGroup for Request
impl MessageGroup for Event
impl MessageGroup for Event
impl MessageGroup for Request
impl MessageGroup for Request
impl MessageGroup for Event
impl MessageGroup for Event
impl MessageGroup for Request
impl MessageGroup for Request
impl MessageGroup for Event
impl MessageGroup for Event
impl MessageGroup for Request
impl MessageGroup for Request
impl MessageGroup for Event
impl MessageGroup for Event
impl MessageGroup for Request
impl MessageGroup for Request
impl MessageGroup for Event
impl MessageGroup for Event
impl MessageGroup for Request
impl MessageGroup for Request
impl MessageGroup for Event
impl MessageGroup for Event
impl MessageGroup for Request
impl MessageGroup for Request
impl MessageGroup for Event
impl MessageGroup for Event
impl MessageGroup for Request
impl MessageGroup for Request
impl MessageGroup for Event
impl MessageGroup for Event
impl MessageGroup for Request
impl MessageGroup for Request
impl MessageGroup for Event
impl MessageGroup for Event
impl MessageGroup for Request
impl MessageGroup for Request
impl MessageGroup for Event
impl MessageGroup for Event
impl MessageGroup for Request
impl MessageGroup for Request
impl MessageGroup for Event
impl MessageGroup for Event
impl MessageGroup for Request
impl MessageGroup for Request
impl MessageGroup for Event
impl MessageGroup for Event
impl MessageGroup for Request
impl MessageGroup for Request
impl MessageGroup for Event
impl MessageGroup for Event
impl MessageGroup for Request
impl MessageGroup for Request
impl MessageGroup for Event
impl MessageGroup for Event
impl MessageGroup for Request
impl MessageGroup for Request
impl MessageGroup for Event
impl MessageGroup for Event
impl MessageGroup for Request
impl MessageGroup for Request
impl MessageGroup for Event
impl MessageGroup for Event
impl MessageGroup for Request
impl MessageGroup for Request
impl MessageGroup for Event
impl MessageGroup for Event
impl MessageGroup for Request
impl MessageGroup for Request
impl MessageGroup for Event
impl MessageGroup for Event
impl MessageGroup for Request
impl MessageGroup for Request
impl MessageGroup for Event
impl MessageGroup for Event
impl MessageGroup for Request
impl MessageGroup for Request
impl MessageGroup for Event
impl MessageGroup for Event
impl MessageGroup for Request
impl MessageGroup for Request
impl MessageGroup for Event
impl MessageGroup for Event
impl MessageGroup for Request
impl MessageGroup for Request
impl MessageGroup for Event
impl MessageGroup for Event
impl MessageGroup for Request
impl MessageGroup for Request
impl MessageGroup for Event
impl MessageGroup for Event
impl MessageGroup for Request
impl MessageGroup for Request
impl MessageGroup for Event
impl MessageGroup for Event
impl MessageGroup for Request
impl MessageGroup for Request
impl MessageGroup for Event
impl MessageGroup for Event
impl MessageGroup for Request
impl MessageGroup for Request
impl MessageGroup for Event
impl MessageGroup for Event
impl MessageGroup for Request
impl MessageGroup for Request
impl MessageGroup for Event
impl MessageGroup for Event
impl MessageGroup for Request
impl MessageGroup for Request
impl MessageGroup for Event
impl MessageGroup for Event
impl MessageGroup for Request
impl MessageGroup for Request
impl MessageGroup for Event
impl MessageGroup for Event
impl MessageGroup for Request
impl MessageGroup for Request
impl MessageGroup for Event
impl MessageGroup for Event
impl MessageGroup for Request
impl MessageGroup for Request
impl MessageGroup for Event
impl MessageGroup for Event
impl MessageGroup for Request
impl MessageGroup for Request
impl MessageGroup for Event
impl MessageGroup for Event
impl MessageGroup for Request
impl MessageGroup for Request
impl MessageGroup for Event
impl MessageGroup for Event
impl MessageGroup for Request
impl MessageGroup for Request
impl MessageGroup for Event
impl MessageGroup for Event
impl MessageGroup for Request
impl MessageGroup for Request
impl MessageGroup for Event
impl MessageGroup for Event
impl MessageGroup for Request
impl MessageGroup for Request
impl MessageGroup for Event
impl MessageGroup for Event
impl MessageGroup for Request
impl MessageGroup for Request
impl MessageGroup for Event
impl MessageGroup for Event
impl MessageGroup for Request
impl MessageGroup for Request
impl MessageGroup for Event
impl MessageGroup for Event
impl MessageGroup for Request
impl MessageGroup for Request
impl MessageGroup for Event
impl MessageGroup for Event
impl MessageGroup for Request
impl MessageGroup for Request
impl MessageGroup for Event
impl MessageGroup for Event
impl MessageGroup for Request
impl MessageGroup for Request
impl MessageGroup for Event
impl MessageGroup for Event
impl MessageGroup for Request
impl MessageGroup for Request
impl MessageGroup for Event
impl MessageGroup for Event
impl MessageGroup for Request
impl MessageGroup for Request
impl MessageGroup for Event
impl MessageGroup for Event
impl MessageGroup for Request
impl MessageGroup for Request
impl MessageGroup for Event
impl MessageGroup for Event
impl MessageGroup for Request
impl MessageGroup for Request
impl MessageGroup for Event
impl MessageGroup for Event
impl MessageGroup for Request
impl MessageGroup for Request
impl MessageGroup for Event
impl MessageGroup for Event
impl MessageGroup for Request
impl MessageGroup for Request
impl MessageGroup for Event
impl MessageGroup for Event
impl MessageGroup for Request
impl MessageGroup for Request
impl MessageGroup for Event
impl MessageGroup for Event
impl MessageGroup for Request
impl MessageGroup for Request
impl MessageGroup for Event
impl MessageGroup for Event
impl MessageGroup for Request
impl MessageGroup for Request
impl MessageGroup for Event
impl MessageGroup for Event
impl MessageGroup for Request
impl MessageGroup for Request
impl MessageGroup for Event
impl MessageGroup for Event
impl MessageGroup for Request
impl MessageGroup for Request
impl MessageGroup for Event
impl MessageGroup for Event
impl MessageGroup for Request
impl MessageGroup for Request
impl MessageGroup for Event
impl MessageGroup for Event
impl MessageGroup for Request
impl MessageGroup for Request
impl MessageGroup for Event
impl MessageGroup for Event
impl MessageGroup for Request
impl MessageGroup for Request
impl MessageGroup for Event
impl MessageGroup for Event
impl MessageGroup for Request
impl MessageGroup for Request
impl MessageGroup for Event
impl MessageGroup for Event
impl MessageGroup for Request
impl MessageGroup for Request
impl MessageGroup for Event
impl MessageGroup for Event
impl MessageGroup for Request
impl MessageGroup for Request
impl MessageGroup for Event
impl MessageGroup for Event
impl MessageGroup for Request
impl MessageGroup for Request
impl MessageGroup for Event
impl MessageGroup for Event
impl MessageGroup for Request
impl MessageGroup for Request
impl MessageGroup for Event
impl MessageGroup for Event
impl MessageGroup for Request
impl MessageGroup for Request
impl MessageGroup for Event
impl MessageGroup for Event
impl MessageGroup for Request
impl MessageGroup for Request
impl MessageGroup for Event
impl MessageGroup for Event
impl MessageGroup for Request
impl MessageGroup for Request
impl MessageGroup for Event
impl MessageGroup for Event
impl MessageGroup for Request
impl MessageGroup for Request
impl MessageGroup for Event
impl MessageGroup for Event
impl MessageGroup for Request
impl MessageGroup for Request
impl MessageGroup for Event
impl MessageGroup for Event
impl MessageGroup for Request
impl MessageGroup for Request
impl MessageGroup for Event
impl MessageGroup for Event
impl MessageGroup for Request
impl MessageGroup for Request
impl MessageGroup for Event
impl MessageGroup for Event
impl MessageGroup for Request
impl MessageGroup for Request
impl MessageGroup for Event
impl MessageGroup for Event
impl MessageGroup for Request
impl MessageGroup for Request
impl MessageGroup for Event
impl MessageGroup for Event
impl MessageGroup for Request
impl MessageGroup for Request
impl MessageGroup for Event
impl MessageGroup for Event
impl MessageGroup for Request
impl MessageGroup for Request
impl MessageGroup for Event
impl MessageGroup for Event
impl MessageGroup for Request
impl MessageGroup for Request
impl MessageGroup for Event
impl MessageGroup for Event
impl MessageGroup for Request
impl MessageGroup for Request
impl MessageGroup for Event
impl MessageGroup for Event
impl MessageGroup for Request
impl MessageGroup for Request
impl MessageGroup for Event
impl MessageGroup for Event
impl MessageGroup for Request
impl MessageGroup for Request
impl MessageGroup for Event
impl MessageGroup for Event
impl MessageGroup for Request
impl MessageGroup for Request
impl MessageGroup for Event
impl MessageGroup for Event
impl MessageGroup for Request
impl MessageGroup for Request
impl MessageGroup for Event
impl MessageGroup for Event
impl MessageGroup for Request
impl MessageGroup for Request
impl MessageGroup for Event
impl MessageGroup for Event
impl MessageGroup for Request
impl MessageGroup for Request
impl MessageGroup for Event
impl MessageGroup for Event
impl MessageGroup for Request
impl MessageGroup for Request
impl MessageGroup for Event
impl MessageGroup for Event
impl MessageGroup for Request
impl MessageGroup for Request
impl MessageGroup for Event
impl MessageGroup for Event
impl MessageGroup for Request
impl MessageGroup for Request
impl MessageGroup for Event
impl MessageGroup for Event
impl MessageGroup for Request
impl MessageGroup for Request
impl MessageGroup for Event
impl MessageGroup for Event
impl MessageGroup for Request
impl MessageGroup for Request
impl MessageGroup for Event
impl MessageGroup for Event
impl MessageGroup for Request
impl MessageGroup for Request
impl MessageGroup for Event
impl MessageGroup for Event
impl MessageGroup for Request
impl MessageGroup for Request
impl MessageGroup for Event
impl MessageGroup for Event
impl MessageGroup for Request
impl MessageGroup for Request
impl MessageGroup for Event
impl MessageGroup for Event
impl MessageGroup for Request
impl MessageGroup for Request
impl MessageGroup for Event
impl MessageGroup for Event
impl MessageGroup for Request
impl MessageGroup for Request
impl MessageGroup for Event
impl MessageGroup for Event
impl MessageGroup for Request
impl MessageGroup for Request
impl MessageGroup for Event
impl MessageGroup for Event
impl MessageGroup for Request
impl MessageGroup for Request
impl MessageGroup for Event
impl MessageGroup for Event
impl MessageGroup for Request
impl MessageGroup for Request
impl MessageGroup for Event
impl MessageGroup for Event
impl MessageGroup for Request
impl MessageGroup for Request
impl MessageGroup for Event
impl MessageGroup for Event
impl MessageGroup for Request
impl MessageGroup for Request
impl MessageGroup for Event
impl MessageGroup for Event
impl MessageGroup for Request
impl MessageGroup for Request
impl MessageGroup for Event
impl MessageGroup for Event
impl MessageGroup for Request
impl MessageGroup for Request
impl MessageGroup for Event
impl MessageGroup for Event
impl MessageGroup for Request
impl MessageGroup for Request
impl MessageGroup for Event
impl MessageGroup for Event