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§
Sourcetype Context: BackendContext
type Context: BackendContext
The type of the context being built by this builder.
Required Methods§
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,
Sourcefn check_up(&self) -> Option<BackendFeature<Self::Context, dyn CheckUp>>
fn check_up(&self) -> Option<BackendFeature<Self::Context, dyn CheckUp>>
Define the given backend feature.
Sourcefn add_folder(&self) -> Option<BackendFeature<Self::Context, dyn AddFolder>>
fn add_folder(&self) -> Option<BackendFeature<Self::Context, dyn AddFolder>>
Define the given backend feature.
Sourcefn list_folders(&self) -> Option<BackendFeature<Self::Context, dyn ListFolders>>
fn list_folders(&self) -> Option<BackendFeature<Self::Context, dyn ListFolders>>
Define the given backend feature.
Sourcefn expunge_folder(
&self,
) -> Option<BackendFeature<Self::Context, dyn ExpungeFolder>>
fn expunge_folder( &self, ) -> Option<BackendFeature<Self::Context, dyn ExpungeFolder>>
Define the given backend feature.
Sourcefn purge_folder(&self) -> Option<BackendFeature<Self::Context, dyn PurgeFolder>>
fn purge_folder(&self) -> Option<BackendFeature<Self::Context, dyn PurgeFolder>>
Define the given backend feature.
Sourcefn delete_folder(
&self,
) -> Option<BackendFeature<Self::Context, dyn DeleteFolder>>
fn delete_folder( &self, ) -> Option<BackendFeature<Self::Context, dyn DeleteFolder>>
Define the given backend feature.
Sourcefn get_envelope(&self) -> Option<BackendFeature<Self::Context, dyn GetEnvelope>>
fn get_envelope(&self) -> Option<BackendFeature<Self::Context, dyn GetEnvelope>>
Define the given backend feature.
Sourcefn list_envelopes(
&self,
) -> Option<BackendFeature<Self::Context, dyn ListEnvelopes>>
fn list_envelopes( &self, ) -> Option<BackendFeature<Self::Context, dyn ListEnvelopes>>
Define the given backend feature.
Sourcefn thread_envelopes(
&self,
) -> Option<BackendFeature<Self::Context, dyn ThreadEnvelopes>>
fn thread_envelopes( &self, ) -> Option<BackendFeature<Self::Context, dyn ThreadEnvelopes>>
Define the given backend feature.
Sourcefn watch_envelopes(
&self,
) -> Option<BackendFeature<Self::Context, dyn WatchEnvelopes>>
fn watch_envelopes( &self, ) -> Option<BackendFeature<Self::Context, dyn WatchEnvelopes>>
Define the given backend feature.
Sourcefn add_flags(&self) -> Option<BackendFeature<Self::Context, dyn AddFlags>>
fn add_flags(&self) -> Option<BackendFeature<Self::Context, dyn AddFlags>>
Define the given backend feature.
Sourcefn set_flags(&self) -> Option<BackendFeature<Self::Context, dyn SetFlags>>
fn set_flags(&self) -> Option<BackendFeature<Self::Context, dyn SetFlags>>
Define the given backend feature.
Sourcefn remove_flags(&self) -> Option<BackendFeature<Self::Context, dyn RemoveFlags>>
fn remove_flags(&self) -> Option<BackendFeature<Self::Context, dyn RemoveFlags>>
Define the given backend feature.
Sourcefn add_message(&self) -> Option<BackendFeature<Self::Context, dyn AddMessage>>
fn add_message(&self) -> Option<BackendFeature<Self::Context, dyn AddMessage>>
Define the given backend feature.
Sourcefn send_message(&self) -> Option<BackendFeature<Self::Context, dyn SendMessage>>
fn send_message(&self) -> Option<BackendFeature<Self::Context, dyn SendMessage>>
Define the given backend feature.
Sourcefn peek_messages(
&self,
) -> Option<BackendFeature<Self::Context, dyn PeekMessages>>
fn peek_messages( &self, ) -> Option<BackendFeature<Self::Context, dyn PeekMessages>>
Define the given backend feature.
Sourcefn get_messages(&self) -> Option<BackendFeature<Self::Context, dyn GetMessages>>
fn get_messages(&self) -> Option<BackendFeature<Self::Context, dyn GetMessages>>
Define the given backend feature.
Sourcefn copy_messages(
&self,
) -> Option<BackendFeature<Self::Context, dyn CopyMessages>>
fn copy_messages( &self, ) -> Option<BackendFeature<Self::Context, dyn CopyMessages>>
Define the given backend feature.
Sourcefn move_messages(
&self,
) -> Option<BackendFeature<Self::Context, dyn MoveMessages>>
fn move_messages( &self, ) -> Option<BackendFeature<Self::Context, dyn MoveMessages>>
Define the given backend feature.
Sourcefn delete_messages(
&self,
) -> Option<BackendFeature<Self::Context, dyn DeleteMessages>>
fn delete_messages( &self, ) -> Option<BackendFeature<Self::Context, dyn DeleteMessages>>
Define the given backend feature.
Sourcefn remove_messages(
&self,
) -> Option<BackendFeature<Self::Context, dyn RemoveMessages>>
fn remove_messages( &self, ) -> Option<BackendFeature<Self::Context, dyn RemoveMessages>>
Define the given backend feature.
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.