falco_plugin/plugin/exported_tables/field/
private.rs1use crate::plugin::exported_tables::metadata::HasMetadata;
2use anyhow::Error;
3use std::ffi::CStr;
4use std::ops::{Deref, DerefMut};
5
6#[derive(Debug)]
18pub struct Private<T>(T);
19
20impl<T> Deref for Private<T> {
21 type Target = T;
22
23 fn deref(&self) -> &Self::Target {
24 &self.0
25 }
26}
27
28impl<T> DerefMut for Private<T> {
29 fn deref_mut(&mut self) -> &mut Self::Target {
30 &mut self.0
31 }
32}
33
34impl<T: Default> HasMetadata for Private<T> {
35 type Metadata = ();
36
37 fn new_with_metadata(_tag: &'static CStr, _meta: &Self::Metadata) -> Result<Self, Error> {
38 Ok(Self(T::default()))
39 }
40}