tx-gxx-linux/device/gxx-linux/scanner/scanner.h

32 lines
732 B
C++

#pragma once
#include "iscanner.h"
enum MotorVersion : uint{
Motor_old,
Motor_mltop,
Motor_paperout,
};
class Scanner : public IScanner
{
public:
Scanner(std::shared_ptr<ICapturer> capturer, std::shared_ptr<IMotorBoard> mb, std::shared_ptr<WakeUp> wake);
virtual ~Scanner();
virtual void start_scan() override;
virtual void stop_scan() override;
virtual int count() override;
virtual int mode() override;
virtual int getmbstatus() override;
virtual bool getpaperon() override;
virtual void runScan() override;
private:
void scanold();
void scanpaperout();
volatile int done_scan = 0;
volatile bool is_ml_top = 0;
volatile bool handstop = 0;
volatile int mb_error_code = 0;
MotorVersion m_mbver;
};