001package com.pi4j.io.gpio; 002 003import com.pi4j.io.gpio.trigger.GpioTrigger; 004 005import java.util.Collection; 006import java.util.List; 007 008/* 009 * #%L 010 * ********************************************************************** 011 * ORGANIZATION : Pi4J 012 * PROJECT : Pi4J :: Java Library (Core) 013 * FILENAME : GpioPinInput.java 014 * 015 * This file is part of the Pi4J project. More information about 016 * this project can be found here: https://www.pi4j.com/ 017 * ********************************************************************** 018 * %% 019 * Copyright (C) 2012 - 2019 Pi4J 020 * %% 021 * This program is free software: you can redistribute it and/or modify 022 * it under the terms of the GNU Lesser General Public License as 023 * published by the Free Software Foundation, either version 3 of the 024 * License, or (at your option) any later version. 025 * 026 * This program is distributed in the hope that it will be useful, 027 * but WITHOUT ANY WARRANTY; without even the implied warranty of 028 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 029 * GNU General Lesser Public License for more details. 030 * 031 * You should have received a copy of the GNU General Lesser Public 032 * License along with this program. If not, see 033 * <http://www.gnu.org/licenses/lgpl-3.0.html>. 034 * #L% 035 */ 036 037/** 038 * Gpio input pin interface. This interface is extension of {@link com.pi4j.io.gpio.GpioPin} interface 039 * with listeners and triggers support.. 040 * 041 * @author Robert Savage (<a 042 * href="http://www.savagehomeautomation.com">http://www.savagehomeautomation.com</a>) 043 */ 044@SuppressWarnings("unused") 045public interface GpioPinInput extends GpioPin { 046 047 Collection<GpioTrigger> getTriggers(); 048 void addTrigger(GpioTrigger... trigger); 049 void addTrigger(List<? extends GpioTrigger> triggers); 050 051 void removeTrigger(GpioTrigger... trigger); 052 void removeTrigger(List<? extends GpioTrigger> triggers); 053 void removeAllTriggers(); 054 055}