pub struct WpDrmLeaseRequestV1 { /* private fields */ }
Expand description
DRM lease request
A client that wishes to lease DRM resources will attach the list of connectors advertised with wp_drm_lease_device_v1.connector that they wish to lease, then use wp_drm_lease_request_v1.submit to submit the request.
This interface has no events.
Implementations§
source§impl WpDrmLeaseRequestV1
impl WpDrmLeaseRequestV1
sourcepub fn request_connector(&self, connector: &WpDrmLeaseConnectorV1)
pub fn request_connector(&self, connector: &WpDrmLeaseConnectorV1)
request a connector for this lease
Indicates that the client would like to lease the given connector. This is only used as a suggestion, the compositor may choose to include any resources in the lease it issues, or change the set of leased resources at any time. Compositors are however encouraged to include the requested connector and other resources necessary to drive the connected output in the lease.
Requesting a connector that was created from a different lease device than this lease request raises the wrong_device error. Requesting a connector twice will raise the duplicate_connector error.
sourcepub fn submit<U: Send + Sync + 'static, D: Dispatch<WpDrmLeaseV1, U> + 'static>(
&self,
qh: &QueueHandle<D>,
udata: U,
) -> WpDrmLeaseV1
pub fn submit<U: Send + Sync + 'static, D: Dispatch<WpDrmLeaseV1, U> + 'static>( &self, qh: &QueueHandle<D>, udata: U, ) -> WpDrmLeaseV1
submit the lease request
Submits the lease request and creates a new wp_drm_lease_v1 object. After calling submit the compositor will immediately destroy this object, issuing any more requests will cause a wl_display error. The compositor doesn’t make any guarantees about the events of the lease object, clients cannot expect an immediate response. Not requesting any connectors before submitting the lease request will raise the empty_lease error.
Trait Implementations§
source§impl Borrow<ObjectId> for WpDrmLeaseRequestV1
impl Borrow<ObjectId> for WpDrmLeaseRequestV1
source§impl Clone for WpDrmLeaseRequestV1
impl Clone for WpDrmLeaseRequestV1
source§fn clone(&self) -> WpDrmLeaseRequestV1
fn clone(&self) -> WpDrmLeaseRequestV1
1.0.0 · source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read moresource§impl Debug for WpDrmLeaseRequestV1
impl Debug for WpDrmLeaseRequestV1
source§impl Hash for WpDrmLeaseRequestV1
impl Hash for WpDrmLeaseRequestV1
source§impl PartialEq for WpDrmLeaseRequestV1
impl PartialEq for WpDrmLeaseRequestV1
source§impl Proxy for WpDrmLeaseRequestV1
impl Proxy for WpDrmLeaseRequestV1
source§fn data<U: Send + Sync + 'static>(&self) -> Option<&U>
fn data<U: Send + Sync + 'static>(&self) -> Option<&U>
source§fn object_data(&self) -> Option<&Arc<dyn ObjectData>>
fn object_data(&self) -> Option<&Arc<dyn ObjectData>>
source§fn backend(&self) -> &WeakBackend
fn backend(&self) -> &WeakBackend
source§fn send_request(&self, req: Self::Request<'_>) -> Result<(), InvalidId>
fn send_request(&self, req: Self::Request<'_>) -> Result<(), InvalidId>
source§fn send_constructor<I: Proxy>(
&self,
req: Self::Request<'_>,
data: Arc<dyn ObjectData>,
) -> Result<I, InvalidId>
fn send_constructor<I: Proxy>( &self, req: Self::Request<'_>, data: Arc<dyn ObjectData>, ) -> Result<I, InvalidId>
source§fn from_id(conn: &Connection, id: ObjectId) -> Result<Self, InvalidId>
fn from_id(conn: &Connection, id: ObjectId) -> Result<Self, InvalidId>
source§fn inert(backend: WeakBackend) -> Self
fn inert(backend: WeakBackend) -> Self
source§fn parse_event(
conn: &Connection,
msg: Message<ObjectId, OwnedFd>,
) -> Result<(Self, Self::Event), DispatchError>
fn parse_event( conn: &Connection, msg: Message<ObjectId, OwnedFd>, ) -> Result<(Self, Self::Event), DispatchError>
source§fn write_request<'a>(
&self,
conn: &Connection,
msg: Self::Request<'a>,
) -> Result<(Message<ObjectId, BorrowedFd<'a>>, Option<(&'static Interface, u32)>), InvalidId>
fn write_request<'a>( &self, conn: &Connection, msg: Self::Request<'a>, ) -> Result<(Message<ObjectId, BorrowedFd<'a>>, Option<(&'static Interface, u32)>), InvalidId>
impl Eq for WpDrmLeaseRequestV1
Auto Trait Implementations§
impl Freeze for WpDrmLeaseRequestV1
impl !RefUnwindSafe for WpDrmLeaseRequestV1
impl Send for WpDrmLeaseRequestV1
impl Sync for WpDrmLeaseRequestV1
impl Unpin for WpDrmLeaseRequestV1
impl !UnwindSafe for WpDrmLeaseRequestV1
Blanket Implementations§
source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
source§unsafe fn clone_to_uninit(&self, dst: *mut T)
unsafe fn clone_to_uninit(&self, dst: *mut T)
clone_to_uninit
)source§impl<T> Downcast for Twhere
T: Any,
impl<T> Downcast for Twhere
T: Any,
source§fn into_any(self: Box<T>) -> Box<dyn Any>
fn into_any(self: Box<T>) -> Box<dyn Any>
Box<dyn Trait>
(where Trait: Downcast
) to Box<dyn Any>
. Box<dyn Any>
can
then be further downcast
into Box<ConcreteType>
where ConcreteType
implements Trait
.source§fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
Rc<Trait>
(where Trait: Downcast
) to Rc<Any>
. Rc<Any>
can then be
further downcast
into Rc<ConcreteType>
where ConcreteType
implements Trait
.source§fn as_any(&self) -> &(dyn Any + 'static)
fn as_any(&self) -> &(dyn Any + 'static)
&Trait
(where Trait: Downcast
) to &Any
. This is needed since Rust cannot
generate &Any
’s vtable from &Trait
’s.source§fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
&mut Trait
(where Trait: Downcast
) to &Any
. This is needed since Rust cannot
generate &mut Any
’s vtable from &mut Trait
’s.