public void Unregister(IUSBHub peripheral) { var port = registeredDevices.FirstOrDefault(x => x.Value == peripheral).Key; DetachDevice(port); machine.UnregisterAsAChildOf(this, peripheral); registrationPoints.Remove(peripheral); registeredDevices.Remove(port); }
public void Register(IUSBHub peripheral, USBRegistrationPoint registrationPoint) { peripheral.Connected += Connected; peripheral.Disconnected += Disconnected; peripheral.RegisterHub += RegisterHub; peripheral.ActiveDevice += ActiveDevice; AttachDevice(peripheral, registrationPoint.Address.Value); machine.RegisterAsAChildOf(this, peripheral, registrationPoint); }