pub trait TypedComponentInstanceProvider {
// Required methods
fn primary_instance_typed<T: Injectable + ?Sized>(
&mut self
) -> Result<ComponentInstancePtr<T>, ComponentInstanceProviderError>;
fn primary_instance_option<T: Injectable + ?Sized>(
&mut self
) -> Result<Option<ComponentInstancePtr<T>>, ComponentInstanceProviderError>;
fn instances_typed<T: Injectable + ?Sized>(
&mut self
) -> Result<Vec<ComponentInstancePtr<T>>, ComponentInstanceProviderError>;
fn instance_by_name_typed<T: Injectable + ?Sized>(
&mut self,
name: &str
) -> Result<ComponentInstancePtr<T>, ComponentInstanceProviderError>;
fn instance_by_name_option<T: Injectable + ?Sized>(
&mut self,
name: &str
) -> Result<Option<ComponentInstancePtr<T>>, ComponentInstanceProviderError>;
}Expand description
Helper trait for ComponentInstanceProvider providing strongly-typed access.
Required Methods§
sourcefn primary_instance_typed<T: Injectable + ?Sized>(
&mut self
) -> Result<ComponentInstancePtr<T>, ComponentInstanceProviderError>
fn primary_instance_typed<T: Injectable + ?Sized>( &mut self ) -> Result<ComponentInstancePtr<T>, ComponentInstanceProviderError>
Typesafe version of ComponentInstanceProvider::primary_instance.
sourcefn primary_instance_option<T: Injectable + ?Sized>(
&mut self
) -> Result<Option<ComponentInstancePtr<T>>, ComponentInstanceProviderError>
fn primary_instance_option<T: Injectable + ?Sized>( &mut self ) -> Result<Option<ComponentInstancePtr<T>>, ComponentInstanceProviderError>
Tries to get an instance like TypedComponentInstanceProvider::primary_instance_typed does,
but returns None on missing instance.
sourcefn instances_typed<T: Injectable + ?Sized>(
&mut self
) -> Result<Vec<ComponentInstancePtr<T>>, ComponentInstanceProviderError>
fn instances_typed<T: Injectable + ?Sized>( &mut self ) -> Result<Vec<ComponentInstancePtr<T>>, ComponentInstanceProviderError>
Typesafe version of ComponentInstanceProvider::instances.
sourcefn instance_by_name_typed<T: Injectable + ?Sized>(
&mut self,
name: &str
) -> Result<ComponentInstancePtr<T>, ComponentInstanceProviderError>
fn instance_by_name_typed<T: Injectable + ?Sized>( &mut self, name: &str ) -> Result<ComponentInstancePtr<T>, ComponentInstanceProviderError>
Typesafe version of ComponentInstanceProvider::instance_by_name.
sourcefn instance_by_name_option<T: Injectable + ?Sized>(
&mut self,
name: &str
) -> Result<Option<ComponentInstancePtr<T>>, ComponentInstanceProviderError>
fn instance_by_name_option<T: Injectable + ?Sized>( &mut self, name: &str ) -> Result<Option<ComponentInstancePtr<T>>, ComponentInstanceProviderError>
Tries to get an instance like TypedComponentInstanceProvider::instance_by_name_typed does,
but returns None on missing instance.