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}