\hypertarget{namespaceGpgFrontend_1_1Module}{}\doxysection{Gpg\+Frontend\+::Module Namespace Reference}
\label{namespaceGpgFrontend_1_1Module}\index{GpgFrontend::Module@{GpgFrontend::Module}}
\doxysubsection*{Classes}
\begin{DoxyCompactItemize}
\item 
class \mbox{\hyperlink{classGpgFrontend_1_1Module_1_1Event}{Event}}
\item 
class \mbox{\hyperlink{classGpgFrontend_1_1Module_1_1GlobalModuleContext}{Global\+Module\+Context}}
\item 
class \mbox{\hyperlink{classGpgFrontend_1_1Module_1_1GlobalRegisterTable}{Global\+Register\+Table}}
\item 
class \mbox{\hyperlink{classGpgFrontend_1_1Module_1_1GlobalRegisterTableTreeModel}{Global\+Register\+Table\+Tree\+Model}}
\item 
class \mbox{\hyperlink{classGpgFrontend_1_1Module_1_1Module}{Module}}
\item 
struct \mbox{\hyperlink{structGpgFrontend_1_1Module_1_1ModuleInitArgs}{Module\+Init\+Args}}
\item 
class \mbox{\hyperlink{classGpgFrontend_1_1Module_1_1ModuleManager}{Module\+Manager}}
\end{DoxyCompactItemize}
\doxysubsection*{Typedefs}
\begin{DoxyCompactItemize}
\item 
\mbox{\Hypertarget{namespaceGpgFrontend_1_1Module_a340abcd73c766e5691e90e504b3cd975}\label{namespaceGpgFrontend_1_1Module_a340abcd73c766e5691e90e504b3cd975}} 
using {\bfseries Event\+Refrernce} = std\+::shared\+\_\+ptr$<$ \mbox{\hyperlink{classGpgFrontend_1_1Module_1_1Event}{Event}} $>$
\item 
\mbox{\Hypertarget{namespaceGpgFrontend_1_1Module_a0c3d65fe66a8f7e0fc93d0a45a899723}\label{namespaceGpgFrontend_1_1Module_a0c3d65fe66a8f7e0fc93d0a45a899723}} 
using {\bfseries Event\+Identifier} = QString
\item 
\mbox{\Hypertarget{namespaceGpgFrontend_1_1Module_ad158f92b60cffde02f5d5560fd094d5e}\label{namespaceGpgFrontend_1_1Module_ad158f92b60cffde02f5d5560fd094d5e}} 
using {\bfseries Event\+Trigger\+Identifier} = QString
\item 
\mbox{\Hypertarget{namespaceGpgFrontend_1_1Module_a6abb965a4aab039e321111ac39045a56}\label{namespaceGpgFrontend_1_1Module_a6abb965a4aab039e321111ac39045a56}} 
using {\bfseries Evnets} = std\+::vector$<$ \mbox{\hyperlink{classGpgFrontend_1_1Module_1_1Event}{Event}} $>$
\item 
\mbox{\Hypertarget{namespaceGpgFrontend_1_1Module_a77e47a91519df4f0df6aaa47ba7e04b5}\label{namespaceGpgFrontend_1_1Module_a77e47a91519df4f0df6aaa47ba7e04b5}} 
using {\bfseries Module\+Identifier} = QString
\item 
\mbox{\Hypertarget{namespaceGpgFrontend_1_1Module_aca4d4541b62bdd408e60d25ac9d77831}\label{namespaceGpgFrontend_1_1Module_aca4d4541b62bdd408e60d25ac9d77831}} 
using {\bfseries Module\+Ptr} = std\+::shared\+\_\+ptr$<$ \mbox{\hyperlink{classGpgFrontend_1_1Module_1_1Module}{Module}} $>$
\item 
\mbox{\Hypertarget{namespaceGpgFrontend_1_1Module_a82533db0a36b076ebe095b76636b6df8}\label{namespaceGpgFrontend_1_1Module_a82533db0a36b076ebe095b76636b6df8}} 
using {\bfseries Module\+Raw\+Ptr} = \mbox{\hyperlink{classGpgFrontend_1_1Module_1_1Module}{Module}} $\ast$
\item 
\mbox{\Hypertarget{namespaceGpgFrontend_1_1Module_ab93c267b476f6d61f9d4063e3242520a}\label{namespaceGpgFrontend_1_1Module_ab93c267b476f6d61f9d4063e3242520a}} 
using {\bfseries GMCPtr} = std\+::shared\+\_\+ptr$<$ \mbox{\hyperlink{classGpgFrontend_1_1Module_1_1GlobalModuleContext}{Global\+Module\+Context}} $>$
\item 
\mbox{\Hypertarget{namespaceGpgFrontend_1_1Module_a1effc155d212189da35a2d00d385a2e5}\label{namespaceGpgFrontend_1_1Module_a1effc155d212189da35a2d00d385a2e5}} 
using {\bfseries GRTPtr} = std\+::shared\+\_\+ptr$<$ \mbox{\hyperlink{classGpgFrontend_1_1Module_1_1GlobalRegisterTable}{Global\+Register\+Table}} $>$
\item 
\mbox{\Hypertarget{namespaceGpgFrontend_1_1Module_a23749acffc7c9b092530eda133175247}\label{namespaceGpgFrontend_1_1Module_a23749acffc7c9b092530eda133175247}} 
using {\bfseries Task\+Runner\+Ptr} = std\+::shared\+\_\+ptr$<$ \mbox{\hyperlink{classGpgFrontend_1_1Thread_1_1TaskRunner}{Thread\+::\+Task\+Runner}} $>$
\item 
\mbox{\Hypertarget{namespaceGpgFrontend_1_1Module_a32bd9a427f0726a36222753a10395059}\label{namespaceGpgFrontend_1_1Module_a32bd9a427f0726a36222753a10395059}} 
using {\bfseries Namespace} = QString
\item 
\mbox{\Hypertarget{namespaceGpgFrontend_1_1Module_a4d85e8bfe4d6ab0193e59535b0d2ed32}\label{namespaceGpgFrontend_1_1Module_a4d85e8bfe4d6ab0193e59535b0d2ed32}} 
using {\bfseries Key} = QString
\item 
\mbox{\Hypertarget{namespaceGpgFrontend_1_1Module_a326305250e96756a0eb3b8683bc836db}\label{namespaceGpgFrontend_1_1Module_a326305250e96756a0eb3b8683bc836db}} 
using {\bfseries LPCallback} = std\+::function$<$ void(Namespace, Key, int, std\+::any)$>$
\item 
\mbox{\Hypertarget{namespaceGpgFrontend_1_1Module_a939c65185b5cabe42e5cd187b3238e2c}\label{namespaceGpgFrontend_1_1Module_a939c65185b5cabe42e5cd187b3238e2c}} 
using {\bfseries Module\+Version} = QString
\item 
\mbox{\Hypertarget{namespaceGpgFrontend_1_1Module_a540ad137a43cb000c3b5f200c3edc036}\label{namespaceGpgFrontend_1_1Module_a540ad137a43cb000c3b5f200c3edc036}} 
using {\bfseries Module\+Meta\+Data} = QMap$<$ QString, QString $>$
\item 
\mbox{\Hypertarget{namespaceGpgFrontend_1_1Module_aa21d42624d1f3dc14ada7b1f609a132a}\label{namespaceGpgFrontend_1_1Module_aa21d42624d1f3dc14ada7b1f609a132a}} 
using {\bfseries Module\+Manger\+Ptr} = std\+::shared\+\_\+ptr$<$ \mbox{\hyperlink{classGpgFrontend_1_1Module_1_1ModuleManager}{Module\+Manager}} $>$
\end{DoxyCompactItemize}
\doxysubsection*{Functions}
\begin{DoxyCompactItemize}
\item 
\mbox{\Hypertarget{namespaceGpgFrontend_1_1Module_aaafda413ba6ccb2e0e5e866f11cf8dc5}\label{namespaceGpgFrontend_1_1Module_aaafda413ba6ccb2e0e5e866f11cf8dc5}} 
{\footnotesize template$<$typename... Args$>$ }\\auto {\bfseries Make\+Event} (const Event\+Identifier \&event\+\_\+id, Args \&\&... args, Event\+::\+Event\+Callback e\+\_\+cb) -\/$>$ Event\+Refrernce
\item 
\mbox{\Hypertarget{namespaceGpgFrontend_1_1Module_a7f3912fe331338264ae22e434425f59e}\label{namespaceGpgFrontend_1_1Module_a7f3912fe331338264ae22e434425f59e}} 
void \mbox{\hyperlink{namespaceGpgFrontend_1_1Module_a7f3912fe331338264ae22e434425f59e}{Load\+Gpg\+Frontend\+Modules}} (\mbox{\hyperlink{structGpgFrontend_1_1Module_1_1ModuleInitArgs}{Module\+Init\+Args}} args)
\begin{DoxyCompactList}\small\item\em init the module library \end{DoxyCompactList}\item 
\mbox{\Hypertarget{namespaceGpgFrontend_1_1Module_a25a2b6107e70c76ab0731f2685d94745}\label{namespaceGpgFrontend_1_1Module_a25a2b6107e70c76ab0731f2685d94745}} 
void \mbox{\hyperlink{namespaceGpgFrontend_1_1Module_a25a2b6107e70c76ab0731f2685d94745}{Shutdown\+Gpg\+Frontend\+Modules}} ()
\begin{DoxyCompactList}\small\item\em shutdown the module library \end{DoxyCompactList}\item 
auto \mbox{\hyperlink{namespaceGpgFrontend_1_1Module_ad603c5872c4d356cb59b70b63b99126c}{Is\+Module\+Activate}} (Module\+Identifier id) -\/$>$ bool
\item 
auto \mbox{\hyperlink{namespaceGpgFrontend_1_1Module_a5e4614222306688d8c2f36fd4ae23de3}{Upsert\+RTValue}} (const QString \&namespace\+\_\+, const QString \&key, const std\+::any \&value) -\/$>$ bool
\item 
auto \mbox{\hyperlink{namespaceGpgFrontend_1_1Module_af88df9c72a7e6ec8dede9afc7234aca7}{Listen\+RTPublish\+Event}} (QObject $\ast$o, Namespace n, Key k, LPCallback c) -\/$>$ bool
\item 
auto \mbox{\hyperlink{namespaceGpgFrontend_1_1Module_a92a4ccb9246f778143ad3e88d2068d7c}{List\+RTChild\+Keys}} (const QString \&namespace\+\_\+, const QString \&key) -\/$>$ std\+::vector$<$ Key $>$
\item 
\mbox{\Hypertarget{namespaceGpgFrontend_1_1Module_a0dd02118df9de6c1a538d8a4a9910129}\label{namespaceGpgFrontend_1_1Module_a0dd02118df9de6c1a538d8a4a9910129}} 
{\footnotesize template$<$typename T , typename... Args$>$ }\\void {\bfseries Register\+Module} (Args \&\&... args)
\item 
\mbox{\Hypertarget{namespaceGpgFrontend_1_1Module_a548ad04674384cf77aad447bc7eeaac0}\label{namespaceGpgFrontend_1_1Module_a548ad04674384cf77aad447bc7eeaac0}} 
{\footnotesize template$<$typename T , typename... Args$>$ }\\void {\bfseries Register\+And\+Activate\+Module} (Args \&\&... args)
\item 
\mbox{\Hypertarget{namespaceGpgFrontend_1_1Module_accf5a43c8a79876c005b9d287e8ff245}\label{namespaceGpgFrontend_1_1Module_accf5a43c8a79876c005b9d287e8ff245}} 
{\footnotesize template$<$typename... Args$>$ }\\void {\bfseries Trigger\+Event} (const Event\+Identifier \&event\+\_\+id, Args \&\&... args, Event\+::\+Event\+Callback e\+\_\+cb=nullptr)
\item 
\mbox{\Hypertarget{namespaceGpgFrontend_1_1Module_a23a586d557162b22ef92dc316deb1edc}\label{namespaceGpgFrontend_1_1Module_a23a586d557162b22ef92dc316deb1edc}} 
{\footnotesize template$<$typename T $>$ }\\auto {\bfseries Retrieve\+RTValue\+Typed} (const QString \&namespace\+\_\+, const QString \&key) -\/$>$ std\+::optional$<$ T $>$
\item 
\mbox{\Hypertarget{namespaceGpgFrontend_1_1Module_a9e9ac88fcd1c94018139dbe11ce21e90}\label{namespaceGpgFrontend_1_1Module_a9e9ac88fcd1c94018139dbe11ce21e90}} 
{\footnotesize template$<$typename T $>$ }\\auto {\bfseries Retrieve\+RTValue\+Typed\+Or\+Default} (const QString \&namespace\+\_\+, const QString \&key, const T \&default\+Value) -\/$>$ T
\end{DoxyCompactItemize}


\doxysubsection{Detailed Description}
Copyright (C) 2021 Saturneric \href{mailto:eric@bktus.com}{\texttt{ eric@bktus.\+com}}

This file is part of \mbox{\hyperlink{namespaceGpgFrontend}{Gpg\+Frontend}}.

\mbox{\hyperlink{namespaceGpgFrontend}{Gpg\+Frontend}} is free software\+: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.

\mbox{\hyperlink{namespaceGpgFrontend}{Gpg\+Frontend}} is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with \mbox{\hyperlink{namespaceGpgFrontend}{Gpg\+Frontend}}. If not, see \href{https://www.gnu.org/licenses/}{\texttt{ https\+://www.\+gnu.\+org/licenses/}}.

The initial version of the source code is inherited from the gpg4usb project, which is under GPL-\/3.\+0-\/or-\/later.

All the source code of \mbox{\hyperlink{namespaceGpgFrontend}{Gpg\+Frontend}} was modified and released by Saturneric \href{mailto:eric@bktus.com}{\texttt{ eric@bktus.\+com}} starting on May 12, 2021.

SPDX-\/\+License-\/\+Identifier\+: GPL-\/3.\+0-\/or-\/later 

\doxysubsection{Function Documentation}
\mbox{\Hypertarget{namespaceGpgFrontend_1_1Module_ad603c5872c4d356cb59b70b63b99126c}\label{namespaceGpgFrontend_1_1Module_ad603c5872c4d356cb59b70b63b99126c}} 
\index{GpgFrontend::Module@{GpgFrontend::Module}!IsModuleActivate@{IsModuleActivate}}
\index{IsModuleActivate@{IsModuleActivate}!GpgFrontend::Module@{GpgFrontend::Module}}
\doxysubsubsection{\texorpdfstring{IsModuleActivate()}{IsModuleActivate()}}
{\footnotesize\ttfamily auto GPGFRONTEND\+\_\+\+CORE\+\_\+\+EXPORT Gpg\+Frontend\+::\+Module\+::\+Is\+Module\+Activate (\begin{DoxyParamCaption}\item[{Module\+Identifier}]{ }\end{DoxyParamCaption}) -\/$>$  bool}

\begin{DoxyReturn}{Returns}
true 

false 
\end{DoxyReturn}


References Gpg\+Frontend\+::\+Singleton\+Function\+Object$<$ Module\+Manager $>$\+::\+Get\+Instance().



Referenced by Gpg\+Frontend\+::\+UI\+::\+About\+Dialog\+::\+About\+Dialog(), Gpg\+Frontend\+::\+UI\+::\+Network\+Tab\+::\+Network\+Tab(), Gpg\+Frontend\+::\+Gpg\+Advanced\+Operator\+::\+Start\+Dirmngr(), Gpg\+Frontend\+::\+Gpg\+Advanced\+Operator\+::\+Start\+Gpg\+Agent(), and Gpg\+Frontend\+::\+Gpg\+Advanced\+Operator\+::\+Start\+Key\+Boxd().

\mbox{\Hypertarget{namespaceGpgFrontend_1_1Module_af88df9c72a7e6ec8dede9afc7234aca7}\label{namespaceGpgFrontend_1_1Module_af88df9c72a7e6ec8dede9afc7234aca7}} 
\index{GpgFrontend::Module@{GpgFrontend::Module}!ListenRTPublishEvent@{ListenRTPublishEvent}}
\index{ListenRTPublishEvent@{ListenRTPublishEvent}!GpgFrontend::Module@{GpgFrontend::Module}}
\doxysubsubsection{\texorpdfstring{ListenRTPublishEvent()}{ListenRTPublishEvent()}}
{\footnotesize\ttfamily auto GPGFRONTEND\+\_\+\+CORE\+\_\+\+EXPORT Gpg\+Frontend\+::\+Module\+::\+Listen\+RTPublish\+Event (\begin{DoxyParamCaption}\item[{QObject $\ast$}]{,  }\item[{Namespace}]{,  }\item[{Key}]{,  }\item[{LPCallback}]{ }\end{DoxyParamCaption}) -\/$>$  bool}

\begin{DoxyReturn}{Returns}
true 

false 
\end{DoxyReturn}


References Gpg\+Frontend\+::\+Singleton\+Function\+Object$<$ Module\+Manager $>$\+::\+Get\+Instance().

\mbox{\Hypertarget{namespaceGpgFrontend_1_1Module_a92a4ccb9246f778143ad3e88d2068d7c}\label{namespaceGpgFrontend_1_1Module_a92a4ccb9246f778143ad3e88d2068d7c}} 
\index{GpgFrontend::Module@{GpgFrontend::Module}!ListRTChildKeys@{ListRTChildKeys}}
\index{ListRTChildKeys@{ListRTChildKeys}!GpgFrontend::Module@{GpgFrontend::Module}}
\doxysubsubsection{\texorpdfstring{ListRTChildKeys()}{ListRTChildKeys()}}
{\footnotesize\ttfamily auto GPGFRONTEND\+\_\+\+CORE\+\_\+\+EXPORT Gpg\+Frontend\+::\+Module\+::\+List\+RTChild\+Keys (\begin{DoxyParamCaption}\item[{const QString \&}]{namespace\+\_\+,  }\item[{const QString \&}]{key }\end{DoxyParamCaption}) -\/$>$  std\+::vector$<$ Key $>$}


\begin{DoxyParams}{Parameters}
{\em namespace\+\_\+} & \\
\hline
{\em key} & \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
std\+::vector$<$\+Key$>$ 
\end{DoxyReturn}


References Gpg\+Frontend\+::\+Singleton\+Function\+Object$<$ Module\+Manager $>$\+::\+Get\+Instance().

\mbox{\Hypertarget{namespaceGpgFrontend_1_1Module_a5e4614222306688d8c2f36fd4ae23de3}\label{namespaceGpgFrontend_1_1Module_a5e4614222306688d8c2f36fd4ae23de3}} 
\index{GpgFrontend::Module@{GpgFrontend::Module}!UpsertRTValue@{UpsertRTValue}}
\index{UpsertRTValue@{UpsertRTValue}!GpgFrontend::Module@{GpgFrontend::Module}}
\doxysubsubsection{\texorpdfstring{UpsertRTValue()}{UpsertRTValue()}}
{\footnotesize\ttfamily auto GPGFRONTEND\+\_\+\+CORE\+\_\+\+EXPORT Gpg\+Frontend\+::\+Module\+::\+Upsert\+RTValue (\begin{DoxyParamCaption}\item[{const QString \&}]{namespace\+\_\+,  }\item[{const QString \&}]{key,  }\item[{const std\+::any \&}]{value }\end{DoxyParamCaption}) -\/$>$  bool}


\begin{DoxyParams}{Parameters}
{\em namespace\+\_\+} & \\
\hline
{\em key} & \\
\hline
{\em value} & \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
true 

false 
\end{DoxyReturn}


References Gpg\+Frontend\+::\+Singleton\+Function\+Object$<$ Module\+Manager $>$\+::\+Get\+Instance().



Referenced by Gpg\+Frontend\+::\+Global\+Setting\+Station\+::\+Impl\+::\+Impl(), and Gpg\+Frontend\+::\+Gpg\+Advanced\+Operator\+::\+Restart\+Gpg\+Components().

