Rosetta
Classes | Public Types | Public Slots | Signals | Public Member Functions | Static Public Member Functions | Private Member Functions | Private Attributes | Friends | List of all members
ui::task::Task Class Reference

#include <task.h>

Inheritance diagram for ui::task::Task:
Inheritance graph
[legend]

Classes

struct  Job
 

Public Types

enum class  State {
  none , draft , queued , running ,
  finished , canceled , unknown
}
 
using JobSP = std::shared_ptr< Job >
 

Public Slots

void rename_input_file (QString const &previous_value, QString const &new_value)
 

Signals

void submitted ()
 
void changed ()
 
void name_changed ()
 
void state_changed ()
 
void file_list_changed ()
 
void file_changed (FileID const &)
 
void syncing ()
 Emitted when node or sub-node syncing state changed. More...
 
void final ()
 Emitted once when Task is fully downloaded and no further network operations will be issued. More...
 

Public Member Functions

 Task ()
 
 ~Task ()
 
TaskSP clone () const
 create clone of Task containing only input files More...
 
State state () const
 
QString queue () const
 
bool is_syncing () const
 
std::pair< int, int > syncing_progress () const
 
QAbstractTableModelfiles_model ()
 
Projectproject () const
 
JobSP add_job ()
 add a new job at the end of jobs queue and return poiinter to it More...
 
std::vector< JobSP > const & jobs () const
 return jobs vector More...
 
void delete_job (JobSP const &job)
 delete given job More...
 
bool rename_job (JobSP const &, QString const &name)
 try to rename job, return true on success More...
 
void swap_jobs (int i, int j)
 swap jobs of given indexes More...
 
void add_file (FileSP const &file)
 add file to Task files collection More...
 
Files const & files () const
 
Files::const_iterator files_find (FileID const &f)
 temporary until C++14 More...
 
bool delete_file (File::Kind kind, QString const &name)
 delete file from task, return true if file was in task files More...
 
void submit (QString const &queue)
 Initiate submit procedure. More...
 
QString task_id () const
 return QString representation of task_id (int) if task was already submitted other wise return empty string More...
 
QString name () const
 
void name (QString const &)
 
QString version () const
 
void version (QString const &)
 
QString description () const
 
void description (QString const &)
 
void subscribe ()
 subscribe to network update stream More...
 

Static Public Member Functions

static QString to_string (Task::State state)
 
static Task::State from_string (QString const &s)
 

Private Member Functions

QJsonValue task_data ()
 connect nodes and Task structre, assign callback's More...
 
void task_data (QJsonValue const &)
 
void syncing_progress (int value, int max)
 
void syncing_progress_advance (int value)
 

Private Attributes

State state_ = State::none
 
QString queue_
 
QString version_
 
QString name_
 
QString description_
 
QVariant task_id_
 
std::vector< JobSPjobs_
 
Files files_
 
FileTableModel files_model_
 
TaskSyncer_TaskStrategy syncer_
 
QPointer< Projectproject_
 root node of network syncing tree More...
 
std::pair< int, int > syncing_progress_ = {0, 0}
 

Friends

class TaskSyncer_NodeStrategy
 
class TaskSyncer_TaskStrategy
 
class TaskCancelDialog
 
QDataStream & operator<< (QDataStream &, Task const &)
 
QDataStream & operator>> (QDataStream &, Task &)
 
void Project::add_task (TaskSP const &task)
 Some project functions require access to project_. More...
 
bool Project::erase (TaskSP const &task)
 
void Project::assign_ownership (TaskSP const &t)
 

Member Typedef Documentation

◆ JobSP

using ui::task::Task::JobSP = std::shared_ptr<Job>

Member Enumeration Documentation

◆ State

enum ui::task::Task::State
strong
Enumerator
none 
draft 
queued 
running 
finished 
canceled 
unknown 

Constructor & Destructor Documentation

◆ Task()

ui::task::Task::Task ( )
explicit

◆ ~Task()

ui::task::Task::~Task ( )

Member Function Documentation

◆ add_file()

void ui::task::Task::add_file ( FileSP const &  file)

◆ add_job()

Task::JobSP ui::task::Task::add_job ( )

add a new job at the end of jobs queue and return poiinter to it

References bin_torsions::job, jobs_, name(), and rename_job().

◆ changed

void ui::task::Task::changed ( )
signal

◆ clone()

TaskSP ui::task::Task::clone ( ) const

create clone of Task containing only input files

References description_, create_a3b_hbs::f, files_, gaussian-sampling::input, create_a3b_hbs::j, jobs_, name_, vancomycin::task, and version_.

◆ delete_file()

bool ui::task::Task::delete_file ( File::Kind  kind,
QString const &  name 
)

delete file from task, return true if file was in task files

References files_, files_find(), files_model_, name(), and ui::task::FileTableModel::update_from_task().

Referenced by ui::task::TaskSyncer_NodeStrategy::files_topology_updated().

◆ delete_job()

void ui::task::Task::delete_job ( JobSP const &  job)

delete given job

References bin_torsions::job, jobs_, and erraser_util::remove().

◆ description() [1/2]

QString ui::task::Task::description ( ) const
inline

References description_.

Referenced by task_data().

◆ description() [2/2]

void ui::task::Task::description ( QString const &  d)

References changed(), and description_.

◆ file_changed

void ui::task::Task::file_changed ( FileID const &  )
signal

◆ file_list_changed

void ui::task::Task::file_list_changed ( )
signal

◆ files()

Files const& ui::task::Task::files ( ) const
inline

References files_.

◆ files_find()

Files::const_iterator ui::task::Task::files_find ( FileID const &  f)

temporary until C++14

References create_a3b_hbs::f, and files_.

Referenced by delete_file(), and rename_input_file().

◆ files_model()

QAbstractTableModel* ui::task::Task::files_model ( )
inline

References files_model_.

◆ final

void ui::task::Task::final ( )
signal

Emitted once when Task is fully downloaded and no further network operations will be issued.

◆ from_string()

Task::State ui::task::Task::from_string ( QString const &  s)
static

◆ is_syncing()

bool ui::task::Task::is_syncing ( ) const

References syncing_progress_.

◆ jobs()

std::vector<JobSP> const& ui::task::Task::jobs ( ) const
inline

return jobs vector

References jobs_.

Referenced by job_manager.AppWindow::on_hotkey(), and task_data().

◆ name() [1/2]

QString ui::task::Task::name ( ) const
inline

◆ name() [2/2]

void ui::task::Task::name ( QString const &  n)

◆ name_changed

void ui::task::Task::name_changed ( )
signal

◆ project()

Project* ui::task::Task::project ( ) const
inline

References project_.

◆ queue()

QString ui::task::Task::queue ( ) const
inline

References queue_.

Referenced by submit(), and task_data().

◆ rename_input_file

void ui::task::Task::rename_input_file ( QString const &  previous_value,
QString const &  new_value 
)
slot

◆ rename_job()

bool ui::task::Task::rename_job ( JobSP const &  job,
QString const &  name 
)

try to rename job, return true on success

References create_a3b_hbs::j, bin_torsions::job, jobs_, and name().

Referenced by add_job().

◆ state()

State ui::task::Task::state ( ) const
inline

References state_.

Referenced by task_data(), and to_string().

◆ state_changed

void ui::task::Task::state_changed ( )
signal

◆ submit()

void ui::task::Task::submit ( QString const &  queue)

Initiate submit procedure.

References queue(), ui::task::TaskSyncer_TaskStrategy::submit(), and syncer_.

◆ submitted

void ui::task::Task::submitted ( )
signal

◆ subscribe()

void ui::task::Task::subscribe ( )

subscribe to network update stream

References ui::task::TaskSyncer_TaskStrategy::subscribe(), and syncer_.

◆ swap_jobs()

void ui::task::Task::swap_jobs ( int  i,
int  j 
)

swap jobs of given indexes

References create_a3b_hbs::i, create_a3b_hbs::j, jobs_, and swap().

◆ syncing

void ui::task::Task::syncing ( )
signal

Emitted when node or sub-node syncing state changed.

Referenced by syncing_progress(), and ui::task::TaskView::TaskView().

◆ syncing_progress() [1/2]

std::pair< int, int > ui::task::Task::syncing_progress ( ) const

◆ syncing_progress() [2/2]

void ui::task::Task::syncing_progress ( int  value,
int  max 
)
private

◆ syncing_progress_advance()

void ui::task::Task::syncing_progress_advance ( int  value)
private

◆ task_data() [1/2]

QJsonValue ui::task::Task::task_data ( )
private

connect nodes and Task structre, assign callback's

References description_, create_a3b_hbs::j, bin_torsions::job, jobs(), jobs_, name_, queue_, create_a3b_hbs::r, state_, to_string(), and version_.

◆ task_data() [2/2]

void ui::task::Task::task_data ( QJsonValue const &  jv)
private

◆ task_id()

QString ui::task::Task::task_id ( ) const

return QString representation of task_id (int) if task was already submitted other wise return empty string

return task UUID if task was already submitted other wise return NULL UUID

References task_id_.

Referenced by ui::task::TaskSyncer_NodeStrategy::draft_to_queued(), ui::task::TaskSyncer_NodeStrategy::post_submit(), ui::task::TaskSyncer_NodeStrategy::submit(), ui::task::TaskSyncer_TaskStrategy::submit(), ui::task::TaskSyncer_NodeStrategy::subscribe(), and task_data().

◆ to_string()

QString ui::task::Task::to_string ( Task::State  state)
static

◆ version() [1/2]

QString ui::task::Task::version ( ) const
inline

References version_.

Referenced by pyrosetta.EnergyMethod::__call__(), and task_data().

◆ version() [2/2]

void ui::task::Task::version ( QString const &  v)

Friends And Related Function Documentation

◆ operator<<

QDataStream& operator<< ( QDataStream &  out,
Task const &  t 
)
friend

◆ operator>>

QDataStream& operator>> ( QDataStream &  in,
Task t 
)
friend

◆ Project::add_task

void Project::add_task ( TaskSP const &  task)
friend

Some project functions require access to project_.

◆ Project::assign_ownership

void Project::assign_ownership ( TaskSP const &  t)
friend

◆ Project::erase

bool Project::erase ( TaskSP const &  task)
friend

◆ TaskCancelDialog

friend class TaskCancelDialog
friend

◆ TaskSyncer_NodeStrategy

friend class TaskSyncer_NodeStrategy
friend

◆ TaskSyncer_TaskStrategy

friend class TaskSyncer_TaskStrategy
friend

Member Data Documentation

◆ description_

QString ui::task::Task::description_
private

Referenced by clone(), description(), and task_data().

◆ files_

Files ui::task::Task::files_
private

◆ files_model_

FileTableModel ui::task::Task::files_model_
private

◆ jobs_

std::vector<JobSP> ui::task::Task::jobs_
private

◆ name_

QString ui::task::Task::name_
private

◆ project_

QPointer<Project> ui::task::Task::project_
private

root node of network syncing tree

Referenced by ui::task::TaskSyncer_NodeStrategy::draft_to_queued(), and project().

◆ queue_

QString ui::task::Task::queue_
private

◆ state_

State ui::task::Task::state_ = State::none
private

◆ syncer_

TaskSyncer_TaskStrategy ui::task::Task::syncer_
private

Referenced by submit(), and subscribe().

◆ syncing_progress_

std::pair<int, int> ui::task::Task::syncing_progress_ = {0, 0}
private

◆ task_id_

QVariant ui::task::Task::task_id_
private

Referenced by task_data(), and task_id().

◆ version_

QString ui::task::Task::version_
private

Referenced by clone(), Task(), task_data(), and version().


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