Dispenser/DispenserHal/Camera/Client/CameraClient.cs

164 lines
4.0 KiB
C#
Raw Permalink Normal View History

2024-08-16 07:20:09 +00:00
using System.Drawing;
using DispenserHal.Camera.DTO;
using DispenserHal.Camera.Interface;
using DispenserHal.Camera.VO;
using Serilog;
namespace DispenserHal.Camera.Client;
public class CameraClient : ICamera
{
private readonly AbstractCamera delegateClient;
public CameraClient(AbstractCamera delegateClient)
{
this.delegateClient = delegateClient;
}
/// <summary>
/// 设备号
/// </summary>
public string SN => delegateClient.SN;
/// <summary>
/// 连接状态
/// </summary>
public bool Connected => delegateClient.Connected;
/// <summary>
/// 标识当前是否在采集视频中
/// </summary>
public bool CapturingVideo => delegateClient.CapturingVideo;
public CameraResponseVO Connect()
{
return delegateClient.Connect();
}
public CameraResponseVO Connect(long timeout)
{
return delegateClient.Connect(timeout);
}
public CameraResponseVO Close()
{
return delegateClient.Close();
}
public CameraResponseVO RegisterCallback(Action<string, Bitmap> callback)
{
return delegateClient.RegisterCallback(callback);
}
public CameraResponseVO StartSteaming()
{
return delegateClient.StartSteaming();
}
/// <summary>
/// 相机拍照
/// </summary>
/// <returns></returns>
public CameraResponseVO TokePhoto()
{
return delegateClient.TokePhoto();
}
/// <summary>
/// 开始连续采集
/// </summary>
/// <returns></returns>
public CameraResponseVO StartCaptureVideo()
{
return delegateClient.StartCaptureVideo();
}
/// <summary>
/// 停止连续采集
/// </summary>
/// <returns></returns>
public CameraResponseVO StopCaptureVideo()
{
return delegateClient.StopCaptureVideo();
}
public CameraResponseVO SwitchHardTriggerMode()
{
return delegateClient.SwitchHardTriggerMode();
}
public CameraResponseVO StopSteaming()
{
return delegateClient.StopSteaming();
}
public CameraResponseVO SwitchContinuousMode()
{
return delegateClient.SwitchContinuousMode();
}
public CameraResponseVO SwitchSoftwareTriggerMode()
{
return delegateClient.SwitchSoftwareTriggerMode();
}
public CameraResponseVO SoftwareTrigger()
{
return delegateClient.SoftwareTrigger();
}
//写入参数
public CameraResponseVO SetEnumValue(string strKey, uint nvalue)
{
Log.Information($"正在更新相机参数: {strKey},值为 {nvalue}");
return delegateClient.SetEnumValue(strKey, nvalue);
}
public CameraResponseVO SetIntValue(string strKey, long nvalue)
{
Log.Information($"正在更新相机参数: {strKey},值为 {nvalue}");
return delegateClient.SetIntValue(strKey, nvalue);
}
public CameraResponseVO SetBoolValue(string strKey, bool nvalue)
{
Log.Information($"正在更新相机参数: {strKey},值为 {nvalue}");
return delegateClient.SetBoolValue(strKey, nvalue);
}
public CameraResponseVO SetFloatValue(string strKey, float nvalue)
{
Log.Information($"正在更新相机参数: {strKey},值为 {nvalue}");
return delegateClient.SetFloatValue(strKey, nvalue);
}
public bool GetBoolValue(string key)
{
return delegateClient.GetBoolValue(key);
}
public IntValue GetIntValue(string key)
{
return delegateClient.GetIntValue(key);
}
public FloatValue? GetFloatValue(string key)
{
return delegateClient.GetFloatValue(key);
}
public EnumValue? GetEnumValue(string key)
{
return delegateClient.GetEnumValue(key);
}
public StringValue? GetStringValue(string key)
{
return delegateClient.GetStringValue(key);
}
public EnumItem GetEnumEntrySymbolic(string key, uint supportIndex)
{
return delegateClient.GetEnumEntrySymbolic(key, supportIndex);
}
}