GpgFrontend Project
A Free, Powerful, Easy-to-Use, Compact, Cross-Platform, and Installation-Free OpenPGP(pgp) Crypto Tool.
GpgFrontend::Module::GlobalModuleContext::Impl Class Reference
Collaboration diagram for GpgFrontend::Module::GlobalModuleContext::Impl:
Collaboration graph

Classes

struct  ModuleRegisterInfo
 

Public Member Functions

auto GetChannel (ModuleRawPtr module) -> int
 
auto GetTaskRunner (ModuleRawPtr) -> std::optional< TaskRunnerPtr >
 
auto GetTaskRunner (ModuleIdentifier) -> std::optional< TaskRunnerPtr >
 
auto GetGlobalTaskRunner () -> std::optional< TaskRunnerPtr >
 
auto RegisterModule (const ModulePtr &module) -> bool
 
auto ActiveModule (ModuleIdentifier module_id) -> bool
 
auto ListenEvent (ModuleIdentifier module_id, EventIdentifier event) -> bool
 
auto DeactivateModule (ModuleIdentifier module_id) -> bool
 
auto TriggerEvent (const EventRefrernce &event) -> bool
 
auto IsModuleActivated (const ModuleIdentifier &m_id) const -> bool
 

Static Public Member Functions

static auto GetDefaultChannel (ModuleRawPtr) -> int
 

Private Types

using ModuleRegisterInfoPtr = std::shared_ptr< ModuleRegisterInfo >
 

Private Member Functions

auto acquire_new_unique_channel () -> int
 
auto search_module_register_table (const ModuleIdentifier &identifier) const -> std::optional< ModuleRegisterInfoPtr >
 

Private Attributes

std::unordered_map< ModuleIdentifier, ModuleRegisterInfoPtr > module_register_table_
 
std::map< EventIdentifier, std::unordered_set< ModuleIdentifier > > module_events_table_
 
std::set< int > acquired_channel_
 
TaskRunnerPtr default_task_runner_
 

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