public void AddCallBack(string tag, FaceDevStateCallBackHandler callback) { if (callback == null) { return; } if (tag == null) { tag = ""; } if (!CallBacks.ContainsKey(tag)) { CallBacks.Add(tag, callback); if (CallBacks.Count > 1) { callback.BeginInvoke(_device, _connected, null, null, null); } } }
public void AddController(BSTDevice dev, FaceDevStateCallBackHandler callback, string tag) { lock (_bstFaceThreads) { try { if (dev == null) { return; } if (callback == null) { return; } var ctrlthread = _bstFaceThreads.Find(m => m.Device._ip == dev._ip); if (ctrlthread == null) { ctrlthread = new BstFaceWatchThread(_scanInterval); ctrlthread.Tags.Add(tag); ctrlthread.Device = dev; _bstFaceThreads.Add(ctrlthread); ctrlthread.Device = dev; ctrlthread.AddCallBack(tag, callback); ctrlthread.Start(); } else { if (!ctrlthread.Tags.Contains(tag)) { ctrlthread.Device = dev; ctrlthread.AddCallBack(tag, callback); ctrlthread.Tags.Add(tag); } } } catch (Exception) { } } }