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


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


Collaboration diagram for Gpg\+Frontend\+::Thread\+::Task\+Runner\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{classGpgFrontend_1_1Thread_1_1TaskRunner__coll__graph}
\end{center}
\end{figure}
\doxysubsection*{Public Slots}
\begin{DoxyCompactItemize}
\item 
void \mbox{\hyperlink{classGpgFrontend_1_1Thread_1_1TaskRunner_a4fae01eb0a5b296b8c4c6bf8408f1c6b}{Post\+Task}} (\mbox{\hyperlink{classGpgFrontend_1_1Thread_1_1Task}{Task}} $\ast$task)
\item 
void \mbox{\hyperlink{classGpgFrontend_1_1Thread_1_1TaskRunner_aaddb0cdd8eb57aac08ca9caf8b8e6bac}{Post\+Schedule\+Task}} (\mbox{\hyperlink{classGpgFrontend_1_1Thread_1_1Task}{Task}} $\ast$task, size\+\_\+t seconds)
\end{DoxyCompactItemize}
\doxysubsection*{Public Member Functions}
\begin{DoxyCompactItemize}
\item 
\mbox{\hyperlink{classGpgFrontend_1_1Thread_1_1TaskRunner_ad3c8612cbe60112f9b14e616fb0a4acf}{Task\+Runner}} ()
\begin{DoxyCompactList}\small\item\em Construct a new \mbox{\hyperlink{classGpgFrontend_1_1Thread_1_1Task}{Task}} Runner object. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{classGpgFrontend_1_1Thread_1_1TaskRunner_ac3e57b59d537e2a75e741d4a5418ae6d}\label{classGpgFrontend_1_1Thread_1_1TaskRunner_ac3e57b59d537e2a75e741d4a5418ae6d}} 
virtual \mbox{\hyperlink{classGpgFrontend_1_1Thread_1_1TaskRunner_ac3e57b59d537e2a75e741d4a5418ae6d}{$\sim$\+Task\+Runner}} () override
\begin{DoxyCompactList}\small\item\em Destroy the \mbox{\hyperlink{classGpgFrontend_1_1Thread_1_1Task}{Task}} Runner object. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{classGpgFrontend_1_1Thread_1_1TaskRunner_a66d2cce41130ada199636815c52332a6}\label{classGpgFrontend_1_1Thread_1_1TaskRunner_a66d2cce41130ada199636815c52332a6}} 
void {\bfseries run} () override
\end{DoxyCompactItemize}
\doxysubsection*{Private Member Functions}
\begin{DoxyCompactItemize}
\item 
\mbox{\Hypertarget{classGpgFrontend_1_1Thread_1_1TaskRunner_abb18bb947433ecff7969dbd4e70f57be}\label{classGpgFrontend_1_1Thread_1_1TaskRunner_abb18bb947433ecff7969dbd4e70f57be}} 
void {\bfseries unregister\+\_\+finished\+\_\+task} (std\+::string)
\end{DoxyCompactItemize}
\doxysubsection*{Private Attributes}
\begin{DoxyCompactItemize}
\item 
\mbox{\Hypertarget{classGpgFrontend_1_1Thread_1_1TaskRunner_a774775e9a91d33072b27dcf78cead6e2}\label{classGpgFrontend_1_1Thread_1_1TaskRunner_a774775e9a91d33072b27dcf78cead6e2}} 
std\+::queue$<$ \mbox{\hyperlink{classGpgFrontend_1_1Thread_1_1Task}{Task}} $\ast$ $>$ \mbox{\hyperlink{classGpgFrontend_1_1Thread_1_1TaskRunner_a774775e9a91d33072b27dcf78cead6e2}{tasks}}
\begin{DoxyCompactList}\small\item\em The task queue. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{classGpgFrontend_1_1Thread_1_1TaskRunner_a6d92421bbbfcf3136335a5173d1b2a22}\label{classGpgFrontend_1_1Thread_1_1TaskRunner_a6d92421bbbfcf3136335a5173d1b2a22}} 
std\+::map$<$ std\+::string, \mbox{\hyperlink{classGpgFrontend_1_1Thread_1_1Task}{Task}} $\ast$ $>$ \mbox{\hyperlink{classGpgFrontend_1_1Thread_1_1TaskRunner_a6d92421bbbfcf3136335a5173d1b2a22}{pending\+\_\+tasks\+\_\+}}
\begin{DoxyCompactList}\small\item\em The pending tasks. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{classGpgFrontend_1_1Thread_1_1TaskRunner_a5e72f1ce00d41c225a4304f1ed20b3f1}\label{classGpgFrontend_1_1Thread_1_1TaskRunner_a5e72f1ce00d41c225a4304f1ed20b3f1}} 
std\+::mutex \mbox{\hyperlink{classGpgFrontend_1_1Thread_1_1TaskRunner_a5e72f1ce00d41c225a4304f1ed20b3f1}{tasks\+\_\+mutex\+\_\+}}
\begin{DoxyCompactList}\small\item\em The task queue mutex. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{classGpgFrontend_1_1Thread_1_1TaskRunner_a2bdc321dd0732ba7a72499b2dc12f7c9}\label{classGpgFrontend_1_1Thread_1_1TaskRunner_a2bdc321dd0732ba7a72499b2dc12f7c9}} 
QThread\+Pool \mbox{\hyperlink{classGpgFrontend_1_1Thread_1_1TaskRunner_a2bdc321dd0732ba7a72499b2dc12f7c9}{thread\+\_\+pool\+\_\+}} \{this\}
\begin{DoxyCompactList}\small\item\em run non-\/sequency task \end{DoxyCompactList}\end{DoxyCompactItemize}


\doxysubsection{Constructor \& Destructor Documentation}
\mbox{\Hypertarget{classGpgFrontend_1_1Thread_1_1TaskRunner_ad3c8612cbe60112f9b14e616fb0a4acf}\label{classGpgFrontend_1_1Thread_1_1TaskRunner_ad3c8612cbe60112f9b14e616fb0a4acf}} 
\index{GpgFrontend::Thread::TaskRunner@{GpgFrontend::Thread::TaskRunner}!TaskRunner@{TaskRunner}}
\index{TaskRunner@{TaskRunner}!GpgFrontend::Thread::TaskRunner@{GpgFrontend::Thread::TaskRunner}}
\doxysubsubsection{\texorpdfstring{TaskRunner()}{TaskRunner()}}
{\footnotesize\ttfamily Gpg\+Frontend\+::\+Thread\+::\+Task\+Runner\+::\+Task\+Runner (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [default]}}



Construct a new \mbox{\hyperlink{classGpgFrontend_1_1Thread_1_1Task}{Task}} Runner 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 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.

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. 

\doxysubsection{Member Function Documentation}
\mbox{\Hypertarget{classGpgFrontend_1_1Thread_1_1TaskRunner_aaddb0cdd8eb57aac08ca9caf8b8e6bac}\label{classGpgFrontend_1_1Thread_1_1TaskRunner_aaddb0cdd8eb57aac08ca9caf8b8e6bac}} 
\index{GpgFrontend::Thread::TaskRunner@{GpgFrontend::Thread::TaskRunner}!PostScheduleTask@{PostScheduleTask}}
\index{PostScheduleTask@{PostScheduleTask}!GpgFrontend::Thread::TaskRunner@{GpgFrontend::Thread::TaskRunner}}
\doxysubsubsection{\texorpdfstring{PostScheduleTask}{PostScheduleTask}}
{\footnotesize\ttfamily void Gpg\+Frontend\+::\+Thread\+::\+Task\+Runner\+::\+Post\+Schedule\+Task (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{classGpgFrontend_1_1Thread_1_1Task}{Task}} $\ast$}]{task,  }\item[{size\+\_\+t}]{seconds }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [slot]}}


\begin{DoxyParams}{Parameters}
{\em task} & \\
\hline
{\em seconds} & \\
\hline
\end{DoxyParams}
\mbox{\Hypertarget{classGpgFrontend_1_1Thread_1_1TaskRunner_a4fae01eb0a5b296b8c4c6bf8408f1c6b}\label{classGpgFrontend_1_1Thread_1_1TaskRunner_a4fae01eb0a5b296b8c4c6bf8408f1c6b}} 
\index{GpgFrontend::Thread::TaskRunner@{GpgFrontend::Thread::TaskRunner}!PostTask@{PostTask}}
\index{PostTask@{PostTask}!GpgFrontend::Thread::TaskRunner@{GpgFrontend::Thread::TaskRunner}}
\doxysubsubsection{\texorpdfstring{PostTask}{PostTask}}
{\footnotesize\ttfamily void Gpg\+Frontend\+::\+Thread\+::\+Task\+Runner\+::\+Post\+Task (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{classGpgFrontend_1_1Thread_1_1Task}{Task}} $\ast$}]{task }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [slot]}}


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


References Gpg\+Frontend\+::\+Thread\+::\+Task\+::\+Get\+Full\+ID(), tasks, and tasks\+\_\+mutex\+\_\+.



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