GpgFrontend::Thread::Task Class Reference
Inheritance diagram for GpgFrontend::Thread::Task:
Collaboration diagram for GpgFrontend::Thread::Task:

## 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 ()
void | SignalTaskPostFinishedDone ()

## 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.com eric@.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

  callback | The 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 | ( |  | ) |

overridevirtual

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::UI::VersionCheckTask, 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(), and GpgFrontend::UI::VersionCheckTask::Run().

## SetRTN()

void GpgFrontend::Thread::Task::SetRTN | ( | int | rtn | ) |

protected

Parameters

  rtn |

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

- src/core/thread/Task.h
- src/core/thread/Task.cpp