webarcade-api 0.1.1

Plugin API for WebArcade - Build native desktop plugins with Rust
Documentation
//! Plugin trait and metadata definitions

use serde::{Deserialize, Serialize};

/// Plugin metadata
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct PluginMetadata {
    pub id: String,
    pub name: String,
    pub version: String,
    pub description: String,
    pub author: String,
    pub dependencies: Vec<String>,
}

/// Plugin trait - all plugins must implement this
pub trait Plugin: Send + Sync {
    /// Get plugin metadata
    fn metadata(&self) -> PluginMetadata;
}