shadow_crypt_shell/encryption/
file.rs

1use std::path::PathBuf;
2
3use shadow_crypt_core::profile::SecurityProfile;
4
5use crate::memory::SecureString;
6
7#[derive(Debug, Clone, PartialEq, Eq)]
8pub struct EncryptionInputFile {
9    pub path: PathBuf,
10    pub filename: String,
11    pub size: u64,
12}
13
14pub struct EncryptionInput {
15    pub files: Vec<EncryptionInputFile>,
16    pub password: SecureString,
17    pub security_profile: SecurityProfile,
18    pub output_dir: PathBuf,
19}
20impl EncryptionInput {
21    pub fn new(
22        files: Vec<EncryptionInputFile>,
23        password: SecureString,
24        security_profile: SecurityProfile,
25        output_dir: PathBuf,
26    ) -> Self {
27        Self {
28            files,
29            password,
30            security_profile,
31            output_dir,
32        }
33    }
34}
35
36pub struct EncryptionOutputFile {
37    pub path: PathBuf,
38    pub filename: String,
39}