GenericPlugin

Trait GenericPlugin 

Source
pub trait GenericPlugin:
    Send
    + Sync
    + Sized {
    // Required methods
    fn new(info: AviUtl2Info) -> AnyResult<Self>;
    fn register(&mut self, registry: &mut HostAppHandle<'_>);

    // Provided methods
    fn on_project_load(&mut self, _project: &mut ProjectFile) { ... }
    fn on_project_save(&mut self, _project: &mut ProjectFile) { ... }
    fn with_instance<R>(f: impl FnOnce(&Self) -> R) -> R
       where Self: GenericSingleton { ... }
    fn with_instance_mut<R>(f: impl FnOnce(&mut Self) -> R) -> R
       where Self: GenericSingleton { ... }
}
Available on crate feature generic only.
Expand description

汎用プラグインのトレイト。 このトレイトを実装し、crate::register_generic_plugin! マクロを使用してプラグインを登録します。

Required Methods§

Source

fn new(info: AviUtl2Info) -> AnyResult<Self>

プラグインを初期化する。

Source

fn register(&mut self, registry: &mut HostAppHandle<'_>)

プラグインをホストに登録する。

Provided Methods§

Source

fn on_project_load(&mut self, _project: &mut ProjectFile)

プロジェクトファイルのロードを処理する。

プロジェクトの初期化時にも呼ばれます。

Source

fn on_project_save(&mut self, _project: &mut ProjectFile)

プロジェクトファイルをセーブする直前に呼ばれる。

Source

fn with_instance<R>(f: impl FnOnce(&Self) -> R) -> R
where Self: GenericSingleton,

シングルトンインスタンスを参照するためのヘルパーメソッド。

§Panics

プラグインが初期化されていない場合や、二重に呼び出された場合にパニックします。

Source

fn with_instance_mut<R>(f: impl FnOnce(&mut Self) -> R) -> R
where Self: GenericSingleton,

シングルトンインスタンスを可変参照するためのヘルパーメソッド。

§Panics

プラグインが初期化されていない場合や、二重に呼び出された場合にパニックします。

Dyn Compatibility§

This trait is not dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.

Implementors§