fwupd/plugins
Richard Hughes 65e44cac96 Always return useful information when calling GetResults()
Previous to having the history database we could only notify about firmware that
as installed using the uefi plugin, as that had a few system-wide API calls to
say 'this update failed' or 'this was the error'.

Now we have the local history database not only can we report more details about
the UEFI update (e.g. the old version number) but we can also offer the same
functionality for all other plugins.

Although this does rework how the data for GetResults() is populated, it does
make the FuEngine object quite a lot less confused.

It also fixes a warning in the fwupd plugin for gnome-software, which was
expecting the FwupdRelease to be populated for the FwupdDevice.
2018-02-07 10:20:19 +00:00
..
altos Add fu_device_set_progress_full() 2017-12-08 09:36:57 +00:00
amt amt: Move the coldplug to the correct startup phase 2017-11-27 18:07:53 +00:00
colorhug trivial: Allow plugins to add metadata to the uploaded reports 2018-01-11 21:28:22 +00:00
csr trivial: Fix a with fu-csr-tool bug spotted by Coverity 2017-12-22 14:24:28 +00:00
dell dell: Report Libsmbios version in metadata 2018-02-06 19:29:28 +00:00
dfu dfu: Fix detach with newer releases of libusb 2018-02-01 10:08:59 +00:00
ebitdo plugins/ebitdo: Stop matching DS4 controller VID/PID 2018-02-05 20:30:18 +00:00
nitrokey trivial: Add some common functionality from reading and writing to a buffer 2017-12-08 20:07:09 +00:00
raspberrypi Set the progress and state on the FuDevice, not the FuPlugin 2017-11-30 20:51:52 +00:00
steelseries trivial: Create the right kind of device in the steelseries plugin 2017-11-30 21:26:39 +00:00
synapticsmst synapticsmst: Correct the callback for progress 2018-02-07 03:42:58 +00:00
test Always return useful information when calling GetResults() 2018-02-07 10:20:19 +00:00
thunderbolt Allow each plugin to opt-in to the recoldplug action 2018-01-17 20:19:58 +00:00
thunderbolt-power Allow each plugin to opt-in to the recoldplug action 2018-01-17 20:19:58 +00:00
udev Store firmware update success and failure to a local database 2018-01-11 09:59:34 +00:00
uefi uefi: Record the fwupdate library version in metadata 2018-02-06 19:29:28 +00:00
unifying unifying: Fix a compile warning with the latest GLib 2018-01-02 20:37:41 +00:00
upower trivial: fix various spelling errors 2017-07-17 13:07:05 -05:00
meson.build csr: Add a new plugin to add support for CSR "Driverless DFU" 2017-12-11 10:47:18 +00:00
README.md trivial: minor typo that was missed on cherry-pick 2017-08-24 13:48:28 -05:00

Adding a new plugin

An extensible architecture allows for providing new plugin types (for reading and writing different firmware) as well as ways quirk their behavior.

You can find more information about the architecture in the developers section of the fwupd website.

If you have a firmware specification and would like to see support in this project, please file an issue and share the spec. Patches are also welcome.

Plugin interaction

Some plugins may be able to influence the behavior of other plugins. This includes things like one plugin turning on a device, or providing missing metadata to another plugin.

The ABI for these interactions is defined in: https://github.com/hughsie/fwupd/blob/master/src/fu-device-metadata.h

All interactions between plugins should have the interface defined in that file.