\hypertarget{classGpgFrontend_1_1Thread_1_1Task}{}\doxysection{Gpg\+Frontend\+::Thread\+::Task Class Reference}
\label{classGpgFrontend_1_1Thread_1_1Task}\index{GpgFrontend::Thread::Task@{GpgFrontend::Thread::Task}}


Inheritance diagram for Gpg\+Frontend\+::Thread\+::Task\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{classGpgFrontend_1_1Thread_1_1Task__inherit__graph}
\end{center}
\end{figure}


Collaboration diagram for Gpg\+Frontend\+::Thread\+::Task\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=224pt]{classGpgFrontend_1_1Thread_1_1Task__coll__graph}
\end{center}
\end{figure}
\doxysubsection*{Classes}
\begin{DoxyCompactItemize}
\item 
class \mbox{\hyperlink{classGpgFrontend_1_1Thread_1_1Task_1_1Impl}{Impl}}
\item 
class \mbox{\hyperlink{classGpgFrontend_1_1Thread_1_1Task_1_1TaskHandler}{Task\+Handler}}
\end{DoxyCompactItemize}
\doxysubsection*{Public Types}
\begin{DoxyCompactItemize}
\item 
\mbox{\Hypertarget{classGpgFrontend_1_1Thread_1_1Task_aa0015912ca0513a10252e01db7b527bb}\label{classGpgFrontend_1_1Thread_1_1Task_aa0015912ca0513a10252e01db7b527bb}} 
using {\bfseries Task\+Runnable} = std\+::function$<$ int(Data\+Object\+Ptr)$>$
\item 
\mbox{\Hypertarget{classGpgFrontend_1_1Thread_1_1Task_a492f8b0f6ec2832da20fc481bfa5cdbd}\label{classGpgFrontend_1_1Thread_1_1Task_a492f8b0f6ec2832da20fc481bfa5cdbd}} 
using {\bfseries Task\+Callback} = std\+::function$<$ void(int, Data\+Object\+Ptr)$>$
\end{DoxyCompactItemize}
\doxysubsection*{Public Slots}
\begin{DoxyCompactItemize}
\item 
\mbox{\Hypertarget{classGpgFrontend_1_1Thread_1_1Task_a3983635b9bcb8d7ec84d97109dddacec}\label{classGpgFrontend_1_1Thread_1_1Task_a3983635b9bcb8d7ec84d97109dddacec}} 
void \mbox{\hyperlink{classGpgFrontend_1_1Thread_1_1Task_a3983635b9bcb8d7ec84d97109dddacec}{Safely\+Run}} ()
\begin{DoxyCompactList}\small\item\em shouldn\textquotesingle{}t be overwrite by subclass \end{DoxyCompactList}\end{DoxyCompactItemize}
\doxysubsection*{Signals}
\begin{DoxyCompactItemize}
\item 
\mbox{\Hypertarget{classGpgFrontend_1_1Thread_1_1Task_af1045b03816eef60faad2e6a8ee84a5c}\label{classGpgFrontend_1_1Thread_1_1Task_af1045b03816eef60faad2e6a8ee84a5c}} 
void {\bfseries Signal\+Run} ()
\item 
\mbox{\Hypertarget{classGpgFrontend_1_1Thread_1_1Task_a3367693d6c28d81f94a46fcd0e29d27c}\label{classGpgFrontend_1_1Thread_1_1Task_a3367693d6c28d81f94a46fcd0e29d27c}} 
void {\bfseries Signal\+Task\+Should\+End} (int)
\item 
\mbox{\Hypertarget{classGpgFrontend_1_1Thread_1_1Task_abbbb68bcac48b6c31d6fe8ee1572f151}\label{classGpgFrontend_1_1Thread_1_1Task_abbbb68bcac48b6c31d6fe8ee1572f151}} 
void {\bfseries Signal\+Task\+End} ()
\end{DoxyCompactItemize}
\doxysubsection*{Public Member Functions}
\begin{DoxyCompactItemize}
\item 
\mbox{\Hypertarget{classGpgFrontend_1_1Thread_1_1Task_a3ca97551610b81a476d5594c97fde559}\label{classGpgFrontend_1_1Thread_1_1Task_a3ca97551610b81a476d5594c97fde559}} 
\mbox{\hyperlink{classGpgFrontend_1_1Thread_1_1Task_a3ca97551610b81a476d5594c97fde559}{Task}} (QString name)
\begin{DoxyCompactList}\small\item\em Construct a new \mbox{\hyperlink{classGpgFrontend_1_1Thread_1_1Task}{Task}} object. \end{DoxyCompactList}\item 
\mbox{\hyperlink{classGpgFrontend_1_1Thread_1_1Task_a287d737e66f873850d5eb49d1475a762}{Task}} (Task\+Runnable runnable, QString name, Data\+Object\+Ptr data\+\_\+object=nullptr)
\begin{DoxyCompactList}\small\item\em Construct a new \mbox{\hyperlink{classGpgFrontend_1_1Thread_1_1Task}{Task}} object. \end{DoxyCompactList}\item 
\mbox{\hyperlink{classGpgFrontend_1_1Thread_1_1Task_afa69068f1b2f930d6ab1d9f66340c565}{Task}} (Task\+Runnable runnable, QString name, Data\+Object\+Ptr data, Task\+Callback callback)
\begin{DoxyCompactList}\small\item\em Construct a new \mbox{\hyperlink{classGpgFrontend_1_1Thread_1_1Task}{Task}} object. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{classGpgFrontend_1_1Thread_1_1Task_a37766a505662b33ad14672c29e209ea8}\label{classGpgFrontend_1_1Thread_1_1Task_a37766a505662b33ad14672c29e209ea8}} 
\mbox{\hyperlink{classGpgFrontend_1_1Thread_1_1Task_a37766a505662b33ad14672c29e209ea8}{$\sim$\+Task}} () override
\begin{DoxyCompactList}\small\item\em Destroy the \mbox{\hyperlink{classGpgFrontend_1_1Thread_1_1Task}{Task}} object. \end{DoxyCompactList}\item 
auto \mbox{\hyperlink{classGpgFrontend_1_1Thread_1_1Task_acf42a45a657d8dc8658ed0e322ff161b}{Get\+UUID}} () const -\/$>$ QString
\item 
auto \mbox{\hyperlink{classGpgFrontend_1_1Thread_1_1Task_aabda16361fa50a05e72de5f6ac37a53e}{Get\+Full\+ID}} () const -\/$>$ QString
\begin{DoxyCompactList}\small\item\em Get the Full I D object. \end{DoxyCompactList}\item 
void \mbox{\hyperlink{classGpgFrontend_1_1Thread_1_1Task_a5c3cab68d4cf8c9dcf379869132b1896}{Hold\+On\+Life\+Cycle}} (bool hold\+\_\+on)
\item 
virtual auto \mbox{\hyperlink{classGpgFrontend_1_1Thread_1_1Task_ab3e3d4206efeeff5d3d6f1b5f0c60ab2}{Run}} () -\/$>$ int
\begin{DoxyCompactList}\small\item\em can be overwrite by subclass \end{DoxyCompactList}\item 
auto \mbox{\hyperlink{classGpgFrontend_1_1Thread_1_1Task_a38af36201658a25cc6479598acd455a1}{Get\+RTN}} ()
\end{DoxyCompactItemize}
\doxysubsection*{Protected Member Functions}
\begin{DoxyCompactItemize}
\item 
void \mbox{\hyperlink{classGpgFrontend_1_1Thread_1_1Task_a406206b3ecb2bdcff9608d762735c5e4}{set\+RTN}} (int rtn)
\end{DoxyCompactItemize}
\doxysubsection*{Private Slots}
\begin{DoxyCompactItemize}
\item 
\mbox{\Hypertarget{classGpgFrontend_1_1Thread_1_1Task_a6f8d197950dcf38aeb126bd4007656d3}\label{classGpgFrontend_1_1Thread_1_1Task_a6f8d197950dcf38aeb126bd4007656d3}} 
void {\bfseries slot\+\_\+exception\+\_\+safe\+\_\+run} () noexcept
\end{DoxyCompactItemize}
\doxysubsection*{Private Member Functions}
\begin{DoxyCompactItemize}
\item 
\mbox{\Hypertarget{classGpgFrontend_1_1Thread_1_1Task_a024a05bb89556c5b93336cb35d4bd10c}\label{classGpgFrontend_1_1Thread_1_1Task_a024a05bb89556c5b93336cb35d4bd10c}} 
void {\bfseries run} () override
\end{DoxyCompactItemize}
\doxysubsection*{Private Attributes}
\begin{DoxyCompactItemize}
\item 
\mbox{\Hypertarget{classGpgFrontend_1_1Thread_1_1Task_ab5a4d50b9d0eebad370a514735b6343d}\label{classGpgFrontend_1_1Thread_1_1Task_ab5a4d50b9d0eebad370a514735b6343d}} 
Secure\+Unique\+Ptr$<$ \mbox{\hyperlink{classGpgFrontend_1_1Thread_1_1Task_1_1Impl}{Impl}} $>$ {\bfseries p\+\_\+}
\end{DoxyCompactItemize}
\doxysubsection*{Friends}
\begin{DoxyCompactItemize}
\item 
\mbox{\Hypertarget{classGpgFrontend_1_1Thread_1_1Task_a1956d94b45592a4096a335641aab65f8}\label{classGpgFrontend_1_1Thread_1_1Task_a1956d94b45592a4096a335641aab65f8}} 
\mbox{\hyperlink{classclass}{class}} {\bfseries Task\+Runner}
\end{DoxyCompactItemize}


\doxysubsection{Constructor \& Destructor Documentation}
\mbox{\Hypertarget{classGpgFrontend_1_1Thread_1_1Task_a287d737e66f873850d5eb49d1475a762}\label{classGpgFrontend_1_1Thread_1_1Task_a287d737e66f873850d5eb49d1475a762}} 
\index{GpgFrontend::Thread::Task@{GpgFrontend::Thread::Task}!Task@{Task}}
\index{Task@{Task}!GpgFrontend::Thread::Task@{GpgFrontend::Thread::Task}}
\doxysubsubsection{\texorpdfstring{Task()}{Task()}\hspace{0.1cm}{\footnotesize\ttfamily [1/2]}}
{\footnotesize\ttfamily Gpg\+Frontend\+::\+Thread\+::\+Task\+::\+Task (\begin{DoxyParamCaption}\item[{Task\+Runnable}]{runnable,  }\item[{QString}]{name,  }\item[{Data\+Object\+Ptr}]{data\+\_\+object = {\ttfamily nullptr} }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [explicit]}}



Construct a new \mbox{\hyperlink{classGpgFrontend_1_1Thread_1_1Task}{Task}} object. 


\begin{DoxyParams}{Parameters}
{\em callback} & The callback function to be executed. \\
\hline
\end{DoxyParams}
\mbox{\Hypertarget{classGpgFrontend_1_1Thread_1_1Task_afa69068f1b2f930d6ab1d9f66340c565}\label{classGpgFrontend_1_1Thread_1_1Task_afa69068f1b2f930d6ab1d9f66340c565}} 
\index{GpgFrontend::Thread::Task@{GpgFrontend::Thread::Task}!Task@{Task}}
\index{Task@{Task}!GpgFrontend::Thread::Task@{GpgFrontend::Thread::Task}}
\doxysubsubsection{\texorpdfstring{Task()}{Task()}\hspace{0.1cm}{\footnotesize\ttfamily [2/2]}}
{\footnotesize\ttfamily Gpg\+Frontend\+::\+Thread\+::\+Task\+::\+Task (\begin{DoxyParamCaption}\item[{Task\+Runnable}]{runnable,  }\item[{QString}]{name,  }\item[{Data\+Object\+Ptr}]{data,  }\item[{Task\+Callback}]{callback }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [explicit]}}



Construct a new \mbox{\hyperlink{classGpgFrontend_1_1Thread_1_1Task}{Task}} object. 


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


\doxysubsection{Member Function Documentation}
\mbox{\Hypertarget{classGpgFrontend_1_1Thread_1_1Task_aabda16361fa50a05e72de5f6ac37a53e}\label{classGpgFrontend_1_1Thread_1_1Task_aabda16361fa50a05e72de5f6ac37a53e}} 
\index{GpgFrontend::Thread::Task@{GpgFrontend::Thread::Task}!GetFullID@{GetFullID}}
\index{GetFullID@{GetFullID}!GpgFrontend::Thread::Task@{GpgFrontend::Thread::Task}}
\doxysubsubsection{\texorpdfstring{GetFullID()}{GetFullID()}}
{\footnotesize\ttfamily QString Gpg\+Frontend\+::\+Thread\+::\+Task\+::\+Get\+Full\+ID (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption}) const -\/$>$ QString}



Get the Full I D object. 

\begin{DoxyReturn}{Returns}
QString 
\end{DoxyReturn}
\mbox{\Hypertarget{classGpgFrontend_1_1Thread_1_1Task_a38af36201658a25cc6479598acd455a1}\label{classGpgFrontend_1_1Thread_1_1Task_a38af36201658a25cc6479598acd455a1}} 
\index{GpgFrontend::Thread::Task@{GpgFrontend::Thread::Task}!GetRTN@{GetRTN}}
\index{GetRTN@{GetRTN}!GpgFrontend::Thread::Task@{GpgFrontend::Thread::Task}}
\doxysubsubsection{\texorpdfstring{GetRTN()}{GetRTN()}}
{\footnotesize\ttfamily auto Gpg\+Frontend\+::\+Thread\+::\+Task\+::\+Get\+RTN (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})}

\begin{DoxyReturn}{Returns}
auto 
\end{DoxyReturn}
\mbox{\Hypertarget{classGpgFrontend_1_1Thread_1_1Task_acf42a45a657d8dc8658ed0e322ff161b}\label{classGpgFrontend_1_1Thread_1_1Task_acf42a45a657d8dc8658ed0e322ff161b}} 
\index{GpgFrontend::Thread::Task@{GpgFrontend::Thread::Task}!GetUUID@{GetUUID}}
\index{GetUUID@{GetUUID}!GpgFrontend::Thread::Task@{GpgFrontend::Thread::Task}}
\doxysubsubsection{\texorpdfstring{GetUUID()}{GetUUID()}}
{\footnotesize\ttfamily QString Gpg\+Frontend\+::\+Thread\+::\+Task\+::\+Get\+UUID (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption}) const -\/$>$ QString}

\begin{DoxyReturn}{Returns}
QString 
\end{DoxyReturn}
\mbox{\Hypertarget{classGpgFrontend_1_1Thread_1_1Task_a5c3cab68d4cf8c9dcf379869132b1896}\label{classGpgFrontend_1_1Thread_1_1Task_a5c3cab68d4cf8c9dcf379869132b1896}} 
\index{GpgFrontend::Thread::Task@{GpgFrontend::Thread::Task}!HoldOnLifeCycle@{HoldOnLifeCycle}}
\index{HoldOnLifeCycle@{HoldOnLifeCycle}!GpgFrontend::Thread::Task@{GpgFrontend::Thread::Task}}
\doxysubsubsection{\texorpdfstring{HoldOnLifeCycle()}{HoldOnLifeCycle()}}
{\footnotesize\ttfamily void Gpg\+Frontend\+::\+Thread\+::\+Task\+::\+Hold\+On\+Life\+Cycle (\begin{DoxyParamCaption}\item[{bool}]{hold\+\_\+on }\end{DoxyParamCaption})}


\begin{DoxyParams}{Parameters}
{\em hold\+\_\+on} & \\
\hline
\end{DoxyParams}


Referenced by Gpg\+Frontend\+::\+UI\+::\+Key\+Server\+Import\+Task\+::\+Key\+Server\+Import\+Task(), Gpg\+Frontend\+::\+UI\+::\+Key\+Server\+Search\+Task\+::\+Key\+Server\+Search\+Task(), Gpg\+Frontend\+::\+UI\+::\+Listed\+Key\+Server\+Test\+Task\+::\+Listed\+Key\+Server\+Test\+Task(), Gpg\+Frontend\+::\+UI\+::\+Proxy\+Connection\+Test\+Task\+::\+Proxy\+Connection\+Test\+Task(), and Gpg\+Frontend\+::\+Module\+::\+Integrated\+::\+Version\+Checking\+Module\+::\+Version\+Check\+Task\+::\+Version\+Check\+Task().

\mbox{\Hypertarget{classGpgFrontend_1_1Thread_1_1Task_ab3e3d4206efeeff5d3d6f1b5f0c60ab2}\label{classGpgFrontend_1_1Thread_1_1Task_ab3e3d4206efeeff5d3d6f1b5f0c60ab2}} 
\index{GpgFrontend::Thread::Task@{GpgFrontend::Thread::Task}!Run@{Run}}
\index{Run@{Run}!GpgFrontend::Thread::Task@{GpgFrontend::Thread::Task}}
\doxysubsubsection{\texorpdfstring{Run()}{Run()}}
{\footnotesize\ttfamily int Gpg\+Frontend\+::\+Thread\+::\+Task\+::\+Run (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption}) -\/$>$ int\hspace{0.3cm}{\ttfamily [virtual]}}



can be overwrite by subclass 

\begin{DoxyReturn}{Returns}
int 
\end{DoxyReturn}


Reimplemented in \mbox{\hyperlink{classGpgFrontend_1_1UI_1_1FileReadTask_abd8f62be2b544d0fc8bbb1e5b7b3de9b}{Gpg\+Frontend\+::\+UI\+::\+File\+Read\+Task}}, \mbox{\hyperlink{classGpgFrontend_1_1UI_1_1ProxyConnectionTestTask_a0c58343f261ff4304868f314f03ca658}{Gpg\+Frontend\+::\+UI\+::\+Proxy\+Connection\+Test\+Task}}, \mbox{\hyperlink{classGpgFrontend_1_1UI_1_1ListedKeyServerTestTask_a3f0a9f8c46e7495b654f297594de8ea3}{Gpg\+Frontend\+::\+UI\+::\+Listed\+Key\+Server\+Test\+Task}}, \mbox{\hyperlink{classGpgFrontend_1_1UI_1_1KeyServerSearchTask_a2a1a60dc9e87755ed77a2e6318b23115}{Gpg\+Frontend\+::\+UI\+::\+Key\+Server\+Search\+Task}}, \mbox{\hyperlink{classGpgFrontend_1_1UI_1_1KeyServerImportTask_acc4979fdc2daa3c0805754a725969aa3}{Gpg\+Frontend\+::\+UI\+::\+Key\+Server\+Import\+Task}}, and \mbox{\hyperlink{classGpgFrontend_1_1Module_1_1Integrated_1_1VersionCheckingModule_1_1VersionCheckTask_a5bc74b894e86574fb4659dcb7f13fe26}{Gpg\+Frontend\+::\+Module\+::\+Integrated\+::\+Version\+Checking\+Module\+::\+Version\+Check\+Task}}.

\mbox{\Hypertarget{classGpgFrontend_1_1Thread_1_1Task_a406206b3ecb2bdcff9608d762735c5e4}\label{classGpgFrontend_1_1Thread_1_1Task_a406206b3ecb2bdcff9608d762735c5e4}} 
\index{GpgFrontend::Thread::Task@{GpgFrontend::Thread::Task}!setRTN@{setRTN}}
\index{setRTN@{setRTN}!GpgFrontend::Thread::Task@{GpgFrontend::Thread::Task}}
\doxysubsubsection{\texorpdfstring{setRTN()}{setRTN()}}
{\footnotesize\ttfamily void Gpg\+Frontend\+::\+Thread\+::\+Task\+::set\+RTN (\begin{DoxyParamCaption}\item[{int}]{rtn }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [protected]}}


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


The documentation for this class was generated from the following files\+:\begin{DoxyCompactItemize}
\item 
src/core/thread/Task.\+h\item 
src/core/thread/Task.\+cpp\end{DoxyCompactItemize}
