Skip to main content

qubit_mime/detector/
mime_detector_provider.rs

1/*******************************************************************************
2 *
3 *    Copyright (c) 2026 Haixing Hu.
4 *
5 *    SPDX-License-Identifier: Apache-2.0
6 *
7 *    Licensed under the Apache License, Version 2.0.
8 *
9 ******************************************************************************/
10//! Provider contract for pluggable MIME detector implementations.
11//!
12//! The MIME detector SPI is a domain binding over [`qubit_spi`]. Providers
13//! implement [`ServiceProvider<MimeDetectorSpec>`](qubit_spi::ServiceProvider),
14//! which supplies descriptor metadata, availability, priority, and detector
15//! factories for [`MimeDetectorRegistry`](crate::MimeDetectorRegistry).
16
17use qubit_spi::ServiceProvider;
18
19use super::MimeDetectorSpec;
20
21/// Marker trait for MIME detector providers.
22///
23/// Implement [`ServiceProvider<MimeDetectorSpec>`](qubit_spi::ServiceProvider)
24/// for the concrete provider type. This marker keeps public registry bounds
25/// MIME-specific while delegating provider behavior to `qubit-spi`.
26pub trait MimeDetectorProvider: ServiceProvider<MimeDetectorSpec> {}
27
28impl<T> MimeDetectorProvider for T where T: ServiceProvider<MimeDetectorSpec> + ?Sized {}