CDC Badge OS
Firmware for the CDC Badge v1.0 hardware security key
Loading...
Searching...
No Matches
Plugin.h File Reference

Owned WAMR module instance + per-plugin state. More...

#include "plugin_manager/PluginManifest.h"
#include "plugin_manager/Raii.h"
#include <cstddef>
#include <cstdint>
#include <initializer_list>
#include <memory>
#include <set>
#include <string>
#include <vector>

Go to the source code of this file.

Classes

struct  cdc::plugin_manager::WasmModuleDeleter
struct  cdc::plugin_manager::WasmInstanceDeleter
struct  cdc::plugin_manager::WasmExecEnvDeleter
class  cdc::plugin_manager::Plugin

Namespaces

namespace  cdc
namespace  cdc::plugin_manager

Typedefs

using cdc::plugin_manager::WasmModulePtr = std::unique_ptr<WASMModuleCommon, WasmModuleDeleter>
using cdc::plugin_manager::WasmInstancePtr = std::unique_ptr<WASMModuleInstanceCommon, WasmInstanceDeleter>
using cdc::plugin_manager::WasmExecEnvPtr = std::unique_ptr<WASMExecEnv, WasmExecEnvDeleter>

Detailed Description

Owned WAMR module instance + per-plugin state.

One Plugin object exists per currently running plugin. Holds the loaded bytecode buffer (in PSRAM), the WAMR module + instance handles, the parsed manifest, and the list of host resources (WiFi, BLE, GPIO pins, ...) that were acquired during prerequisite setup so they can be released in reverse order on exit. All owned resources use RAII wrappers - the destructor is the only cleanup path.

Definition in file Plugin.h.