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:  http://www.pi4j.com/
017 * **********************************************************************
018 * %%
019 * Copyright (C) 2012 - 2015 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}