fix, build ios

Signed-off-by: fufesou <shuanglongchen@yeah.net>
This commit is contained in:
fufesou 2023-11-14 22:29:12 +08:00
parent 24eb6f8c38
commit 839d3365f8
5 changed files with 16 additions and 14 deletions

View File

@ -5,6 +5,7 @@ use std::{
#[cfg(not(windows))]
use std::{fs::File, io::prelude::*};
use crate::privacy_mode::PrivacyModeState;
use bytes::Bytes;
use parity_tokio_ipc::{
Connection as Conn, ConnectionClient as ConnClient, Endpoint, Incoming, SecurityAttributes,
@ -30,14 +31,6 @@ use hbb_common::{
use crate::{common::is_server, privacy_mode, rendezvous_mediator::RendezvousMediator};
// State with timestamp, because std::time::Instant cannot be serialized
#[derive(Debug, Serialize, Deserialize, Clone)]
#[serde(tag = "t", content = "c")]
pub enum PrivacyModeState {
OffSucceeded,
OffByPeer,
OffUnknown,
}
// IPC actions here.
pub const IPC_ACTION_CLOSE: &str = "close";
pub static EXIT_RECV_CLOSE: AtomicBool = AtomicBool::new(true);

View File

@ -1,14 +1,15 @@
#[cfg(all(windows, feature = "virtual_display_driver"))]
use crate::platform::is_installed;
use crate::ui_interface::get_option;
#[cfg(windows)]
use crate::{
display_service,
ipc::{connect, Data},
};
use crate::{ipc::PrivacyModeState, ui_interface::get_option};
#[cfg(windows)]
use hbb_common::tokio;
use hbb_common::{anyhow::anyhow, bail, lazy_static, ResultType};
use serde_derive::{Deserialize, Serialize};
use std::{
collections::HashMap,
sync::{Arc, Mutex},
@ -37,6 +38,14 @@ pub const PRIVACY_MODE_IMPL_WIN_MAG: &str = win_mag::PRIVACY_MODE_IMPL;
#[cfg(all(windows, feature = "virtual_display_driver"))]
pub const PRIVACY_MODE_IMPL_WIN_VIRTUAL_DISPLAY: &str = win_virtual_display::PRIVACY_MODE_IMPL;
#[derive(Debug, Serialize, Deserialize, Clone)]
#[serde(tag = "t", content = "c")]
pub enum PrivacyModeState {
OffSucceeded,
OffByPeer,
OffUnknown,
}
pub trait PrivacyMode: Sync + Send {
fn init(&self) -> ResultType<()>;
fn clear(&mut self);

View File

@ -207,7 +207,7 @@ pub extern "system" fn privacy_mode_hook_keyboard(
// Ctrl + P is pressed, turn off privacy mode
if let Some(Err(e)) = super::turn_off_privacy(
super::INVALID_PRIVACY_MODE_CONN_ID,
Some(crate::ipc::PrivacyModeState::OffByPeer),
Some(super::PrivacyModeState::OffByPeer),
) {
log::error!("Failed to off_privacy {}", e);
}

View File

@ -1,5 +1,5 @@
use super::{PrivacyMode, INVALID_PRIVACY_MODE_CONN_ID};
use crate::{ipc::PrivacyModeState, platform::windows::get_user_token};
use crate::{platform::windows::get_user_token, privacy_mode::PrivacyModeState};
use hbb_common::{allow_err, bail, log, ResultType};
use std::{
ffi::CString,

View File

@ -507,21 +507,21 @@ impl Connection {
}
ipc::Data::PrivacyModeState((_, state, impl_key)) => {
let msg_out = match state {
ipc::PrivacyModeState::OffSucceeded => {
privacy_mode::PrivacyModeState::OffSucceeded => {
video_service::set_privacy_mode_conn_id(0);
crate::common::make_privacy_mode_msg(
back_notification::PrivacyModeState::PrvOffSucceeded,
impl_key,
)
}
ipc::PrivacyModeState::OffByPeer => {
privacy_mode::PrivacyModeState::OffByPeer => {
video_service::set_privacy_mode_conn_id(0);
crate::common::make_privacy_mode_msg(
back_notification::PrivacyModeState::PrvOffByPeer,
impl_key,
)
}
ipc::PrivacyModeState::OffUnknown => {
privacy_mode::PrivacyModeState::OffUnknown => {
video_service::set_privacy_mode_conn_id(0);
crate::common::make_privacy_mode_msg(
back_notification::PrivacyModeState::PrvOffUnknown,