91 lines
1.7 KiB
C++
91 lines
1.7 KiB
C++
#include "serrorprocess.h"
|
|
|
|
SErrorProcess::SErrorProcess():SParentProcess(), m_iterEffectRow(nullptr)
|
|
{
|
|
QObject::connect(this, &SErrorProcess::signalTerminateEachEvent,
|
|
this, &SErrorProcess::slotTerminateEachEvent);
|
|
}
|
|
|
|
|
|
void SErrorProcess::setList(const QVector<int>& _list)
|
|
{
|
|
|
|
}
|
|
|
|
void SErrorProcess::setList(QVector<int>&& _list)
|
|
{
|
|
|
|
}
|
|
|
|
void SErrorProcess::setList(const QVector<SEffectRow>& _list)
|
|
{
|
|
m_vecRunList = _list;
|
|
}
|
|
|
|
void SErrorProcess::setList(QVector<SEffectRow>&& _list)
|
|
{
|
|
m_vecRunList = std::move(_list);
|
|
}
|
|
|
|
void SErrorProcess::runInit()
|
|
{
|
|
initIterator();
|
|
}
|
|
|
|
void SErrorProcess::runEventCode()
|
|
{
|
|
setInnerMode(E_INNER_RUN_MODE::MODE_WAIT_EVENTCODE);
|
|
if (isUserAbort())
|
|
{
|
|
setInnerMode(E_INNER_RUN_MODE::MODE_WAIT_TERMINATE);
|
|
emit signalUserAbort();
|
|
return;
|
|
}
|
|
|
|
if (isDone())
|
|
{
|
|
setInnerMode(E_INNER_RUN_MODE::MODE_WAIT_TERMINATE);
|
|
emit signalTerminateNormal();
|
|
return;
|
|
}
|
|
|
|
SEffectRow row = *m_iterEffectRow;
|
|
setCurrentEffectRow(row);
|
|
nextIterator();
|
|
|
|
runProcess(getProcessArguments(row));
|
|
}
|
|
|
|
void SErrorProcess::clear()
|
|
{
|
|
SParentProcess::clear();
|
|
m_vecRunList.clear();
|
|
m_iterEffectRow = nullptr;
|
|
}
|
|
|
|
void SErrorProcess::slotTerminateEachEvent(int _num, E_CRAWL_STATE _state)
|
|
{
|
|
if (_state == E_CRAWL_STATE::OK)
|
|
{
|
|
emit signalTerminateCompany(_num);
|
|
}
|
|
}
|
|
|
|
void SErrorProcess::initIterator()
|
|
{
|
|
m_iterEffectRow = m_vecRunList.begin();
|
|
}
|
|
|
|
void SErrorProcess::nextIterator()
|
|
{
|
|
++m_iterEffectRow;
|
|
}
|
|
|
|
bool SErrorProcess::isDone()
|
|
{
|
|
return m_iterEffectRow == m_vecRunList.end();
|
|
}
|
|
|
|
|
|
|