@Override public synchronized void removeTrigger(GpioTrigger trigger, GpioPinInput... pin) { if (pin == null || pin.length == 0) { throw new IllegalArgumentException("Missing pin argument."); } for (GpioPinInput p : pin) { // ensure the requested pin has been provisioned if (!pins.contains(p)) { throw new GpioPinNotProvisionedException(p.getPin()); } p.removeTrigger(trigger); } }
@Override public synchronized void removeAllTriggers() { for (GpioPin pin : this.pins) { if (pin instanceof GpioPinInput) { ((GpioPinInput) pin).removeAllTriggers(); } } }
@Override public void unprovisionPin(GpioPin... pin) { if (pin == null || pin.length == 0) { throw new IllegalArgumentException("Missing pin argument."); } for (int index = (pin.length - 1); index >= 0; index--) { GpioPin p = pin[index]; // ensure the requested pin has been provisioned if (!pins.contains(p)) { throw new GpioPinNotProvisionedException(p.getPin()); } // remove all listeners and triggers if (p instanceof GpioPinInput) { ((GpioPinInput) p).removeAllListeners(); ((GpioPinInput) p).removeAllTriggers(); } // remove this pin instance from the managed collection pins.remove(p); } }