\hypertarget{classGpgFrontend_1_1GpgKeyOpera}{}\doxysection{Gpg\+Frontend\+::Gpg\+Key\+Opera Class Reference}
\label{classGpgFrontend_1_1GpgKeyOpera}\index{GpgFrontend::GpgKeyOpera@{GpgFrontend::GpgKeyOpera}}


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


Collaboration diagram for Gpg\+Frontend\+::Gpg\+Key\+Opera\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[height=550pt]{classGpgFrontend_1_1GpgKeyOpera__coll__graph}
\end{center}
\end{figure}
\doxysubsection*{Public Member Functions}
\begin{DoxyCompactItemize}
\item 
\mbox{\hyperlink{classGpgFrontend_1_1GpgKeyOpera_a01d6a920156a38a34c57d9c49c361079}{Gpg\+Key\+Opera}} (int channel=\mbox{\hyperlink{classGpgFrontend_1_1SingletonFunctionObject_ad983153cbe3a0c32c123c506e04f31fc}{Singleton\+Function\+Object\+::\+Get\+Default\+Channel}}())
\begin{DoxyCompactList}\small\item\em Construct a new Gpg Key Opera object. \end{DoxyCompactList}\item 
void \mbox{\hyperlink{classGpgFrontend_1_1GpgKeyOpera_a8a06d0f7a600d4428359b653a68f717e}{Delete\+Keys}} (Key\+Id\+Args\+List\+Ptr key\+\_\+ids)
\item 
void \mbox{\hyperlink{classGpgFrontend_1_1GpgKeyOpera_a151c47b997951e9162f8b036c3cb15e0}{Delete\+Key}} (const Key\+Id \&key\+\_\+id)
\item 
auto \mbox{\hyperlink{classGpgFrontend_1_1GpgKeyOpera_a46fcc0675c7015a70a7b2b2517a2b99e}{Set\+Expire}} (const \mbox{\hyperlink{classGpgFrontend_1_1GpgKey}{Gpg\+Key}} \&key, const Subkey\+Id \&subkey\+\_\+fpr, std\+::unique\+\_\+ptr$<$ QDate\+Time $>$ \&expires) -\/$>$ \mbox{\hyperlink{namespaceGpgFrontend_a2470eb154743191c3454203f23d3a2f8}{Gpg\+Error}}
\begin{DoxyCompactList}\small\item\em Set the Expire object. \end{DoxyCompactList}\item 
void \mbox{\hyperlink{classGpgFrontend_1_1GpgKeyOpera_ad97b418381a346162684045d8471de2d}{Generate\+Revoke\+Cert}} (const \mbox{\hyperlink{classGpgFrontend_1_1GpgKey}{Gpg\+Key}} \&key, const QString \&output\+\_\+path)
\item 
void \mbox{\hyperlink{classGpgFrontend_1_1GpgKeyOpera_a5e65fa1edd5db89b38cf021975a60465}{Modify\+Password}} (const \mbox{\hyperlink{classGpgFrontend_1_1GpgKey}{Gpg\+Key}} \&key, const Gpg\+Operation\+Callback \&)
\item 
auto \mbox{\hyperlink{classGpgFrontend_1_1GpgKeyOpera_a9e8efd9e57e05059396f0120535eef30}{Modify\+TOFUPolicy}} (const \mbox{\hyperlink{classGpgFrontend_1_1GpgKey}{Gpg\+Key}} \&key, gpgme\+\_\+tofu\+\_\+policy\+\_\+t tofu\+\_\+policy) -\/$>$ \mbox{\hyperlink{namespaceGpgFrontend_a2470eb154743191c3454203f23d3a2f8}{Gpg\+Frontend\+::\+Gpg\+Error}}
\item 
void \mbox{\hyperlink{classGpgFrontend_1_1GpgKeyOpera_af20beaf00ea43b399ab39bdb8e358427}{Generate\+Key}} (const std\+::shared\+\_\+ptr$<$ \mbox{\hyperlink{classGpgFrontend_1_1GenKeyInfo}{Gen\+Key\+Info}} $>$ \&, const Gpg\+Operation\+Callback \&)
\item 
auto \mbox{\hyperlink{classGpgFrontend_1_1GpgKeyOpera_ab3e567066b22fa9b146324dcdbd34d30}{Generate\+Key\+Sync}} (const std\+::shared\+\_\+ptr$<$ \mbox{\hyperlink{classGpgFrontend_1_1GenKeyInfo}{Gen\+Key\+Info}} $>$ \&params) -\/$>$ std\+::tuple$<$ \mbox{\hyperlink{namespaceGpgFrontend_a2470eb154743191c3454203f23d3a2f8}{Gpg\+Error}}, Data\+Object\+Ptr $>$
\item 
void \mbox{\hyperlink{classGpgFrontend_1_1GpgKeyOpera_a54d339513039e008e821e64d0991206e}{Generate\+Subkey}} (const \mbox{\hyperlink{classGpgFrontend_1_1GpgKey}{Gpg\+Key}} \&key, const std\+::shared\+\_\+ptr$<$ \mbox{\hyperlink{classGpgFrontend_1_1GenKeyInfo}{Gen\+Key\+Info}} $>$ \&params, const Gpg\+Operation\+Callback \&)
\item 
auto \mbox{\hyperlink{classGpgFrontend_1_1GpgKeyOpera_a2ef5deb5bb7a50b5488228a72f6776bd}{Generate\+Subkey\+Sync}} (const \mbox{\hyperlink{classGpgFrontend_1_1GpgKey}{Gpg\+Key}} \&key, const std\+::shared\+\_\+ptr$<$ \mbox{\hyperlink{classGpgFrontend_1_1GenKeyInfo}{Gen\+Key\+Info}} $>$ \&params) -\/$>$ std\+::tuple$<$ \mbox{\hyperlink{namespaceGpgFrontend_a2470eb154743191c3454203f23d3a2f8}{Gpg\+Error}}, Data\+Object\+Ptr $>$
\item 
void \mbox{\hyperlink{classGpgFrontend_1_1GpgKeyOpera_adf89f46010856486d25af3ea1e94b25d}{Generate\+Key\+With\+Subkey}} (const std\+::shared\+\_\+ptr$<$ \mbox{\hyperlink{classGpgFrontend_1_1GenKeyInfo}{Gen\+Key\+Info}} $>$ \&params, const std\+::shared\+\_\+ptr$<$ \mbox{\hyperlink{classGpgFrontend_1_1GenKeyInfo}{Gen\+Key\+Info}} $>$ \&subkey\+\_\+params, const Gpg\+Operation\+Callback \&callback)
\item 
auto \mbox{\hyperlink{classGpgFrontend_1_1GpgKeyOpera_a92708358f594869ff9cba1ea4d0a4ec6}{Generate\+Key\+With\+Subkey\+Sync}} (const std\+::shared\+\_\+ptr$<$ \mbox{\hyperlink{classGpgFrontend_1_1GenKeyInfo}{Gen\+Key\+Info}} $>$ \&params, const std\+::shared\+\_\+ptr$<$ \mbox{\hyperlink{classGpgFrontend_1_1GenKeyInfo}{Gen\+Key\+Info}} $>$ \&subkey\+\_\+params) -\/$>$ std\+::tuple$<$ \mbox{\hyperlink{namespaceGpgFrontend_a2470eb154743191c3454203f23d3a2f8}{Gpg\+Error}}, Data\+Object\+Ptr $>$
\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_1GpgKeyOpera_a01d6a920156a38a34c57d9c49c361079}\label{classGpgFrontend_1_1GpgKeyOpera_a01d6a920156a38a34c57d9c49c361079}} 
\index{GpgFrontend::GpgKeyOpera@{GpgFrontend::GpgKeyOpera}!GpgKeyOpera@{GpgKeyOpera}}
\index{GpgKeyOpera@{GpgKeyOpera}!GpgFrontend::GpgKeyOpera@{GpgFrontend::GpgKeyOpera}}
\doxysubsubsection{\texorpdfstring{GpgKeyOpera()}{GpgKeyOpera()}}
{\footnotesize\ttfamily Gpg\+Frontend\+::\+Gpg\+Key\+Opera\+::\+Gpg\+Key\+Opera (\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 Opera object. 


\begin{DoxyParams}{Parameters}
{\em channel} & \\
\hline
\end{DoxyParams}


\doxysubsection{Member Function Documentation}
\mbox{\Hypertarget{classGpgFrontend_1_1GpgKeyOpera_a151c47b997951e9162f8b036c3cb15e0}\label{classGpgFrontend_1_1GpgKeyOpera_a151c47b997951e9162f8b036c3cb15e0}} 
\index{GpgFrontend::GpgKeyOpera@{GpgFrontend::GpgKeyOpera}!DeleteKey@{DeleteKey}}
\index{DeleteKey@{DeleteKey}!GpgFrontend::GpgKeyOpera@{GpgFrontend::GpgKeyOpera}}
\doxysubsubsection{\texorpdfstring{DeleteKey()}{DeleteKey()}}
{\footnotesize\ttfamily void Gpg\+Frontend\+::\+Gpg\+Key\+Opera\+::\+Delete\+Key (\begin{DoxyParamCaption}\item[{const Key\+Id \&}]{key\+\_\+id }\end{DoxyParamCaption})}


\begin{DoxyParams}{Parameters}
{\em key\+\_\+id} & \\
\hline
\end{DoxyParams}


References Delete\+Keys().

\mbox{\Hypertarget{classGpgFrontend_1_1GpgKeyOpera_a8a06d0f7a600d4428359b653a68f717e}\label{classGpgFrontend_1_1GpgKeyOpera_a8a06d0f7a600d4428359b653a68f717e}} 
\index{GpgFrontend::GpgKeyOpera@{GpgFrontend::GpgKeyOpera}!DeleteKeys@{DeleteKeys}}
\index{DeleteKeys@{DeleteKeys}!GpgFrontend::GpgKeyOpera@{GpgFrontend::GpgKeyOpera}}
\doxysubsubsection{\texorpdfstring{DeleteKeys()}{DeleteKeys()}}
{\footnotesize\ttfamily void Gpg\+Frontend\+::\+Gpg\+Key\+Opera\+::\+Delete\+Keys (\begin{DoxyParamCaption}\item[{Key\+Id\+Args\+List\+Ptr}]{key\+\_\+ids }\end{DoxyParamCaption})}


\begin{DoxyParams}{Parameters}
{\em key\+\_\+ids} & Delete keys \\
\hline
{\em uid\+List} & key ids \\
\hline
\end{DoxyParams}


References Gpg\+Frontend\+::\+Check\+Gpg\+Error(), and Gpg\+Frontend\+::\+Singleton\+Function\+Object$<$ Gpg\+Key\+Getter $>$\+::\+Get\+Instance().



Referenced by Delete\+Key().

\mbox{\Hypertarget{classGpgFrontend_1_1GpgKeyOpera_af20beaf00ea43b399ab39bdb8e358427}\label{classGpgFrontend_1_1GpgKeyOpera_af20beaf00ea43b399ab39bdb8e358427}} 
\index{GpgFrontend::GpgKeyOpera@{GpgFrontend::GpgKeyOpera}!GenerateKey@{GenerateKey}}
\index{GenerateKey@{GenerateKey}!GpgFrontend::GpgKeyOpera@{GpgFrontend::GpgKeyOpera}}
\doxysubsubsection{\texorpdfstring{GenerateKey()}{GenerateKey()}}
{\footnotesize\ttfamily void Gpg\+Frontend\+::\+Gpg\+Key\+Opera\+::\+Generate\+Key (\begin{DoxyParamCaption}\item[{const std\+::shared\+\_\+ptr$<$ \mbox{\hyperlink{classGpgFrontend_1_1GenKeyInfo}{Gen\+Key\+Info}} $>$ \&}]{params,  }\item[{const Gpg\+Operation\+Callback \&}]{callback }\end{DoxyParamCaption})}


\begin{DoxyParams}{Parameters}
{\em params} & \\
\hline
{\em result} & \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
\mbox{\hyperlink{namespaceGpgFrontend_a2470eb154743191c3454203f23d3a2f8}{Gpg\+Frontend\+::\+Gpg\+Error}}
\end{DoxyReturn}
Generate a new key pair 
\begin{DoxyParams}{Parameters}
{\em params} & key generation args \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
error information 
\end{DoxyReturn}


References Gpg\+Frontend\+::\+Check\+Gpg\+Error(), and Gpg\+Frontend\+::\+Run\+Gpg\+Opera\+Async().

\mbox{\Hypertarget{classGpgFrontend_1_1GpgKeyOpera_ab3e567066b22fa9b146324dcdbd34d30}\label{classGpgFrontend_1_1GpgKeyOpera_ab3e567066b22fa9b146324dcdbd34d30}} 
\index{GpgFrontend::GpgKeyOpera@{GpgFrontend::GpgKeyOpera}!GenerateKeySync@{GenerateKeySync}}
\index{GenerateKeySync@{GenerateKeySync}!GpgFrontend::GpgKeyOpera@{GpgFrontend::GpgKeyOpera}}
\doxysubsubsection{\texorpdfstring{GenerateKeySync()}{GenerateKeySync()}}
{\footnotesize\ttfamily auto Gpg\+Frontend\+::\+Gpg\+Key\+Opera\+::\+Generate\+Key\+Sync (\begin{DoxyParamCaption}\item[{const std\+::shared\+\_\+ptr$<$ \mbox{\hyperlink{classGpgFrontend_1_1GenKeyInfo}{Gen\+Key\+Info}} $>$ \&}]{params }\end{DoxyParamCaption}) -\/$>$ std\+::tuple$<$\mbox{\hyperlink{namespaceGpgFrontend_a2470eb154743191c3454203f23d3a2f8}{Gpg\+Error}}, Data\+Object\+Ptr$>$}


\begin{DoxyParams}{Parameters}
{\em params} & \\
\hline
\end{DoxyParams}


References Gpg\+Frontend\+::\+Check\+Gpg\+Error(), and Gpg\+Frontend\+::\+Run\+Gpg\+Opera\+Sync().

\mbox{\Hypertarget{classGpgFrontend_1_1GpgKeyOpera_adf89f46010856486d25af3ea1e94b25d}\label{classGpgFrontend_1_1GpgKeyOpera_adf89f46010856486d25af3ea1e94b25d}} 
\index{GpgFrontend::GpgKeyOpera@{GpgFrontend::GpgKeyOpera}!GenerateKeyWithSubkey@{GenerateKeyWithSubkey}}
\index{GenerateKeyWithSubkey@{GenerateKeyWithSubkey}!GpgFrontend::GpgKeyOpera@{GpgFrontend::GpgKeyOpera}}
\doxysubsubsection{\texorpdfstring{GenerateKeyWithSubkey()}{GenerateKeyWithSubkey()}}
{\footnotesize\ttfamily void Gpg\+Frontend\+::\+Gpg\+Key\+Opera\+::\+Generate\+Key\+With\+Subkey (\begin{DoxyParamCaption}\item[{const std\+::shared\+\_\+ptr$<$ \mbox{\hyperlink{classGpgFrontend_1_1GenKeyInfo}{Gen\+Key\+Info}} $>$ \&}]{params,  }\item[{const std\+::shared\+\_\+ptr$<$ \mbox{\hyperlink{classGpgFrontend_1_1GenKeyInfo}{Gen\+Key\+Info}} $>$ \&}]{subkey\+\_\+params,  }\item[{const Gpg\+Operation\+Callback \&}]{callback }\end{DoxyParamCaption})}


\begin{DoxyParams}{Parameters}
{\em params} & \\
\hline
{\em subkey\+\_\+params} & \\
\hline
{\em callback} & \\
\hline
\end{DoxyParams}


References Gpg\+Frontend\+::\+Check\+Gpg\+Error(), Gpg\+Frontend\+::\+Singleton\+Function\+Object$<$ Gpg\+Key\+Getter $>$\+::\+Get\+Instance(), and Gpg\+Frontend\+::\+Run\+Gpg\+Opera\+Async().

\mbox{\Hypertarget{classGpgFrontend_1_1GpgKeyOpera_a92708358f594869ff9cba1ea4d0a4ec6}\label{classGpgFrontend_1_1GpgKeyOpera_a92708358f594869ff9cba1ea4d0a4ec6}} 
\index{GpgFrontend::GpgKeyOpera@{GpgFrontend::GpgKeyOpera}!GenerateKeyWithSubkeySync@{GenerateKeyWithSubkeySync}}
\index{GenerateKeyWithSubkeySync@{GenerateKeyWithSubkeySync}!GpgFrontend::GpgKeyOpera@{GpgFrontend::GpgKeyOpera}}
\doxysubsubsection{\texorpdfstring{GenerateKeyWithSubkeySync()}{GenerateKeyWithSubkeySync()}}
{\footnotesize\ttfamily auto Gpg\+Frontend\+::\+Gpg\+Key\+Opera\+::\+Generate\+Key\+With\+Subkey\+Sync (\begin{DoxyParamCaption}\item[{const std\+::shared\+\_\+ptr$<$ \mbox{\hyperlink{classGpgFrontend_1_1GenKeyInfo}{Gen\+Key\+Info}} $>$ \&}]{params,  }\item[{const std\+::shared\+\_\+ptr$<$ \mbox{\hyperlink{classGpgFrontend_1_1GenKeyInfo}{Gen\+Key\+Info}} $>$ \&}]{subkey\+\_\+params }\end{DoxyParamCaption}) -\/$>$ std\+::tuple$<$\mbox{\hyperlink{namespaceGpgFrontend_a2470eb154743191c3454203f23d3a2f8}{Gpg\+Error}}, Data\+Object\+Ptr$>$}


\begin{DoxyParams}{Parameters}
{\em params} & \\
\hline
{\em subkey\+\_\+params} & \\
\hline
{\em callback} & \\
\hline
\end{DoxyParams}


References Gpg\+Frontend\+::\+Check\+Gpg\+Error(), Gpg\+Frontend\+::\+Singleton\+Function\+Object$<$ Gpg\+Key\+Getter $>$\+::\+Get\+Instance(), and Gpg\+Frontend\+::\+Run\+Gpg\+Opera\+Sync().

\mbox{\Hypertarget{classGpgFrontend_1_1GpgKeyOpera_ad97b418381a346162684045d8471de2d}\label{classGpgFrontend_1_1GpgKeyOpera_ad97b418381a346162684045d8471de2d}} 
\index{GpgFrontend::GpgKeyOpera@{GpgFrontend::GpgKeyOpera}!GenerateRevokeCert@{GenerateRevokeCert}}
\index{GenerateRevokeCert@{GenerateRevokeCert}!GpgFrontend::GpgKeyOpera@{GpgFrontend::GpgKeyOpera}}
\doxysubsubsection{\texorpdfstring{GenerateRevokeCert()}{GenerateRevokeCert()}}
{\footnotesize\ttfamily void Gpg\+Frontend\+::\+Gpg\+Key\+Opera\+::\+Generate\+Revoke\+Cert (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{classGpgFrontend_1_1GpgKey}{Gpg\+Key}} \&}]{key,  }\item[{const QString \&}]{output\+\_\+path }\end{DoxyParamCaption})}


\begin{DoxyParams}{Parameters}
{\em key} & \\
\hline
{\em output\+\_\+file\+\_\+name} & Generate revoke cert of a key pair \\
\hline
{\em key} & target key pair \\
\hline
{\em output\+File\+Name} & out file name(path) \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
the process doing this job 
\end{DoxyReturn}


References Gpg\+Frontend\+::\+Gpg\+Command\+Executor\+::\+Execute\+Sync(), and Gpg\+Frontend\+::\+Gpg\+Key\+::\+Get\+Fingerprint().

\mbox{\Hypertarget{classGpgFrontend_1_1GpgKeyOpera_a54d339513039e008e821e64d0991206e}\label{classGpgFrontend_1_1GpgKeyOpera_a54d339513039e008e821e64d0991206e}} 
\index{GpgFrontend::GpgKeyOpera@{GpgFrontend::GpgKeyOpera}!GenerateSubkey@{GenerateSubkey}}
\index{GenerateSubkey@{GenerateSubkey}!GpgFrontend::GpgKeyOpera@{GpgFrontend::GpgKeyOpera}}
\doxysubsubsection{\texorpdfstring{GenerateSubkey()}{GenerateSubkey()}}
{\footnotesize\ttfamily void Gpg\+Frontend\+::\+Gpg\+Key\+Opera\+::\+Generate\+Subkey (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{classGpgFrontend_1_1GpgKey}{Gpg\+Key}} \&}]{key,  }\item[{const std\+::shared\+\_\+ptr$<$ \mbox{\hyperlink{classGpgFrontend_1_1GenKeyInfo}{Gen\+Key\+Info}} $>$ \&}]{params,  }\item[{const Gpg\+Operation\+Callback \&}]{callback }\end{DoxyParamCaption})}


\begin{DoxyParams}{Parameters}
{\em key} & \\
\hline
{\em params} & \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
\mbox{\hyperlink{namespaceGpgFrontend_a2470eb154743191c3454203f23d3a2f8}{Gpg\+Frontend\+::\+Gpg\+Error}} 
\end{DoxyReturn}


References Gpg\+Frontend\+::\+Check\+Gpg\+Error(), Gpg\+Frontend\+::\+Gpg\+Key\+::\+Get\+Id(), and Gpg\+Frontend\+::\+Run\+Gpg\+Opera\+Async().

\mbox{\Hypertarget{classGpgFrontend_1_1GpgKeyOpera_a2ef5deb5bb7a50b5488228a72f6776bd}\label{classGpgFrontend_1_1GpgKeyOpera_a2ef5deb5bb7a50b5488228a72f6776bd}} 
\index{GpgFrontend::GpgKeyOpera@{GpgFrontend::GpgKeyOpera}!GenerateSubkeySync@{GenerateSubkeySync}}
\index{GenerateSubkeySync@{GenerateSubkeySync}!GpgFrontend::GpgKeyOpera@{GpgFrontend::GpgKeyOpera}}
\doxysubsubsection{\texorpdfstring{GenerateSubkeySync()}{GenerateSubkeySync()}}
{\footnotesize\ttfamily auto Gpg\+Frontend\+::\+Gpg\+Key\+Opera\+::\+Generate\+Subkey\+Sync (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{classGpgFrontend_1_1GpgKey}{Gpg\+Key}} \&}]{key,  }\item[{const std\+::shared\+\_\+ptr$<$ \mbox{\hyperlink{classGpgFrontend_1_1GenKeyInfo}{Gen\+Key\+Info}} $>$ \&}]{params }\end{DoxyParamCaption}) -\/$>$ std\+::tuple$<$\mbox{\hyperlink{namespaceGpgFrontend_a2470eb154743191c3454203f23d3a2f8}{Gpg\+Error}}, Data\+Object\+Ptr$>$}


\begin{DoxyParams}{Parameters}
{\em key} & \\
\hline
{\em params} & \\
\hline
\end{DoxyParams}


References Gpg\+Frontend\+::\+Check\+Gpg\+Error(), and Gpg\+Frontend\+::\+Run\+Gpg\+Opera\+Sync().

\mbox{\Hypertarget{classGpgFrontend_1_1GpgKeyOpera_a5e65fa1edd5db89b38cf021975a60465}\label{classGpgFrontend_1_1GpgKeyOpera_a5e65fa1edd5db89b38cf021975a60465}} 
\index{GpgFrontend::GpgKeyOpera@{GpgFrontend::GpgKeyOpera}!ModifyPassword@{ModifyPassword}}
\index{ModifyPassword@{ModifyPassword}!GpgFrontend::GpgKeyOpera@{GpgFrontend::GpgKeyOpera}}
\doxysubsubsection{\texorpdfstring{ModifyPassword()}{ModifyPassword()}}
{\footnotesize\ttfamily void Gpg\+Frontend\+::\+Gpg\+Key\+Opera\+::\+Modify\+Password (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{classGpgFrontend_1_1GpgKey}{Gpg\+Key}} \&}]{key,  }\item[{const Gpg\+Operation\+Callback \&}]{callback }\end{DoxyParamCaption})}


\begin{DoxyParams}{Parameters}
{\em key} & \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
\mbox{\hyperlink{namespaceGpgFrontend_a2470eb154743191c3454203f23d3a2f8}{Gpg\+Frontend\+::\+Gpg\+Error}} 
\end{DoxyReturn}


References Gpg\+Frontend\+::\+Run\+Gpg\+Opera\+Async().

\mbox{\Hypertarget{classGpgFrontend_1_1GpgKeyOpera_a9e8efd9e57e05059396f0120535eef30}\label{classGpgFrontend_1_1GpgKeyOpera_a9e8efd9e57e05059396f0120535eef30}} 
\index{GpgFrontend::GpgKeyOpera@{GpgFrontend::GpgKeyOpera}!ModifyTOFUPolicy@{ModifyTOFUPolicy}}
\index{ModifyTOFUPolicy@{ModifyTOFUPolicy}!GpgFrontend::GpgKeyOpera@{GpgFrontend::GpgKeyOpera}}
\doxysubsubsection{\texorpdfstring{ModifyTOFUPolicy()}{ModifyTOFUPolicy()}}
{\footnotesize\ttfamily auto Gpg\+Frontend\+::\+Gpg\+Key\+Opera\+::\+Modify\+TOFUPolicy (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{classGpgFrontend_1_1GpgKey}{Gpg\+Key}} \&}]{key,  }\item[{gpgme\+\_\+tofu\+\_\+policy\+\_\+t}]{tofu\+\_\+policy }\end{DoxyParamCaption}) -\/$>$ \mbox{\hyperlink{namespaceGpgFrontend_a2470eb154743191c3454203f23d3a2f8}{Gpg\+Frontend\+::\+Gpg\+Error}}}


\begin{DoxyParams}{Parameters}
{\em key} & \\
\hline
{\em tofu\+\_\+policy} & \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
\mbox{\hyperlink{namespaceGpgFrontend_a2470eb154743191c3454203f23d3a2f8}{Gpg\+Frontend\+::\+Gpg\+Error}} 
\end{DoxyReturn}


References Gpg\+Frontend\+::\+Check\+Gpg\+Error(), and Gpg\+Frontend\+::\+GFCompare\+Software\+Version().

\mbox{\Hypertarget{classGpgFrontend_1_1GpgKeyOpera_a46fcc0675c7015a70a7b2b2517a2b99e}\label{classGpgFrontend_1_1GpgKeyOpera_a46fcc0675c7015a70a7b2b2517a2b99e}} 
\index{GpgFrontend::GpgKeyOpera@{GpgFrontend::GpgKeyOpera}!SetExpire@{SetExpire}}
\index{SetExpire@{SetExpire}!GpgFrontend::GpgKeyOpera@{GpgFrontend::GpgKeyOpera}}
\doxysubsubsection{\texorpdfstring{SetExpire()}{SetExpire()}}
{\footnotesize\ttfamily auto Gpg\+Frontend\+::\+Gpg\+Key\+Opera\+::\+Set\+Expire (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{classGpgFrontend_1_1GpgKey}{Gpg\+Key}} \&}]{key,  }\item[{const Subkey\+Id \&}]{subkey\+\_\+fpr,  }\item[{std\+::unique\+\_\+ptr$<$ QDate\+Time $>$ \&}]{expires }\end{DoxyParamCaption}) -\/$>$ \mbox{\hyperlink{namespaceGpgFrontend_a2470eb154743191c3454203f23d3a2f8}{Gpg\+Error}}}



Set the Expire object. 


\begin{DoxyParams}{Parameters}
{\em key} & \\
\hline
{\em subkey\+\_\+fpr} & \\
\hline
{\em expires} & \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
Gpg\+Error
\end{DoxyReturn}
Set the expire date and time of a key pair(actually the primary key) or subkey 
\begin{DoxyParams}{Parameters}
{\em key} & target key pair \\
\hline
{\em subkey} & null if primary key \\
\hline
{\em expires} & date and time \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
if successful 
\end{DoxyReturn}


\doxysubsection{Member Data Documentation}
\mbox{\Hypertarget{classGpgFrontend_1_1GpgKeyOpera_ab4086c8ccd6f1f926993e96b687dea69}\label{classGpgFrontend_1_1GpgKeyOpera_ab4086c8ccd6f1f926993e96b687dea69}} 
\index{GpgFrontend::GpgKeyOpera@{GpgFrontend::GpgKeyOpera}!ctx\_@{ctx\_}}
\index{ctx\_@{ctx\_}!GpgFrontend::GpgKeyOpera@{GpgFrontend::GpgKeyOpera}}
\doxysubsubsection{\texorpdfstring{ctx\_}{ctx\_}}
{\footnotesize\ttfamily \mbox{\hyperlink{classGpgFrontend_1_1GpgContext}{Gpg\+Context}}\& Gpg\+Frontend\+::\+Gpg\+Key\+Opera\+::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\+Opera.\+h\item 
src/core/function/gpg/Gpg\+Key\+Opera.\+cpp\end{DoxyCompactItemize}
