CDC Badge OS
Firmware for the CDC Badge v1.0 hardware security key
Loading...
Searching...
No Matches
cdc::mod_fido2::Fido2Module Class Reference

#include <Fido2Module.h>

Inheritance diagram for cdc::mod_fido2::Fido2Module:
cdc::core::IModule cdc::core::IService

Public Member Functions

const char * getName () const override
core::ServiceState getState () const override
bool init () override
 Initializes FIDO2 module resources and slot mapping.
bool start () override
 Starts FIDO2 module, USB HID interface, and core stack.
void stop () override
 Stops FIDO2 module and unregisters USB interface.
void setSlotRange (const core::IModule::SlotRange &range) override
 Stores slot range assignment.
core::IModule::SlotRequest getSlotRequest () const override
 Declares slot requirements for FIDO2 module.
uint8_t getMenuItems (core::ModuleMenuItem *items, uint8_t maxItems) override
 Provides main-menu entry for FIDO2 credential list.
const char * getVersion () const override
 Returns the module version string.
Public Member Functions inherited from cdc::core::IModule
virtual bool exportBackup (cJSON *out)
 Exports this module's data as a JSON section for the backup file.
virtual BackupResult importBackup (const cJSON *in)
 Restores this module's data from its JSON backup section.
virtual ui::IViewgetEntryView ()
 Returns the module's entry view (main view when selected from menu).
virtual uint8_t getLockScreenContextItems (LockScreenContextItem *items, uint8_t maxItems)
 Returns the module's lock screen context menu items.
virtual void onUnlock ()
 Called when device is unlocked.
virtual void onLock ()
 Called when device is locked.
virtual void onUsbConnect ()
 Called when USB is connected.
virtual void onUsbDisconnect ()
 Called when USB is disconnected.
virtual void onTick (uint32_t nowMs)
 Called periodically (optional tick for background work).
Public Member Functions inherited from cdc::core::IService
virtual ~IService ()=default

Static Public Member Functions

static Fido2Module & instance ()
 Returns the singleton instance of the FIDO2 module.

Detailed Description

Definition at line 7 of file Fido2Module.h.

Member Function Documentation

◆ getMenuItems()

uint8_t cdc::mod_fido2::Fido2Module::getMenuItems ( core::ModuleMenuItem * items,
uint8_t maxItems )
overridevirtual

Provides main-menu entry for FIDO2 credential list.

Parameters
itemsOutput menu item array.
maxItemsMaximum writable entries.
Returns
Number of populated menu items.

Reimplemented from cdc::core::IModule.

Definition at line 245 of file Fido2Module.cpp.

References cdc::mod_fido2::fido2_ui_get_label(), cdc::mod_fido2::fido2_ui_get_list_view(), getName(), and cdc::core::MAIN_MENU.

◆ getName()

const char * cdc::mod_fido2::Fido2Module::getName ( ) const
inlineoverridevirtual

Get service name (for logging/debugging)

Implements cdc::core::IService.

Definition at line 9 of file Fido2Module.h.

Referenced by getMenuItems(), getSlotRequest(), init(), start(), and stop().

◆ getSlotRequest()

core::IModule::SlotRequest cdc::mod_fido2::Fido2Module::getSlotRequest ( ) const
overridevirtual

Declares slot requirements for FIDO2 module.

Returns
Slot-request descriptor.

Reimplemented from cdc::core::IModule.

Definition at line 231 of file Fido2Module.cpp.

References getName(), cdc::core::IModule::SlotRequest::mapName, cdc::core::IModule::SlotRequest::minEccSlots, and cdc::core::IModule::SlotRequest::minRmemSlots.

◆ getState()

core::ServiceState cdc::mod_fido2::Fido2Module::getState ( ) const
inlineoverridevirtual

Get current service state

Implements cdc::core::IService.

Definition at line 10 of file Fido2Module.h.

◆ getVersion()

const char * cdc::mod_fido2::Fido2Module::getVersion ( ) const
inlineoverridevirtual

Returns the module version string.

Returns
Pointer to a null-terminated version string.

Implements cdc::core::IModule.

Definition at line 18 of file Fido2Module.h.

◆ init()

◆ instance()

Fido2Module & cdc::mod_fido2::Fido2Module::instance ( )
static

Returns the singleton instance of the FIDO2 module.

Returns
Reference to the singleton Fido2Module.

Definition at line 108 of file Fido2Module.cpp.

◆ setSlotRange()

void cdc::mod_fido2::Fido2Module::setSlotRange ( const core::IModule::SlotRange & range)
overridevirtual

Stores slot range assignment.

Parameters
rangeSlot assignment from registry.

Reimplemented from cdc::core::IModule.

Definition at line 223 of file Fido2Module.cpp.

◆ start()

bool cdc::mod_fido2::Fido2Module::start ( )
overridevirtual

◆ stop()

void cdc::mod_fido2::Fido2Module::stop ( )
overridevirtual

The documentation for this class was generated from the following files: