Trait distill_importer::BoxedImporter[][src]

pub trait BoxedImporter: TypeUuidDynamic + Send + Sync + 'static {
    fn import_boxed<'a>(
        &'a self,
        op: &'a mut ImportOp,
        source: &'a mut (dyn AsyncRead + Unpin + Send + Sync),
        options: Box<dyn SerdeObj>,
        state: Box<dyn SerdeObj>
    ) -> BoxFuture<'a, Result<BoxedImporterValue>>;
fn export_boxed<'a>(
        &'a self,
        output: &'a mut (dyn AsyncWrite + Unpin + Send + Sync),
        options: Box<dyn SerdeObj>,
        state: Box<dyn SerdeObj>,
        assets: Vec<ExportAsset>
    ) -> BoxFuture<'a, Result<BoxedExportInputs>>;
fn default_options(&self) -> Box<dyn SerdeObj>;
fn default_state(&self) -> Box<dyn SerdeObj>;
fn version(&self) -> u32;
fn deserialize_metadata(
        &self,
        deserializer: &mut dyn Deserializer<'_>
    ) -> Result<SourceMetadata<Box<dyn SerdeObj>, Box<dyn SerdeObj>>>;
fn deserialize_options(
        &self,
        deserializer: &mut dyn Deserializer<'_>
    ) -> Result<Box<dyn SerdeObj>>;
fn deserialize_state(
        &self,
        deserializer: &mut dyn Deserializer<'_>
    ) -> Result<Box<dyn SerdeObj>>; }

Trait object wrapper for crate::Importer implementations. Enables using Importers without knowing the concrete type. See crate::Importer for documentation on fields.

Required methods

fn import_boxed<'a>(
    &'a self,
    op: &'a mut ImportOp,
    source: &'a mut (dyn AsyncRead + Unpin + Send + Sync),
    options: Box<dyn SerdeObj>,
    state: Box<dyn SerdeObj>
) -> BoxFuture<'a, Result<BoxedImporterValue>>
[src]

fn export_boxed<'a>(
    &'a self,
    output: &'a mut (dyn AsyncWrite + Unpin + Send + Sync),
    options: Box<dyn SerdeObj>,
    state: Box<dyn SerdeObj>,
    assets: Vec<ExportAsset>
) -> BoxFuture<'a, Result<BoxedExportInputs>>
[src]

fn default_options(&self) -> Box<dyn SerdeObj>[src]

fn default_state(&self) -> Box<dyn SerdeObj>[src]

fn version(&self) -> u32[src]

fn deserialize_metadata(
    &self,
    deserializer: &mut dyn Deserializer<'_>
) -> Result<SourceMetadata<Box<dyn SerdeObj>, Box<dyn SerdeObj>>>
[src]

fn deserialize_options(
    &self,
    deserializer: &mut dyn Deserializer<'_>
) -> Result<Box<dyn SerdeObj>>
[src]

fn deserialize_state(
    &self,
    deserializer: &mut dyn Deserializer<'_>
) -> Result<Box<dyn SerdeObj>>
[src]

Loading content...

Trait Implementations

impl Debug for dyn BoxedImporter[src]

Implementors

impl<S, O, T> BoxedImporter for T where
    O: SerdeObj + Serialize + Default + Send + Sync + Clone + for<'a> Deserialize<'a>,
    S: SerdeObj + Serialize + Default + Send + Sync + for<'a> Deserialize<'a>,
    T: AsyncImporter<State = S, Options = O> + TypeUuidDynamic + Send + Sync
[src]

Loading content...