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}
15pub struct PGPClient {
16    executable: String,
17    keys: Vec<PGPKey>,
18}
19
20#[derive(Debug)]
21pub enum PGPErr {
22    NoneFingerprint,
23    NoneUsername,
24    NoneEmail,
25    CannotTakeStdin,
26    CannotTakeStdout,
27    CannotTakeStderr,
28}
29
30impl Display for PGPErr {
31    fn fmt(&self, f: &mut Formatter<'_>) -> std::fmt::Result {
32        use PGPErr::*;
33
34        match self {
35            NoneFingerprint => write!(f, "Key fingerprint is None"),
36            NoneUsername => write!(f, "Username is None"),
37            NoneEmail => write!(f, "Email is None"),
38            CannotTakeStdin => write!(f, "Cannot take child's stdin"),
39            CannotTakeStdout => write!(f, "Cannot take child's stdout"),
40            CannotTakeStderr => write!(f, "Cannot take child's stderr"),
41        }
42    }
43}
44
45impl Error for PGPErr {}