Struct wayland_commons::map::Object
source · [−]pub struct Object<Meta: ObjectMetadata> {
pub interface: &'static str,
pub version: u32,
pub requests: &'static [MessageDesc],
pub events: &'static [MessageDesc],
pub meta: Meta,
pub childs_from_events: fn(_: u16, _: u32, _: &Meta) -> Option<Object<Meta>>,
pub childs_from_requests: fn(_: u16, _: u32, _: &Meta) -> Option<Object<Meta>>,
}
Expand description
The representation of a protocol object
Fields
interface: &'static str
Interface name of this object
version: u32
Version of this object
requests: &'static [MessageDesc]
Description of the requests of this object
events: &'static [MessageDesc]
Description of the events of this object
meta: Meta
Metadata associated to this object (ex: its event queue client side)
childs_from_events: fn(_: u16, _: u32, _: &Meta) -> Option<Object<Meta>>
A function which, from an opcode, a version, and the Meta, creates a child object associated with this event if any
childs_from_requests: fn(_: u16, _: u32, _: &Meta) -> Option<Object<Meta>>
A function which, from an opcode, a version, and the Meta, creates a child object associated with this request if any
Implementations
sourceimpl<Meta: ObjectMetadata> Object<Meta>
impl<Meta: ObjectMetadata> Object<Meta>
sourcepub fn from_interface<I: Interface>(version: u32, meta: Meta) -> Object<Meta>
pub fn from_interface<I: Interface>(version: u32, meta: Meta) -> Object<Meta>
Create an Object corresponding to given interface and version
sourcepub fn event_child(&self, opcode: u16) -> Option<Object<Meta>>
pub fn event_child(&self, opcode: u16) -> Option<Object<Meta>>
Create an optional Object
corresponding to the possible new_id
associated
with given event opcode
sourcepub fn request_child(&self, opcode: u16) -> Option<Object<Meta>>
pub fn request_child(&self, opcode: u16) -> Option<Object<Meta>>
Create an optional Object
corresponding to the possible new_id
associated
with given request opcode
sourcepub fn is_interface<I: Interface>(&self) -> bool
pub fn is_interface<I: Interface>(&self) -> bool
Check whether this object is of given interface
sourcepub fn placeholder(meta: Meta) -> Object<Meta>
pub fn placeholder(meta: Meta) -> Object<Meta>
Create a placeholder object that will be filled-in by the message logic
Trait Implementations
sourceimpl<Meta: Clone + ObjectMetadata> Clone for Object<Meta>
impl<Meta: Clone + ObjectMetadata> Clone for Object<Meta>
Auto Trait Implementations
impl<Meta> RefUnwindSafe for Object<Meta> where
Meta: RefUnwindSafe,
impl<Meta> Send for Object<Meta> where
Meta: Send,
impl<Meta> Sync for Object<Meta> where
Meta: Sync,
impl<Meta> Unpin for Object<Meta> where
Meta: Unpin,
impl<Meta> UnwindSafe for Object<Meta> where
Meta: UnwindSafe,
Blanket Implementations
sourceimpl<T> BorrowMut<T> for T where
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
const: unstable · sourcefn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more