kapy_exif/
lib.rs

1use anyhow::Result;
2use async_trait::async_trait;
3
4#[cfg(feature = "exiv2")]
5pub mod exif;
6
7mod heic;
8mod internal;
9mod jpeg;
10mod scoped_reader;
11
12pub use heic::heic;
13pub use jpeg::jpeg;
14
15use tokio::io::AsyncWrite;
16
17#[async_trait]
18pub trait ExtractRawExif {
19    async fn extract(&self) -> Result<Option<Vec<u8>>>;
20}
21
22#[async_trait]
23pub trait CopyWithRawExif {
24    async fn copy_with_raw_exif(
25        &self,
26        exif: &[u8],
27        writer: impl AsyncWrite + Send + Sync + Unpin,
28    ) -> Result<()>;
29}