use crate::common::error::RustBertError;
use crate::resources::{Resource, ResourceProvider};
use std::path::PathBuf;
#[derive(PartialEq, Eq, Debug, Clone)]
pub struct LocalResource {
pub local_path: PathBuf,
}
impl ResourceProvider for LocalResource {
fn get_local_path(&self) -> Result<PathBuf, RustBertError> {
Ok(self.local_path.clone())
}
fn get_resource(&self) -> Result<Resource, RustBertError> {
Ok(Resource::PathBuf(self.local_path.clone()))
}
}
impl From<PathBuf> for LocalResource {
fn from(local_path: PathBuf) -> Self {
Self { local_path }
}
}
impl From<PathBuf> for Box<dyn ResourceProvider + Send> {
fn from(local_path: PathBuf) -> Self {
Box::new(LocalResource { local_path })
}
}