clap_sys/factory/draft/
plugin_invalidation.rs

1use crate::cstr;
2
3use std::ffi::{c_char, CStr};
4
5pub const CLAP_PLUGIN_INVALIDATION_FACTORY_ID: &CStr = cstr!("clap.plugin-invalidation-factory/1");
6
7#[repr(C)]
8#[derive(Debug, Copy, Clone)]
9pub struct clap_plugin_invalidation_source {
10    pub directory: *const c_char,
11    pub filename_glob: *const c_char,
12    pub recursive_scan: bool,
13}
14
15unsafe impl Send for clap_plugin_invalidation_source {}
16unsafe impl Sync for clap_plugin_invalidation_source {}
17
18#[repr(C)]
19#[derive(Debug, Copy, Clone)]
20pub struct clap_plugin_invalidation_factory {
21    pub count:
22        Option<unsafe extern "C" fn(factory: *const clap_plugin_invalidation_factory) -> u32>,
23    pub get: Option<
24        unsafe extern "C" fn(
25            factory: *const clap_plugin_invalidation_factory,
26            index: u32,
27        ) -> *const clap_plugin_invalidation_source,
28    >,
29    pub refresh:
30        Option<unsafe extern "C" fn(factory: *const clap_plugin_invalidation_factory) -> bool>,
31}