1pub mod answer;
3pub mod error;
4mod fnmatch;
5pub mod mimedb;
6pub mod query;
7pub mod record;
8#[cfg(feature = "xdg-runtime")]
9pub mod runtime;
10mod search_queue;
11mod strcache;
12
13use log::*;
14
15pub use error::{LoadError, QueryError};
16
17pub use answer::Answer;
18pub use mimedb::MimeDB;
19pub use query::{FileQuery, FileQueryBuilder};
20
21#[cfg(not(feature = "xdg-runtime"))]
23pub fn load_mime_db() -> Result<MimeDB, LoadError> {
24 Err(LoadError::Unavailable)
25}
26
27#[cfg(feature = "xdg-runtime")]
29pub fn load_mime_db() -> Result<MimeDB, LoadError> {
30 use runtime::load_xdg_mime_info;
31
32 let mut db = MimeDB::new();
33 let info = load_xdg_mime_info()?;
34 db.add_shared_mime_info(info);
35 debug!(
36 "loaded shared MIME info with {} types and {} globs",
37 db.type_count(),
38 db.glob_count()
39 );
40 Ok(db)
41}