(
&mut self,
name: &str,
add: &FileAcls,
remove: &FileAcls,
)
| 82 | } |
| 83 | |
| 84 | async fn update_acls( |
| 85 | &mut self, |
| 86 | name: &str, |
| 87 | add: &FileAcls, |
| 88 | remove: &FileAcls, |
| 89 | ) -> io::Result<()> { |
| 90 | let readers = match self.programs.get_mut(name) { |
| 91 | Some((_content, readers)) => readers, |
| 92 | None => return Err(io::Error::new(io::ErrorKind::NotFound, "Entry not found")), |
| 93 | }; |
| 94 | for reader in remove.readers() { |
| 95 | readers.remove(reader); |
| 96 | } |
| 97 | for reader in add.readers() { |
| 98 | readers.insert(reader.to_owned()); |
| 99 | } |
| 100 | Ok(()) |
| 101 | } |
| 102 | } |
| 103 | |
| 104 | /// Factory for in-memory drives. |