webarcade_api/
plugin.rs

1//! Plugin trait and metadata definitions
2
3use serde::{Deserialize, Serialize};
4
5/// Plugin metadata
6#[derive(Debug, Clone, Serialize, Deserialize)]
7pub struct PluginMetadata {
8    pub id: String,
9    pub name: String,
10    pub version: String,
11    pub description: String,
12    pub author: String,
13    pub dependencies: Vec<String>,
14}
15
16/// Plugin trait - all plugins must implement this
17pub trait Plugin: Send + Sync {
18    /// Get plugin metadata
19    fn metadata(&self) -> PluginMetadata;
20}