client_dispatcher.rs

 1use std::sync::Arc;
 2
 3use wayland_client::{Connection, EventQueue};
 4
 5use crate::platform::linux::client_dispatcher::ClientDispatcher;
 6
 7pub(crate) struct WaylandClientDispatcher {
 8    conn: Arc<Connection>,
 9    event_queue: Arc<EventQueue<Connection>>,
10}
11
12impl WaylandClientDispatcher {
13    pub(crate) fn new(conn: &Arc<Connection>) -> Self {
14        let event_queue = conn.new_event_queue();
15        Self {
16            conn: Arc::clone(conn),
17            event_queue: Arc::new(event_queue),
18        }
19    }
20}
21
22impl Drop for WaylandClientDispatcher {
23    fn drop(&mut self) {
24        //todo!(linux)
25    }
26}
27
28impl ClientDispatcher for WaylandClientDispatcher {
29    fn dispatch_on_main_thread(&self) {}
30}