#include "ScanProcessSequence.h" #include "event/EventCenter.h" #include "device/DeviceManager.h" ScanProcessSequence* ScanProcessSequence::getInstance() { static ScanProcessSequence instance; return &instance; } ScanProcessSequence::ScanProcessSequence(QObject* aParent) : QObject(aParent) , mScanProtocol() { connect(DeviceManager::Default(), &DeviceManager::startAutoLocateResult, this, &ScanProcessSequence::startAutoLocate); connect(DeviceManager::Default(), &DeviceManager::updateAutoLocatePosition, this, &ScanProcessSequence::updateAutoLocatePosition); connect(DeviceManager::Default(), &DeviceManager::autolocatePositionEffective, this, &ScanProcessSequence::stopAutoLocate); connect(EventCenter::Default(), &EventCenter::StopScanProcess, this, &ScanProcessSequence::quitAutoLocate); } void ScanProcessSequence::updateAutoLocatePosition(int aX, int aY, int aZ) { emit autoLocateXYUpdated(aX, aY); emit autoLocateZUpdated(aZ); } void ScanProcessSequence::pushPosition(ScanPosition aPostion) { mScanProtocol.push(aPostion); } ScanPosition ScanProcessSequence::popPosition() { return mScanProtocol.pop(); } ScanPosition ScanProcessSequence::topPosition() { return mScanProtocol.top(); } void ScanProcessSequence::clear() { return mScanProtocol.clear(); } int ScanProcessSequence::getScanPositionSize() { return mScanProtocol.size(); }