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

Load-time validation of plugin capabilities + manifest sanity. More...

#include "plugin_manager/PluginManifest.h"
#include <string>

Go to the source code of this file.

Classes

struct  cdc::plugin_manager::CapabilityCheckResult
class  cdc::plugin_manager::CapabilityChecker

Namespaces

namespace  cdc
namespace  cdc::plugin_manager

Enumerations

enum class  cdc::plugin_manager::CapabilityResult {
  cdc::plugin_manager::Ok , cdc::plugin_manager::ApiLevelMismatch , cdc::plugin_manager::LinearMemoryOutOfRange , cdc::plugin_manager::RmemNameInvalid ,
  cdc::plugin_manager::EccNameInvalid , cdc::plugin_manager::GpioPinNotAllowed , cdc::plugin_manager::GpioPinAlreadyHeld , cdc::plugin_manager::BleServiceUuidConflict ,
  cdc::plugin_manager::BleServiceUuidInvalid , cdc::plugin_manager::NvsNamespaceConflict , cdc::plugin_manager::NvsNamespaceInvalid , cdc::plugin_manager::MissingNvsNamespace
}

Detailed Description

Load-time validation of plugin capabilities + manifest sanity.

Performs the static checks listed in docs/capabilities.md:

  • API-level compatibility
  • reserved R-Mem / ECC slots
  • GPIO whitelist
  • linear memory bounds
  • cross-plugin BLE / NVS / pin conflicts

Runtime per-call capability checks live next to the actual host_api_* implementations and use the manifest stored on the active Plugin instance.

Definition in file CapabilityChecker.h.