/** * 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.core.thing.firmware; import org.eclipse.smarthome.core.thing.Thing; import org.eclipse.smarthome.core.thing.ThingTypeUID; import org.eclipse.smarthome.core.thing.binding.firmware.Firmware; /** * The {@link FirmwareStatus} enumeration defines all possible statuses for the {@link Firmware} of a {@link Thing} * . The property {@link Thing#PROPERTY_FIRMWARE_VERSION} must be set for a thing in order that its firmware status can * be determined. * * @author Thomas Höfer - Initial contribution */ public enum FirmwareStatus { /** * The firmware status can not be determined and hence it is unknown. Either the * {@link Thing#PROPERTY_FIRMWARE_VERSION} is not set for the thing or there is no {@link FirmwareProvider} that * provides a firmware for the {@link ThingTypeUID} of the thing. */ UNKNOWN, /** The firmware of the thing is up to date. */ UP_TO_DATE, /** * There is a newer firmware of the thing available. However the thing is not in a state where its firmware can be * updated, i.e. the operation {@link FirmwareUpdateHandler#isUpdateExecutable()} returned false. */ UPDATE_AVAILABLE, /** There is a newer firmware of the thing available and the firmware update for the thing can be executed. */ UPDATE_EXECUTABLE; }