/** * Copyright (c) 2014-2017 by the respective copyright holders. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html */ package org.eclipse.smarthome.binding.lifx.internal.listener; import org.eclipse.smarthome.binding.lifx.internal.LifxLightState; import org.eclipse.smarthome.binding.lifx.internal.fields.HSBK; import org.eclipse.smarthome.binding.lifx.internal.protocol.PowerState; import org.eclipse.smarthome.binding.lifx.internal.protocol.SignalStrength; import org.eclipse.smarthome.core.library.types.PercentType; /** * The {@link LifxLightStateListener} is notified when the properties of a {@link LifxLightState} change. * * @author Wouter Born - Initial contribution */ public interface LifxLightStateListener { /** * Called when the colors property changes. * * @param oldColors the old colors value * @param newColors the new colors value */ void handleColorsChange(HSBK[] oldColors, HSBK[] newColors); /** * Called when the power state property changes. * * @param oldPowerState the old power state value * @param newPowerState the new power state value */ void handlePowerStateChange(PowerState oldPowerState, PowerState newPowerState); /** * Called when the infrared property changes. * * @param oldInfrared the old infrared value * @param newInfrared the new infrared value */ void handleInfraredChange(PercentType oldInfrared, PercentType newInfrared); /** * Called when the signal strength property changes. * * @param oldSignalStrength the old signal strength value * @param newSignalStrength the new signal strength value */ void handleSignalStrengthChange(SignalStrength oldSignalStrength, SignalStrength newSignalStrength); }