use std::sync::Arc;
use super::{AbsolutePath, SourcePath};
#[derive(Debug)]
pub struct Instruction {
pub defined_in: Arc<AbsolutePath>,
pub kind: InstructionKind,
}
#[derive(Debug)]
pub enum InstructionKind {
Link {
source_path: Arc<AbsolutePath>,
destination_path: Arc<AbsolutePath>,
},
Copy {
source_path: Arc<AbsolutePath>,
destination_path: Arc<AbsolutePath>,
},
}
#[derive(Debug)]
pub struct Command {
pub defined_in: Arc<AbsolutePath>,
pub kind: CommandKind,
}
#[derive(Debug)]
pub enum CommandKind {
Link {
source_path: SourcePath,
destination_path: Arc<AbsolutePath>,
},
Copy {
source_path: SourcePath,
destination_path: Arc<AbsolutePath>,
},
}