From 3e2bb7985c9b768ed64a523a726069f27741b33c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Marc-Andr=C3=A9=20Lureau?= Date: Tue, 27 Feb 2024 15:39:54 +0400 Subject: [PATCH] Update to zbus 4 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Marc-André Lureau --- Cargo.toml | 4 +--- qemu-display/src/audio.rs | 8 ++++---- qemu-display/src/chardev.rs | 12 ++++++------ qemu-display/src/clipboard.rs | 9 +++------ qemu-display/src/console.rs | 16 ++++++++-------- qemu-display/src/console_listener.rs | 17 ++++++++--------- qemu-display/src/keyboard.rs | 6 +++--- qemu-display/src/mouse.rs | 6 +++--- qemu-display/src/usbredir.rs | 2 +- qemu-display/src/vm.rs | 8 +++----- qemu-vnc/src/main.rs | 2 +- 11 files changed, 41 insertions(+), 49 deletions(-) diff --git a/Cargo.toml b/Cargo.toml index 6664e11..9e2a426 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -13,10 +13,8 @@ resolver = "2" [workspace.dependencies] qemu-display = { path = "qemu-display", version = "0.1" } keycodemap = { path = "keycodemap", version = "0.1" } -zbus = "4" +zbus = { version = "4", features = ["p2p"] } [patch.crates-io] -zbus = { git = "https://github.com/dbus2/zbus.git" } -zvariant = { git = "https://github.com/dbus2/zbus.git" } vnc = { git = "https://github.com/elmarco/rust-vnc", branch = "server" } rdw4 = { git = "https://gitlab.gnome.org/malureau/rdw.git" } diff --git a/qemu-display/src/audio.rs b/qemu-display/src/audio.rs index 8db3fc6..601f54c 100644 --- a/qemu-display/src/audio.rs +++ b/qemu-display/src/audio.rs @@ -6,7 +6,7 @@ use std::os::unix::net::UnixStream; use uds_windows::UnixStream; #[cfg(unix)] use zbus::zvariant::Fd; -use zbus::{dbus_interface, dbus_proxy, Connection}; +use zbus::Connection; use crate::{util, Result}; @@ -51,7 +51,7 @@ pub struct Volume { pub volume: Vec, } -#[dbus_proxy( +#[zbus::proxy( default_service = "org.qemu", default_path = "/org/qemu/Display1/Audio", interface = "org.qemu.Display1.Audio" @@ -92,7 +92,7 @@ struct AudioOutListener { handler: H, } -#[dbus_interface(name = "org.qemu.Display1.AudioOutListener")] +#[zbus::interface(name = "org.qemu.Display1.AudioOutListener")] impl AudioOutListener { /// Init method async fn init( @@ -170,7 +170,7 @@ struct AudioInListener { handler: H, } -#[dbus_interface(name = "org.qemu.Display1.AudioInListener")] +#[zbus::interface(name = "org.qemu.Display1.AudioInListener")] impl AudioInListener { /// Init method async fn init( diff --git a/qemu-display/src/chardev.rs b/qemu-display/src/chardev.rs index 1c48a9e..061ed0b 100644 --- a/qemu-display/src/chardev.rs +++ b/qemu-display/src/chardev.rs @@ -3,11 +3,11 @@ use crate::win32::Fd; use std::convert::TryFrom; #[cfg(unix)] use zbus::zvariant::Fd; -use zbus::{dbus_proxy, zvariant::ObjectPath}; +use zbus::zvariant::ObjectPath; use crate::Result; -#[dbus_proxy(default_service = "org.qemu", interface = "org.qemu.Display1.Chardev")] +#[zbus::proxy(default_service = "org.qemu", interface = "org.qemu.Display1.Chardev")] pub trait Chardev { /// Register method fn register(&self, stream: Fd<'_>) -> zbus::Result<()>; @@ -16,19 +16,19 @@ pub trait Chardev { fn send_break(&self) -> zbus::Result<()>; /// Echo property - #[dbus_proxy(property)] + #[zbus(property)] fn echo(&self) -> zbus::Result; /// FEOpened property - #[dbus_proxy(property, name = "FEOpened")] + #[zbus(property, name = "FEOpened")] fn fe_opened(&self) -> zbus::Result; /// Name property - #[dbus_proxy(property)] + #[zbus(property)] fn name(&self) -> zbus::Result; /// Owner property - #[dbus_proxy(property)] + #[zbus(property)] fn owner(&self) -> zbus::Result; } diff --git a/qemu-display/src/clipboard.rs b/qemu-display/src/clipboard.rs index acffb4a..876c58d 100644 --- a/qemu-display/src/clipboard.rs +++ b/qemu-display/src/clipboard.rs @@ -1,9 +1,6 @@ use serde_repr::{Deserialize_repr, Serialize_repr}; use std::convert::TryFrom; -use zbus::{ - dbus_interface, dbus_proxy, - zvariant::{ObjectPath, Type}, -}; +use zbus::zvariant::{ObjectPath, Type}; use crate::Result; @@ -15,7 +12,7 @@ pub enum ClipboardSelection { Secondary, } -#[dbus_proxy( +#[zbus::proxy( default_service = "org.qemu", default_path = "/org/qemu/Display1/Clipboard", interface = "org.qemu.Display1.Clipboard" @@ -58,7 +55,7 @@ pub(crate) struct ClipboardListener { handler: H, } -#[dbus_interface(name = "org.qemu.Display1.Clipboard")] +#[zbus::interface(name = "org.qemu.Display1.Clipboard")] impl ClipboardListener { async fn register(&mut self) { self.handler.register().await; diff --git a/qemu-display/src/console.rs b/qemu-display/src/console.rs index af1e1ec..409962d 100644 --- a/qemu-display/src/console.rs +++ b/qemu-display/src/console.rs @@ -7,7 +7,7 @@ use std::{cell::RefCell, convert::TryFrom}; use uds_windows::UnixStream; #[cfg(unix)] use zbus::zvariant::Fd; -use zbus::{dbus_proxy, zvariant::ObjectPath, Connection}; +use zbus::{zvariant::ObjectPath, Connection}; use crate::{util, ConsoleListener, ConsoleListenerHandler, KeyboardProxy, MouseProxy, Result}; #[cfg(windows)] @@ -16,13 +16,13 @@ use crate::{ ConsoleListenerMapHandler, }; -#[dbus_proxy(default_service = "org.qemu", interface = "org.qemu.Display1.Console")] +#[zbus::proxy(default_service = "org.qemu", interface = "org.qemu.Display1.Console")] pub trait Console { /// RegisterListener method fn register_listener(&self, listener: Fd<'_>) -> zbus::Result<()>; /// SetUIInfo method - #[dbus_proxy(name = "SetUIInfo")] + #[zbus(name = "SetUIInfo")] fn set_ui_info( &self, width_mm: u16, @@ -33,19 +33,19 @@ pub trait Console { height: u32, ) -> zbus::Result<()>; - #[dbus_proxy(property)] + #[zbus(property)] fn label(&self) -> zbus::Result; - #[dbus_proxy(property)] + #[zbus(property)] fn head(&self) -> zbus::Result; - #[dbus_proxy(property)] + #[zbus(property)] fn type_(&self) -> zbus::Result; - #[dbus_proxy(property)] + #[zbus(property)] fn width(&self) -> zbus::Result; - #[dbus_proxy(property)] + #[zbus(property)] fn height(&self) -> zbus::Result; } diff --git a/qemu-display/src/console_listener.rs b/qemu-display/src/console_listener.rs index 48b1dec..dec59e2 100644 --- a/qemu-display/src/console_listener.rs +++ b/qemu-display/src/console_listener.rs @@ -4,7 +4,6 @@ use derivative::Derivative; use std::ops::Drop; #[cfg(unix)] use std::os::unix::io::{AsRawFd, IntoRawFd, RawFd}; -use zbus::dbus_interface; #[cfg(unix)] use zbus::zvariant::Fd; @@ -160,7 +159,7 @@ pub(crate) struct ConsoleListener { handler: H, } -#[dbus_interface(name = "org.qemu.Display1.Listener")] +#[zbus::interface(name = "org.qemu.Display1.Listener")] impl ConsoleListener { async fn scanout( &mut self, @@ -205,7 +204,7 @@ impl ConsoleListener { } #[cfg(not(unix))] - #[dbus_interface(name = "ScanoutDMABUF")] + #[zbus(name = "ScanoutDMABUF")] async fn scanout_dmabuf( &mut self, _fd: Fd<'_>, @@ -222,7 +221,7 @@ impl ConsoleListener { } #[cfg(unix)] - #[dbus_interface(name = "ScanoutDMABUF")] + #[zbus(name = "ScanoutDMABUF")] async fn scanout_dmabuf( &mut self, fd: Fd<'_>, @@ -249,7 +248,7 @@ impl ConsoleListener { } #[cfg(not(unix))] - #[dbus_interface(name = "UpdateDMABUF")] + #[zbus(name = "UpdateDMABUF")] async fn update_dmabuf(&mut self, _x: i32, _y: i32, _w: i32, _h: i32) -> zbus::fdo::Result<()> { Err(zbus::fdo::Error::NotSupported( "DMABUF is not support on !unix".into(), @@ -257,7 +256,7 @@ impl ConsoleListener { } #[cfg(unix)] - #[dbus_interface(name = "UpdateDMABUF")] + #[zbus(name = "UpdateDMABUF")] async fn update_dmabuf(&mut self, x: i32, y: i32, w: i32, h: i32) -> zbus::fdo::Result<()> { self.handler .update_dmabuf(UpdateDMABUF { x, y, w, h }) @@ -292,7 +291,7 @@ impl ConsoleListener { .await; } - #[dbus_interface(property)] + #[zbus(property)] fn interfaces(&self) -> Vec { self.handler.interfaces() } @@ -325,7 +324,7 @@ pub(crate) struct ConsoleListenerMap { } #[cfg(windows)] -#[dbus_interface(name = "org.qemu.Display1.Listener.Win32.Map")] +#[zbus::interface(name = "org.qemu.Display1.Listener.Win32.Map")] impl ConsoleListenerMap { async fn scanout_map( &mut self, @@ -377,7 +376,7 @@ pub(crate) struct ConsoleListenerD3d11 { } #[cfg(windows)] -#[dbus_interface(name = "org.qemu.Display1.Listener.Win32.D3d11")] +#[zbus::interface(name = "org.qemu.Display1.Listener.Win32.D3d11")] impl ConsoleListenerD3d11 { async fn scanout_texture2d( &mut self, diff --git a/qemu-display/src/keyboard.rs b/qemu-display/src/keyboard.rs index 86ddf64..45dc501 100644 --- a/qemu-display/src/keyboard.rs +++ b/qemu-display/src/keyboard.rs @@ -1,6 +1,6 @@ use enumflags2::{bitflags, BitFlags}; use serde::{Deserialize, Serialize}; -use zbus::{dbus_proxy, zvariant::Type}; +use zbus::zvariant::Type; #[bitflags] #[repr(u32)] @@ -11,7 +11,7 @@ pub enum KeyboardModifiers { Caps = 0x4, } -#[dbus_proxy(default_service = "org.qemu", interface = "org.qemu.Display1.Keyboard")] +#[zbus::proxy(default_service = "org.qemu", interface = "org.qemu.Display1.Keyboard")] pub trait Keyboard { /// Press method fn press(&self, keycode: u32) -> zbus::Result<()>; @@ -19,6 +19,6 @@ pub trait Keyboard { /// Release method fn release(&self, keycode: u32) -> zbus::Result<()>; - #[dbus_proxy(property)] + #[zbus(property)] fn modifiers(&self) -> zbus::Result>; } diff --git a/qemu-display/src/mouse.rs b/qemu-display/src/mouse.rs index 9454831..adedbb5 100644 --- a/qemu-display/src/mouse.rs +++ b/qemu-display/src/mouse.rs @@ -1,5 +1,5 @@ use serde_repr::{Deserialize_repr, Serialize_repr}; -use zbus::{dbus_proxy, zvariant::Type}; +use zbus::zvariant::Type; #[repr(u32)] #[derive(Deserialize_repr, Serialize_repr, Type, Debug, Hash, PartialEq, Eq, Clone, Copy)] @@ -13,7 +13,7 @@ pub enum MouseButton { Extra, } -#[dbus_proxy(default_service = "org.qemu", interface = "org.qemu.Display1.Mouse")] +#[zbus::proxy(default_service = "org.qemu", interface = "org.qemu.Display1.Mouse")] pub trait Mouse { /// Press method fn press(&self, button: MouseButton) -> zbus::Result<()>; @@ -27,6 +27,6 @@ pub trait Mouse { /// RelMotion method fn rel_motion(&self, dx: i32, dy: i32) -> zbus::Result<()>; - #[dbus_proxy(property)] + #[zbus(property)] fn is_absolute(&self) -> zbus::Result; } diff --git a/qemu-display/src/usbredir.rs b/qemu-display/src/usbredir.rs index 37babbd..2db6872 100644 --- a/qemu-display/src/usbredir.rs +++ b/qemu-display/src/usbredir.rs @@ -78,7 +78,7 @@ impl DeviceHandler for Handler { } #[cfg(unix)] -#[zbus::dbus_proxy( +#[zbus::proxy( interface = "org.freedesktop.usbredir1", default_service = "org.freedesktop.usbredir1", default_path = "/org/freedesktop/usbredir1" diff --git a/qemu-display/src/vm.rs b/qemu-display/src/vm.rs index 5d301c4..72e8ade 100644 --- a/qemu-display/src/vm.rs +++ b/qemu-display/src/vm.rs @@ -1,16 +1,14 @@ -use zbus::dbus_proxy; - -#[dbus_proxy( +#[zbus::proxy( default_service = "org.qemu", interface = "org.qemu.Display1.VM", default_path = "/org/qemu/Display1/VM" )] pub trait VM { /// Name property - #[dbus_proxy(property)] + #[zbus(property)] fn name(&self) -> zbus::Result; /// UUID property - #[dbus_proxy(property)] + #[zbus(property)] fn uuid(&self) -> zbus::Result; } diff --git a/qemu-vnc/src/main.rs b/qemu-vnc/src/main.rs index 0a55ca0..af4e1fa 100644 --- a/qemu-vnc/src/main.rs +++ b/qemu-vnc/src/main.rs @@ -321,7 +321,7 @@ impl Server { } fn stop_console(&self) -> Result<(), Box> { - let mut inner = self.inner.lock().unwrap(); + let inner = self.inner.lock().unwrap(); inner.console.unregister_listener(); Ok(()) }