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 {}