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

Classes

class  DataObject
 DataObject to be passed to the callback function. More...
 

Public Types

using DataObjectPtr = std::shared_ptr< DataObject >
 
using TaskRunnable = std::function< int(DataObjectPtr)>
 
using TaskCallback = std::function< void(int, DataObjectPtr)>
 

Signals

void SignalTaskFinished ()
 

Public Member Functions

 Task ()
 Construct a new Task object. More...
 
 Task (TaskCallback callback, DataObjectPtr data_object=nullptr)
 Construct a new Task object. More...
 
 Task (TaskRunnable runnable, TaskCallback callback=[](int, std::shared_ptr< DataObject >) {}, DataObjectPtr data=nullptr)
 Construct a new Task object. More...
 
virtual ~Task () override
 Destroy the Task object. More...
 
virtual void Run ()
 Run - run the task. More...
 
std::string GetUUID () const
 

Protected Member Functions

void SetFinishAfterRun (bool finish_after_run)
 Set the Finish After Run object. More...
 
void SetRTN (int rtn)
 

Private Member Functions

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

Static Private Member Functions

static std::string generate_uuid ()
 

Private Attributes

const std::string uuid_
 
TaskCallback callback_
 
TaskRunnable runnable_
 
bool finish_after_run_ = true
 
int rtn_ = 0
 
QThread * callback_thread_ = nullptr
 
DataObjectPtr data_object_ = nullptr
 

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,
DataObjectPtr  data_object = nullptr 
)

Construct a new Task object.

Parameters
callbackThe callback function to be executed.

◆ Task() [3/3]

GpgFrontend::Thread::Task::Task ( TaskRunnable  runnable,
TaskCallback  callback = [](int, std::shared_ptr<DataObject>) {},
DataObjectPtr  data = nullptr 
)

Construct a new Task object.

Parameters
runnable

◆ ~Task()

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

Destroy the Task object.

Member Function Documentation

◆ generate_uuid()

std::string GpgFrontend::Thread::Task::generate_uuid ( )
staticprivate
Returns
std::string

◆ GetUUID()

std::string GpgFrontend::Thread::Task::GetUUID ( ) const
Returns
std::string

Referenced by GpgFrontend::Thread::TaskRunner::PostTask().

◆ Run()

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

Run - run the task.

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

◆ SetFinishAfterRun()

void GpgFrontend::Thread::Task::SetFinishAfterRun ( bool  finish_after_run)
protected

Set the Finish After Run object.

Parameters
finish_after_run

Referenced by GpgFrontend::UI::FileReadTask::Run().

◆ SetRTN()

void GpgFrontend::Thread::Task::SetRTN ( int  rtn)
protected
Parameters
rtn

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