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

#include <GpgModule.h>

Inheritance diagram for cdc::mod_gpg::GpgModule:
cdc::core::IModule cdc::core::IService

Public Member Functions

const char * getName () const override
core::ServiceState getState () const override
bool init () override
 Initializes GPG module resources and slot assignments.
bool start () override
 Starts GPG module and registers USB CCID interface.
void stop () override
 Stops GPG module and unregisters CCID interface.
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 GPG module.
core::IModule::SlotRequest getSlotRequest () const override
 Declares slot requirements for GPG module.
void setSlotRange (const core::IModule::SlotRange &range) override
 Stores slot range assigned by module registry.
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 GpgModule & instance ()
 Returns singleton GPG module instance.

Detailed Description

Definition at line 7 of file GpgModule.h.

Member Function Documentation

◆ getMenuItems()

uint8_t cdc::mod_gpg::GpgModule::getMenuItems ( core::ModuleMenuItem * items,
uint8_t maxItems )
overridevirtual

Provides main-menu entry for GPG module.

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

Reimplemented from cdc::core::IModule.

Definition at line 1013 of file GpgModule.cpp.

References getName(), instance(), cdc::core::MAIN_MENU, cdc::mod_gpg::onMenuSelect(), cdc::mod_gpg::rebuildMenu(), cdc::mod_gpg::s_menuView, cdc::mod_gpg::s_viewsInitialized, cdc::ui::showToastError(), and cdc::ui::tr().

◆ getName()

const char * cdc::mod_gpg::GpgModule::getName ( ) const
inlineoverridevirtual

Get service name (for logging/debugging)

Implements cdc::core::IService.

Definition at line 9 of file GpgModule.h.

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

◆ getSlotRequest()

core::IModule::SlotRequest cdc::mod_gpg::GpgModule::getSlotRequest ( ) const
overridevirtual

Declares slot requirements for GPG module.

Returns
Slot request descriptor.

Reimplemented from cdc::core::IModule.

Definition at line 999 of file GpgModule.cpp.

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

◆ getState()

core::ServiceState cdc::mod_gpg::GpgModule::getState ( ) const
inlineoverridevirtual

Get current service state

Implements cdc::core::IService.

Definition at line 10 of file GpgModule.h.

◆ getVersion()

const char * cdc::mod_gpg::GpgModule::getVersion ( ) const
inlineoverridevirtual

Returns the module version string.

Returns
Pointer to a null-terminated version string.

Implements cdc::core::IModule.

Definition at line 15 of file GpgModule.h.

◆ init()

◆ instance()

GpgModule & cdc::mod_gpg::GpgModule::instance ( )
static

Returns singleton GPG module instance.

Returns
Module singleton reference.

Definition at line 906 of file GpgModule.cpp.

Referenced by getMenuItems().

◆ setSlotRange()

void cdc::mod_gpg::GpgModule::setSlotRange ( const core::IModule::SlotRange & range)
overridevirtual

Stores slot range assigned by module registry.

Parameters
rangeSlot assignment.

Reimplemented from cdc::core::IModule.

Definition at line 991 of file GpgModule.cpp.

◆ start()

◆ stop()

void cdc::mod_gpg::GpgModule::stop ( )
overridevirtual

Stops GPG module and unregisters CCID interface.

Implements cdc::core::IService.

Definition at line 982 of file GpgModule.cpp.

References cdc::core::Ccid, getName(), cdc::core::UsbManager::instance(), cdc::core::STOPPED, and cdc::core::UsbManager::unregisterInterface().


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