예제 #1
0
        private void Remove(IGroup group)
        {
            lock (_lock)
            {
                if (!_groups.Contains(group))
                {
                    return;
                }


                _groups.Remove(group);

                if (group is IHardwareChanged hardwareChanged)
                {
                    hardwareChanged.HardwareAdded   -= HardwareAddedEvent;
                    hardwareChanged.HardwareRemoved -= HardwareRemovedEvent;
                }
            }

            if (HardwareRemoved != null)
            {
                foreach (IHardware hardware in group.Hardware)
                {
                    HardwareRemoved(hardware);
                }
            }

            group.Close();
        }
예제 #2
0
    private void Remove(IGroup group) {
      if (!groups.Contains(group))
        return;

      groups.Remove(group);

      if (HardwareRemoved != null)
        foreach (IHardware hardware in group.Hardware)
          HardwareRemoved(hardware);

      group.Close();
    }
예제 #3
0
        private void Remove(IGroup group)
        {
            if (groups.Contains(group))
            {
                groups.Remove(group);

                if (HardwareRemoved != null)
                {
                    foreach (IHardware hardware in group.Hardware)
                    {
                        HardwareRemoved(hardware);
                    }
                }

                group.Close();
            }
        }
예제 #4
0
        public void Close()
        {
            if (!open)
            {
                return;
            }

            while (groups.Count > 0)
            {
                IGroup group = groups[groups.Count - 1];
                Remove(group);
                group.Close();
            }

            Opcode.Close();
            Ring0.Close();

            open = false;
        }
예제 #5
0
        private void Remove(IGroup group)
        {
            lock (_lock)
            {
                if (!_groups.Contains(group))
                {
                    return;
                }


                _groups.Remove(group);
            }


            if (HardwareRemoved != null)
            {
                foreach (IHardware hardware in group.Hardware)
                {
                    HardwareRemoved(hardware);
                }
            }

            group.Close();
        }