Package com.scriptel.proscript.firmware

## Interface FirmwarePackage

- All Known Implementing Classes:
    `FWFirmwarePackage`, `SRECFirmwarePackage`

      public interface FirmwarePackage

  This interface is used to define a type of class that can be used for reading firmware files for the ScripTouch series of devices.

- - ### Method Summary

    All Methods Instance Methods Abstract Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `int` | `getPageCount()` | This method gets the number of pages in the package.
    `java.util.List<FirmwareRestriction>` | `getRestrictions()` | This method gets a list of restrictions that must be met before a device can accept firmware.
    `FirmwarePage` | `nextPage()` | This function when implemented should return the next page of firmware from the file opened with readStream().
    `void` | `readStream​(java.io.InputStream in)` | This function when implemented should read in a firmware file of a particular type.

- - ### Method Detail

    - #### readStream

          void readStream​(java.io.InputStream in)
                   throws java.io.IOException

      This function when implemented should read in a firmware file of a particular type.
      Parameters:
        `in` - Input stream to read firmware from.
      Throws:
        `java.io.IOException` - Thrown in the event of a problem.

    - #### nextPage

          FirmwarePage nextPage()

      This function when implemented should return the next page of firmware from the file opened with readStream(). The function should return null at the end of the file.
      Returns:
        The next firmware page from the file. Null when end of file.

    - #### getPageCount

          int getPageCount()

      This method gets the number of pages in the package.
      Returns:
        Number of pages contained in the package.

    - #### getRestrictions

          java.util.List<FirmwareRestriction> getRestrictions()

      This method gets a list of restrictions that must be met before a device can accept firmware.
      Returns:
        List of restrictions.