fix, build ios
Signed-off-by: fufesou <shuanglongchen@yeah.net>
This commit is contained in:
parent
24eb6f8c38
commit
839d3365f8
@ -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);
|
||||
|
@ -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);
|
||||
|
@ -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);
|
||||
}
|
||||
|
@ -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,
|
||||
|
@ -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,
|
||||
|
Loading…
x
Reference in New Issue
Block a user