diff --git a/src/provider.rs b/src/provider.rs index 27eb933..2853ec5 100644 --- a/src/provider.rs +++ b/src/provider.rs @@ -78,10 +78,16 @@ where } } - /// Returns the data source described as the `remote` - pub fn remote(&self) -> &R { &self.remote } - /// Returns the data source described as the `local` + /// Returns the data source described as `local` pub fn local(&self) -> &L { &self.local } + /// Returns the data source described as `local` + pub fn local_mut(&mut self) -> &mut L { &mut self.local } + /// Returns the data source described as `remote`. + /// + /// Apart in tests, there are very few (if any) reasons to access `remote` directly. + /// Usually, you should rather use the `local` source, which (usually) is a much faster local cache. + /// To be sure `local` accurately mirrors the `remote` source, you can run [`Provider::sync`] + pub fn remote(&self) -> &R { &self.remote } /// Performs a synchronisation between `local` and `remote`. /// diff --git a/src/traits.rs b/src/traits.rs index c3926eb..19d17bd 100644 --- a/src/traits.rs +++ b/src/traits.rs @@ -23,6 +23,8 @@ pub trait CalDavSource { /// Create a calendar if it did not exist, and return it async fn create_calendar(&mut self, id: CalendarId, name: String, supported_components: SupportedComponents) -> Result>, Box>; + + // Removing a calendar is not supported yet } /// This trait contains functions that are common to all calendars