Module emf_core_base_rs::module [−][src]
Module api
Example
use emf_core_base_rs::CBaseAPI; use emf_core_base_rs::version::VersionAPI; use emf_core_base_rs::module::{ ModuleAPI, DEFAULT_HANDLE, InterfaceDescriptor, InterfaceName, Error, Module }; use emf_core_base_rs::ffi::collections::ConstSpan; use std::path::Path; let result = CBaseAccess::lock(base_interface, |interface| -> Result<Module<'_, _>, Error> { let module_path = Path::new("path to a module"); let interface_desc = InterfaceDescriptor { name: InterfaceName::from("my_interface"), version: VersionAPI::new_short(interface, 1, 0, 0), extensions: ConstSpan::new() }; let mut module = ModuleAPI::add_module(interface, &DEFAULT_HANDLE, &module_path)?; ModuleAPI::load(interface, &mut module)?; ModuleAPI::initialize(interface, &mut module)?; ModuleAPI::export_interface(interface, &mut module, &interface_desc)?; Ok(module) }); assert_eq!(result.is_ok(), true);
Modules
module_loader | API of a module loader. |
native_module | API of a native module. |
Structs
Interface | Interface from a module. |
InterfaceDescriptor | Information regarding an interface. |
InternalModule | A loader handle. |
Loader | A loader handle. |
Module | A module handle. |
ModuleInfo | Information regarding a module. |
Enums
Error | Errors of the module api. |
ModuleStatus | Status of a module. |
Constants
DEFAULT_HANDLE | Handle of the default loader. |
INTERFACE_EXTENSION_NAME_MAX_LENGTH | Maximum length of an extension name. |
INTERFACE_INFO_NAME_MAX_LENGTH | Maximum length of an interface name. |
MODULE_INFO_NAME_MAX_LENGTH | Maximum length of a module name. |
MODULE_INFO_VERSION_MAX_LENGTH | Maximum length of a module version. |
MODULE_LOADER_TYPE_MAX_LENGTH | Maximum length of a module type. |
NATIVE_MODULE_INTERFACE_SYMBOL_NAME | Native module entry symbol. |
NATIVE_MODULE_TYPE_NAME | Type of a native module. |
Traits
ModuleAPI | Idiomatic module api. |
Type Definitions
InterfaceExtension | Extension of an interface. |
InterfaceName | Name of an interface. |
ModuleName | Name of a module. |
ModuleType | Type of a module. |
ModuleVersion | Version a module. |