private void BarcodeScanTask_Completed(object sender, BarcodeReaderLib.OpticalReaderResult readerResult)
{
System.Diagnostics.Debug.WriteLine("BarcodeScanTask_Completed 1");
if (readerResult.TaskResult == TaskResult.None || _methodResult == null)
return;
if (readerResult.TaskResult == TaskResult.Cancel)
{
new Thread(() =>
{
_m.WaitOne();
System.Diagnostics.Debug.WriteLine("BarcodeScanTask_Completed cancel");
Dictionary<string, string> result = new Dictionary<string, string>();
result.Add("status", "cancel");
result.Add("barcode", "");
_methodResult.set(result);
_methodResult = null;
_m.ReleaseMutex();
}).Start();
return;
}
VibrateController.Default.Start(TimeSpan.FromMilliseconds(Barcode.vibrateTimeMs));
System.Diagnostics.Debug.WriteLine("BarcodeScanTask_Completed 2");
_prevScanResult = readerResult.Text;
CRhoRuntime.getInstance().logEvent(String.Format("Barcode: {0} = {1}",
readerResult.Format,
readerResult.Text)
);
new Thread(() =>
{
_m.WaitOne();
System.Diagnostics.Debug.WriteLine("BarcodeScanTask_Completed send data");
Dictionary<string, string> result = new Dictionary<string, string>();
result.Add("status", "ok");
result.Add("barcode", readerResult.Text);
_methodResult.set(result);
_m.ReleaseMutex();
}).Start();
}
}