Changed signature of insert_calendar
This commit is contained in:
parent
707d764e6b
commit
f18b1acc0f
3 changed files with 8 additions and 7 deletions
|
@ -183,12 +183,13 @@ impl CalDavSource<CachedCalendar> for Cache {
|
|||
self.data.calendars.get(id).map(|arc| arc.clone())
|
||||
}
|
||||
|
||||
async fn insert_calendar(&mut self, new_calendar: CachedCalendar) -> Result<(), Box<dyn Error>> {
|
||||
async fn insert_calendar(&mut self, new_calendar: CachedCalendar) -> Result<Arc<Mutex<CachedCalendar>>, Box<dyn Error>> {
|
||||
let id = new_calendar.id().clone();
|
||||
log::debug!("Inserting local calendar {}", id);
|
||||
match self.data.calendars.insert(id, Arc::new(Mutex::new(new_calendar))) {
|
||||
let arc = Arc::new(Mutex::new(new_calendar));
|
||||
match self.data.calendars.insert(id, arc.clone()) {
|
||||
Some(_) => Err("Attempt to insert calendar failed: there is alredy such a calendar.".into()),
|
||||
None => Ok(()) ,
|
||||
None => Ok(arc) ,
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -231,8 +231,8 @@ impl CalDavSource<RemoteCalendar> for Client {
|
|||
.map(|cal| cal.clone())
|
||||
}
|
||||
|
||||
async fn insert_calendar(&mut self, new_calendar: RemoteCalendar) -> Result<(), Box<dyn Error>> {
|
||||
Err("Not implemented".into())
|
||||
async fn insert_calendar(&mut self, _new_calendar: RemoteCalendar) -> Result<Arc<Mutex<RemoteCalendar>>, Box<dyn Error>> {
|
||||
todo!();
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -17,8 +17,8 @@ pub trait CalDavSource<T: BaseCalendar> {
|
|||
async fn get_calendars(&self) -> Result<HashMap<CalendarId, Arc<Mutex<T>>>, Box<dyn Error>>;
|
||||
/// Returns the calendar matching the ID
|
||||
async fn get_calendar(&self, id: &CalendarId) -> Option<Arc<Mutex<T>>>;
|
||||
/// Insert a calendar if it did not exist
|
||||
async fn insert_calendar(&mut self, new_calendar: T) -> Result<(), Box<dyn Error>>;
|
||||
/// Insert a calendar if it did not exist, and return it
|
||||
async fn insert_calendar(&mut self, new_calendar: T) -> Result<Arc<Mutex<T>>, Box<dyn Error>>;
|
||||
}
|
||||
|
||||
/// This trait contains functions that are common to all calendars
|
||||
|
|
Loading…
Add table
Reference in a new issue