use crate::sink::ResourceSink; use crate::source::ResourceSource; /// Points to a resource. Think of it as a path. pub trait ResourceLocation { fn location(&self) -> String; } /// A concrete resource. Think of as a directory or a file pub trait Resource {} // A resource ready to be read. Think of it as a open file for reading pub trait ResourceInputStream: std::io::Read {} // A resource ready to be written. Think of it as a open file for reading pub trait ResourceOutputStream: std::io::Write {} pub type DynResource = Box; pub type DynResourceLocation = Box; pub type DynResourceInputStream = Box; pub type DynResourceOutputStream = Box;