Interface FirmwareUpdateHandler
- All Known Subinterfaces:
FirmwareUpdateBackgroundTransferHandler
- All Known Implementing Classes:
MagicFirmwareUpdateThingHandler
@NonNullByDefault
public interface FirmwareUpdateHandler
The
FirmwareUpdateHandler
can be implemented and registered as an OSGi service in order to update the
firmware for the physical device of a Thing
. The FirmwareUpdateService
tracks each firmware
update handler and starts the firmware update process by the operation
FirmwareUpdateService.updateFirmware(ThingUID, String, Locale)
.- Author:
- Thomas Höfer - Initial contribution
-
Method Summary
Modifier and TypeMethodDescriptionvoid
cancel()
Cancels a previous started firmware update.getThing()
Returns theThing
that is handled by this firmware update handler.boolean
Returns true, if this firmware update handler is in a state in which the firmware update can be executed, otherwise false (e.g.void
updateFirmware
(Firmware firmware, ProgressCallback progressCallback) Updates the firmware for the physical device of the thing that is handled by this firmware update handler.
-
Method Details
-
getThing
Thing getThing()Returns theThing
that is handled by this firmware update handler.- Returns:
- the thing that is handled by this firmware update handler (not null)
-
updateFirmware
Updates the firmware for the physical device of the thing that is handled by this firmware update handler.- Parameters:
firmware
- the new firmware to be updated (not null)progressCallback
- the progress callback to send progress information of the firmware update process (not null)
-
cancel
void cancel()Cancels a previous started firmware update. -
isUpdateExecutable
boolean isUpdateExecutable()Returns true, if this firmware update handler is in a state in which the firmware update can be executed, otherwise false (e.g. the thing isThingStatus.OFFLINE
or its status detail is alreadyThingStatusDetail.FIRMWARE_UPDATING
.)- Returns:
- true, if this firmware update handler is in a state in which the firmware update can be executed, otherwise false
-