CDC Badge OS
Firmware for the CDC Badge v1.0 hardware security key
Loading...
Searching...
No Matches
Fido2Module.h
Go to the documentation of this file.
1#pragma once
2
3#include "cdc_core/IModule.h"
4
5namespace cdc::mod_fido2 {
6
7class Fido2Module : public core::IModule {
8public:
9 const char* getName() const override { return "mod_fido2"; }
10 core::ServiceState getState() const override { return state_; }
11 bool init() override;
12 bool start() override;
13 void stop() override;
14 void setSlotRange(const core::IModule::SlotRange& range) override;
16 uint8_t getMenuItems(core::ModuleMenuItem* items, uint8_t maxItems) override;
17
18 const char* getVersion() const override { return "0.1"; }
19
20 static Fido2Module& instance();
21
22private:
23 Fido2Module() = default;
25 core::IModule::SlotRange slotRange_ = {};
26};
27
28} // namespace cdc::mod_fido2
29
30extern "C" void mod_fido2_register();
void mod_fido2_register()
Registers FIDO2 module initializer.
Module interface that extends IService with module-specific features.
Definition IModule.h:55
const char * getVersion() const override
Returns the module version string.
Definition Fido2Module.h:18
uint8_t getMenuItems(core::ModuleMenuItem *items, uint8_t maxItems) override
Provides main-menu entry for FIDO2 credential list.
core::ServiceState getState() const override
Definition Fido2Module.h:10
core::IModule::SlotRequest getSlotRequest() const override
Declares slot requirements for FIDO2 module.
static Fido2Module & instance()
Returns the singleton instance of the FIDO2 module.
const char * getName() const override
Definition Fido2Module.h:9
void setSlotRange(const core::IModule::SlotRange &range) override
Stores slot range assignment.
bool start() override
Starts FIDO2 module, USB HID interface, and core stack.
bool init() override
Initializes FIDO2 module resources and slot mapping.
void stop() override
Stops FIDO2 module and unregisters USB interface.
Menu item registered by a module.
Definition IModule.h:29