use wayland_client::{Connection, EventQueue, Dispatch};
use crate::error::{DisplayError, DisplayResult};
use super::displmgr_wlr_sys::*;
pub fn fetch_wlr_topology() -> DisplayResult<WlrGlobalState> {
let conn = Connection::connect_to_env()
.map_err(|e| DisplayError::ConnectionFailed)?;
let display = conn.display();
let mut event_queue = conn.new_event_queue();
let qh = event_queue.handle();
let state = WlrGlobalState {
manager: None, heads: Vec::new(),
};
event_queue.roundtrip(&mut state)
.map_err(|e| DisplayError::BackendError(e.to_string()))?;
Ok(state)
}