\hypertarget{classGpgFrontend_1_1GpgKeyManager}{}\doxysection{Gpg\+Frontend\+::Gpg\+Key\+Manager Class Reference} \label{classGpgFrontend_1_1GpgKeyManager}\index{GpgFrontend::GpgKeyManager@{GpgFrontend::GpgKeyManager}} Inheritance diagram for Gpg\+Frontend\+::Gpg\+Key\+Manager\+: \nopagebreak \begin{figure}[H] \begin{center} \leavevmode \includegraphics[height=550pt]{classGpgFrontend_1_1GpgKeyManager__inherit__graph} \end{center} \end{figure} Collaboration diagram for Gpg\+Frontend\+::Gpg\+Key\+Manager\+: \nopagebreak \begin{figure}[H] \begin{center} \leavevmode \includegraphics[height=550pt]{classGpgFrontend_1_1GpgKeyManager__coll__graph} \end{center} \end{figure} \doxysubsection*{Classes} \begin{DoxyCompactItemize} \item struct \mbox{\hyperlink{structGpgFrontend_1_1GpgKeyManager_1_1AutomatonHandelStruct}{Automaton\+Handel\+Struct}} \end{DoxyCompactItemize} \doxysubsection*{Public Member Functions} \begin{DoxyCompactItemize} \item \mbox{\hyperlink{classGpgFrontend_1_1GpgKeyManager_a210b717fd8ee63b064d77f32b0df4c5d}{Gpg\+Key\+Manager}} (int channel=\mbox{\hyperlink{classGpgFrontend_1_1SingletonFunctionObject_ad983153cbe3a0c32c123c506e04f31fc}{Singleton\+Function\+Object\+::\+Get\+Default\+Channel}}()) \begin{DoxyCompactList}\small\item\em Construct a new Gpg Key Manager object. \end{DoxyCompactList}\item auto \mbox{\hyperlink{classGpgFrontend_1_1GpgKeyManager_ab5e56b3a2161f3251666c988d7eaa929}{Sign\+Key}} (const \mbox{\hyperlink{classGpgFrontend_1_1GpgKey}{Gpg\+Key}} \&target, Key\+Args\+List \&keys, const QString \&uid, const std\+::unique\+\_\+ptr$<$ QDate\+Time $>$ \&expires) -\/$>$ bool \begin{DoxyCompactList}\small\item\em Sign a key pair(actually a certain uid) \end{DoxyCompactList}\item auto \mbox{\hyperlink{classGpgFrontend_1_1GpgKeyManager_a85c5ca9f31480fe3351c056b92b0aa12}{Rev\+Sign}} (const \mbox{\hyperlink{classGpgFrontend_1_1GpgKey}{Gpg\+Frontend\+::\+Gpg\+Key}} \&key, const Gpg\+Frontend\+::\+Sign\+Id\+Args\+List\+Ptr \&signature\+\_\+id) -\/$>$ bool \item auto \mbox{\hyperlink{classGpgFrontend_1_1GpgKeyManager_ab4a61f4a895ddc965a018a851b222dce}{Set\+Expire}} (const \mbox{\hyperlink{classGpgFrontend_1_1GpgKey}{Gpg\+Key}} \&key, std\+::unique\+\_\+ptr$<$ \mbox{\hyperlink{classGpgFrontend_1_1GpgSubKey}{Gpg\+Sub\+Key}} $>$ \&subkey, std\+::unique\+\_\+ptr$<$ QDate\+Time $>$ \&expires) -\/$>$ bool \begin{DoxyCompactList}\small\item\em Set the Expire object. \end{DoxyCompactList}\item auto \mbox{\hyperlink{classGpgFrontend_1_1GpgKeyManager_a5fa56401416872cd4ed741830b72041b}{Set\+Owner\+Trust\+Level}} (const \mbox{\hyperlink{classGpgFrontend_1_1GpgKey}{Gpg\+Key}} \&key, int trust\+\_\+level) -\/$>$ bool \end{DoxyCompactItemize} \doxysubsection*{Private Types} \begin{DoxyCompactItemize} \item \mbox{\Hypertarget{classGpgFrontend_1_1GpgKeyManager_ab86c354a43ee32eb1216659bdd697d68}\label{classGpgFrontend_1_1GpgKeyManager_ab86c354a43ee32eb1216659bdd697d68}} using {\bfseries Command} = QString \item \mbox{\Hypertarget{classGpgFrontend_1_1GpgKeyManager_a8372d745ded9676dbab290780f7389ae}\label{classGpgFrontend_1_1GpgKeyManager_a8372d745ded9676dbab290780f7389ae}} using {\bfseries Automaton\+State} = enum \{ AS\+\_\+\+START, AS\+\_\+\+COMMAND, AS\+\_\+\+VALUE, AS\+\_\+\+REALLY\+\_\+\+ULTIMATE, AS\+\_\+\+SAVE, AS\+\_\+\+ERROR, AS\+\_\+\+QUIT, \} \item \mbox{\Hypertarget{classGpgFrontend_1_1GpgKeyManager_abbd0d9893967a342b0f1062a856d0647}\label{classGpgFrontend_1_1GpgKeyManager_abbd0d9893967a342b0f1062a856d0647}} using {\bfseries Automaton\+Action\+Handler} = std\+::function$<$ Command(\mbox{\hyperlink{structGpgFrontend_1_1GpgKeyManager_1_1AutomatonHandelStruct}{Automaton\+Handel\+Struct}} \&, Automaton\+State)$>$ \item \mbox{\Hypertarget{classGpgFrontend_1_1GpgKeyManager_adbb73cdb2ad6bc7a2a641871b2a17c17}\label{classGpgFrontend_1_1GpgKeyManager_adbb73cdb2ad6bc7a2a641871b2a17c17}} using {\bfseries Automaton\+Next\+State\+Handler} = std\+::function$<$ Automaton\+State(Automaton\+State, QString, QString)$>$ \end{DoxyCompactItemize} \doxysubsection*{Static Private Member Functions} \begin{DoxyCompactItemize} \item \mbox{\Hypertarget{classGpgFrontend_1_1GpgKeyManager_a9b5cc56fefa0e9ef0dd01aec92c2041d}\label{classGpgFrontend_1_1GpgKeyManager_a9b5cc56fefa0e9ef0dd01aec92c2041d}} static auto {\bfseries interactor\+\_\+cb\+\_\+fnc} (void $\ast$handle, const char $\ast$status, const char $\ast$args, int fd) -\/$>$ gpgme\+\_\+error\+\_\+t \end{DoxyCompactItemize} \doxysubsection*{Private Attributes} \begin{DoxyCompactItemize} \item \mbox{\hyperlink{classGpgFrontend_1_1GpgContext}{Gpg\+Context}} \& {\bfseries ctx\+\_\+} \end{DoxyCompactItemize} \doxysubsection*{Additional Inherited Members} \doxysubsection{Constructor \& Destructor Documentation} \mbox{\Hypertarget{classGpgFrontend_1_1GpgKeyManager_a210b717fd8ee63b064d77f32b0df4c5d}\label{classGpgFrontend_1_1GpgKeyManager_a210b717fd8ee63b064d77f32b0df4c5d}} \index{GpgFrontend::GpgKeyManager@{GpgFrontend::GpgKeyManager}!GpgKeyManager@{GpgKeyManager}} \index{GpgKeyManager@{GpgKeyManager}!GpgFrontend::GpgKeyManager@{GpgFrontend::GpgKeyManager}} \doxysubsubsection{\texorpdfstring{GpgKeyManager()}{GpgKeyManager()}} {\footnotesize\ttfamily Gpg\+Frontend\+::\+Gpg\+Key\+Manager\+::\+Gpg\+Key\+Manager (\begin{DoxyParamCaption}\item[{int}]{channel = {\ttfamily \mbox{\hyperlink{classGpgFrontend_1_1SingletonFunctionObject_ad983153cbe3a0c32c123c506e04f31fc}{Singleton\+Function\+Object\+::\+Get\+Default\+Channel}}()} }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [explicit]}} Construct a new Gpg Key Manager object. \begin{DoxyParams}{Parameters} {\em channel} & Copyright (C) 2021 Saturneric \href{mailto:eric@bktus.com}{\texttt{ eric@bktus.\+com}}\\ \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_1GpgKeyManager_a85c5ca9f31480fe3351c056b92b0aa12}\label{classGpgFrontend_1_1GpgKeyManager_a85c5ca9f31480fe3351c056b92b0aa12}} \index{GpgFrontend::GpgKeyManager@{GpgFrontend::GpgKeyManager}!RevSign@{RevSign}} \index{RevSign@{RevSign}!GpgFrontend::GpgKeyManager@{GpgFrontend::GpgKeyManager}} \doxysubsubsection{\texorpdfstring{RevSign()}{RevSign()}} {\footnotesize\ttfamily auto Gpg\+Frontend\+::\+Gpg\+Key\+Manager\+::\+Rev\+Sign (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{classGpgFrontend_1_1GpgKey}{Gpg\+Frontend\+::\+Gpg\+Key}} \&}]{key, }\item[{const Gpg\+Frontend\+::\+Sign\+Id\+Args\+List\+Ptr \&}]{signature\+\_\+id }\end{DoxyParamCaption}) -\/$>$ bool} \begin{DoxyParams}{Parameters} {\em key} & \\ \hline {\em signature\+\_\+id} & \\ \hline \end{DoxyParams} \begin{DoxyReturn}{Returns} true false \end{DoxyReturn} References Gpg\+Frontend\+::\+Check\+Gpg\+Error(), and Gpg\+Frontend\+::\+Singleton\+Function\+Object$<$ Gpg\+Key\+Getter $>$\+::\+Get\+Instance(). \mbox{\Hypertarget{classGpgFrontend_1_1GpgKeyManager_ab4a61f4a895ddc965a018a851b222dce}\label{classGpgFrontend_1_1GpgKeyManager_ab4a61f4a895ddc965a018a851b222dce}} \index{GpgFrontend::GpgKeyManager@{GpgFrontend::GpgKeyManager}!SetExpire@{SetExpire}} \index{SetExpire@{SetExpire}!GpgFrontend::GpgKeyManager@{GpgFrontend::GpgKeyManager}} \doxysubsubsection{\texorpdfstring{SetExpire()}{SetExpire()}} {\footnotesize\ttfamily auto Gpg\+Frontend\+::\+Gpg\+Key\+Manager\+::\+Set\+Expire (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{classGpgFrontend_1_1GpgKey}{Gpg\+Key}} \&}]{key, }\item[{std\+::unique\+\_\+ptr$<$ \mbox{\hyperlink{classGpgFrontend_1_1GpgSubKey}{Gpg\+Sub\+Key}} $>$ \&}]{subkey, }\item[{std\+::unique\+\_\+ptr$<$ QDate\+Time $>$ \&}]{expires }\end{DoxyParamCaption}) -\/$>$ bool} Set the Expire object. \begin{DoxyParams}{Parameters} {\em key} & \\ \hline {\em subkey} & \\ \hline {\em expires} & \\ \hline \end{DoxyParams} \begin{DoxyReturn}{Returns} true false \end{DoxyReturn} References Gpg\+Frontend\+::\+Check\+Gpg\+Error(). \mbox{\Hypertarget{classGpgFrontend_1_1GpgKeyManager_a5fa56401416872cd4ed741830b72041b}\label{classGpgFrontend_1_1GpgKeyManager_a5fa56401416872cd4ed741830b72041b}} \index{GpgFrontend::GpgKeyManager@{GpgFrontend::GpgKeyManager}!SetOwnerTrustLevel@{SetOwnerTrustLevel}} \index{SetOwnerTrustLevel@{SetOwnerTrustLevel}!GpgFrontend::GpgKeyManager@{GpgFrontend::GpgKeyManager}} \doxysubsubsection{\texorpdfstring{SetOwnerTrustLevel()}{SetOwnerTrustLevel()}} {\footnotesize\ttfamily auto Gpg\+Frontend\+::\+Gpg\+Key\+Manager\+::\+Set\+Owner\+Trust\+Level (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{classGpgFrontend_1_1GpgKey}{Gpg\+Key}} \&}]{key, }\item[{int}]{trust\+\_\+level }\end{DoxyParamCaption}) -\/$>$ bool} \begin{DoxyReturn}{Returns} \end{DoxyReturn} References Gpg\+Frontend\+::\+Check\+Gpg\+Error(). \mbox{\Hypertarget{classGpgFrontend_1_1GpgKeyManager_ab5e56b3a2161f3251666c988d7eaa929}\label{classGpgFrontend_1_1GpgKeyManager_ab5e56b3a2161f3251666c988d7eaa929}} \index{GpgFrontend::GpgKeyManager@{GpgFrontend::GpgKeyManager}!SignKey@{SignKey}} \index{SignKey@{SignKey}!GpgFrontend::GpgKeyManager@{GpgFrontend::GpgKeyManager}} \doxysubsubsection{\texorpdfstring{SignKey()}{SignKey()}} {\footnotesize\ttfamily auto Gpg\+Frontend\+::\+Gpg\+Key\+Manager\+::\+Sign\+Key (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{classGpgFrontend_1_1GpgKey}{Gpg\+Key}} \&}]{target, }\item[{Gpg\+Frontend\+::\+Key\+Args\+List \&}]{keys, }\item[{const QString \&}]{uid, }\item[{const std\+::unique\+\_\+ptr$<$ QDate\+Time $>$ \&}]{expires }\end{DoxyParamCaption}) -\/$>$ bool} Sign a key pair(actually a certain uid) \begin{DoxyParams}{Parameters} {\em target} & target key pair \\ \hline {\em uid} & target \\ \hline {\em expires} & expire date and time of the signature \\ \hline \end{DoxyParams} \begin{DoxyReturn}{Returns} if successful \end{DoxyReturn} References Gpg\+Frontend\+::\+Check\+Gpg\+Error(), and Gpg\+Frontend\+::\+Singleton\+Function\+Object$<$ Gpg\+Basic\+Operator $>$\+::\+Get\+Instance(). \doxysubsection{Member Data Documentation} \mbox{\Hypertarget{classGpgFrontend_1_1GpgKeyManager_a073f96ccfa483a8856197610b8bdee9e}\label{classGpgFrontend_1_1GpgKeyManager_a073f96ccfa483a8856197610b8bdee9e}} \index{GpgFrontend::GpgKeyManager@{GpgFrontend::GpgKeyManager}!ctx\_@{ctx\_}} \index{ctx\_@{ctx\_}!GpgFrontend::GpgKeyManager@{GpgFrontend::GpgKeyManager}} \doxysubsubsection{\texorpdfstring{ctx\_}{ctx\_}} {\footnotesize\ttfamily \mbox{\hyperlink{classGpgFrontend_1_1GpgContext}{Gpg\+Context}}\& Gpg\+Frontend\+::\+Gpg\+Key\+Manager\+::ctx\+\_\+\hspace{0.3cm}{\ttfamily [private]}} {\bfseries Initial value\+:} \begin{DoxyCode}{0} \DoxyCodeLine{=} \DoxyCodeLine{ \mbox{\hyperlink{classGpgFrontend_1_1SingletonFunctionObject_ac963fee992753970bfb5c81608d4070f}{GpgContext::GetInstance}}(\mbox{\hyperlink{classGpgFrontend_1_1SingletonFunctionObject_a94ee1e1251023610590e675ae3de8bd5}{SingletonFunctionObject::GetChannel}}())} \end{DoxyCode} The documentation for this class was generated from the following files\+:\begin{DoxyCompactItemize} \item src/core/function/gpg/Gpg\+Key\+Manager.\+h\item src/core/function/gpg/Gpg\+Key\+Manager.\+cpp\end{DoxyCompactItemize}