package org.epics.archiverappliance.engine.pv; /** A listener for PV updates. */ public interface PVListener { /** * We issued a connection request to the underlying PV. * @param pv PV */ public void pvConnectionRequestMade(PV pv); /** * Notification of a connection being successfully made. * @param pv PV */ public void pvConnected(PV pv); /** Notification of a PV disconnect. * <p> * This event may be the immediate result of a * control system library callback, * i.e. it may arrive in a non-UI thread. * * @param pv The disconnected PV */ public void pvDisconnected(PV pv); /** Notification of a new value. * <p> * This event may be the immediate result of a * control system library callback, * i.e. it may arrive in a non-UI thread. * * @param pv The PV which has a new value */ public void pvValueUpdate(PV pv); public enum DroppedReason { TYPE_CHANGE }; /** * Notification of a sample being dropped for some reason from within the PV. * Use to maintain counters * @param pv PV * @param reason DroppedReason */ public void pvDroppedSample(PV pv, DroppedReason reason); }