pub trait SomeBackendContextBuilderMapper<CB>where
Self: BackendContextBuilder,
Self::Context: AsRef<Option<CB::Context>> + 'static,
CB: BackendContextBuilder,
CB::Context: BackendContext + 'static,{
Show 22 methods
// Provided methods
fn map_feature<T: ?Sized + 'static>(
&self,
f: Option<BackendFeature<CB::Context, T>>,
) -> Option<BackendFeature<Self::Context, T>> { ... }
fn check_up_with_some(
&self,
cb: &Option<CB>,
) -> Option<BackendFeature<Self::Context, dyn CheckUp>> { ... }
fn add_folder_with_some(
&self,
cb: &Option<CB>,
) -> Option<BackendFeature<Self::Context, dyn AddFolder>> { ... }
fn list_folders_with_some(
&self,
cb: &Option<CB>,
) -> Option<BackendFeature<Self::Context, dyn ListFolders>> { ... }
fn expunge_folder_with_some(
&self,
cb: &Option<CB>,
) -> Option<BackendFeature<Self::Context, dyn ExpungeFolder>> { ... }
fn purge_folder_with_some(
&self,
cb: &Option<CB>,
) -> Option<BackendFeature<Self::Context, dyn PurgeFolder>> { ... }
fn delete_folder_with_some(
&self,
cb: &Option<CB>,
) -> Option<BackendFeature<Self::Context, dyn DeleteFolder>> { ... }
fn get_envelope_with_some(
&self,
cb: &Option<CB>,
) -> Option<BackendFeature<Self::Context, dyn GetEnvelope>> { ... }
fn list_envelopes_with_some(
&self,
cb: &Option<CB>,
) -> Option<BackendFeature<Self::Context, dyn ListEnvelopes>> { ... }
fn thread_envelopes_with_some(
&self,
cb: &Option<CB>,
) -> Option<BackendFeature<Self::Context, dyn ThreadEnvelopes>> { ... }
fn watch_envelopes_with_some(
&self,
cb: &Option<CB>,
) -> Option<BackendFeature<Self::Context, dyn WatchEnvelopes>> { ... }
fn add_flags_with_some(
&self,
cb: &Option<CB>,
) -> Option<BackendFeature<Self::Context, dyn AddFlags>> { ... }
fn set_flags_with_some(
&self,
cb: &Option<CB>,
) -> Option<BackendFeature<Self::Context, dyn SetFlags>> { ... }
fn remove_flags_with_some(
&self,
cb: &Option<CB>,
) -> Option<BackendFeature<Self::Context, dyn RemoveFlags>> { ... }
fn add_message_with_some(
&self,
cb: &Option<CB>,
) -> Option<BackendFeature<Self::Context, dyn AddMessage>> { ... }
fn send_message_with_some(
&self,
cb: &Option<CB>,
) -> Option<BackendFeature<Self::Context, dyn SendMessage>> { ... }
fn peek_messages_with_some(
&self,
cb: &Option<CB>,
) -> Option<BackendFeature<Self::Context, dyn PeekMessages>> { ... }
fn get_messages_with_some(
&self,
cb: &Option<CB>,
) -> Option<BackendFeature<Self::Context, dyn GetMessages>> { ... }
fn copy_messages_with_some(
&self,
cb: &Option<CB>,
) -> Option<BackendFeature<Self::Context, dyn CopyMessages>> { ... }
fn move_messages_with_some(
&self,
cb: &Option<CB>,
) -> Option<BackendFeature<Self::Context, dyn MoveMessages>> { ... }
fn delete_messages_with_some(
&self,
cb: &Option<CB>,
) -> Option<BackendFeature<Self::Context, dyn DeleteMessages>> { ... }
fn remove_messages_with_some(
&self,
cb: &Option<CB>,
) -> Option<BackendFeature<Self::Context, dyn RemoveMessages>> { ... }
}
Expand description
Map a backend feature from subcontext B to context A.
This is useful when you have a context composed of multiple subcontexts. It prevents you to manually map the feature.
See a usage example at ../../tests/dynamic_backend.rs
.
Provided Methods§
fn map_feature<T: ?Sized + 'static>( &self, f: Option<BackendFeature<CB::Context, T>>, ) -> Option<BackendFeature<Self::Context, T>>
fn check_up_with_some( &self, cb: &Option<CB>, ) -> Option<BackendFeature<Self::Context, dyn CheckUp>>
fn add_folder_with_some( &self, cb: &Option<CB>, ) -> Option<BackendFeature<Self::Context, dyn AddFolder>>
fn list_folders_with_some( &self, cb: &Option<CB>, ) -> Option<BackendFeature<Self::Context, dyn ListFolders>>
fn expunge_folder_with_some( &self, cb: &Option<CB>, ) -> Option<BackendFeature<Self::Context, dyn ExpungeFolder>>
fn purge_folder_with_some( &self, cb: &Option<CB>, ) -> Option<BackendFeature<Self::Context, dyn PurgeFolder>>
fn delete_folder_with_some( &self, cb: &Option<CB>, ) -> Option<BackendFeature<Self::Context, dyn DeleteFolder>>
fn get_envelope_with_some( &self, cb: &Option<CB>, ) -> Option<BackendFeature<Self::Context, dyn GetEnvelope>>
fn list_envelopes_with_some( &self, cb: &Option<CB>, ) -> Option<BackendFeature<Self::Context, dyn ListEnvelopes>>
fn thread_envelopes_with_some( &self, cb: &Option<CB>, ) -> Option<BackendFeature<Self::Context, dyn ThreadEnvelopes>>
fn watch_envelopes_with_some( &self, cb: &Option<CB>, ) -> Option<BackendFeature<Self::Context, dyn WatchEnvelopes>>
fn add_flags_with_some( &self, cb: &Option<CB>, ) -> Option<BackendFeature<Self::Context, dyn AddFlags>>
fn set_flags_with_some( &self, cb: &Option<CB>, ) -> Option<BackendFeature<Self::Context, dyn SetFlags>>
fn remove_flags_with_some( &self, cb: &Option<CB>, ) -> Option<BackendFeature<Self::Context, dyn RemoveFlags>>
fn add_message_with_some( &self, cb: &Option<CB>, ) -> Option<BackendFeature<Self::Context, dyn AddMessage>>
fn send_message_with_some( &self, cb: &Option<CB>, ) -> Option<BackendFeature<Self::Context, dyn SendMessage>>
fn peek_messages_with_some( &self, cb: &Option<CB>, ) -> Option<BackendFeature<Self::Context, dyn PeekMessages>>
fn get_messages_with_some( &self, cb: &Option<CB>, ) -> Option<BackendFeature<Self::Context, dyn GetMessages>>
fn copy_messages_with_some( &self, cb: &Option<CB>, ) -> Option<BackendFeature<Self::Context, dyn CopyMessages>>
fn move_messages_with_some( &self, cb: &Option<CB>, ) -> Option<BackendFeature<Self::Context, dyn MoveMessages>>
fn delete_messages_with_some( &self, cb: &Option<CB>, ) -> Option<BackendFeature<Self::Context, dyn DeleteMessages>>
fn remove_messages_with_some( &self, cb: &Option<CB>, ) -> Option<BackendFeature<Self::Context, dyn RemoveMessages>>
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§
impl<CB1, CB2> SomeBackendContextBuilderMapper<CB2> for CB1where
CB1: BackendContextBuilder,
CB1::Context: AsRef<Option<CB2::Context>> + 'static,
CB2: BackendContextBuilder,
CB2::Context: BackendContext + 'static,
Automatically implement SomeBackendContextBuilderMapper
.