void Script::run() { setPriority(QThread::LowPriority); // use 0 as parent, see Constructor. m_p_action = new Kross::Action(0, m_fileName); //"ContentFetchScript"); // quit the exec() loop after get finish/abort signal from script connect(m_p_kgetcore, SIGNAL(finished()), this, SLOT(quit())); connect(m_p_kgetcore, SIGNAL(aborted(QString)), this, SLOT(quit())); // add transfer connect(m_p_kgetcore, SIGNAL(newTransfer(QString,QString)), this, SIGNAL(newTransfer(QString,QString))); // update status signal/slot connect(m_p_kgetcore, SIGNAL(percentUpdated(int)), this, SIGNAL(percentUpdated(int))); connect(m_p_kgetcore, SIGNAL(textStatusUpdated(QString)), this, SIGNAL(textStatusUpdated(QString))); connect(m_p_kgetcore, SIGNAL(finished()), this, SIGNAL(finished())); connect(m_p_kgetcore, SIGNAL(aborted(QString)), this, SIGNAL(aborted(QString))); // main entry point connect(this, SIGNAL(startDownload(QObject*)), m_p_kgetcore, SIGNAL(startDownload(QObject*))); m_p_action->setFile(m_fileName); // TODO add check kDebug(5002) << "KGetCore Added to script at ThreadId " << QThread::currentThreadId(); m_p_action->addObject(m_p_kgetcore, "kgetcore", Kross::ChildrenInterface::AutoConnectSignals); m_p_action->trigger(); ScriptConfigAdaptor config; emit startDownload(&config); //m_p_action->callFunction("startDownload", QVariantList()); kDebug(5002) << "Script Finished!" << QThread::currentThreadId(); //delete m_p_kgetcore; //delete m_p_action; if (m_p_action->hadError()) { kDebug(5002) << "Error:" << m_p_action->errorMessage() << m_p_action->errorTrace(); } else { exec(); } }
ContentFetch::ContentFetch(TransferGroup* parent, TransferFactory* factory, Scheduler* scheduler, const KUrl& source, const KUrl& dest, const QString &scriptFile, const QDomElement* e) : Transfer(parent, factory, scheduler, source, dest, e), m_p_group(parent), m_scriptFile(scriptFile), m_destDir(dest.directory(KUrl::AppendTrailingSlash)) { m_p_script = new Script(this, source); connect(m_p_script, SIGNAL(newTransfer(QString,QString)), this, SLOT(slotAddTransfer(QString,QString))); connect(m_p_script, SIGNAL(finished()), this, SLOT(slotFinish())); connect(m_p_script, SIGNAL(aborted(QString)), this, SLOT(slotAbort(QString))); connect(m_p_script, SIGNAL(percentUpdated(int)), this, SLOT(setPercent(int))); connect(m_p_script, SIGNAL(textStatusUpdated(QString)), this, SLOT(slotSetTextStatus(QString))); }
void Core::newMove(const quint32 &orderId,const QStringList &protocolsUsedForTheSources,const QStringList &sources,const QString &protocolsUsedForTheDestination,const QString &destination) { newTransfer(Ultracopier::Move,orderId,protocolsUsedForTheSources,sources,protocolsUsedForTheDestination,destination); }