X-Git-Url: https://git.r.bdr.sh/rbdr/page/blobdiff_plain/4cbe65303a0e5d6060c3b608fb69181feda8b8d3..68fa37d61babe8d990ace5f9cb5a7de81eb57ea0:/src/file_handler/mod.rs diff --git a/src/file_handler/mod.rs b/src/file_handler/mod.rs index 64224ee..a106c27 100644 --- a/src/file_handler/mod.rs +++ b/src/file_handler/mod.rs @@ -58,7 +58,8 @@ impl FileHandler { pub fn handle(&self, source: &PathBuf, destination: &PathBuf, file: &File) { for strategy in self.strategies.iter() { if strategy.can_handle(&file.file_type) { - return strategy.handle(source, destination, file); + let layout = self.layout.as_ref().unwrap(); + return strategy.handle(source, destination, file, layout); } } } @@ -68,7 +69,7 @@ pub trait FileHandlerStrategy { fn is(&self, path: &PathBuf) -> bool; fn identify(&self) -> FileType; fn can_handle(&self, file_type: &FileType) -> bool; - fn handle(&self, source: &PathBuf, destination: &PathBuf, file: &File); + fn handle(&self, source: &PathBuf, destination: &PathBuf, file: &File, layout: &String); } pub enum FileType {