mod communication;
mod permissions;
mod r#type;
pub use communication::FileCommunication;
pub use permissions::FilePermissions;
pub use r#type::FileType;
#[derive(Copy, Clone, Debug, PartialEq)]
pub enum FileSettings {
Data {
communication: FileCommunication,
permissions: FilePermissions,
size: u32,
},
Backup {
communication: FileCommunication,
permissions: FilePermissions,
size: u32,
},
}
impl FileSettings {
pub fn type_(&self) -> FileType {
match self {
Self::Data { .. } => FileType::Data,
Self::Backup { .. } => FileType::Backup,
}
}
pub fn communication(&self) -> FileCommunication {
match self {
Self::Data { communication, .. } => *communication,
Self::Backup { communication, .. } => *communication,
}
}
pub fn permissions(&self) -> FilePermissions {
match self {
Self::Data { permissions, .. } => *permissions,
Self::Backup { permissions, .. } => *permissions,
}
}
}