Trait BackendContextBuilder

Source
pub trait BackendContextBuilder:
    Clone
    + Send
    + Sync {
    type Context: BackendContext;

Show 26 methods // Required method fn build<'async_trait>( self, ) -> Pin<Box<dyn Future<Output = AnyResult<Self::Context>> + Send + 'async_trait>> where Self: 'async_trait; // Provided methods fn check<'life0, 'async_trait>( &'life0 self, ) -> Pin<Box<dyn Future<Output = AnyResult<()>> + Send + 'async_trait>> where Self: 'async_trait, 'life0: 'async_trait { ... } fn check_configuration(&self) -> AnyResult<()> { ... } fn configure<'life0, 'async_trait>( &'life0 mut self, ) -> Pin<Box<dyn Future<Output = AnyResult<()>> + Send + 'async_trait>> where Self: 'async_trait, 'life0: 'async_trait { ... } fn check_up(&self) -> Option<BackendFeature<Self::Context, dyn CheckUp>> { ... } fn add_folder(&self) -> Option<BackendFeature<Self::Context, dyn AddFolder>> { ... } fn list_folders( &self, ) -> Option<BackendFeature<Self::Context, dyn ListFolders>> { ... } fn expunge_folder( &self, ) -> Option<BackendFeature<Self::Context, dyn ExpungeFolder>> { ... } fn purge_folder( &self, ) -> Option<BackendFeature<Self::Context, dyn PurgeFolder>> { ... } fn delete_folder( &self, ) -> Option<BackendFeature<Self::Context, dyn DeleteFolder>> { ... } fn get_envelope( &self, ) -> Option<BackendFeature<Self::Context, dyn GetEnvelope>> { ... } fn list_envelopes( &self, ) -> Option<BackendFeature<Self::Context, dyn ListEnvelopes>> { ... } fn thread_envelopes( &self, ) -> Option<BackendFeature<Self::Context, dyn ThreadEnvelopes>> { ... } fn watch_envelopes( &self, ) -> Option<BackendFeature<Self::Context, dyn WatchEnvelopes>> { ... } fn add_flags(&self) -> Option<BackendFeature<Self::Context, dyn AddFlags>> { ... } fn set_flags(&self) -> Option<BackendFeature<Self::Context, dyn SetFlags>> { ... } fn remove_flags( &self, ) -> Option<BackendFeature<Self::Context, dyn RemoveFlags>> { ... } fn add_message( &self, ) -> Option<BackendFeature<Self::Context, dyn AddMessage>> { ... } fn send_message( &self, ) -> Option<BackendFeature<Self::Context, dyn SendMessage>> { ... } fn peek_messages( &self, ) -> Option<BackendFeature<Self::Context, dyn PeekMessages>> { ... } fn get_messages( &self, ) -> Option<BackendFeature<Self::Context, dyn GetMessages>> { ... } fn copy_messages( &self, ) -> Option<BackendFeature<Self::Context, dyn CopyMessages>> { ... } fn move_messages( &self, ) -> Option<BackendFeature<Self::Context, dyn MoveMessages>> { ... } fn delete_messages( &self, ) -> Option<BackendFeature<Self::Context, dyn DeleteMessages>> { ... } fn remove_messages( &self, ) -> Option<BackendFeature<Self::Context, dyn RemoveMessages>> { ... } fn try_to_sync_cache_builder( &self, account_config: &AccountConfig, ) -> Result<MaildirContextBuilder, Error> where Self: SyncHash { ... }
}
Expand description

The backend context builder.

This trait defines how a context should be built. It also defines default backend features implemented by the context itself.

Required Associated Types§

Source

type Context: BackendContext

The type of the context being built by this builder.

Required Methods§

Source

fn build<'async_trait>( self, ) -> Pin<Box<dyn Future<Output = AnyResult<Self::Context>> + Send + 'async_trait>>
where Self: 'async_trait,

Build the final context used by the backend.

Provided Methods§

Source

fn check<'life0, 'async_trait>( &'life0 self, ) -> Pin<Box<dyn Future<Output = AnyResult<()>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait,

Source

fn check_configuration(&self) -> AnyResult<()>

Source

fn configure<'life0, 'async_trait>( &'life0 mut self, ) -> Pin<Box<dyn Future<Output = AnyResult<()>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait,

Source

fn check_up(&self) -> Option<BackendFeature<Self::Context, dyn CheckUp>>

Define the given backend feature.

Source

fn add_folder(&self) -> Option<BackendFeature<Self::Context, dyn AddFolder>>

Define the given backend feature.

Source

fn list_folders(&self) -> Option<BackendFeature<Self::Context, dyn ListFolders>>

Define the given backend feature.

Source

fn expunge_folder( &self, ) -> Option<BackendFeature<Self::Context, dyn ExpungeFolder>>

Define the given backend feature.

Source

fn purge_folder(&self) -> Option<BackendFeature<Self::Context, dyn PurgeFolder>>

Define the given backend feature.

Source

fn delete_folder( &self, ) -> Option<BackendFeature<Self::Context, dyn DeleteFolder>>

Define the given backend feature.

Source

fn get_envelope(&self) -> Option<BackendFeature<Self::Context, dyn GetEnvelope>>

Define the given backend feature.

Source

fn list_envelopes( &self, ) -> Option<BackendFeature<Self::Context, dyn ListEnvelopes>>

Define the given backend feature.

Source

fn thread_envelopes( &self, ) -> Option<BackendFeature<Self::Context, dyn ThreadEnvelopes>>

Define the given backend feature.

Source

fn watch_envelopes( &self, ) -> Option<BackendFeature<Self::Context, dyn WatchEnvelopes>>

Define the given backend feature.

Source

fn add_flags(&self) -> Option<BackendFeature<Self::Context, dyn AddFlags>>

Define the given backend feature.

Source

fn set_flags(&self) -> Option<BackendFeature<Self::Context, dyn SetFlags>>

Define the given backend feature.

Source

fn remove_flags(&self) -> Option<BackendFeature<Self::Context, dyn RemoveFlags>>

Define the given backend feature.

Source

fn add_message(&self) -> Option<BackendFeature<Self::Context, dyn AddMessage>>

Define the given backend feature.

Source

fn send_message(&self) -> Option<BackendFeature<Self::Context, dyn SendMessage>>

Define the given backend feature.

Source

fn peek_messages( &self, ) -> Option<BackendFeature<Self::Context, dyn PeekMessages>>

Define the given backend feature.

Source

fn get_messages(&self) -> Option<BackendFeature<Self::Context, dyn GetMessages>>

Define the given backend feature.

Source

fn copy_messages( &self, ) -> Option<BackendFeature<Self::Context, dyn CopyMessages>>

Define the given backend feature.

Source

fn move_messages( &self, ) -> Option<BackendFeature<Self::Context, dyn MoveMessages>>

Define the given backend feature.

Source

fn delete_messages( &self, ) -> Option<BackendFeature<Self::Context, dyn DeleteMessages>>

Define the given backend feature.

Source

fn remove_messages( &self, ) -> Option<BackendFeature<Self::Context, dyn RemoveMessages>>

Define the given backend feature.

Source

fn try_to_sync_cache_builder( &self, account_config: &AccountConfig, ) -> Result<MaildirContextBuilder, Error>
where Self: SyncHash,

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§