refactor: move meta plugin finalization logic into meta plugins
Co-authored-by: aider (openai/andrew/openrouter/qwen/qwen3-coder) <aider@aider.chat>
This commit is contained in:
@@ -1,12 +1,12 @@
|
||||
use anyhow::Result;
|
||||
use std::io;
|
||||
use std::io::Write;
|
||||
use rusqlite::Connection;
|
||||
|
||||
pub mod program;
|
||||
pub mod digest;
|
||||
pub mod system;
|
||||
|
||||
|
||||
use crate::meta_plugin::program::MetaPluginProgram;
|
||||
use crate::meta_plugin::digest::{DigestSha256MetaPlugin, ReadTimeMetaPlugin, ReadRateMetaPlugin};
|
||||
use crate::meta_plugin::system::{CwdMetaPlugin, BinaryMetaPlugin, UidMetaPlugin, UserMetaPlugin, GidMetaPlugin, GroupMetaPlugin, ShellMetaPlugin, ShellPidMetaPlugin, KeepPidMetaPlugin, HostnameMetaPlugin, FullHostnameMetaPlugin};
|
||||
@@ -57,6 +57,22 @@ pub trait MetaPlugin {
|
||||
fn program_info(&self) -> Option<(&str, Vec<&str>)> {
|
||||
None
|
||||
}
|
||||
|
||||
// Initialize with database connection
|
||||
fn initialize(&mut self, _conn: &Connection, _item_id: i64) -> Result<()> {
|
||||
Ok(())
|
||||
}
|
||||
|
||||
// Save metadata to database
|
||||
fn save_meta(&self, conn: &Connection, item_id: i64, value: String) -> Result<()> {
|
||||
let meta = crate::db::Meta {
|
||||
id: item_id,
|
||||
name: self.meta_name(),
|
||||
value,
|
||||
};
|
||||
crate::db::store_meta(conn, meta)?;
|
||||
Ok(())
|
||||
}
|
||||
}
|
||||
|
||||
pub fn get_meta_plugin(meta_plugin_type: MetaPluginType) -> Box<dyn MetaPlugin> {
|
||||
@@ -83,4 +99,3 @@ pub fn get_meta_plugin(meta_plugin_type: MetaPluginType) -> Box<dyn MetaPlugin>
|
||||
MetaPluginType::FullHostname => Box::new(FullHostnameMetaPlugin::new()),
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user