更新进度条。更新覆盖保存开关。
Some checks failed
Release / Publish to Github Releases (, macos-latest, aarch64-apple-darwin, true) (push) Has been cancelled
Release / Publish to Github Releases (, macos-latest, x86_64-apple-darwin) (push) Has been cancelled
Release / Publish to Github Releases (, ubuntu-latest, aarch64-unknown-linux-musl, true) (push) Has been cancelled
Release / Publish to Github Releases (, ubuntu-latest, arm-unknown-linux-musleabihf, true) (push) Has been cancelled
Release / Publish to Github Releases (, ubuntu-latest, armv7-unknown-linux-musleabihf, true) (push) Has been cancelled
Release / Publish to Github Releases (, ubuntu-latest, i686-unknown-linux-musl, true) (push) Has been cancelled
Release / Publish to Github Releases (, ubuntu-latest, x86_64-unknown-linux-musl, true) (push) Has been cancelled
Release / Publish to Github Releases (, windows-latest, aarch64-pc-windows-msvc, true) (push) Has been cancelled
Release / Publish to Github Releases (, windows-latest, i686-pc-windows-msvc, true) (push) Has been cancelled
Release / Publish to Github Releases (, windows-latest, x86_64-pc-windows-msvc) (push) Has been cancelled
Release / Publish to crates.io (push) Has been cancelled
Some checks failed
Release / Publish to Github Releases (, macos-latest, aarch64-apple-darwin, true) (push) Has been cancelled
Release / Publish to Github Releases (, macos-latest, x86_64-apple-darwin) (push) Has been cancelled
Release / Publish to Github Releases (, ubuntu-latest, aarch64-unknown-linux-musl, true) (push) Has been cancelled
Release / Publish to Github Releases (, ubuntu-latest, arm-unknown-linux-musleabihf, true) (push) Has been cancelled
Release / Publish to Github Releases (, ubuntu-latest, armv7-unknown-linux-musleabihf, true) (push) Has been cancelled
Release / Publish to Github Releases (, ubuntu-latest, i686-unknown-linux-musl, true) (push) Has been cancelled
Release / Publish to Github Releases (, ubuntu-latest, x86_64-unknown-linux-musl, true) (push) Has been cancelled
Release / Publish to Github Releases (, windows-latest, aarch64-pc-windows-msvc, true) (push) Has been cancelled
Release / Publish to Github Releases (, windows-latest, i686-pc-windows-msvc, true) (push) Has been cancelled
Release / Publish to Github Releases (, windows-latest, x86_64-pc-windows-msvc) (push) Has been cancelled
Release / Publish to crates.io (push) Has been cancelled
This commit is contained in:
42
src/messager.rs
Normal file
42
src/messager.rs
Normal file
@ -0,0 +1,42 @@
|
||||
use crate::messager;
|
||||
use std::fmt::Debug;
|
||||
use std::sync::mpsc;
|
||||
pub struct Messager {
|
||||
name: String,
|
||||
sender: mpsc::Sender<messager::Message>,
|
||||
}
|
||||
|
||||
pub struct Message {
|
||||
pub name: String,
|
||||
pub signal: Signals,
|
||||
}
|
||||
|
||||
pub enum Signals {
|
||||
Start,
|
||||
Decrypt,
|
||||
Save,
|
||||
End,
|
||||
}
|
||||
|
||||
impl Messager {
|
||||
pub fn new(name: String, sender: mpsc::Sender<messager::Message>) -> Self {
|
||||
Self { name, sender }
|
||||
}
|
||||
pub fn send(&self, s: Signals) -> Result<(), std::sync::mpsc::SendError<messager::Message>> {
|
||||
self.sender.send(Message {
|
||||
name: self.name.clone(),
|
||||
signal: s,
|
||||
})
|
||||
}
|
||||
}
|
||||
impl Debug for Message {
|
||||
fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
|
||||
let message = match &self.signal {
|
||||
Signals::Start => "开始破解".to_string(),
|
||||
Signals::Decrypt => "开始解密".to_string(),
|
||||
Signals::Save => "保存文件".to_string(),
|
||||
Signals::End => "破解完成".to_string(),
|
||||
};
|
||||
write!(f, "[{}] {}", self.name, message)
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user