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