default config filed

Signed-off-by: fufesou <shuanglongchen@yeah.net>
This commit is contained in:
fufesou 2023-03-01 11:55:56 +08:00
parent 24872578ec
commit 303462a87c
2 changed files with 21 additions and 10 deletions

View File

@ -0,0 +1,5 @@
extern crate hbb_common;
fn main() {
println!("{:?}", hbb_common::config::PeerConfig::load("455058072"));
}

View File

@ -110,10 +110,10 @@ macro_rules! serde_field_string {
} }
macro_rules! serde_field_bool { macro_rules! serde_field_bool {
($struct_name: ident, $field_name: literal, $func: ident) => { ($struct_name: ident, $field_name: literal, $func: ident, $default: literal) => {
#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)] #[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
pub struct $struct_name { pub struct $struct_name {
#[serde(rename = $field_name)] #[serde(default = $default, rename = $field_name)]
pub v: bool, pub v: bool,
} }
impl Default for $struct_name { impl Default for $struct_name {
@ -963,6 +963,7 @@ impl PeerConfig {
}; };
let c = PeerConfig::load(&id_decoded_string); let c = PeerConfig::load(&id_decoded_string);
log::info!("REMOVE ME ============================== peer config {:?}", &c);
if c.info.platform.is_empty() { if c.info.platform.is_empty() {
fs::remove_file(p).ok(); fs::remove_file(p).ok();
} }
@ -1037,32 +1038,37 @@ impl PeerConfig {
serde_field_bool!( serde_field_bool!(
ShowRemoteCursor, ShowRemoteCursor,
"show_remote_cursor", "show_remote_cursor",
default_show_remote_cursor default_show_remote_cursor,
"ShowRemoteCursor::default_show_remote_cursor"
); );
serde_field_bool!( serde_field_bool!(
ShowQualityMonitor, ShowQualityMonitor,
"show_quality_monitor", "show_quality_monitor",
default_show_quality_monitor default_show_quality_monitor,
"ShowQualityMonitor::default_show_quality_monitor"
); );
serde_field_bool!(DisableAudio, "disable_audio", default_disable_audio); serde_field_bool!(DisableAudio, "disable_audio", default_disable_audio, "DisableAudio::default_disable_audio");
serde_field_bool!( serde_field_bool!(
EnableFileTransfer, EnableFileTransfer,
"enable_file_transfer", "enable_file_transfer",
default_enable_file_transfer default_enable_file_transfer,
"EnableFileTransfer::default_enable_file_transfer"
); );
serde_field_bool!( serde_field_bool!(
DisableClipboard, DisableClipboard,
"disable_clipboard", "disable_clipboard",
default_disable_clipboard default_disable_clipboard,
"DisableClipboard::default_disable_clipboard"
); );
serde_field_bool!( serde_field_bool!(
LockAfterSessionEnd, LockAfterSessionEnd,
"lock_after_session_end", "lock_after_session_end",
default_lock_after_session_end default_lock_after_session_end,
"LockAfterSessionEnd::default_lock_after_session_end"
); );
serde_field_bool!(PrivacyMode, "privacy_mode", default_privacy_mode); serde_field_bool!(PrivacyMode, "privacy_mode", default_privacy_mode, "PrivacyMode::default_privacy_mode");
serde_field_bool!(AllowSwapKey, "allow_swap_key", default_swap_key); serde_field_bool!(AllowSwapKey, "allow_swap_key", default_allow_swap_key, "AllowSwapKey::default_allow_swap_key");
#[derive(Debug, Default, Serialize, Deserialize, Clone)] #[derive(Debug, Default, Serialize, Deserialize, Clone)]
pub struct LocalConfig { pub struct LocalConfig {