ManageBackend

Trait ManageBackend 

Source
pub trait ManageBackend<'a> {
    type Backend: Backend;

    // Required methods
    fn open_backend(
        self,
        method: Option<StoreKeyMethod>,
        pass_key: PassKey<'a>,
        profile: Option<String>,
    ) -> BoxFuture<'a, Result<Self::Backend, Error>>;
    fn provision_backend(
        self,
        method: StoreKeyMethod,
        pass_key: PassKey<'a>,
        profile: Option<String>,
        recreate: bool,
    ) -> BoxFuture<'a, Result<Self::Backend, Error>>;
    fn remove_backend(self) -> BoxFuture<'a, Result<bool, Error>>;
}
Expand description

Create, open, or remove a generic backend implementation

Required Associated Types§

Source

type Backend: Backend

The type of backend being managed

Required Methods§

Source

fn open_backend( self, method: Option<StoreKeyMethod>, pass_key: PassKey<'a>, profile: Option<String>, ) -> BoxFuture<'a, Result<Self::Backend, Error>>

Open an existing store

Source

fn provision_backend( self, method: StoreKeyMethod, pass_key: PassKey<'a>, profile: Option<String>, recreate: bool, ) -> BoxFuture<'a, Result<Self::Backend, Error>>

Provision a new store

Source

fn remove_backend(self) -> BoxFuture<'a, Result<bool, Error>>

Remove an existing store

Implementations on Foreign Types§

Source§

impl<'a> ManageBackend<'a> for &'a str

Available on crate feature any only.
Source§

type Backend = AnyBackend

Source§

fn open_backend( self, method: Option<StoreKeyMethod>, pass_key: PassKey<'a>, profile: Option<String>, ) -> BoxFuture<'a, Result<Self::Backend, Error>>

Source§

fn provision_backend( self, method: StoreKeyMethod, pass_key: PassKey<'a>, profile: Option<String>, recreate: bool, ) -> BoxFuture<'a, Result<Self::Backend, Error>>

Source§

fn remove_backend(self) -> BoxFuture<'a, Result<bool, Error>>

Implementors§

Source§

impl<'a> ManageBackend<'a> for PostgresStoreOptions

Available on crate feature postgres only.
Source§

impl<'a> ManageBackend<'a> for SqliteStoreOptions

Available on crate feature sqlite only.