62 lines
2.1 KiB
C++
62 lines
2.1 KiB
C++
#pragma once
|
|
#include "IScanner.h"
|
|
#include "Scanner.h"
|
|
#include <memory>
|
|
#include "FsmState.h"
|
|
#include "usbdevice.h"
|
|
|
|
using namespace std;
|
|
|
|
class UsbScanner : public IScanner
|
|
{
|
|
public:
|
|
UsbScanner();
|
|
virtual ~UsbScanner();
|
|
virtual void StartScan(int scancount) override;
|
|
virtual void StopScan() override;
|
|
virtual void ConfigScanParam(HG_ScanConfiguration config) override;
|
|
virtual bool FeederLoaded() override;
|
|
virtual std::string GetSerial() override;
|
|
virtual void SetSerial(std::string serial) override;
|
|
virtual std::string GetFWVersion() override;
|
|
virtual void SetFwVersion(std::string fwversion) override;
|
|
virtual int GetRollerNum() override;
|
|
virtual void ClearRollerNum() override;
|
|
virtual void InitScanner() override;
|
|
virtual void ClearImages() override;
|
|
virtual HG_JpegCompressInfo GetImage() override;
|
|
virtual HG_Msg GetEvent() override;
|
|
virtual void ClearErrorEvents() override;
|
|
virtual void ClearHWError() override;
|
|
virtual bool GetImagequeueEmpty() override;
|
|
virtual bool GetEventQueueEmpty() override;
|
|
virtual HG_JpegCompressInfo GetFrontImage() override;
|
|
virtual HG_Msg GetEventFront() override;
|
|
virtual void CreatCorrectData(int correctmode) override;
|
|
virtual bool IsScanning() override;
|
|
virtual void SetFlatParam(int type,int* value) override;
|
|
virtual CaptureParams GetCaptureParams() override;
|
|
virtual void UpdateScanInfo(int type,void* data) override;
|
|
virtual ScannerScanInfo GetScanInfo() override;
|
|
virtual void SetLEDStatus(LedStatus status) override;
|
|
|
|
|
|
|
|
virtual void close_v4l2()override;
|
|
|
|
std::string GetSysInfo();
|
|
int read_bulk(void *pdata, int length,int time = 1000);
|
|
int write_bulk(void *pdata, int length);
|
|
bool is_connect();
|
|
private:
|
|
void mount_usb_device();
|
|
|
|
private:
|
|
map<int, sp_COLOR_or_GRAY >::iterator iter;
|
|
std::shared_ptr<Scanner> m_hgScanner;
|
|
std::shared_ptr<UsbDevice> m_usb;
|
|
bool m_startscan;
|
|
volatile int imageremain;
|
|
volatile int eventsramain;
|
|
std::condition_variable t_waitconnect;
|
|
}; |