reactive_graph_plugin_delegates/
web_resource_manager_impl.rs1use 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}