Skip to main content

aionbot_core/
plugin.rs

1use crate::entry::Entry;
2
3#[derive(Default)]
4pub struct AionPlugin {
5    name: &'static str,
6    entries: Vec<Entry>,
7}
8
9impl AionPlugin {
10    pub fn new(name: &'static str) -> Self {
11        Self {
12            name,
13            ..Default::default()
14        }
15    }
16
17    pub fn name(&self) -> &'static str {
18        self.name
19    }
20
21    pub(crate) fn entries(&self) -> &[Entry] {
22        &self.entries
23    }
24
25    pub fn invoke_handler(mut self, entries: Vec<Entry>) -> Self {
26        self.entries.extend(entries);
27        self
28    }
29}