mirror of
https://github.com/feschber/lan-mouse.git
synced 2026-03-15 17:20:54 +03:00
* reference count capture Multiple captures can now be created at the same position. Captures at the same position are reference counted. * update testcase will be required by #200 / #164
45 lines
1.0 KiB
Rust
45 lines
1.0 KiB
Rust
use std::task::Poll;
|
|
|
|
use async_trait::async_trait;
|
|
use futures_core::Stream;
|
|
|
|
use super::{error::X11InputCaptureCreationError, Capture, CaptureError, CaptureEvent, Position};
|
|
|
|
pub struct X11InputCapture {}
|
|
|
|
impl X11InputCapture {
|
|
pub fn new() -> std::result::Result<Self, X11InputCaptureCreationError> {
|
|
Err(X11InputCaptureCreationError::NotImplemented)
|
|
}
|
|
}
|
|
|
|
#[async_trait]
|
|
impl Capture for X11InputCapture {
|
|
async fn create(&mut self, _pos: Position) -> Result<(), CaptureError> {
|
|
Ok(())
|
|
}
|
|
|
|
async fn destroy(&mut self, _pos: Position) -> Result<(), CaptureError> {
|
|
Ok(())
|
|
}
|
|
|
|
async fn release(&mut self) -> Result<(), CaptureError> {
|
|
Ok(())
|
|
}
|
|
|
|
async fn terminate(&mut self) -> Result<(), CaptureError> {
|
|
Ok(())
|
|
}
|
|
}
|
|
|
|
impl Stream for X11InputCapture {
|
|
type Item = Result<(Position, CaptureEvent), CaptureError>;
|
|
|
|
fn poll_next(
|
|
self: std::pin::Pin<&mut Self>,
|
|
_cx: &mut std::task::Context<'_>,
|
|
) -> std::task::Poll<Option<Self::Item>> {
|
|
Poll::Pending
|
|
}
|
|
}
|