Trait VfsStore

Source
pub trait VfsStore<File, AppData> {
    // Required methods
    fn add_file(vfs: *mut sqlite3_vfs, file: &str, flags: i32) -> VfsResult<()>;
    fn contains_file(vfs: *mut sqlite3_vfs, file: &str) -> VfsResult<bool>;
    fn delete_file(vfs: *mut sqlite3_vfs, file: &str) -> VfsResult<()>;
    fn with_file<F: Fn(&File) -> i32>(
        vfs_file: &SQLiteVfsFile,
        f: F,
    ) -> VfsResult<i32>;
    fn with_file_mut<F: Fn(&mut File) -> i32>(
        vfs_file: &SQLiteVfsFile,
        f: F,
    ) -> VfsResult<i32>;

    // Provided methods
    unsafe fn app_data(vfs: *mut sqlite3_vfs) -> &'static VfsAppData<AppData> { ... }
    fn name2path(vfs: *mut sqlite3_vfs, file: &str) -> VfsResult<String> { ... }
}
Expand description

Make changes to files

Required Methods§

Source

fn add_file(vfs: *mut sqlite3_vfs, file: &str, flags: i32) -> VfsResult<()>

Adding files to the Store, use for xOpen and xAccess

Source

fn contains_file(vfs: *mut sqlite3_vfs, file: &str) -> VfsResult<bool>

Checks if the specified file exists in the Store, use for xOpen and xAccess

Source

fn delete_file(vfs: *mut sqlite3_vfs, file: &str) -> VfsResult<()>

Delete the specified file in the Store, use for xClose and xDelete

Source

fn with_file<F: Fn(&File) -> i32>( vfs_file: &SQLiteVfsFile, f: F, ) -> VfsResult<i32>

Read the file contents, use for xRead, xFileSize

Source

fn with_file_mut<F: Fn(&mut File) -> i32>( vfs_file: &SQLiteVfsFile, f: F, ) -> VfsResult<i32>

Write the file contents, use for xWrite, xTruncate and xSync

Provided Methods§

Source

unsafe fn app_data(vfs: *mut sqlite3_vfs) -> &'static VfsAppData<AppData>

Convert pAppData to the type we need

§Safety

As long as it is set through the abstract VFS interface, it is safe

Source

fn name2path(vfs: *mut sqlite3_vfs, file: &str) -> VfsResult<String>

Get file path, use for xOpen

Dyn Compatibility§

This trait is not dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.

Implementors§