rust_cni/libcni/
plugin.rs

1// Copyright (c) 2024 https://github.com/divinerapier/cni-rs
2pub trait PluginInfo {
3    fn supported_versions(&self) -> Vec<String>;
4    fn encode<W: std::io::Write>(&self, w: W) -> super::ResultCNI<()>;
5}
6
7#[derive(serde::Serialize, serde::Deserialize)]
8struct PluginInfoT {
9    #[serde(rename = "cniVersion")]
10    cni_version: String,
11    #[serde(rename = "supportedVersions")]
12    supported_versions: Vec<String>,
13}
14
15impl PluginInfo for PluginInfoT {
16    fn supported_versions(&self) -> Vec<String> {
17        self.supported_versions.clone()
18    }
19
20    fn encode<W: std::io::Write>(&self, _w: W) -> super::ResultCNI<()> {
21        todo!()
22    }
23}