#![warn(clippy::pedantic)]
#![allow(
clippy::manual_let_else,
clippy::option_if_let_else,
clippy::or_fun_call,
clippy::redundant_else,
clippy::similar_names,
clippy::single_match_else,
reason = "workspace policy; generated by scripts/update-clippy-allowances.py"
)]
#![allow(
clippy::assert_is_empty,
reason = "`assert!(x.is_empty())` is clearer than comparing against an empty value"
)]
pub const NAUTILUS_PLUGIN_ABI_VERSION: u32 = 1;
pub const PLUGIN_BUILD_ID_VERSION: u32 = 1;
pub const NAUTILUS_PLUGIN_INIT_SYMBOL: &[u8] = b"nautilus_plugin_init";
pub mod boundary;
#[cfg(feature = "component-binding")]
#[doc(hidden)]
pub mod component;
pub mod host;
pub mod manifest;
pub mod panic;
mod macros;
pub use boundary::{BorrowedStr, OwnedBytes, PluginError, PluginErrorCode, PluginResult, Slice};
pub use host::{HostContext, HostVTable};
pub use manifest::{PluginBuildId, PluginInitFn, PluginManifest};
pub mod prelude {
pub use crate::{
BorrowedStr, HostContext, HostVTable, NAUTILUS_PLUGIN_ABI_VERSION, PluginBuildId,
PluginError, PluginErrorCode, PluginManifest, PluginResult, Slice,
};
}
#[cfg(test)]
mod tests {
use rstest::rstest;
use super::*;
#[rstest]
fn init_symbol_matches_exported_entrypoint() {
assert_eq!(NAUTILUS_PLUGIN_INIT_SYMBOL, b"nautilus_plugin_init");
}
}