// This code was autogenerated with `dbus-codegen-rust -c blocking -m None`, see https://github.com/diwic/dbus-rs // https://github.com/flatpak/xdg-desktop-portal/blob/main/data/org.freedesktop.portal.ScreenCast.xml use dbus; #[allow(unused_imports)] use dbus::arg; use dbus::blocking; pub trait OrgFreedesktopPortalScreenCast { fn create_session(&self, options: arg::PropMap) -> Result, dbus::Error>; fn select_sources( &self, session_handle: dbus::Path, options: arg::PropMap, ) -> Result, dbus::Error>; fn start( &self, session_handle: dbus::Path, parent_window: &str, options: arg::PropMap, ) -> Result, dbus::Error>; fn open_pipe_wire_remote( &self, session_handle: dbus::Path, options: arg::PropMap, ) -> Result; fn available_source_types(&self) -> Result; fn available_cursor_modes(&self) -> Result; fn version(&self) -> Result; } impl<'a, T: blocking::BlockingSender, C: ::std::ops::Deref> OrgFreedesktopPortalScreenCast for blocking::Proxy<'a, C> { fn create_session(&self, options: arg::PropMap) -> Result, dbus::Error> { self.method_call( "org.freedesktop.portal.ScreenCast", "CreateSession", (options,), ) .map(|r: (dbus::Path<'static>,)| r.0) } fn select_sources( &self, session_handle: dbus::Path, options: arg::PropMap, ) -> Result, dbus::Error> { self.method_call( "org.freedesktop.portal.ScreenCast", "SelectSources", (session_handle, options), ) .map(|r: (dbus::Path<'static>,)| r.0) } fn start( &self, session_handle: dbus::Path, parent_window: &str, options: arg::PropMap, ) -> Result, dbus::Error> { self.method_call( "org.freedesktop.portal.ScreenCast", "Start", (session_handle, parent_window, options), ) .map(|r: (dbus::Path<'static>,)| r.0) } fn open_pipe_wire_remote( &self, session_handle: dbus::Path, options: arg::PropMap, ) -> Result { self.method_call( "org.freedesktop.portal.ScreenCast", "OpenPipeWireRemote", (session_handle, options), ) .map(|r: (arg::OwnedFd,)| r.0) } fn available_source_types(&self) -> Result { ::get( &self, "org.freedesktop.portal.ScreenCast", "AvailableSourceTypes", ) } fn available_cursor_modes(&self) -> Result { ::get( &self, "org.freedesktop.portal.ScreenCast", "AvailableCursorModes", ) } fn version(&self) -> Result { ::get( &self, "org.freedesktop.portal.ScreenCast", "version", ) } }