pub trait ImageProvider {
fn create_stream(&self, configuration: ImageConfiguration) -> ImageStream;
fn evict(
&self,
cache: Option<ImageCache>,
configuration: ImageConfiguration
) -> Box<dyn Future<Output = bool>>;
fn load(
&self,
key: Key,
decode: Box<DecoderCallback>
) -> ImageStreamCompleter;
fn obtain_cache_status(
&self,
configuration: ImageConfiguration,
handle_error: Option<Box<ImageErrorListener>>
) -> Box<dyn Future<Output = Option<ImageCacheStatus>>>;
fn obtain_key(
&self,
configuration: ImageConfiguration
) -> Box<dyn Future<Output = Key>>;
fn resolve(&self, configuration: ImageConfiguration) -> ImageStream;
fn resolve_stream_for_key(
&self,
configuration: ImageConfiguration,
stream: ImageStream,
key: Key,
handle_error: Option<Box<ImageErrorListener>>
);
}