GpgFrontend Project
A Free, Powerful, Easy-to-Use, Compact, Cross-Platform, and Installation-Free OpenPGP(pgp) Crypto Tool.
GpgFrontend::Thread::TaskRunner Class Reference
Inheritance diagram for GpgFrontend::Thread::TaskRunner:
Inheritance graph
Collaboration diagram for GpgFrontend::Thread::TaskRunner:
Collaboration graph

Public Slots

void PostTask (Task *task)
 
void PostScheduleTask (Task *task, size_t seconds)
 

Public Member Functions

 TaskRunner ()
 Construct a new Task Runner object. More...
 
virtual ~TaskRunner () override
 Destroy the Task Runner object.
 
void run () override
 

Private Member Functions

void unregister_finished_task (std::string)
 

Private Attributes

std::queue< Task * > tasks
 The task queue.
 
std::map< std::string, Task * > pending_tasks_
 The pending tasks.
 
std::mutex tasks_mutex_
 The task queue mutex.
 
QThreadPool thread_pool_ {this}
 run non-sequency task
 

Constructor & Destructor Documentation

◆ TaskRunner()

GpgFrontend::Thread::TaskRunner::TaskRunner ( )
default

Construct a new Task Runner object.

Copyright (C) 2021 Saturneric

This file is part of GpgFrontend.

GpgFrontend 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.

GpgFrontend 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 GpgFrontend. If not, see 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 Saturnericeric@.nosp@m.bktu.nosp@m.s.comeric@.nosp@m.bktu.nosp@m.s.com starting on May 12, 2021.

Member Function Documentation

◆ PostScheduleTask

void GpgFrontend::Thread::TaskRunner::PostScheduleTask ( Task task,
size_t  seconds 
)
slot
Parameters
task
seconds

◆ PostTask

void GpgFrontend::Thread::TaskRunner::PostTask ( Task task)
slot
Parameters
task

References GpgFrontend::Thread::Task::GetFullID(), tasks, and tasks_mutex_.


The documentation for this class was generated from the following files: