CDC Badge OS
Firmware for the CDC Badge v1.0 hardware security key
Loading...
Searching...
No Matches
PasswordModule.h
Go to the documentation of this file.
1#pragma once
2
4
5struct cJSON;
6
8
9class PasswordModule : public core::ModuleBase {
10public:
11 bool init() override;
12 void stop() override;
13
14 const char* getVersion() const override { return "1.0"; }
15 uint8_t getMenuItems(core::ModuleMenuItem* items, uint8_t maxItems) override;
17 void setSlotRange(const core::IModule::SlotRange& range) override;
18
19 bool exportBackup(cJSON* out) override;
20 core::IModule::BackupResult importBackup(const cJSON* in) override;
21
22 static PasswordModule& instance();
23
24private:
25 PasswordModule() : ModuleBase("mod_password") {}
26 core::IModule::SlotRange slotRange_ = {};
27};
28
29} // namespace cdc::mod_password
30
31extern "C" void mod_password_register();
void mod_password_register()
Registers password module initializer in global module registry.
Base implementation that handles common module lifecycle boilerplate.
Definition ModuleBase.h:20
ModuleBase(const char *name)
Constructs a module base with the given module name.
Definition ModuleBase.h:26
void setSlotRange(const core::IModule::SlotRange &range) override
Stores assigned Tropic slot range for this module.
const char * getVersion() const override
Returns the module version string.
uint8_t getMenuItems(core::ModuleMenuItem *items, uint8_t maxItems) override
Provides main-menu entry for password module UI.
bool init() override
Initializes module resources, translations, commands, and slot mapping.
bool exportBackup(cJSON *out) override
Exports all vault entries into the module's backup section.
static PasswordModule & instance()
Returns singleton password module instance.
core::IModule::BackupResult importBackup(const cJSON *in) override
Restores vault entries from the module's backup section.
core::IModule::SlotRequest getSlotRequest() const override
Declares slot requirements for password storage.
void stop() override
Stops the password module and frees list resources.
Per-module restore outcome reported by importBackup().
Definition IModule.h:85
Menu item registered by a module.
Definition IModule.h:29