1#![allow(unused)]
2#![feature(concat_idents)]
3#![feature(specialization)]
4
5extern crate ofx_sys;
6#[macro_use]
7extern crate log;
8extern crate log4rs;
9
10use std::collections::HashMap;
11use std::ffi::{CStr, CString};
12use std::fmt;
13use std::fmt::Display;
14use std::marker::PhantomData;
15
16#[macro_use]
17mod result;
18
19#[macro_use]
20mod suites;
21#[macro_use]
22mod util;
23mod action;
24mod enums;
25mod handle;
26mod plugin;
27mod property;
28mod types;
29#[macro_use]
30mod registry;
31mod image;
32pub use action::*;
33pub use enums::*;
34pub use enums::Type as Type;
35pub use handle::*;
36pub use plugin::*;
37pub use property::*;
38pub use result::*;
39pub use types::*;
40pub use util::*;
41pub use image::*;
42use registry::*;
43
44pub use ofx_sys::{OfxHost, OfxPlugin, OfxPropertySetHandle};
45pub use registry::{
46 get_registry, init_registry, main_entry_for_plugin, set_host_for_plugin, Registry,
47};
48
49#[macro_export]
50macro_rules! register_modules {
51 ( $ ($module:ident), *) => {
52 fn register_plugins(registry: &mut ofx::Registry) {
53 $(register_plugin!(registry, $module);
54 )*
55 }
56
57 build_plugin_registry!(register_plugins);
58 };
59}
60