Trait wayland_backend::rs::server::ObjectData [−][src]
pub trait ObjectData<D>: DowncastSync {
fn request(
self: Arc<Self>,
handle: &mut Handle<D>,
data: &mut D,
client_id: ClientId,
msg: Message<ObjectId>
) -> Option<Arc<dyn ObjectData<D>>>;
fn destroyed(&self, client_id: ClientId, object_id: ObjectId);
fn debug(&self, f: &mut Formatter<'_>) -> Result { ... }
}Expand description
A trait representing your data associated to an object
You will only be given access to it as a & reference, so you
need to handle interior mutability by yourself.
The methods of this trait will be invoked internally every time a new object is created to initialize its data.
Required methods
Dispatch a request for the associated object
If the request has a NewId argument, the callback must return the object data for the newly created object
Provided methods
Implementations
Returns true if the trait object wraps an object of type __T.
Returns a boxed object from a boxed trait object if the underlying object is of type
__T. Returns the original boxed trait if it isn’t.
Returns an Rc-ed object from an Rc-ed trait object if the underlying object is of
type __T. Returns the original Rc-ed trait if it isn’t.
Returns a reference to the object within the trait object if it is of type __T, or
None if it isn’t.
Returns a mutable reference to the object within the trait object if it is of type
__T, or None if it isn’t.
pub fn downcast_arc<__T: ObjectData<D>>(
self: Arc<Self>
) -> Result<Arc<__T>, Arc<Self>> where
__T: Any + Send + Sync,
pub fn downcast_arc<__T: ObjectData<D>>(
self: Arc<Self>
) -> Result<Arc<__T>, Arc<Self>> where
__T: Any + Send + Sync,
Returns an Arc-ed object from an Arc-ed trait object if the underlying object is of
type __T. Returns the original Arc-ed trait if it isn’t.
