pars_core/pgp/
mod.rs

1#[allow(dead_code)]
2pub mod crypto;
3pub mod key_management;
4pub mod utils;
5
6use std::error::Error;
7use std::fmt::{Display, Formatter};
8
9#[derive(Debug)]
10pub struct PGPKey {
11    key_fpr: String,
12    username: String,
13    email: String,
14}
15
16pub struct PGPClient {
17    executable: String,
18    keys: Vec<PGPKey>,
19}
20
21#[derive(Debug)]
22pub enum PGPErr {
23    NoneFingerprint,
24    NoneUsername,
25    NoneEmail,
26    CannotTakeStdin,
27    CannotTakeStdout,
28    CannotTakeStderr,
29}
30
31impl Display for PGPErr {
32    fn fmt(&self, f: &mut Formatter<'_>) -> std::fmt::Result {
33        use PGPErr::*;
34
35        match self {
36            NoneFingerprint => write!(f, "Key fingerprint is None"),
37            NoneUsername => write!(f, "Username is None"),
38            NoneEmail => write!(f, "Email is None"),
39            CannotTakeStdin => write!(f, "Cannot take child's stdin"),
40            CannotTakeStdout => write!(f, "Cannot take child's stdout"),
41            CannotTakeStderr => write!(f, "Cannot take child's stderr"),
42        }
43    }
44}
45
46impl Error for PGPErr {}