mod effect;
#[expect(unused_imports, reason = "Plugin effect api todo")]
pub use effect::*;
use crate::{DeserFromBuf, ReceivedMessage};
#[derive(Debug)]
pub struct PluginData {
name: String,
description: String,
version: String,
index: u32,
plugin_protocol_version: u32,
}
impl PluginData {
pub fn name(&self) -> &str {
&self.name
}
pub fn description(&self) -> &str {
&self.description
}
pub fn version(&self) -> &str {
&self.version
}
pub fn index(&self) -> u32 {
self.index
}
pub fn plugin_protocol_version(&self) -> u32 {
self.plugin_protocol_version
}
}
impl DeserFromBuf for PluginData {
fn deserialize(buf: &mut ReceivedMessage<'_>) -> crate::OpenRgbResult<Self> {
let name = buf.read_value()?;
let description = buf.read_value()?;
let version = buf.read_value()?;
let index = buf.read_value()?;
let plugin_protocol_version = buf.read_value()?;
Ok(PluginData {
name,
description,
version,
index,
plugin_protocol_version,
})
}
}