using OpenCvSharp;
using System.Collections.Generic;
namespace DaJiaoYan.Variables
{
internal class Vars
{
public delegate void DeleCounterChange(int i);
public static DeleCounterChange DelegateCounterChange;
private static readonly object CounterLocker = new object();
///
/// 任务
///
private static readonly Dictionary Tasks = new Dictionary();
private static readonly object TasksLocker = new object();
private static int _UploadedCounter = 0;
///
/// 请求头
///
public static Dictionary RequestHeaders = new Dictionary
{
{"AppName", Const.APP_NAME },
{"AppVersion", Const.APP_VERSION },
{"Platform", Const.PLATFORM },
{"Authorization", "" },
};
///
/// 扫描仪列表
///
public static string[] Scanners = null;
///
/// 当前选择的扫描仪
///
public static string ScannerSelected = null;
///
/// 可处理图片类型
///
public static readonly List AvalibleImageSuffixes = new List { ".png", ".jpg", ".jpeg" };
///
/// opencv jpeg 保存配置
///
public readonly static ImageEncodingParam IMAGE_SAVE_JPEG_PARAM = new ImageEncodingParam(ImwriteFlags.JpegQuality, 70);
///
/// opencv png 保存配置
///
public readonly static ImageEncodingParam IMAGE_SAVE_PNG_PARAM = new ImageEncodingParam(ImwriteFlags.PngCompression, 5);
public static void SetTaskStatus(string taskId, bool status)
{
lock (TasksLocker)
{
Tasks[taskId] = status;
}
}
public static void UploadedCounterIncrease(int i = 1)
{
int n = 0;
lock (CounterLocker)
{
n = _UploadedCounter += i;
}
DelegateCounterChange?.Invoke(n);
}
public static bool AllTaskFinished()
{
bool res = true;
foreach (var item in Tasks.Values)
{
if (!item)
{
res = false;
break;
}
}
return res;
}
}
}