pub trait FileSystem {
Show 16 methods
fn create_file(
&mut self,
path: String,
attribute: FileAttribute,
size: usize
) -> Result<()>;
fn delete_file(&mut self, path: String) -> Result<()>;
fn create_directory(&mut self, path: String) -> Result<()>;
fn delete_directory(&mut self, path: String) -> Result<()>;
fn delete_directory_recursively(&mut self, path: String) -> Result<()>;
fn rename_file(&mut self, old_path: String, new_path: String) -> Result<()>;
fn rename_directory(
&mut self,
old_path: String,
new_path: String
) -> Result<()>;
fn get_entry_type(&mut self, path: String) -> Result<DirectoryEntryType>;
fn open_file(
&mut self,
path: String,
mode: FileOpenMode
) -> Result<Shared<dyn File>>;
fn open_directory(
&mut self,
path: String,
mode: DirectoryOpenMode
) -> Result<Shared<dyn Directory>>;
fn commit(&mut self) -> Result<()>;
fn get_free_space_size(&mut self, path: String) -> Result<usize>;
fn get_total_space_size(&mut self, path: String) -> Result<usize>;
fn clean_directory_recursively(&mut self, path: String) -> Result<()>;
fn get_file_time_stamp_raw(
&mut self,
path: String
) -> Result<FileTimeStampRaw>;
fn query_entry(
&mut self,
path: String,
query_id: QueryId,
in_buf: *const u8,
in_buf_size: usize,
out_buf: *mut u8,
out_buf_size: usize
) -> Result<()>;
}