145 lines
4.3 KiB
Rust
145 lines
4.3 KiB
Rust
// This code was autogenerated with `dbus-codegen-rust -c blocking -m None`, see https://github.com/diwic/dbus-rs
|
|
use dbus;
|
|
#[allow(unused_imports)]
|
|
use dbus::arg;
|
|
use dbus::blocking;
|
|
|
|
pub trait OrgFreedesktopPortalScreenCast {
|
|
fn create_session(&self, options: arg::PropMap) -> Result<dbus::Path<'static>, dbus::Error>;
|
|
fn select_sources(
|
|
&self,
|
|
session_handle: dbus::Path,
|
|
options: arg::PropMap,
|
|
) -> Result<dbus::Path<'static>, dbus::Error>;
|
|
fn start(
|
|
&self,
|
|
session_handle: dbus::Path,
|
|
parent_window: &str,
|
|
options: arg::PropMap,
|
|
) -> Result<dbus::Path<'static>, dbus::Error>;
|
|
fn open_pipe_wire_remote(
|
|
&self,
|
|
session_handle: dbus::Path,
|
|
options: arg::PropMap,
|
|
) -> Result<arg::OwnedFd, dbus::Error>;
|
|
fn available_source_types(&self) -> Result<u32, dbus::Error>;
|
|
fn available_cursor_modes(&self) -> Result<u32, dbus::Error>;
|
|
fn version(&self) -> Result<u32, dbus::Error>;
|
|
}
|
|
|
|
impl<'a, T: blocking::BlockingSender, C: ::std::ops::Deref<Target = T>>
|
|
OrgFreedesktopPortalScreenCast for blocking::Proxy<'a, C>
|
|
{
|
|
fn create_session(&self, options: arg::PropMap) -> Result<dbus::Path<'static>, 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::Path<'static>, 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::Path<'static>, 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<arg::OwnedFd, dbus::Error> {
|
|
self.method_call(
|
|
"org.freedesktop.portal.ScreenCast",
|
|
"OpenPipeWireRemote",
|
|
(session_handle, options),
|
|
)
|
|
.map(|r: (arg::OwnedFd,)| r.0)
|
|
}
|
|
|
|
fn available_source_types(&self) -> Result<u32, dbus::Error> {
|
|
<Self as blocking::stdintf::org_freedesktop_dbus::Properties>::get(
|
|
&self,
|
|
"org.freedesktop.portal.ScreenCast",
|
|
"AvailableSourceTypes",
|
|
)
|
|
}
|
|
|
|
fn available_cursor_modes(&self) -> Result<u32, dbus::Error> {
|
|
<Self as blocking::stdintf::org_freedesktop_dbus::Properties>::get(
|
|
&self,
|
|
"org.freedesktop.portal.ScreenCast",
|
|
"AvailableCursorModes",
|
|
)
|
|
}
|
|
|
|
fn version(&self) -> Result<u32, dbus::Error> {
|
|
<Self as blocking::stdintf::org_freedesktop_dbus::Properties>::get(
|
|
&self,
|
|
"org.freedesktop.portal.ScreenCast",
|
|
"version",
|
|
)
|
|
}
|
|
}
|
|
|
|
pub trait OrgFreedesktopPortalRequest {
|
|
fn close(&self) -> Result<(), dbus::Error>;
|
|
}
|
|
|
|
impl<'a, T: blocking::BlockingSender, C: ::std::ops::Deref<Target = T>> OrgFreedesktopPortalRequest
|
|
for blocking::Proxy<'a, C>
|
|
{
|
|
fn close(&self) -> Result<(), dbus::Error> {
|
|
self.method_call("org.freedesktop.portal.Request", "Close", ())
|
|
}
|
|
}
|
|
|
|
#[derive(Debug)]
|
|
pub struct OrgFreedesktopPortalRequestResponse {
|
|
pub response: u32,
|
|
pub results: arg::PropMap,
|
|
}
|
|
|
|
impl arg::AppendAll for OrgFreedesktopPortalRequestResponse {
|
|
fn append(&self, i: &mut arg::IterAppend) {
|
|
arg::RefArg::append(&self.response, i);
|
|
arg::RefArg::append(&self.results, i);
|
|
}
|
|
}
|
|
|
|
impl arg::ReadAll for OrgFreedesktopPortalRequestResponse {
|
|
fn read(i: &mut arg::Iter) -> Result<Self, arg::TypeMismatchError> {
|
|
Ok(OrgFreedesktopPortalRequestResponse {
|
|
response: i.read()?,
|
|
results: i.read()?,
|
|
})
|
|
}
|
|
}
|
|
|
|
impl dbus::message::SignalArgs for OrgFreedesktopPortalRequestResponse {
|
|
const NAME: &'static str = "Response";
|
|
const INTERFACE: &'static str = "org.freedesktop.portal.Request";
|
|
}
|