bitwarden_core/platform/
state_client.rs1use std::sync::Arc;
2
3use bitwarden_state::{
4 registry::RepositoryNotFoundError,
5 repository::{Repository, RepositoryItem},
6};
7
8use crate::Client;
9
10pub struct StateClient {
12 pub(crate) client: Client,
13}
14
15impl StateClient {
16 pub fn register_client_managed<T: 'static + Repository<V>, V: RepositoryItem>(
18 &self,
19 store: Arc<T>,
20 ) {
21 self.client
22 .internal
23 .repository_map
24 .register_client_managed(store)
25 }
26
27 pub fn get_client_managed<T: RepositoryItem>(
29 &self,
30 ) -> Result<Arc<dyn Repository<T>>, RepositoryNotFoundError> {
31 self.client.internal.repository_map.get_client_managed()
32 }
33}