virtual_file_system/
macro.rs1#[macro_export]
2macro_rules! mount {
3
4 ( $virtual_file_system:expr, $task:expr, &[ $( (
5 $path:expr, $kind:expr, $device:expr) ),* $(,)? ] ) => {
6
7 async || -> Result<(), $crate::exported_file_system::Error>
8 {
9 $(
10 let __device = Box::leak(Box::new($device));
11 $virtual_file_system.mount_static($task, $path, ItemStatic::$kind(__device)).await?;
12
13 )*
14
15 Ok(())
16 }()
17};
18
19}
20
21#[macro_export]
22macro_rules! mount_static {
23 ( $virtual_file_system:expr, $task:expr, &[ $( ( $path:expr, $kind:ident, $device:expr ) ),* $(,)? ] ) => {
24 async || -> $crate::Result<()>
25 {
26 $(
27 let _ = $virtual_file_system.remove($task, $path).await;
28 $virtual_file_system.mount_static($task, $path, $crate::ItemStatic::$kind(&$device)).await?;
29
30 )*
31
32 Ok(())
33 }()
34};
35
36}