\hypertarget{classGpgFrontend_1_1GpgKeyGetter}{}\doxysection{Gpg\+Frontend\+::Gpg\+Key\+Getter Class Reference}
\label{classGpgFrontend_1_1GpgKeyGetter}\index{GpgFrontend::GpgKeyGetter@{GpgFrontend::GpgKeyGetter}}


Inheritance diagram for Gpg\+Frontend\+::Gpg\+Key\+Getter\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[height=550pt]{classGpgFrontend_1_1GpgKeyGetter__inherit__graph}
\end{center}
\end{figure}


Collaboration diagram for Gpg\+Frontend\+::Gpg\+Key\+Getter\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{classGpgFrontend_1_1GpgKeyGetter__coll__graph}
\end{center}
\end{figure}
\doxysubsection*{Public Member Functions}
\begin{DoxyCompactItemize}
\item 
\mbox{\hyperlink{classGpgFrontend_1_1GpgKeyGetter_a8eeee9f6dd74dc24c24794ce63c62285}{Gpg\+Key\+Getter}} (int channel=\mbox{\hyperlink{classGpgFrontend_1_1SingletonFunctionObject_a50e2b3794d6553f4231eaec72d9d0a50}{Singleton\+Function\+Object\+::\+Get\+Default\+Channel}}())
\begin{DoxyCompactList}\small\item\em Construct a new Gpg Key Getter object. \end{DoxyCompactList}\item 
\mbox{\hyperlink{classGpgFrontend_1_1GpgKey}{Gpg\+Key}} \mbox{\hyperlink{classGpgFrontend_1_1GpgKeyGetter_a94243d09c9418c8ebf0c7cdab4a2b7f1}{Get\+Key}} (const std\+::string \&id, bool use\+\_\+cache=true)
\begin{DoxyCompactList}\small\item\em Get the Key object. \end{DoxyCompactList}\item 
Key\+List\+Ptr \mbox{\hyperlink{classGpgFrontend_1_1GpgKeyGetter_aa5979c21af58b874b33c203752dcc805}{Get\+Keys}} (const Key\+Id\+Args\+List\+Ptr \&ids)
\begin{DoxyCompactList}\small\item\em Get the Keys object. \end{DoxyCompactList}\item 
\mbox{\hyperlink{classGpgFrontend_1_1GpgKey}{Gpg\+Key}} \mbox{\hyperlink{classGpgFrontend_1_1GpgKeyGetter_a7a8bc7c0f12a11e108051e4c824fc430}{Get\+Pubkey}} (const std\+::string \&id, bool use\+\_\+cache=true)
\begin{DoxyCompactList}\small\item\em Get the Pubkey object. \end{DoxyCompactList}\item 
Key\+Link\+List\+Ptr \mbox{\hyperlink{classGpgFrontend_1_1GpgKeyGetter_afe78ac470287d70e7df51aae327b9f54}{Fetch\+Key}} ()
\begin{DoxyCompactList}\small\item\em Get all the keys by receiving a linked list. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{classGpgFrontend_1_1GpgKeyGetter_ad9a902ea54566d4583304b072c4add51}\label{classGpgFrontend_1_1GpgKeyGetter_ad9a902ea54566d4583304b072c4add51}} 
void \mbox{\hyperlink{classGpgFrontend_1_1GpgKeyGetter_ad9a902ea54566d4583304b072c4add51}{Flush\+Key\+Cache}} ()
\begin{DoxyCompactList}\small\item\em flush the keys in the cache \end{DoxyCompactList}\item 
Key\+List\+Ptr \mbox{\hyperlink{classGpgFrontend_1_1GpgKeyGetter_a7ec8d8431a771c602cbfa946d13d6c74}{Get\+Keys\+Copy}} (const Key\+List\+Ptr \&keys)
\begin{DoxyCompactList}\small\item\em Get the Keys Copy object. \end{DoxyCompactList}\item 
Key\+Link\+List\+Ptr \mbox{\hyperlink{classGpgFrontend_1_1GpgKeyGetter_a028fe69516a51c526bbd2ec4235053ad}{Get\+Keys\+Copy}} (const Key\+Link\+List\+Ptr \&keys)
\begin{DoxyCompactList}\small\item\em Get the Keys Copy object. \end{DoxyCompactList}\end{DoxyCompactItemize}
\doxysubsection*{Private Member Functions}
\begin{DoxyCompactItemize}
\item 
\mbox{\hyperlink{classGpgFrontend_1_1GpgKey}{Gpg\+Key}} \mbox{\hyperlink{classGpgFrontend_1_1GpgKeyGetter_ab5196ef4ed5323fc2af70abf801ea260}{get\+\_\+key\+\_\+in\+\_\+cache}} (const std\+::string \&id)
\begin{DoxyCompactList}\small\item\em Get the Key object. \end{DoxyCompactList}\end{DoxyCompactItemize}
\doxysubsection*{Private Attributes}
\begin{DoxyCompactItemize}
\item 
\mbox{\hyperlink{classGpgFrontend_1_1GpgContext}{Gpg\+Context}} \& \mbox{\hyperlink{classGpgFrontend_1_1GpgKeyGetter_aa4aef315d82123726be879097d3df147}{ctx\+\_\+}}
\begin{DoxyCompactList}\small\item\em Get the gpgme context object. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{classGpgFrontend_1_1GpgKeyGetter_a81941e1f562dc22977a71d00dd10956a}\label{classGpgFrontend_1_1GpgKeyGetter_a81941e1f562dc22977a71d00dd10956a}} 
std\+::mutex \mbox{\hyperlink{classGpgFrontend_1_1GpgKeyGetter_a81941e1f562dc22977a71d00dd10956a}{ctx\+\_\+mutex\+\_\+}}
\begin{DoxyCompactList}\small\item\em shared mutex for the keys cache \end{DoxyCompactList}\item 
\mbox{\Hypertarget{classGpgFrontend_1_1GpgKeyGetter_a9567d5e08ae73c5bafcd1dc378fed066}\label{classGpgFrontend_1_1GpgKeyGetter_a9567d5e08ae73c5bafcd1dc378fed066}} 
std\+::map$<$ std\+::string, \mbox{\hyperlink{classGpgFrontend_1_1GpgKey}{Gpg\+Key}} $>$ \mbox{\hyperlink{classGpgFrontend_1_1GpgKeyGetter_a9567d5e08ae73c5bafcd1dc378fed066}{keys\+\_\+cache\+\_\+}}
\begin{DoxyCompactList}\small\item\em cache the keys with key id \end{DoxyCompactList}\item 
\mbox{\Hypertarget{classGpgFrontend_1_1GpgKeyGetter_ae1d7846ad2fa17ab90c72b3186ba5335}\label{classGpgFrontend_1_1GpgKeyGetter_ae1d7846ad2fa17ab90c72b3186ba5335}} 
std\+::mutex \mbox{\hyperlink{classGpgFrontend_1_1GpgKeyGetter_ae1d7846ad2fa17ab90c72b3186ba5335}{keys\+\_\+cache\+\_\+mutex\+\_\+}}
\begin{DoxyCompactList}\small\item\em shared mutex for the keys cache \end{DoxyCompactList}\end{DoxyCompactItemize}
\doxysubsection*{Additional Inherited Members}


\doxysubsection{Constructor \& Destructor Documentation}
\mbox{\Hypertarget{classGpgFrontend_1_1GpgKeyGetter_a8eeee9f6dd74dc24c24794ce63c62285}\label{classGpgFrontend_1_1GpgKeyGetter_a8eeee9f6dd74dc24c24794ce63c62285}} 
\index{GpgFrontend::GpgKeyGetter@{GpgFrontend::GpgKeyGetter}!GpgKeyGetter@{GpgKeyGetter}}
\index{GpgKeyGetter@{GpgKeyGetter}!GpgFrontend::GpgKeyGetter@{GpgFrontend::GpgKeyGetter}}
\doxysubsubsection{\texorpdfstring{GpgKeyGetter()}{GpgKeyGetter()}}
{\footnotesize\ttfamily Gpg\+Frontend\+::\+Gpg\+Key\+Getter\+::\+Gpg\+Key\+Getter (\begin{DoxyParamCaption}\item[{int}]{channel = {\ttfamily \mbox{\hyperlink{classGpgFrontend_1_1SingletonFunctionObject_a50e2b3794d6553f4231eaec72d9d0a50}{Singleton\+Function\+Object\+::\+Get\+Default\+Channel}}()} }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [explicit]}}



Construct a new Gpg Key Getter object. 


\begin{DoxyParams}{Parameters}
{\em channel} & Copyright (C) 2021 Saturneric\\
\hline
\end{DoxyParams}
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{Member Function Documentation}
\mbox{\Hypertarget{classGpgFrontend_1_1GpgKeyGetter_afe78ac470287d70e7df51aae327b9f54}\label{classGpgFrontend_1_1GpgKeyGetter_afe78ac470287d70e7df51aae327b9f54}} 
\index{GpgFrontend::GpgKeyGetter@{GpgFrontend::GpgKeyGetter}!FetchKey@{FetchKey}}
\index{FetchKey@{FetchKey}!GpgFrontend::GpgKeyGetter@{GpgFrontend::GpgKeyGetter}}
\doxysubsubsection{\texorpdfstring{FetchKey()}{FetchKey()}}
{\footnotesize\ttfamily Gpg\+Frontend\+::\+Key\+Link\+List\+Ptr Gpg\+Frontend\+::\+Gpg\+Key\+Getter\+::\+Fetch\+Key (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})}



Get all the keys by receiving a linked list. 

\begin{DoxyReturn}{Returns}
Key\+Link\+List\+Ptr 
\end{DoxyReturn}


Referenced by Gpg\+Frontend\+::\+UI\+::\+Key\+Table\+::\+Refresh().

\mbox{\Hypertarget{classGpgFrontend_1_1GpgKeyGetter_ab5196ef4ed5323fc2af70abf801ea260}\label{classGpgFrontend_1_1GpgKeyGetter_ab5196ef4ed5323fc2af70abf801ea260}} 
\index{GpgFrontend::GpgKeyGetter@{GpgFrontend::GpgKeyGetter}!get\_key\_in\_cache@{get\_key\_in\_cache}}
\index{get\_key\_in\_cache@{get\_key\_in\_cache}!GpgFrontend::GpgKeyGetter@{GpgFrontend::GpgKeyGetter}}
\doxysubsubsection{\texorpdfstring{get\_key\_in\_cache()}{get\_key\_in\_cache()}}
{\footnotesize\ttfamily \mbox{\hyperlink{classGpgFrontend_1_1GpgKey}{Gpg\+Frontend\+::\+Gpg\+Key}} Gpg\+Frontend\+::\+Gpg\+Key\+Getter\+::get\+\_\+key\+\_\+in\+\_\+cache (\begin{DoxyParamCaption}\item[{const std\+::string \&}]{id }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [private]}}



Get the Key object. 


\begin{DoxyParams}{Parameters}
{\em id} & \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
\mbox{\hyperlink{classGpgFrontend_1_1GpgKey}{Gpg\+Key}} 
\end{DoxyReturn}
\mbox{\Hypertarget{classGpgFrontend_1_1GpgKeyGetter_a94243d09c9418c8ebf0c7cdab4a2b7f1}\label{classGpgFrontend_1_1GpgKeyGetter_a94243d09c9418c8ebf0c7cdab4a2b7f1}} 
\index{GpgFrontend::GpgKeyGetter@{GpgFrontend::GpgKeyGetter}!GetKey@{GetKey}}
\index{GetKey@{GetKey}!GpgFrontend::GpgKeyGetter@{GpgFrontend::GpgKeyGetter}}
\doxysubsubsection{\texorpdfstring{GetKey()}{GetKey()}}
{\footnotesize\ttfamily \mbox{\hyperlink{classGpgFrontend_1_1GpgKey}{Gpg\+Frontend\+::\+Gpg\+Key}} Gpg\+Frontend\+::\+Gpg\+Key\+Getter\+::\+Get\+Key (\begin{DoxyParamCaption}\item[{const std\+::string \&}]{id,  }\item[{bool}]{use\+\_\+cache = {\ttfamily true} }\end{DoxyParamCaption})}



Get the Key object. 


\begin{DoxyParams}{Parameters}
{\em fpr} & \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
\mbox{\hyperlink{classGpgFrontend_1_1GpgKey}{Gpg\+Key}} 
\end{DoxyReturn}


Referenced by Gpg\+Frontend\+::\+UI\+::\+Verify\+Key\+Detail\+Box\+::create\+\_\+key\+\_\+info\+\_\+grid(), Gpg\+Frontend\+::\+UI\+::\+Key\+Import\+Detail\+Dialog\+::create\+\_\+keys\+\_\+table(), Gpg\+Frontend\+::\+UI\+::\+Key\+Mgmt\+::delete\+\_\+keys\+\_\+with\+\_\+warning(), Gpg\+Frontend\+::\+Gpg\+Key\+Opera\+::\+Delete\+Keys(), Gpg\+Frontend\+::\+Gpg\+Decrypt\+Result\+Analyse\+::print\+\_\+recipient(), Gpg\+Frontend\+::\+Gpg\+Verify\+Result\+Analyse\+::print\+\_\+signer(), Gpg\+Frontend\+::\+UI\+::\+Main\+Window\+::slot\+\_\+copy\+\_\+mail\+\_\+address\+\_\+to\+\_\+clipboard(), Gpg\+Frontend\+::\+UI\+::\+Key\+List\+::slot\+\_\+double\+\_\+clicked(), and Gpg\+Frontend\+::\+UI\+::\+Main\+Window\+::slot\+\_\+show\+\_\+key\+\_\+details().

\mbox{\Hypertarget{classGpgFrontend_1_1GpgKeyGetter_aa5979c21af58b874b33c203752dcc805}\label{classGpgFrontend_1_1GpgKeyGetter_aa5979c21af58b874b33c203752dcc805}} 
\index{GpgFrontend::GpgKeyGetter@{GpgFrontend::GpgKeyGetter}!GetKeys@{GetKeys}}
\index{GetKeys@{GetKeys}!GpgFrontend::GpgKeyGetter@{GpgFrontend::GpgKeyGetter}}
\doxysubsubsection{\texorpdfstring{GetKeys()}{GetKeys()}}
{\footnotesize\ttfamily Gpg\+Frontend\+::\+Key\+List\+Ptr Gpg\+Frontend\+::\+Gpg\+Key\+Getter\+::\+Get\+Keys (\begin{DoxyParamCaption}\item[{const Key\+Id\+Args\+List\+Ptr \&}]{ids }\end{DoxyParamCaption})}



Get the Keys object. 


\begin{DoxyParams}{Parameters}
{\em ids} & \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
Key\+List\+Ptr 
\end{DoxyReturn}


Referenced by Gpg\+Frontend\+::\+Gpg\+Key\+Import\+Exporter\+::\+Export\+Keys(), Gpg\+Frontend\+::\+UI\+::\+Main\+Window\+::slot\+\_\+encrypt(), Gpg\+Frontend\+::\+UI\+::\+Main\+Window\+::slot\+\_\+encrypt\+\_\+sign(), Gpg\+Frontend\+::\+UI\+::\+Main\+Window\+::slot\+\_\+sign(), Gpg\+Frontend\+::\+UI\+::\+Key\+UIDSign\+Dialog\+::slot\+\_\+sign\+\_\+key(), Gpg\+Frontend\+::\+UI\+::\+Main\+Window\+::\+Slot\+File\+Encrypt(), Gpg\+Frontend\+::\+UI\+::\+Main\+Window\+::\+Slot\+File\+Encrypt\+Sign(), and Gpg\+Frontend\+::\+UI\+::\+Main\+Window\+::\+Slot\+File\+Sign().

\mbox{\Hypertarget{classGpgFrontend_1_1GpgKeyGetter_a028fe69516a51c526bbd2ec4235053ad}\label{classGpgFrontend_1_1GpgKeyGetter_a028fe69516a51c526bbd2ec4235053ad}} 
\index{GpgFrontend::GpgKeyGetter@{GpgFrontend::GpgKeyGetter}!GetKeysCopy@{GetKeysCopy}}
\index{GetKeysCopy@{GetKeysCopy}!GpgFrontend::GpgKeyGetter@{GpgFrontend::GpgKeyGetter}}
\doxysubsubsection{\texorpdfstring{GetKeysCopy()}{GetKeysCopy()}\hspace{0.1cm}{\footnotesize\ttfamily [1/2]}}
{\footnotesize\ttfamily Gpg\+Frontend\+::\+Key\+Link\+List\+Ptr Gpg\+Frontend\+::\+Gpg\+Key\+Getter\+::\+Get\+Keys\+Copy (\begin{DoxyParamCaption}\item[{const Key\+Link\+List\+Ptr \&}]{keys }\end{DoxyParamCaption})}



Get the Keys Copy object. 


\begin{DoxyParams}{Parameters}
{\em keys} & \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
Key\+Link\+List\+Ptr 
\end{DoxyReturn}
\mbox{\Hypertarget{classGpgFrontend_1_1GpgKeyGetter_a7ec8d8431a771c602cbfa946d13d6c74}\label{classGpgFrontend_1_1GpgKeyGetter_a7ec8d8431a771c602cbfa946d13d6c74}} 
\index{GpgFrontend::GpgKeyGetter@{GpgFrontend::GpgKeyGetter}!GetKeysCopy@{GetKeysCopy}}
\index{GetKeysCopy@{GetKeysCopy}!GpgFrontend::GpgKeyGetter@{GpgFrontend::GpgKeyGetter}}
\doxysubsubsection{\texorpdfstring{GetKeysCopy()}{GetKeysCopy()}\hspace{0.1cm}{\footnotesize\ttfamily [2/2]}}
{\footnotesize\ttfamily Gpg\+Frontend\+::\+Key\+List\+Ptr Gpg\+Frontend\+::\+Gpg\+Key\+Getter\+::\+Get\+Keys\+Copy (\begin{DoxyParamCaption}\item[{const Key\+List\+Ptr \&}]{keys }\end{DoxyParamCaption})}



Get the Keys Copy object. 


\begin{DoxyParams}{Parameters}
{\em keys} & \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
Key\+List\+Ptr 
\end{DoxyReturn}
\mbox{\Hypertarget{classGpgFrontend_1_1GpgKeyGetter_a7a8bc7c0f12a11e108051e4c824fc430}\label{classGpgFrontend_1_1GpgKeyGetter_a7a8bc7c0f12a11e108051e4c824fc430}} 
\index{GpgFrontend::GpgKeyGetter@{GpgFrontend::GpgKeyGetter}!GetPubkey@{GetPubkey}}
\index{GetPubkey@{GetPubkey}!GpgFrontend::GpgKeyGetter@{GpgFrontend::GpgKeyGetter}}
\doxysubsubsection{\texorpdfstring{GetPubkey()}{GetPubkey()}}
{\footnotesize\ttfamily \mbox{\hyperlink{classGpgFrontend_1_1GpgKey}{Gpg\+Frontend\+::\+Gpg\+Key}} Gpg\+Frontend\+::\+Gpg\+Key\+Getter\+::\+Get\+Pubkey (\begin{DoxyParamCaption}\item[{const std\+::string \&}]{id,  }\item[{bool}]{use\+\_\+cache = {\ttfamily true} }\end{DoxyParamCaption})}



Get the Pubkey object. 


\begin{DoxyParams}{Parameters}
{\em fpr} & \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
\mbox{\hyperlink{classGpgFrontend_1_1GpgKey}{Gpg\+Key}} 
\end{DoxyReturn}


\doxysubsection{Member Data Documentation}
\mbox{\Hypertarget{classGpgFrontend_1_1GpgKeyGetter_aa4aef315d82123726be879097d3df147}\label{classGpgFrontend_1_1GpgKeyGetter_aa4aef315d82123726be879097d3df147}} 
\index{GpgFrontend::GpgKeyGetter@{GpgFrontend::GpgKeyGetter}!ctx\_@{ctx\_}}
\index{ctx\_@{ctx\_}!GpgFrontend::GpgKeyGetter@{GpgFrontend::GpgKeyGetter}}
\doxysubsubsection{\texorpdfstring{ctx\_}{ctx\_}}
{\footnotesize\ttfamily \mbox{\hyperlink{classGpgFrontend_1_1GpgContext}{Gpg\+Context}}\& Gpg\+Frontend\+::\+Gpg\+Key\+Getter\+::ctx\+\_\+\hspace{0.3cm}{\ttfamily [private]}}

{\bfseries Initial value\+:}
\begin{DoxyCode}{0}
\DoxyCodeLine{=}
\DoxyCodeLine{      \mbox{\hyperlink{classGpgFrontend_1_1SingletonFunctionObject_a70484d7cfe9f9dcbcd5f8bb749250f36}{GpgContext::GetInstance}}(\mbox{\hyperlink{classGpgFrontend_1_1SingletonFunctionObject_aa99440b9177f5d0c18840f08a40d64b7}{SingletonFunctionObject::GetChannel}}())}

\end{DoxyCode}


Get the gpgme context object. 



The documentation for this class was generated from the following files\+:\begin{DoxyCompactItemize}
\item 
src/core/function/gpg/Gpg\+Key\+Getter.\+h\item 
src/core/function/gpg/Gpg\+Key\+Getter.\+cpp\end{DoxyCompactItemize}
