ipc: implement ext-data-control
This commit is contained in:
parent
be1462d0ef
commit
4abbe94995
13 changed files with 575 additions and 3 deletions
|
|
@ -6,7 +6,10 @@ use {
|
|||
ext_image_capture_source_v1::ExtImageCaptureSourceV1,
|
||||
ext_image_copy::ext_image_copy_capture_session_v1::ExtImageCopyCaptureSessionV1,
|
||||
ipc::{
|
||||
data_control::zwlr_data_control_source_v1::ZwlrDataControlSourceV1,
|
||||
data_control::{
|
||||
ext_data_control_source_v1::ExtDataControlSourceV1,
|
||||
zwlr_data_control_source_v1::ZwlrDataControlSourceV1,
|
||||
},
|
||||
wl_data_source::WlDataSource,
|
||||
zwp_primary_selection_source_v1::ZwpPrimarySelectionSourceV1,
|
||||
},
|
||||
|
|
@ -35,7 +38,7 @@ use {
|
|||
copyhashmap::{CopyHashMap, Locked},
|
||||
},
|
||||
wire::{
|
||||
ExtForeignToplevelHandleV1Id, ExtImageCaptureSourceV1Id,
|
||||
ExtDataControlSourceV1Id, ExtForeignToplevelHandleV1Id, ExtImageCaptureSourceV1Id,
|
||||
ExtImageCopyCaptureSessionV1Id, JayOutputId, JayScreencastId, JayToplevelId,
|
||||
JayWorkspaceId, WlBufferId, WlDataSourceId, WlOutputId, WlPointerId, WlRegionId,
|
||||
WlRegistryId, WlSeatId, WlSurfaceId, WpDrmLeaseConnectorV1Id,
|
||||
|
|
@ -78,6 +81,7 @@ pub struct Objects {
|
|||
CopyHashMap<ExtForeignToplevelHandleV1Id, Rc<ExtForeignToplevelHandleV1>>,
|
||||
pub ext_copy_sessions:
|
||||
CopyHashMap<ExtImageCopyCaptureSessionV1Id, Rc<ExtImageCopyCaptureSessionV1>>,
|
||||
pub ext_data_sources: CopyHashMap<ExtDataControlSourceV1Id, Rc<ExtDataControlSourceV1>>,
|
||||
ids: RefCell<Vec<usize>>,
|
||||
}
|
||||
|
||||
|
|
@ -114,6 +118,7 @@ impl Objects {
|
|||
image_capture_sources: Default::default(),
|
||||
foreign_toplevel_handles: Default::default(),
|
||||
ext_copy_sessions: Default::default(),
|
||||
ext_data_sources: Default::default(),
|
||||
ids: RefCell::new(vec![]),
|
||||
}
|
||||
}
|
||||
|
|
@ -154,6 +159,7 @@ impl Objects {
|
|||
self.image_capture_sources.clear();
|
||||
self.foreign_toplevel_handles.clear();
|
||||
self.ext_copy_sessions.clear();
|
||||
self.ext_data_sources.clear();
|
||||
}
|
||||
|
||||
pub fn id<T>(&self, client_data: &Client) -> Result<T, ClientError>
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue