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§
Sourcefn decode(
&self,
cx: &mut Cx,
bytes: &[u8],
options: &DocCodecOptions,
) -> Result<(Doc, FidelityReport), OfficeError>
fn decode( &self, cx: &mut Cx, bytes: &[u8], options: &DocCodecOptions, ) -> Result<(Doc, FidelityReport), OfficeError>
Decodes bytes into a document plus fidelity report.
Sourcefn encode(
&self,
cx: &mut Cx,
doc: &Doc,
options: &DocCodecOptions,
) -> Result<(Vec<u8>, FidelityReport), OfficeError>
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".