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