using System;
using System.Collections.Generic;
namespace LB_VisionProcesses.BarcodeReaders
{
///
/// 读码器抽象基类
///
public abstract class BarcodeReaderBase : IBarcodeReader
{
public virtual event EventHandler BarcodeRead;
public virtual string SN { get; protected set; } = string.Empty;
public virtual bool IsConnected { get; protected set; } = false;
public virtual bool IsGrabbing { get; protected set; } = false;
public abstract BarcodeReaderBrand Brand { get; }
protected BarcodeReaderBase() { }
///
/// 触发读码成功事件
///
protected virtual void OnBarcodeRead(BarcodeEventArgs e)
{
BarcodeRead?.Invoke(this, e);
}
public abstract List GetDeviceList();
public abstract bool Open(string sn);
public abstract bool Close();
public abstract bool StartGrabbing();
public abstract bool StopGrabbing();
public abstract bool SoftTrigger();
public abstract bool SetTriggerMode(bool isSoftware);
public virtual void Dispose()
{
try
{
if (IsConnected)
{
Close();
}
}
catch { }
}
}
}