CDC Badge OS
Firmware for the CDC Badge v1.0 hardware security key
Loading...
Searching...
No Matches
cdc::plugin_manager::PluginCapabilities Struct Reference

#include <PluginManifest.h>

Public Attributes

bool wifi = false
bool ble = false
bool http = false
bool socket = false
bool ui_exclusive = false
bool display_lowlevel = false
bool sao = false
bool grove = false
bool pixel_strip = false
bool background = false
 Keep running and ticking in the background after the user leaves the plugin's view, instead of being unloaded. Not a boot flag: the user still starts the plugin manually. See autoload for boot loading.
bool usb_cdc = false
bool prevent_sleep = false
bool vfat = false
 Allow sandboxed file access on the plugins FAT partition via the host_fs_* API. The plugin can only touch files in its own private folder (/plugins/data/<id>/); paths are confined host-side.
bool vcard = false
 Allow read access to the badge's own vCard and the received vCard store via the host_vcard_* API.
bool net_listen = false
 Allow the plugin to run an inbound TCP listener via the host_net_* API (the plugin picks the port). Accepted connections are driven through the host_socket_* read/write/close API.
bool autoload = false
 Start this plugin as a resident background instance at badge boot. Plugins without this flag stay unloaded until started manually. Orthogonal to background, which only governs survival after the user leaves the view.
std::vector< std::string > rmem
std::vector< std::string > ecc
std::vector< std::string > ble_service_uuids
std::vector< std::string > message_types
std::vector< std::string > provides
std::vector< uint8_t > gpio_pins
std::vector< uint8_t > pwm_pins
std::vector< uint8_t > adc_pins
std::vector< uint8_t > i2c_bus
std::string nvs_namespace

Detailed Description

Definition at line 21 of file PluginManifest.h.

Member Data Documentation

◆ adc_pins

std::vector<uint8_t> cdc::plugin_manager::PluginCapabilities::adc_pins

◆ autoload

bool cdc::plugin_manager::PluginCapabilities::autoload = false

Start this plugin as a resident background instance at badge boot. Plugins without this flag stay unloaded until started manually. Orthogonal to background, which only governs survival after the user leaves the view.

Definition at line 62 of file PluginManifest.h.

Referenced by cdc::plugin_manager::parse_capabilities().

◆ background

bool cdc::plugin_manager::PluginCapabilities::background = false

Keep running and ticking in the background after the user leaves the plugin's view, instead of being unloaded. Not a boot flag: the user still starts the plugin manually. See autoload for boot loading.

Definition at line 36 of file PluginManifest.h.

Referenced by cdc::plugin_manager::parse_capabilities().

◆ ble

bool cdc::plugin_manager::PluginCapabilities::ble = false

Definition at line 23 of file PluginManifest.h.

Referenced by cdc::plugin_manager::parse_capabilities().

◆ ble_service_uuids

std::vector<std::string> cdc::plugin_manager::PluginCapabilities::ble_service_uuids

◆ display_lowlevel

bool cdc::plugin_manager::PluginCapabilities::display_lowlevel = false

Definition at line 27 of file PluginManifest.h.

Referenced by cdc::plugin_manager::parse_capabilities().

◆ ecc

std::vector<std::string> cdc::plugin_manager::PluginCapabilities::ecc

◆ gpio_pins

std::vector<uint8_t> cdc::plugin_manager::PluginCapabilities::gpio_pins

◆ grove

bool cdc::plugin_manager::PluginCapabilities::grove = false

Definition at line 29 of file PluginManifest.h.

Referenced by cdc::plugin_manager::parse_capabilities().

◆ http

bool cdc::plugin_manager::PluginCapabilities::http = false

Definition at line 24 of file PluginManifest.h.

Referenced by cdc::plugin_manager::parse_capabilities().

◆ i2c_bus

std::vector<uint8_t> cdc::plugin_manager::PluginCapabilities::i2c_bus

◆ message_types

std::vector<std::string> cdc::plugin_manager::PluginCapabilities::message_types

MIME types this plugin handles for badge-to-badge message transfer. A non-empty list implies messaging; sending also requires ble.

Definition at line 69 of file PluginManifest.h.

Referenced by cdc::plugin_manager::parse_capabilities().

◆ net_listen

bool cdc::plugin_manager::PluginCapabilities::net_listen = false

Allow the plugin to run an inbound TCP listener via the host_net_* API (the plugin picks the port). Accepted connections are driven through the host_socket_* read/write/close API.

Definition at line 55 of file PluginManifest.h.

Referenced by cdc::plugin_manager::parse_capabilities().

◆ nvs_namespace

std::string cdc::plugin_manager::PluginCapabilities::nvs_namespace

◆ pixel_strip

bool cdc::plugin_manager::PluginCapabilities::pixel_strip = false

Definition at line 30 of file PluginManifest.h.

Referenced by cdc::plugin_manager::parse_capabilities().

◆ prevent_sleep

bool cdc::plugin_manager::PluginCapabilities::prevent_sleep = false

Definition at line 38 of file PluginManifest.h.

Referenced by cdc::plugin_manager::parse_capabilities().

◆ provides

std::vector<std::string> cdc::plugin_manager::PluginCapabilities::provides

Named external features this plugin provides to other plugins (e.g. "thermo_print"). Other plugins invoke them via host_ext_feature_use; the provider must register a handler with host_ext_feature_register_handler in plugin_init.

Definition at line 74 of file PluginManifest.h.

Referenced by cdc::plugin_manager::parse_capabilities(), and cdc::plugin_manager::CapabilityChecker::validate().

◆ pwm_pins

std::vector<uint8_t> cdc::plugin_manager::PluginCapabilities::pwm_pins

◆ rmem

std::vector<std::string> cdc::plugin_manager::PluginCapabilities::rmem

◆ sao

bool cdc::plugin_manager::PluginCapabilities::sao = false

Definition at line 28 of file PluginManifest.h.

Referenced by cdc::plugin_manager::parse_capabilities().

◆ socket

bool cdc::plugin_manager::PluginCapabilities::socket = false

Definition at line 25 of file PluginManifest.h.

Referenced by cdc::plugin_manager::parse_capabilities().

◆ ui_exclusive

bool cdc::plugin_manager::PluginCapabilities::ui_exclusive = false

Definition at line 26 of file PluginManifest.h.

Referenced by cdc::plugin_manager::parse_capabilities().

◆ usb_cdc

bool cdc::plugin_manager::PluginCapabilities::usb_cdc = false

Definition at line 37 of file PluginManifest.h.

Referenced by cdc::plugin_manager::parse_capabilities().

◆ vcard

bool cdc::plugin_manager::PluginCapabilities::vcard = false

Allow read access to the badge's own vCard and the received vCard store via the host_vcard_* API.

Definition at line 49 of file PluginManifest.h.

Referenced by cdc::plugin_manager::parse_capabilities().

◆ vfat

bool cdc::plugin_manager::PluginCapabilities::vfat = false

Allow sandboxed file access on the plugins FAT partition via the host_fs_* API. The plugin can only touch files in its own private folder (/plugins/data/<id>/); paths are confined host-side.

Definition at line 44 of file PluginManifest.h.

Referenced by cdc::plugin_manager::parse_capabilities().

◆ wifi

bool cdc::plugin_manager::PluginCapabilities::wifi = false

Definition at line 22 of file PluginManifest.h.

Referenced by cdc::plugin_manager::parse_capabilities().


The documentation for this struct was generated from the following file: