2023-09-04 16:29:41 -04:00
|
|
|
use super::FileAccessInterface;
|
|
|
|
use super::LocalFileAccessInterface;
|
2023-09-04 12:28:33 -04:00
|
|
|
use crate::types::Object;
|
|
|
|
|
2023-09-04 12:31:43 -04:00
|
|
|
// TODO: Ultimately, I think we'll need most of this: https://orgmode.org/manual/In_002dbuffer-Settings.html
|
|
|
|
|
2023-09-04 12:28:33 -04:00
|
|
|
#[derive(Debug, Clone)]
|
2023-09-04 13:26:11 -04:00
|
|
|
pub struct GlobalSettings<'g, 's> {
|
2023-09-04 12:28:33 -04:00
|
|
|
pub radio_targets: Vec<&'g Vec<Object<'s>>>,
|
2023-09-04 16:29:41 -04:00
|
|
|
pub file_access: &'g dyn FileAccessInterface,
|
2023-09-02 20:46:17 -04:00
|
|
|
}
|
|
|
|
|
2023-09-04 12:28:33 -04:00
|
|
|
impl<'g, 's> GlobalSettings<'g, 's> {
|
2023-09-04 16:29:41 -04:00
|
|
|
pub fn new() -> GlobalSettings<'g, 's> {
|
2023-09-04 12:28:33 -04:00
|
|
|
GlobalSettings {
|
|
|
|
radio_targets: Vec::new(),
|
2023-09-04 16:29:41 -04:00
|
|
|
file_access: &LocalFileAccessInterface,
|
2023-09-04 12:28:33 -04:00
|
|
|
}
|
2023-09-02 20:46:17 -04:00
|
|
|
}
|
|
|
|
}
|
|
|
|
|
2023-09-04 12:28:33 -04:00
|
|
|
impl<'g, 's> Default for GlobalSettings<'g, 's> {
|
2023-09-04 16:29:41 -04:00
|
|
|
fn default() -> GlobalSettings<'g, 's> {
|
2023-09-02 20:46:17 -04:00
|
|
|
GlobalSettings::new()
|
|
|
|
}
|
|
|
|
}
|