d3b6026bfd
- Filled empty libs/hbb_common/ submodule (cloned from rustdesk/hbb_common) - Patched Flutter 3.44 / Dart 3.12 compatibility: * flutter/lib/generated_bridge.dart: asTypedList with cast<>, DartPort=Int64 * flutter/lib/common.dart: DialogTheme->DialogThemeData, TabBarTheme->TabBarThemeData * flutter/pubspec.yaml: extended_text 14.0.0->15.0.2, google_fonts override 5.0.0 * flutter/macos/Runner/Configs/Release.xcconfig: EXCLUDED_ARCHS=x86_64 - Build verified: cargo check + cargo build --features flutter + cargo build --release --features flutter - Verified flutter build macos --debug and --release both produce working .app - Verified .dmg installer (27MB arm64) created via hdiutil - Build deps: Xcode 26.5, CocoaPods 1.16.2, Flutter 3.44, VCPKG arm64-osx
107 lines
3.3 KiB
Rust
107 lines
3.3 KiB
Rust
// 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::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",
|
|
)
|
|
}
|
|
}
|