This commit is contained in:
rustdesk 2023-02-09 16:54:26 +08:00
parent ea7748a25d
commit 4f25b03a10
2 changed files with 34 additions and 29 deletions

View File

@ -1,5 +1,8 @@
use crate::ui_session_interface::{io_loop, InvokeUiSession, Session}; use crate::{
use crate::{client::*, flutter_ffi::EventToUI}; client::*,
flutter_ffi::EventToUI,
ui_session_interface::{io_loop, InvokeUiSession, Session},
};
use flutter_rust_bridge::{StreamSink, ZeroCopyBuffer}; use flutter_rust_bridge::{StreamSink, ZeroCopyBuffer};
use hbb_common::{ use hbb_common::{
bail, config::LocalConfig, get_version_number, message_proto::*, rendezvous_proto::ConnType, bail, config::LocalConfig, get_version_number, message_proto::*, rendezvous_proto::ConnType,
@ -549,11 +552,15 @@ pub mod connection_manager {
let mut h: HashMap<&str, &str> = event.iter().cloned().collect(); let mut h: HashMap<&str, &str> = event.iter().cloned().collect();
assert!(h.get("name").is_none()); assert!(h.get("name").is_none());
h.insert("name", name); h.insert("name", name);
if let Some(s) = GLOBAL_EVENT_STREAM.read().unwrap().get(super::APP_TYPE_CM) { if let Some(s) = GLOBAL_EVENT_STREAM.read().unwrap().get(super::APP_TYPE_CM) {
s.add(serde_json::ser::to_string(&h).unwrap_or("".to_owned())); s.add(serde_json::ser::to_string(&h).unwrap_or("".to_owned()));
} else { } else {
println!("Push event {} failed. No {} event stream found.", name, super::APP_TYPE_CM); println!(
"Push event {} failed. No {} event stream found.",
name,
super::APP_TYPE_CM
);
}; };
} }
} }

View File

@ -1,27 +1,25 @@
use std::{collections::HashMap, ffi::{CStr, CString}, os::raw::c_char};
use std::str::FromStr;
#[cfg(any(target_os = "linux", target_os = "macos", target_os = "android"))]
use std::thread;
use flutter_rust_bridge::{StreamSink, SyncReturn, ZeroCopyBuffer};
use serde_json::json;
use hbb_common::{
config::{self, LocalConfig, ONLINE, PeerConfig},
fs, log,
};
use hbb_common::message_proto::KeyboardMode;
use hbb_common::ResultType;
use crate::{ use crate::{
client::file_trait::FileManager, client::file_trait::FileManager,
common::make_fd_to_json, common::make_fd_to_json,
common::{get_default_sound_input, is_keyboard_mode_supported},
flutter::{self, SESSIONS},
flutter::{session_add, session_start_}, flutter::{session_add, session_start_},
ui_interface::{self, *},
};
use flutter_rust_bridge::{StreamSink, SyncReturn, ZeroCopyBuffer};
use hbb_common::{
config::{self, LocalConfig, PeerConfig, ONLINE},
fs, log,
message_proto::KeyboardMode,
ResultType,
};
use serde_json::json;
use std::{
collections::HashMap,
ffi::{CStr, CString},
os::raw::c_char,
str::FromStr,
}; };
use crate::common::{get_default_sound_input, is_keyboard_mode_supported};
use crate::flutter::{self, SESSIONS};
use crate::ui_interface::{self, *};
// use crate::hbbs_http::account::AuthResult; // use crate::hbbs_http::account::AuthResult;
@ -931,7 +929,7 @@ pub fn main_start_dbus_server() {
{ {
use crate::dbus::start_dbus_server; use crate::dbus::start_dbus_server;
// spawn new thread to start dbus server // spawn new thread to start dbus server
thread::spawn(|| { std::thread::spawn(|| {
let _ = start_dbus_server(); let _ = start_dbus_server();
}); });
} }
@ -1278,7 +1276,7 @@ pub fn main_is_login_wayland() -> SyncReturn<bool> {
pub fn main_start_pa() { pub fn main_start_pa() {
#[cfg(target_os = "linux")] #[cfg(target_os = "linux")]
thread::spawn(crate::ipc::start_pa); std::thread::spawn(crate::ipc::start_pa);
} }
pub fn main_hide_docker() -> SyncReturn<bool> { pub fn main_hide_docker() -> SyncReturn<bool> {
@ -1298,7 +1296,7 @@ pub fn cm_start_listen_ipc_thread() {
/// * macOS only /// * macOS only
pub fn main_start_ipc_url_server() { pub fn main_start_ipc_url_server() {
#[cfg(target_os = "macos")] #[cfg(target_os = "macos")]
thread::spawn(move || crate::server::start_ipc_url_server()); std::thread::spawn(move || crate::server::start_ipc_url_server());
} }
/// Send a url scheme throught the ipc. /// Send a url scheme throught the ipc.
@ -1307,16 +1305,16 @@ pub fn main_start_ipc_url_server() {
#[allow(unused_variables)] #[allow(unused_variables)]
pub fn send_url_scheme(_url: String) { pub fn send_url_scheme(_url: String) {
#[cfg(target_os = "macos")] #[cfg(target_os = "macos")]
thread::spawn(move || crate::ui::macos::handle_url_scheme(_url)); std::thread::spawn(move || crate::ui::macos::handle_url_scheme(_url));
} }
#[cfg(target_os = "android")] #[cfg(target_os = "android")]
pub mod server_side { pub mod server_side {
use hbb_common::log; use hbb_common::log;
use jni::{ use jni::{
JNIEnv,
objects::{JClass, JString}, objects::{JClass, JString},
sys::jstring, sys::jstring,
JNIEnv,
}; };
use crate::start_server; use crate::start_server;
@ -1327,7 +1325,7 @@ pub mod server_side {
_class: JClass, _class: JClass,
) { ) {
log::debug!("startServer from java"); log::debug!("startServer from java");
thread::spawn(move || start_server(true)); std::thread::spawn(move || start_server(true));
} }
#[no_mangle] #[no_mangle]