reactive_graph_plugin_delegates/
web_resource_manager_impl.rs

1use std::sync::Arc;
2
3use async_trait::async_trait;
4use uuid::Uuid;
5
6use reactive_graph_plugin_api::WebResourceProvider;
7
8pub struct WebResourceManagerDelegate {
9    web_resource_manager: Arc<dyn reactive_graph_runtime_web_api::WebResourceManager + Send + Sync>,
10}
11
12impl WebResourceManagerDelegate {
13    pub fn new(web_resource_manager: Arc<dyn reactive_graph_runtime_web_api::WebResourceManager + Send + Sync>) -> Self {
14        Self { web_resource_manager }
15    }
16}
17
18#[async_trait]
19impl reactive_graph_plugin_api::WebResourceManager for WebResourceManagerDelegate {
20    async fn register_provider(&self, web_resource_provider: Arc<dyn WebResourceProvider>) {
21        self.web_resource_manager.register_provider(web_resource_provider).await;
22    }
23
24    async fn unregister_provider(&self, id: Uuid) {
25        self.web_resource_manager.unregister_provider(id).await;
26    }
27}