ProgressTaskInfoPtr findTask(const NodePtr& node) const { assert(!tasksMutex.tryLock()); for (TasksMap::const_iterator it = tasks.begin(); it!=tasks.end(); ++it) { if (it->first.lock() == node) { return it->second; } } return ProgressTaskInfoPtr(); }
ProgressTaskInfoPtr findTask(const TableItemConstPtr& item) const { assert( !tasksMutex.tryLock() ); for (TasksMap::const_iterator it = tasks.begin(); it != tasks.end(); ++it) { if (it->second->getTableItem() == item) { return it->second; } } return ProgressTaskInfoPtr(); }
ProgressTaskInfoPtr findTask(const TableItem* item) const { assert(!tasksMutex.tryLock()); for (TasksMap::const_iterator it = tasks.begin(); it!=tasks.end(); ++it) { std::vector<TableItem*> items; it->second->getTableItems(&items); for (std::size_t i = 0; i < items.size(); ++i) { if (items[i] == item) { return it->second; } } } return ProgressTaskInfoPtr(); }