use atomcode_capabilities::cc_hooks::HookConfig;
pub trait PluginHookSource: Send + Sync {
fn load(&self) -> Result<Vec<HookConfig>, String>;
}
#[derive(Clone, Default)]
pub struct StaticPluginHookSource {
hooks: Vec<HookConfig>,
}
impl StaticPluginHookSource {
pub fn new(hooks: Vec<HookConfig>) -> Self {
Self { hooks }
}
}
impl PluginHookSource for StaticPluginHookSource {
fn load(&self) -> Result<Vec<HookConfig>, String> {
Ok(self.hooks.clone())
}
}