\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*{Public Types}
\begin{DoxyCompactItemize}
\item 
\mbox{\Hypertarget{classGpgFrontend_1_1Thread_1_1Task_a6aa871035cc05445c831cb682c5ff8eb}\label{classGpgFrontend_1_1Thread_1_1Task_a6aa871035cc05445c831cb682c5ff8eb}} 
using {\bfseries Task\+Runnable} = std\+::function$<$ int()$>$
\item 
\mbox{\Hypertarget{classGpgFrontend_1_1Thread_1_1Task_a2fd7b685209eec91ef5115f98cad91d4}\label{classGpgFrontend_1_1Thread_1_1Task_a2fd7b685209eec91ef5115f98cad91d4}} 
using {\bfseries Task\+Callback} = std\+::function$<$ void(int)$>$
\end{DoxyCompactItemize}
\doxysubsection*{Signals}
\begin{DoxyCompactItemize}
\item 
\mbox{\Hypertarget{classGpgFrontend_1_1Thread_1_1Task_af50c7642efe45554c61943fb3d8825b3}\label{classGpgFrontend_1_1Thread_1_1Task_af50c7642efe45554c61943fb3d8825b3}} 
void {\bfseries Signal\+Task\+Finished} ()
\end{DoxyCompactItemize}
\doxysubsection*{Public Member Functions}
\begin{DoxyCompactItemize}
\item 
\mbox{\hyperlink{classGpgFrontend_1_1Thread_1_1Task_a1ec53d301fc83e0da39e43055ded5d14}{Task}} ()
\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_a57754a42ad43000a1c1d3c98a29edbb2}{Task}} (Task\+Callback callback)
\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_a91e831792863218c044fc3b0b0d17808}{Task}} (Task\+Runnable runnable, Task\+Callback callback=\mbox{[}$\,$\mbox{]}(int) \{\})
\begin{DoxyCompactList}\small\item\em Construct a new \mbox{\hyperlink{classGpgFrontend_1_1Thread_1_1Task}{Task}} object. \end{DoxyCompactList}\item 
virtual \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 
virtual void \mbox{\hyperlink{classGpgFrontend_1_1Thread_1_1Task_ac60aa71a24f452fd8031597ff4cbbd00}{Run}} ()
\begin{DoxyCompactList}\small\item\em Run -\/ run the task. \end{DoxyCompactList}\end{DoxyCompactItemize}
\doxysubsection*{Protected Member Functions}
\begin{DoxyCompactItemize}
\item 
\mbox{\Hypertarget{classGpgFrontend_1_1Thread_1_1Task_a689969e7d88ba7ad73a693a1b38aedd7}\label{classGpgFrontend_1_1Thread_1_1Task_a689969e7d88ba7ad73a693a1b38aedd7}} 
void {\bfseries Set\+Finish\+After\+Run} (bool finish\+\_\+after\+\_\+run)
\item 
\mbox{\Hypertarget{classGpgFrontend_1_1Thread_1_1Task_aa6d702417bdd6a88c447ed6a457fa098}\label{classGpgFrontend_1_1Thread_1_1Task_aa6d702417bdd6a88c447ed6a457fa098}} 
void {\bfseries Set\+R\+TN} (int rtn)
\end{DoxyCompactItemize}
\doxysubsection*{Private Member Functions}
\begin{DoxyCompactItemize}
\item 
\mbox{\Hypertarget{classGpgFrontend_1_1Thread_1_1Task_a98486634324dc28d05fb0b812ed807e3}\label{classGpgFrontend_1_1Thread_1_1Task_a98486634324dc28d05fb0b812ed807e3}} 
void {\bfseries before\+\_\+finish\+\_\+task} ()
\item 
\mbox{\Hypertarget{classGpgFrontend_1_1Thread_1_1Task_a5ee1ea118ac5d91f005faecef54742b8}\label{classGpgFrontend_1_1Thread_1_1Task_a5ee1ea118ac5d91f005faecef54742b8}} 
void {\bfseries init} ()
\item 
\mbox{\Hypertarget{classGpgFrontend_1_1Thread_1_1Task_a024a05bb89556c5b93336cb35d4bd10c}\label{classGpgFrontend_1_1Thread_1_1Task_a024a05bb89556c5b93336cb35d4bd10c}} 
virtual void {\bfseries run} () override
\end{DoxyCompactItemize}
\doxysubsection*{Private Attributes}
\begin{DoxyCompactItemize}
\item 
\mbox{\Hypertarget{classGpgFrontend_1_1Thread_1_1Task_a5b47295d027309aee116d219b50de4f8}\label{classGpgFrontend_1_1Thread_1_1Task_a5b47295d027309aee116d219b50de4f8}} 
Task\+Callback {\bfseries callback\+\_\+}
\item 
\mbox{\Hypertarget{classGpgFrontend_1_1Thread_1_1Task_a0cb0482d29d502870dc8d38b8aaedf68}\label{classGpgFrontend_1_1Thread_1_1Task_a0cb0482d29d502870dc8d38b8aaedf68}} 
Task\+Runnable {\bfseries runnable\+\_\+}
\item 
\mbox{\Hypertarget{classGpgFrontend_1_1Thread_1_1Task_a4f29cfb3a72d718da6d835f3a049f7cc}\label{classGpgFrontend_1_1Thread_1_1Task_a4f29cfb3a72d718da6d835f3a049f7cc}} 
bool {\bfseries finish\+\_\+after\+\_\+run\+\_\+} = true
\item 
\mbox{\Hypertarget{classGpgFrontend_1_1Thread_1_1Task_ad6388db7b0e4960db5bf8296481481dd}\label{classGpgFrontend_1_1Thread_1_1Task_ad6388db7b0e4960db5bf8296481481dd}} 
int {\bfseries rtn\+\_\+} = 0
\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_a1ec53d301fc83e0da39e43055ded5d14}\label{classGpgFrontend_1_1Thread_1_1Task_a1ec53d301fc83e0da39e43055ded5d14}} 
\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/3]}}
{\footnotesize\ttfamily Gpg\+Frontend\+::\+Thread\+::\+Task\+::\+Task (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})}



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

Copyright (C) 2021 Saturneric

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 G\+NU 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 W\+I\+T\+H\+O\+UT A\+NY W\+A\+R\+R\+A\+N\+TY; without even the implied warranty of M\+E\+R\+C\+H\+A\+N\+T\+A\+B\+I\+L\+I\+TY or F\+I\+T\+N\+E\+SS F\+OR A P\+A\+R\+T\+I\+C\+U\+L\+AR P\+U\+R\+P\+O\+SE. See the G\+NU General Public License for more details.

You should have received a copy of the G\+NU 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 G\+P\+L-\/3.\+0-\/or-\/later.

The source code version of this software was modified and released by Saturneric\href{mailto:eric@bktus.com}{\texttt{ eric@bktus.\+com}}\href{mailto:eric@bktus.com}{\texttt{ eric@bktus.\+com}} starting on May 12, 2021. \mbox{\Hypertarget{classGpgFrontend_1_1Thread_1_1Task_a57754a42ad43000a1c1d3c98a29edbb2}\label{classGpgFrontend_1_1Thread_1_1Task_a57754a42ad43000a1c1d3c98a29edbb2}} 
\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/3]}}
{\footnotesize\ttfamily Gpg\+Frontend\+::\+Thread\+::\+Task\+::\+Task (\begin{DoxyParamCaption}\item[{Task\+Callback}]{callback }\end{DoxyParamCaption})}



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


\begin{DoxyParams}{Parameters}
{\em callback} & The callback function to be executed. callback must not be nullptr, and not tp opreate \mbox{\hyperlink{namespaceGpgFrontend_1_1UI}{UI}} object. \\
\hline
\end{DoxyParams}
\mbox{\Hypertarget{classGpgFrontend_1_1Thread_1_1Task_a91e831792863218c044fc3b0b0d17808}\label{classGpgFrontend_1_1Thread_1_1Task_a91e831792863218c044fc3b0b0d17808}} 
\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 [3/3]}}
{\footnotesize\ttfamily Gpg\+Frontend\+::\+Thread\+::\+Task\+::\+Task (\begin{DoxyParamCaption}\item[{Task\+Runnable}]{runnable,  }\item[{Task\+Callback}]{callback = {\ttfamily \mbox{[}\mbox{]}(int)~\{\}} }\end{DoxyParamCaption})}



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


\begin{DoxyParams}{Parameters}
{\em runnable} & \\
\hline
\end{DoxyParams}
\mbox{\Hypertarget{classGpgFrontend_1_1Thread_1_1Task_a37766a505662b33ad14672c29e209ea8}\label{classGpgFrontend_1_1Thread_1_1Task_a37766a505662b33ad14672c29e209ea8}} 
\index{GpgFrontend::Thread::Task@{GpgFrontend::Thread::Task}!````~Task@{$\sim$Task}}
\index{````~Task@{$\sim$Task}!GpgFrontend::Thread::Task@{GpgFrontend::Thread::Task}}
\doxysubsubsection{\texorpdfstring{$\sim$Task()}{~Task()}}
{\footnotesize\ttfamily Gpg\+Frontend\+::\+Thread\+::\+Task\+::$\sim$\+Task (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [override]}, {\ttfamily [virtual]}, {\ttfamily [default]}}



Destroy the \mbox{\hyperlink{classGpgFrontend_1_1Thread_1_1Task}{Task}} object. 



\doxysubsection{Member Function Documentation}
\mbox{\Hypertarget{classGpgFrontend_1_1Thread_1_1Task_ac60aa71a24f452fd8031597ff4cbbd00}\label{classGpgFrontend_1_1Thread_1_1Task_ac60aa71a24f452fd8031597ff4cbbd00}} 
\index{GpgFrontend::Thread::Task@{GpgFrontend::Thread::Task}!Run@{Run}}
\index{Run@{Run}!GpgFrontend::Thread::Task@{GpgFrontend::Thread::Task}}
\doxysubsubsection{\texorpdfstring{Run()}{Run()}}
{\footnotesize\ttfamily void Gpg\+Frontend\+::\+Thread\+::\+Task\+::\+Run (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [virtual]}}



Run -\/ run the task. 



Reimplemented in \mbox{\hyperlink{classGpgFrontend_1_1Thread_1_1CtxCheckTask_a1c94cb1290df40a9043fe2d1a9a231f2}{Gpg\+Frontend\+::\+Thread\+::\+Ctx\+Check\+Task}}, and \mbox{\hyperlink{classGpgFrontend_1_1UI_1_1FileReadTask_a0f8bc1c253380b68c0e65cabc011ac09}{Gpg\+Frontend\+::\+U\+I\+::\+File\+Read\+Task}}.



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}
