|
@ -35,7 +35,7 @@ public class CameraDataCenter |
|
|
/// <summary>
|
|
|
/// <summary>
|
|
|
/// _markSearcherDict 锁对象,写锁
|
|
|
/// _markSearcherDict 锁对象,写锁
|
|
|
/// </summary>
|
|
|
/// </summary>
|
|
|
private static readonly ReaderWriterLockSlim msDictLock = new(); |
|
|
private static ReaderWriterLockSlim msDictLock { get; } = new(); |
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
/// <summary>
|
|
|
/// (cbCameraId, MarkSearcherBase)
|
|
|
/// (cbCameraId, MarkSearcherBase)
|
|
@ -224,19 +224,58 @@ public class CameraDataCenter |
|
|
return markSearcher.AddMarkLabelCalcInfo(markLabelCalcInfo); |
|
|
return markSearcher.AddMarkLabelCalcInfo(markLabelCalcInfo); |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
public bool DeleteCameraMarkLabel(long cameraId, long marklabelId) |
|
|
public bool DeleteCameraMarkLabel(long cameraId, long markLabelId) |
|
|
{ |
|
|
{ |
|
|
if (!_markSearcherDict.ExistsKey(cameraId)) |
|
|
if (!_markSearcherDict.ExistsKey(cameraId)) |
|
|
return false; |
|
|
return false; |
|
|
MarkSearcherBase markSearcher = _markSearcherDict[cameraId]; |
|
|
MarkSearcherBase markSearcher = _markSearcherDict[cameraId]; |
|
|
return markSearcher.DeleteMarkLabelCalcInfo(marklabelId); |
|
|
return markSearcher.DeleteMarkLabelCalcInfo(markLabelId); |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
public List<MarkLabelCalcResult> GetMarkLabelCalcResults(long cameraId) |
|
|
public List<MarkLabelCalcResult> GetMarkLabelCalcResultList(long cameraId) |
|
|
{ |
|
|
{ |
|
|
|
|
|
|
|
|
return null; |
|
|
return null; |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
public async Task<bool> ActiveCameraAsync(long cameraId) |
|
|
|
|
|
{ |
|
|
|
|
|
return await Task.Run(() => |
|
|
|
|
|
{ |
|
|
|
|
|
return ActiveCamera(cameraId); |
|
|
|
|
|
}); |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
public async Task<bool> DeActiveCameraAsync(long cameraId) |
|
|
|
|
|
{ |
|
|
|
|
|
return await Task.Run(() => |
|
|
|
|
|
{ |
|
|
|
|
|
return DeActiveCamera(cameraId); |
|
|
|
|
|
}); |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
public async Task<bool> AddCameraMarkLabelAsync(long cameraId, long markLabelId) |
|
|
|
|
|
{ |
|
|
|
|
|
return await Task.Run(() => |
|
|
|
|
|
{ |
|
|
|
|
|
return AddCameraMarkLabel(cameraId, markLabelId); |
|
|
|
|
|
}); |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
public async Task<bool> DeleteCameraMarkLabelAsync(long cameraId, long markLabelId) |
|
|
|
|
|
{ |
|
|
|
|
|
return await Task.Run(() => |
|
|
|
|
|
{ |
|
|
|
|
|
return DeleteCameraMarkLabel(cameraId, markLabelId); |
|
|
|
|
|
}); |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
public async Task<List<MarkLabelCalcResult>> GetMarkLabelCalcResultListAsync(long cameraId) |
|
|
|
|
|
{ |
|
|
|
|
|
return await Task.Run(() => |
|
|
|
|
|
{ |
|
|
|
|
|
return GetMarkLabelCalcResultList(cameraId); |
|
|
|
|
|
}); |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
#endregion external call
|
|
|
#endregion external call
|
|
|
} |
|
|
} |