aboutsummaryrefslogtreecommitdiff
path: root/src/dbus/mutter_screen_cast.rs
diff options
context:
space:
mode:
authorbbb651 <bar.ye651@gmail.com>2024-12-10 01:58:26 +0200
committerIvan Molodetskikh <yalterz@gmail.com>2025-01-02 08:50:48 +0300
commit0113292cf6a77aea55739c7e779a891786aa35bd (patch)
tree1ded074e286b46bf6a622f320e3a53d9cf81d4f9 /src/dbus/mutter_screen_cast.rs
parent4741ab2e0465275d58c36db426b169c742d964cf (diff)
downloadniri-0113292cf6a77aea55739c7e779a891786aa35bd.tar.gz
niri-0113292cf6a77aea55739c7e779a891786aa35bd.tar.bz2
niri-0113292cf6a77aea55739c7e779a891786aa35bd.zip
Upgrade `zbus` and `async-io`
Diffstat (limited to 'src/dbus/mutter_screen_cast.rs')
-rw-r--r--src/dbus/mutter_screen_cast.rs31
1 files changed, 16 insertions, 15 deletions
diff --git a/src/dbus/mutter_screen_cast.rs b/src/dbus/mutter_screen_cast.rs
index 0aba084e..a19535ae 100644
--- a/src/dbus/mutter_screen_cast.rs
+++ b/src/dbus/mutter_screen_cast.rs
@@ -5,8 +5,9 @@ use std::sync::{Arc, Mutex};
use serde::Deserialize;
use zbus::fdo::RequestNameFlags;
+use zbus::object_server::{InterfaceRef, SignalEmitter};
use zbus::zvariant::{DeserializeDict, OwnedObjectPath, SerializeDict, Type, Value};
-use zbus::{dbus_interface, fdo, InterfaceRef, ObjectServer, SignalContext};
+use zbus::{fdo, interface, ObjectServer};
use super::Start;
use crate::backend::IpcOutputMap;
@@ -94,14 +95,14 @@ pub enum ScreenCastToNiri {
session_id: usize,
target: StreamTargetId,
cursor_mode: CursorMode,
- signal_ctx: SignalContext<'static>,
+ signal_ctx: SignalEmitter<'static>,
},
StopCast {
session_id: usize,
},
}
-#[dbus_interface(name = "org.gnome.Mutter.ScreenCast")]
+#[interface(name = "org.gnome.Mutter.ScreenCast")]
impl ScreenCast {
async fn create_session(
&self,
@@ -136,26 +137,26 @@ impl ScreenCast {
Ok(path)
}
- #[dbus_interface(property)]
+ #[zbus(property)]
async fn version(&self) -> i32 {
4
}
}
-#[dbus_interface(name = "org.gnome.Mutter.ScreenCast.Session")]
+#[interface(name = "org.gnome.Mutter.ScreenCast.Session")]
impl Session {
async fn start(&self) {
debug!("start");
for (stream, iface) in &*self.streams.lock().unwrap() {
- stream.start(self.id, iface.signal_context().clone());
+ stream.start(self.id, iface.signal_emitter().clone());
}
}
pub async fn stop(
&self,
#[zbus(object_server)] server: &ObjectServer,
- #[zbus(signal_context)] ctxt: SignalContext<'_>,
+ #[zbus(signal_context)] ctxt: SignalEmitter<'_>,
) {
debug!("stop");
@@ -175,7 +176,7 @@ impl Session {
let streams = mem::take(&mut *self.streams.lock().unwrap());
for (_, iface) in streams.iter() {
server
- .remove::<Stream, _>(iface.signal_context().path())
+ .remove::<Stream, _>(iface.signal_emitter().path())
.await
.unwrap();
}
@@ -264,17 +265,17 @@ impl Session {
Ok(path)
}
- #[dbus_interface(signal)]
- async fn closed(ctxt: &SignalContext<'_>) -> zbus::Result<()>;
+ #[zbus(signal)]
+ async fn closed(ctxt: &SignalEmitter<'_>) -> zbus::Result<()>;
}
-#[dbus_interface(name = "org.gnome.Mutter.ScreenCast.Stream")]
+#[interface(name = "org.gnome.Mutter.ScreenCast.Stream")]
impl Stream {
- #[dbus_interface(signal)]
- pub async fn pipe_wire_stream_added(ctxt: &SignalContext<'_>, node_id: u32)
+ #[zbus(signal)]
+ pub async fn pipe_wire_stream_added(ctxt: &SignalEmitter<'_>, node_id: u32)
-> zbus::Result<()>;
- #[dbus_interface(property)]
+ #[zbus(property)]
async fn parameters(&self) -> StreamParameters {
match &self.target {
StreamTarget::Output(output) => {
@@ -361,7 +362,7 @@ impl Stream {
}
}
- fn start(&self, session_id: usize, ctxt: SignalContext<'static>) {
+ fn start(&self, session_id: usize, ctxt: SignalEmitter<'static>) {
if self.was_started.load(Ordering::SeqCst) {
return;
}