示例#1
0
 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);
         }
     }
 }
示例#2
0
 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)
         {
         }
     }
 }