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