Skip to main content

DocCodec

Trait DocCodec 

Source
pub trait DocCodec {
    // Required methods
    fn codec_id(&self) -> &'static str;
    fn kinds(&self) -> &'static [DocKind];
    fn decode(
        &self,
        cx: &mut Cx,
        bytes: &[u8],
        options: &DocCodecOptions,
    ) -> Result<(Doc, FidelityReport), OfficeError>;
    fn encode(
        &self,
        cx: &mut Cx,
        doc: &Doc,
        options: &DocCodecOptions,
    ) -> Result<(Vec<u8>, FidelityReport), OfficeError>;
}
Expand description

File or wire codec for one or more document kinds.

Required Methods§

Source

fn codec_id(&self) -> &'static str

Stable codec id such as codec/ooxml-xlsx.

Source

fn kinds(&self) -> &'static [DocKind]

Document kinds accepted by this codec.

Source

fn decode( &self, cx: &mut Cx, bytes: &[u8], options: &DocCodecOptions, ) -> Result<(Doc, FidelityReport), OfficeError>

Decodes bytes into a document plus fidelity report.

Source

fn encode( &self, cx: &mut Cx, doc: &Doc, options: &DocCodecOptions, ) -> Result<(Vec<u8>, FidelityReport), OfficeError>

Encodes a document into bytes plus fidelity report.

Dyn Compatibility§

This trait is dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety".

Implementors§