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

Public Types

using TaskRunnable = std::function< int()>
 
using TaskCallback = std::function< void(int)>
 

Signals

void SignalTaskFinished ()
 

Public Member Functions

 Task ()
 Construct a new Task object. More...
 
 Task (TaskCallback callback)
 Construct a new Task object. More...
 
 Task (TaskRunnable runnable, TaskCallback callback=[](int) {})
 Construct a new Task object. More...
 
virtual ~Task () override
 Destroy the Task object. More...
 
virtual void Run ()
 Run - run the task. More...
 

Protected Member Functions

void SetFinishAfterRun (bool finish_after_run)
 
void SetRTN (int rtn)
 

Private Member Functions

void before_finish_task ()
 
void init ()
 
virtual void run () override
 

Private Attributes

TaskCallback callback_
 
TaskRunnable runnable_
 
bool finish_after_run_ = true
 
int rtn_ = 0
 

Friends

class TaskRunner
 

Constructor & Destructor Documentation

◆ Task() [1/3]

GpgFrontend::Thread::Task::Task ( )

Construct a new Task 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.

◆ Task() [2/3]

GpgFrontend::Thread::Task::Task ( TaskCallback  callback)

Construct a new Task object.

Parameters
callbackThe callback function to be executed. callback must not be nullptr, and not tp opreate UI object.

◆ Task() [3/3]

GpgFrontend::Thread::Task::Task ( TaskRunnable  runnable,
TaskCallback  callback = [](int) {} 
)

Construct a new Task object.

Parameters
runnable

◆ ~Task()

GpgFrontend::Thread::Task::~Task ( )
overridevirtualdefault

Destroy the Task object.

Member Function Documentation

◆ Run()

void GpgFrontend::Thread::Task::Run ( )
virtual

Run - run the task.

Reimplemented in GpgFrontend::Thread::CtxCheckTask, and GpgFrontend::UI::FileReadTask.


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