reactive_graph_plugin_service_impl/
proxy.rs1use std::sync::Arc;
2
3use async_trait::async_trait;
4
5use reactive_graph_plugin_api::Plugin;
6use reactive_graph_plugin_api::PluginActivationError;
7use reactive_graph_plugin_api::PluginDeactivationError;
8
9pub struct PluginProxy {
12 pub(crate) plugin: Box<Arc<dyn Plugin>>,
13}
14
15#[async_trait]
16impl Plugin for PluginProxy {
17 async fn activate(&self) -> Result<(), PluginActivationError> {
18 self.plugin.activate().await
19 }
20
21 async fn deactivate(&self) -> Result<(), PluginDeactivationError> {
22 self.plugin.deactivate().await
23 }
24}