コード例 #1
0
ファイル: DeviceControlHi.cs プロジェクト: sfcheewill/Blm
        public void EnumerateDevices()
        {
//            var newDeviceList = HitachiBio.EnumerateDevices();
            if (DateTime.Now - LastTime > TimeSpan.FromSeconds(1.0))
            {
                LastTime = DateTime.Now;
            }
            else
            {
                return;
            }
            var removeList = ActiveDevices.OfType <DeviceHi>().Where(dev => !dev.IsOnline).ToList();

            foreach (var device in removeList)
            {
                device.Dispose();
                ActiveDevices.Remove(device);
            }
            foreach (var device in ActiveDevices)
            {
                device.Dispatch(COMMAND.SINGLECAPTURE_STOP);
            }

            var newDevicesInfo = HitachiBio.EnumerateDevices();

            foreach (var deviceInfo in newDevicesInfo)
            {
                if (!ActiveDevices.OfType <DeviceHi>().Any(dev => dev.Uid == deviceInfo.UnitId.ToString()))
                {
                    ActiveDevices.Add(new DeviceHi(deviceInfo));
                }
            }
        }
コード例 #2
0
ファイル: DeviceHi.cs プロジェクト: sfcheewill/Blm
        internal int Match(FingerTemplate template,IEnumerable <FingerTemplate> candidates,out List <FingerTemplate> matches)
        {
            Attach();
            int res = HitachiBio.Match(handle,template,candidates,out matches);

            //Detach();
            return(res);
        }
コード例 #3
0
ファイル: DeviceHi.cs プロジェクト: sfcheewill/Blm
 private void Detach()
 {
     if (_isAttached)
     {
         HitachiBio.Detach(handle);
         _isAttached = false;
     }
 }
コード例 #4
0
ファイル: DeviceControlHi.cs プロジェクト: sfcheewill/Blm
        public void Dispose()
        {
            foreach (var device in ActiveDevices)
            {
                device.Dispose();
            }

            HitachiBio.Dispose();
        }
コード例 #5
0
ファイル: DeviceHi.cs プロジェクト: sfcheewill/Blm
 private bool Attach()
 {
     if (!_isAttached)
     {
         if (HitachiBio.Attach(unitinfo,ref handle,streamingCallBack,stateCallBack))
         {
             _isAttached = true;
             return(true);
         }
         else
         {
             return(false);
         }
     }
     return(false);
 }
コード例 #6
0
ファイル: DeviceControlHi.cs プロジェクト: sfcheewill/Blm
 public void Initialize()
 {
     ActiveDevices = new List <IFingerDevice>();
     HitachiBio.Initialize();
     EnumerateDevices();
 }