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