diff options
Diffstat (limited to 'core/plugin_api.rs')
-rw-r--r-- | core/plugin_api.rs | 22 |
1 files changed, 0 insertions, 22 deletions
diff --git a/core/plugin_api.rs b/core/plugin_api.rs deleted file mode 100644 index 9f37df6f3..000000000 --- a/core/plugin_api.rs +++ /dev/null @@ -1,22 +0,0 @@ -// Copyright 2018-2021 the Deno authors. All rights reserved. MIT license. - -// This file defines the public interface for dynamically loaded plugins. - -// The plugin needs to do all interaction with the CLI crate through trait -// objects and function pointers. This ensures that no concrete internal methods -// (such as register_op and the closures created by it) can end up in the plugin -// shared library itself, which would cause segfaults when the plugin is -// unloaded and all functions in the plugin library are unmapped from memory. - -pub use crate::Op; -pub use crate::OpId; -pub use crate::OpResult; -pub use crate::ZeroCopyBuf; - -pub type InitFn = fn(&mut dyn Interface); - -pub type DispatchOpFn = fn(&mut dyn Interface, Option<ZeroCopyBuf>) -> Op; - -pub trait Interface { - fn register_op(&mut self, name: &str, dispatcher: DispatchOpFn) -> OpId; -} |