pxl_rust/
pxl.rs

1//! Binding for pxl namespace in PXL C++ library.
2//! This module provides functions in pxl namespace.
3
4use crate::kernel::module::Module;
5
6/// Create a new `Module` object from a given filename.
7///
8/// # Arguments
9/// * `filename` - The name of the file to create the `Module` from.
10///
11/// # Returns
12/// * A new `Module` object.
13///
14/// # Examples
15/// ```
16/// use pxl_rust::create_module;
17///
18/// let module = create_module("mu_kernel.mubin");
19/// ```
20
21pub fn create_module(filename: &str) -> Module {
22    Module::new(filename)
23}
24
25/// Destroy a `Module` object.
26///
27/// # Arguments
28/// * `module` - The `Module` object to destroy.
29///
30/// # Examples
31/// ```
32/// use pxl_rust::destroy_module;
33///
34/// let module = create_module("mu_kernel.mubin");
35/// destroy_module(module);
36/// ```
37pub fn destroy_module(mut module: Module) {
38    module.destroy();
39}