# GpgFrontend Project: GpgFrontend::Thread::Task Class Reference

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)>

## Public Slots

void | SlotRun ()

## Signals

void | SignalTaskRunnableEnd (int rtn)
| announce runnable finished
void | SignalTaskEnd ()
| runnable and callabck all finished

## Public Member Functions

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

## Static Public Attributes

static const std::string | DEFAULT_TASK_NAME = "default-task"

## Protected Member Functions

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

## Private Slots

void | slot_task_run_callback (int rtn)

## Private Member Functions

void | init ()
virtual void | run () override

## Static Private Member Functions

static std::string | generate_uuid ()

## Private Attributes

const std::string | uuid_
const std::string | name_
const bool | sequency_ = true
| must run in the same thread
TaskCallback | callback_
TaskRunnable | runnable_
bool | run_callback_after_runnable_finished_ = true
int | rtn_ = 0
QThread * | callback_thread_ = nullptr
DataObjectPtr | data_object_ = nullptr

## Friends

class | TaskRunner

## Constructor & Destructor Documentation

## Task() [1/2]

GpgFrontend::Thread::Task::Task | ( | TaskRunnable | runnable,
|  | std::string | name = `DEFAULT_TASK_NAME`,
|  | DataObjectPtr | data_object = `nullptr`,
|  | bool | sequency = `true`
| ) |  |

explicit

Construct a new Task object.

Parameters

  callback | The callback function to be executed.

## Task() [2/2]

GpgFrontend::Thread::Task::Task | ( | TaskRunnable | runnable,
|  | std::string | name,
|  | DataObjectPtr | data,
|  | TaskCallback | callback = `[](int, const std::shared_ptr<DataObject> &) {}`,
|  | bool | sequency = `true`
| ) |  |

explicit

Construct a new Task object.

Parameters

  runnable |

References GetFullID().

## Member Function Documentation

## generate_uuid()

std::string GpgFrontend::Thread::Task::generate_uuid | ( |  | ) |

staticprivate

Returns
  std::string

## GetFullID()

std::string GpgFrontend::Thread::Task::GetFullID | ( |  | ) | const

Returns
  std::string

Referenced by GpgFrontend::Thread::TaskRunner::PostTask(), and Task().

## GetSequency()

bool GpgFrontend::Thread::Task::GetSequency | ( |  | ) | const

Returns
  std::string

## GetUUID()

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

Returns
  std::string

## 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 |

## Member Data Documentation

## DEFAULT_TASK_NAME

const std::string GpgFrontend::Thread::Task::DEFAULT_TASK_NAME = "default-task"

static

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.

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

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