#[cfg(not(unix))]
compile_error!(
"xdg-thumbnail supports Unix-like targets only because thumbnail identity and cache safety depend on Unix path bytes, metadata, and permissions"
);
#[cfg(unix)]
mod cache;
#[cfg(unix)]
mod error;
#[cfg(unix)]
mod identity;
#[cfg(unix)]
mod inspection;
#[cfg(unix)]
mod namespace;
#[cfg(unix)]
mod png;
#[cfg(unix)]
mod uri;
#[cfg(unix)]
pub use cache::{
DisplayThumbnailRgba8LookupEntry, DisplayThumbnailRgba8LookupEntryParts,
FailureEntryInspectionRequest, FailureEntryInspectionRequestParts, FailureEntryWriteRequest,
FailureEntryWriteRequestParts, InstalledThumbnailPath, InstalledThumbnailPngBytes,
InstalledThumbnailPngBytesParts, MaterializedThumbnailPath, MaterializedThumbnailPathParts,
MaterializedThumbnailPngBytes, MaterializedThumbnailPngBytesParts, PersonalCacheRoot,
PersonalThumbnailInspectionRequest, PersonalThumbnailInspectionRequestParts,
PersonalThumbnailInstallRequest, PersonalThumbnailInstallRequestParts, PersonalThumbnailLookup,
PersonalThumbnailLookupRequest, PersonalThumbnailLookupRequestParts,
PersonalThumbnailMaterializationRequest, PersonalThumbnailMaterializationRequestParts,
PersonalThumbnailRawInstallRequest, PersonalThumbnailRawInstallRequestParts,
SharedCacheEntryInspection, SharedCacheEntryInspectionParts, SharedCacheEntryOutcome,
SharedOriginalFacts, SharedOriginalMetadata, SharedThumbnailInspectionRequest,
SharedThumbnailInspectionRequestParts, SharedThumbnailLookup, SharedThumbnailLookupRequest,
SharedThumbnailLookupRequestParts, SharedThumbnailMetadataPolicy,
SharedToPersonalThumbnailMaterializationRequest,
SharedToPersonalThumbnailMaterializationRequestParts, ThumbnailPathLookupEntry,
ThumbnailPathLookupEntryParts, ThumbnailPngBytesLookupEntry, ThumbnailPngBytesLookupEntryParts,
ThumbnailRgba8LookupEntry, ThumbnailRgba8LookupEntryParts,
};
#[cfg(unix)]
pub use error::{
CacheDirectoryProblem, CachePathProblem, CacheRootProblem, Result, ThumbnailError,
};
#[cfg(unix)]
pub use identity::{
PersonalOriginalIdentity, ReadablePersonalOriginalIdentity, SharedRepositoryContext,
UnixMtimeSeconds,
};
#[cfg(unix)]
pub use inspection::{
AccessTimePreservation, CacheEntryHandle, CacheEntryInspection, CacheEntryInspectionOutcome,
CacheEntryInspectionParts, NonstandardEntryPolicy, OriginalUriIdentity, ThumbnailTimestamps,
};
#[cfg(unix)]
pub use namespace::{CacheNamespace, FailureNamespace, ThumbnailSize};
#[cfg(unix)]
pub use png::{
CacheEntryProblem, OwnedRawThumbnailImage, OwnedRawThumbnailImageParts, ParsedThumbnailPng,
ParsedThumbnailPngParts, PersonalValidationOutcome, RawThumbnailImage, RawThumbnailPixelFormat,
SharedValidationOutcome, ThumbnailMetadata, ThumbnailMetadataKey, ThumbnailMetadataProblem,
ThumbnailMetadataProblemKind, ThumbnailPngBitDepth, ThumbnailPngColorType,
validate_personal_failure_entry, validate_personal_thumbnail, validate_shared_thumbnail,
};
#[cfg(unix)]
pub use uri::{PersonalOriginalUri, SharedRelativeOriginalUri};
#[cfg(unix)]
pub(crate) use png::{
decode_validated_thumbnail_png_to_rgba8, downscaled_validated_thumbnail_png_to_rgba8,
encode_rgba_png, metadata_problem, normalized_personal_thumbnail_from_cache_png,
normalized_personal_thumbnail_png, normalized_personal_thumbnail_raw_png, push_problem,
thumbnail_metadata_pairs, validate_mime_type,
};