osquery_rust/plugin/_enums/
plugin.rs1use crate::_osquery as osquery;
2use crate::plugin::Table;
3use crate::plugin::{OsqueryPlugin, Registry};
4
5#[derive(Clone, Debug)]
6pub enum Plugin {
7 Config,
8 Logger,
9 Table(Table),
10}
11
12impl OsqueryPlugin for Plugin {
13 fn name(&self) -> String {
16 match self {
17 Plugin::Config => todo!(),
18 Plugin::Logger => todo!(),
19 Plugin::Table(t) => t.name(),
20 }
21 }
22
23 fn registry(&self) -> Registry {
25 match self {
26 Plugin::Config => Registry::Config,
27 Plugin::Logger => Registry::Logger,
28 Plugin::Table(_) => Registry::Table,
29 }
30 }
31
32 fn routes(&self) -> osquery::ExtensionPluginResponse {
36 match self {
37 Plugin::Config => {
38 todo!()
39 }
40 Plugin::Logger => {
41 todo!()
42 }
43 Plugin::Table(t) => t.routes(),
44 }
45 }
46
47 fn ping(&self) -> osquery::ExtensionStatus {
50 todo!()
51 }
52
53 fn call(&self, req: osquery::ExtensionPluginRequest) -> osquery::ExtensionResponse {
56 match self {
57 Plugin::Config => {
58 todo!()
59 }
60 Plugin::Logger => {
61 todo!()
62 }
63 Plugin::Table(t) => t.call(req),
64 }
65 }
66
67 fn shutdown(&self) {
69 todo!()
70 }
71}