use crate::error;
use crate::tuple::hca::HcaError;
use crate::tuple::PackError;
use std::io;
#[derive(Debug)]
pub enum DirectoryError {
CannotModifyRootDirectory,
DirectoryPrefixInUse,
DirectoryDoesNotExists,
NoPathProvided,
DirAlreadyExists,
PathDoesNotExists,
ParentDirDoesNotExists,
IncompatibleLayer,
BadDestinationDirectory,
Version(String),
PrefixNotAllowed,
CannotPrefixInPartition,
CannotMoveRootDirectory,
CannotMoveBetweenPartition,
CannotMoveBetweenSubdirectory,
PrefixNotEmpty,
CannotCreateSubpath,
CannotOpenDirectoryPartition,
CannotGetKeyDirectoryPartition,
CannotPackDirectoryPartition,
CannotUnpackDirectoryPartition,
CannotRangeDirectoryPartition,
IoError(io::Error),
FdbError(error::FdbError),
HcaError(HcaError),
PackError(PackError),
Other(String),
}
impl From<error::FdbError> for DirectoryError {
fn from(err: error::FdbError) -> Self {
DirectoryError::FdbError(err)
}
}
impl From<HcaError> for DirectoryError {
fn from(err: HcaError) -> Self {
DirectoryError::HcaError(err)
}
}
impl From<PackError> for DirectoryError {
fn from(err: PackError) -> Self {
DirectoryError::PackError(err)
}
}