#ifndef SCANPROCESSSEQUENCE_H #define SCANPROCESSSEQUENCE_H #include #include enum ScanPosition { Left = 0, Right }; class ScanProcessSequence : public QObject { Q_OBJECT public: static ScanProcessSequence* getInstance(); void pushPosition(ScanPosition aPosition); ScanPosition popPosition(); ScanPosition topPosition(); int getScanPositionSize(); void clear(); signals: void startAutoLocate(); void stopAutoLocate(); void quitAutoLocate(); void startFullScan(); void fullScanDataExport(); void autoLocateXYUpdated(int aX, int aY); void autoLocateZUpdated(int aZ); void ScanProcessSequenceFinished(); private slots: void updateAutoLocatePosition(int aX, int aY, int aZ); private: ScanProcessSequence(QObject* aParent = nullptr); QStack mScanProtocol; }; #endif // SCANPROCESSSEQUENCE_H