[][src]Trait sp_externalities::ExtensionStore

pub trait ExtensionStore {
    fn extension_by_type_id(&mut self, type_id: TypeId) -> Option<&mut dyn Any>;
fn register_extension_with_type_id(
        &mut self,
        type_id: TypeId,
        extension: Box<dyn Extension>
    ) -> Result<(), Error>;
fn deregister_extension_by_type_id(
        &mut self,
        type_id: TypeId
    ) -> Result<(), Error>; }

Something that provides access to the Extensions store.

This is a super trait of the Externalities.

Required methods

fn extension_by_type_id(&mut self, type_id: TypeId) -> Option<&mut dyn Any>

Tries to find a registered extension by the given type_id and returns it as a &mut dyn Any.

It is advised to use ExternalitiesExt::extension instead of this function to get type system support and automatic type downcasting.

fn register_extension_with_type_id(
    &mut self,
    type_id: TypeId,
    extension: Box<dyn Extension>
) -> Result<(), Error>

Register extension extension with speciifed type_id.

It should return error if extension is already registered.

fn deregister_extension_by_type_id(
    &mut self,
    type_id: TypeId
) -> Result<(), Error>

Deregister extension with speicifed 'type_id' and drop it.

It should return error if extension is not registered.

Loading content...

Implementors

Loading content...