pub fn queue(proxy: &impl UntypedOwnedProxyWrapper) -> &QueueExpand description
Returns the queue of a proxy.
ยงExample
let lib = Libwayland::open().unwrap();
let con = lib.connect_to_default_display().unwrap();
let queue = con.create_queue(c"");
let display: WlDisplay = queue.display();
assert_eq!(proxy::queue(&display), &*queue);Examples found in repository?
More examples
examples/simple-window/../common/singletons.rs (line 59)
56pub fn get_singletons(display: &WlDisplay) -> Singletons {
57 let map = Mutex::new(HashMap::new());
58
59 let queue = proxy::queue(display);
60 let wl_registry = display.get_registry();
61
62 queue.dispatch_scope_blocking(|scope| {
63 scope.set_event_handler(
64 &wl_registry,
65 WlRegistry::on_global(|_, name, interface, version| {
66 map.lock().insert(interface.to_owned(), (name, version));
67 }),
68 );
69 queue.dispatch_roundtrip_blocking().unwrap();
70 });
71
72 Singletons {
73 wl_registry,
74 map: map.into_inner(),
75 }
76}
77
78pub async fn get_singletons_async(display: &WlDisplay) -> Singletons {
79 let map = Mutex::new(HashMap::new());
80
81 let queue = proxy::queue(display);
82 let wl_registry = display.get_registry();
83
84 queue
85 .dispatch_scope_async(async |scope| {
86 scope.set_event_handler(
87 &wl_registry,
88 WlRegistry::on_global(|_, name, interface, version| {
89 map.lock().insert(interface.to_owned(), (name, version));
90 }),
91 );
92 queue.dispatch_roundtrip_async().await.unwrap();
93 })
94 .await;
95
96 Singletons {
97 wl_registry,
98 map: map.into_inner(),
99 }
100}