zynq_7010/IScanner.h

45 lines
1.6 KiB
C++

#pragma once
#include "scanservices_utils.h"
#include <string>
#include "BlockingQueue.h"
class IScanner
{
public:
IScanner(/* args */) {}
virtual ~IScanner() {}
virtual void StartScan(int scancount) = 0;
virtual void StopScan() = 0;
virtual void ConfigScanParam(HG_ScanConfiguration config) = 0;
virtual bool FeederLoaded() = 0;
virtual std::string GetSerial() = 0;
virtual void SetSerial(std::string serial) = 0;
virtual std::string GetFWVersion() = 0;
virtual void SetFwVersion(std::string fwversion) = 0;
virtual int GetRollerNum() = 0;
virtual void ClearRollerNum() = 0;
virtual void InitScanner() = 0;
virtual void ClearImages() = 0;
virtual HG_JpegCompressInfo GetImage() = 0;
virtual HG_Msg GetEvent() = 0;
virtual void ClearErrorEvents() = 0;
virtual void ClearHWError() = 0;
virtual bool GetImagequeueEmpty() = 0;
virtual bool GetEventQueueEmpty() = 0;
virtual HG_JpegCompressInfo GetFrontImage() = 0;
virtual HG_Msg GetEventFront() = 0;
virtual void CreatCorrectData(int correctmode) = 0;
virtual bool IsScanning() = 0;
virtual void SetFlatParam(int type, int *value) = 0;
virtual CaptureParams GetCaptureParams() = 0;
virtual void UpdateScanInfo(int type, void *data) = 0;
virtual ScannerScanInfo GetScanInfo() = 0;
virtual void SetLEDStatus(LedStatus status) = 0;
protected:
BlockingQueue<HG_JpegCompressInfo> m_images;
BlockingQueue<HG_Msg> m_scannerEvents;
std::string m_serial;
std::string m_fwversion;
};