com.ibm.iotf.devicemgmt.DeviceFirmwareHandler Maven / Gradle / Ivy
Show all versions of watson-iot Show documentation
/**
*****************************************************************************
Copyright (c) 2015-16 IBM Corporation and other Contributors.
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
Contributors:
Mike Tran - Initial Contribution
Sathiskumar Palaniappan - Modified to include Resource Model
*****************************************************************************
*
*/
package com.ibm.iotf.devicemgmt;
/**
* If a Gateway (and devices behind Gateway) and directly connected device, supports firmware update, this abstract class DeviceFirmwareHandler
* should be extended by the Gateway/Device code.
*
* The downloadFirmware
and updateFirmware
* must be implemented to handle
*
*/
public abstract class DeviceFirmwareHandler {
/**
* Subclass must implement this method.
* If the Gateway or Device supports firmware download, subclass must add logic to
* download the firmware to the device. When done, set the state and status accordingly.
*
* Gateway must use the class {@link com.ibm.iotf.devicemgmt.DeviceFirmware} to retrieve the
* DeviceType and DeviceId for which the firmware download request is received and act accordingly.
*
* @param deviceFirmware DeviceFirmware where the device code can set the Firmware Download progress
* @see DeviceFirmware
*/
public abstract void downloadFirmware(DeviceFirmware deviceFirmware);
/**
* Subclass must implement this method.
* If the device supports firmware update, subclass should start updating the
* firmware on the device. When done, set the update status accordingly.
*
* Gateway must use the class {@link com.ibm.iotf.devicemgmt.DeviceFirmware} to retrieve the
* DeviceType and DeviceId for which the firmware update request is received and act accordingly.
*
* @param deviceFirmware DeviceFirmware where the device code can set the Firmware Update progress
* @see DeviceFirmware
*/
public abstract void updateFirmware(DeviceFirmware deviceFirmware);
}