fwupd/libfwupdplugin
Richard Hughes 19abf996c7 Allow the daemon to request interactive action from the end user
The "return error and hope the client resubmits the firmware again"
pattern is clunky. There are two plugins doing this now, and about to
be one more.

This adds FwupdRequest which provides a structured way of asking the
user to perform an action, e.g. to replug the device or to press a
special key or button.

This replaces much of the UpdateMessage and UpdateImage API although
it is still used internally. Clients capable of processing the new
DeviceRequest signal should add REQUESTS to their feature flags.

Also, this allows us go back to the old meaning of _NEEDS_BOOTLOADER,
which was "needs rebooting into a bootloader mode" rather than the
slightly weird "user needs to do something and resubmit request".
2021-07-14 17:03:50 +01:00
..
fu-archive.c Allow building the documentation with gi-docgen and gtk-doc 2021-06-09 22:21:53 +01:00
fu-archive.h trivial: Add some more missing GObjectIntrospection markup 2021-05-11 16:55:53 +01:00
fu-backend.c trivial: Set the FuContext on more devices 2021-07-12 19:01:55 +01:00
fu-backend.h uefi-capsule: Make less Linux-specific 2021-06-07 19:54:12 +01:00
fu-bluez-device.c trivial: Fix up some of the developer docs 2021-06-11 09:39:03 +01:00
fu-bluez-device.h Support for GATT characteristic signals/notifications 2021-02-26 18:19:06 +01:00
fu-cabinet.c Allow building the documentation with gi-docgen and gtk-doc 2021-06-09 22:21:53 +01:00
fu-cabinet.h Add a utility to resign firmware files 2021-04-19 12:59:35 +01:00
fu-chunk-private.h Allow objects to deserialize to XML 2021-03-15 12:07:30 +00:00
fu-chunk.c trivial: Fix up some of the developer docs 2021-06-11 09:39:03 +01:00
fu-chunk.h trivial: Add fu_chunk_array_mutable_new() 2021-01-29 14:22:20 +00:00
fu-common-cab.c trivial: Fix up some of the developer docs 2021-06-11 09:39:03 +01:00
fu-common-cab.h libfwupdplugin: Use G_GNUC_WARN_UNUSED_RESULT for methods that should be checked 2021-01-04 15:24:35 +00:00
fu-common-freebsd.c trivial: Remove some more _WIN32 defines now we have an OS split 2021-06-07 19:54:12 +01:00
fu-common-guid.c Only include the start year in the copyright header 2021-01-07 14:48:16 +00:00
fu-common-guid.h Only include the start year in the copyright header 2021-01-07 14:48:16 +00:00
fu-common-linux.c trivial: Remove some more _WIN32 defines now we have an OS split 2021-06-07 19:54:12 +01:00
fu-common-private.h trivial: Remove some more _WIN32 defines now we have an OS split 2021-06-07 19:54:12 +01:00
fu-common-version.c trivial: Style fixes to lots of gtk-doc 2021-05-10 14:35:10 +01:00
fu-common-version.h trivial: Remove more deprecated API because we can 2021-04-01 13:12:45 +01:00
fu-common-windows.c trivial: Remove some more _WIN32 defines now we have an OS split 2021-06-07 19:54:12 +01:00
fu-common.c Add functions to read from and write to FU_PATH_KIND_FIRMWARE_SEARCH 2021-07-13 21:57:08 +01:00
fu-common.h Add functions to read from and write to FU_PATH_KIND_FIRMWARE_SEARCH 2021-07-13 21:57:08 +01:00
fu-context-private.h Move amdgpu safety check into the plugin 2021-07-04 17:49:36 +01:00
fu-context.c trivial: Fix up some of the developer docs 2021-06-11 09:39:03 +01:00
fu-context.h Move amdgpu safety check into the plugin 2021-07-04 17:49:36 +01:00
fu-deprecated.h Install development files for libfwupdplugin 2019-11-27 11:32:43 +00:00
fu-device-locker.c trivial: Fix up some of the developer docs 2021-06-11 09:39:03 +01:00
fu-device-locker.h trivial: Fix up some of the developer docs 2021-06-11 09:39:03 +01:00
fu-device-metadata.h Allow building the documentation with gi-docgen and gtk-doc 2021-06-09 22:21:53 +01:00
fu-device-private.h Allow the daemon to request interactive action from the end user 2021-07-14 17:03:50 +01:00
fu-device.c Allow the daemon to request interactive action from the end user 2021-07-14 17:03:50 +01:00
fu-device.h Allow the daemon to request interactive action from the end user 2021-07-14 17:03:50 +01:00
fu-dfu-firmware-private.h trivial: Export the DFU version constants into libfwupdplugin 2021-06-14 07:15:42 -05:00
fu-dfu-firmware.c trivial: Export the DFU version constants into libfwupdplugin 2021-06-14 07:15:42 -05:00
fu-dfu-firmware.h trivial: Export the DFU version constants into libfwupdplugin 2021-06-14 07:15:42 -05:00
fu-dfuse-firmware.c trivial: Export the DFU version constants into libfwupdplugin 2021-06-14 07:15:42 -05:00
fu-dfuse-firmware.h libfwupdplugin: Promote DfuFirmware to FuDfuseFirmware 2021-02-01 19:34:28 +00:00
fu-efi-common.c Export the EFI and IFD parsers 2021-07-12 10:33:38 +01:00
fu-efi-common.h Export the EFI and IFD parsers 2021-07-12 10:33:38 +01:00
fu-efi-firmware-common.c Export the EFI and IFD parsers 2021-07-12 10:33:38 +01:00
fu-efi-firmware-common.h Export the EFI and IFD parsers 2021-07-12 10:33:38 +01:00
fu-efi-firmware-file.c Export the EFI and IFD parsers 2021-07-12 10:33:38 +01:00
fu-efi-firmware-file.h Export the EFI and IFD parsers 2021-07-12 10:33:38 +01:00
fu-efi-firmware-filesystem.c Export the EFI and IFD parsers 2021-07-12 10:33:38 +01:00
fu-efi-firmware-filesystem.h Export the EFI and IFD parsers 2021-07-12 10:33:38 +01:00
fu-efi-firmware-section.c Export the EFI and IFD parsers 2021-07-12 10:33:38 +01:00
fu-efi-firmware-section.h Export the EFI and IFD parsers 2021-07-12 10:33:38 +01:00
fu-efi-firmware-volume.c Export the EFI and IFD parsers 2021-07-12 10:33:38 +01:00
fu-efi-firmware-volume.h Export the EFI and IFD parsers 2021-07-12 10:33:38 +01:00
fu-efi-signature-list.c trivial: Fix up some of the developer docs 2021-06-11 09:39:03 +01:00
fu-efi-signature-list.h libfwupdplugin: Export FuEfiSignatureList for plugins to use 2021-01-05 16:42:58 +00:00
fu-efi-signature-private.h libfwupdplugin: Export FuEfiSignatureList for plugins to use 2021-01-05 16:42:58 +00:00
fu-efi-signature.c trivial: Fix up some of the developer docs 2021-06-11 09:39:03 +01:00
fu-efi-signature.h trivial: Add some more missing GObjectIntrospection markup 2021-05-11 16:55:53 +01:00
fu-efivar-freebsd.c Corrections for fu-efivar-freebsd.c 2021-06-15 17:25:16 +01:00
fu-efivar-impl.h libfwupdplugin: Implement fu-efivar-freebsd.c 2021-06-09 15:22:58 +01:00
fu-efivar-linux.c trivial: Prevent critical warning when the EFI variable has no data 2021-06-28 19:42:13 +01:00
fu-efivar-windows.c libfwupdplugin: Implement fu-efivar-freebsd.c 2021-06-09 15:22:58 +01:00
fu-efivar.c libfwupdplugin: Implement fu-efivar-freebsd.c 2021-06-09 15:22:58 +01:00
fu-efivar.h trivial: Add fu_efivar_get_monitor() to allow inotify of efivars 2021-01-13 09:14:01 +00:00
fu-firmware-common.c trivial: Standardize on introspection for @error and @cancellable 2021-04-28 16:19:50 +01:00
fu-firmware-common.h Remove unused, unsafe and deprecated functions from libfwupdplugin 2021-03-09 15:47:56 +00:00
fu-firmware.c trivial: Don't fail tests on old GLib versions 2021-07-09 16:18:25 +01:00
fu-firmware.h trivial: Fix up some of the developer docs 2021-06-11 09:39:03 +01:00
fu-fmap-firmware.c trivial: Fix up some of the developer docs 2021-06-11 09:39:03 +01:00
fu-fmap-firmware.h trivial: Add some more missing GObjectIntrospection markup 2021-05-11 16:55:53 +01:00
fu-fuzzer-firmware.c.in redfish: Split out the SMBIOS table parsing 2021-06-25 19:55:19 +01:00
fu-fuzzer-main.c Add support for oss-fuzz 2021-02-08 09:17:03 +00:00
fu-hash.py trivial: update python black style to 21.6b0 2021-06-16 06:41:46 -05:00
fu-hid-device.c trivial: Fix up some of the developer docs 2021-06-11 09:39:03 +01:00
fu-hid-device.h Remove unused, unsafe and deprecated functions from libfwupdplugin 2021-03-09 15:47:56 +00:00
fu-hwids.c trivial: Fix up some of the developer docs 2021-06-11 09:39:03 +01:00
fu-hwids.h trivial: Fix up some of the developer docs 2021-06-11 09:39:03 +01:00
fu-i2c-device.c trivial: Set the physical ID in FuI2cDevice->probe() 2021-06-28 10:09:52 +01:00
fu-i2c-device.h Allow writing multiple bytes to the I²C device 2021-06-24 14:22:08 +01:00
fu-ifd-bios.c Export the EFI and IFD parsers 2021-07-12 10:33:38 +01:00
fu-ifd-bios.h Export the EFI and IFD parsers 2021-07-12 10:33:38 +01:00
fu-ifd-common.c Export the EFI and IFD parsers 2021-07-12 10:33:38 +01:00
fu-ifd-common.h Export the EFI and IFD parsers 2021-07-12 10:33:38 +01:00
fu-ifd-firmware.c Export the EFI and IFD parsers 2021-07-12 10:33:38 +01:00
fu-ifd-firmware.h Export the EFI and IFD parsers 2021-07-12 10:33:38 +01:00
fu-ifd-image.c Export the EFI and IFD parsers 2021-07-12 10:33:38 +01:00
fu-ifd-image.h Export the EFI and IFD parsers 2021-07-12 10:33:38 +01:00
fu-ihex-firmware.c trivial: Fix up some of the developer docs 2021-06-11 09:39:03 +01:00
fu-ihex-firmware.h trivial: Add some more missing GObjectIntrospection markup 2021-05-11 16:55:53 +01:00
fu-io-channel.c trivial: Fix up some of the developer docs 2021-06-11 09:39:03 +01:00
fu-io-channel.h Only include the start year in the copyright header 2021-01-07 14:48:16 +00:00
fu-kenv.c trivial: Fix typo preventing FreeBSD compile 2021-05-25 12:44:55 +01:00
fu-kenv.h Store the BSD kernel cmdline string in the failure report 2021-05-25 06:31:46 +01:00
fu-mutex.h Convert libfwupdprivate to a shared library libfwupdplugin 2019-11-27 11:32:43 +00:00
fu-plugin-private.h Split out a shared system context 2021-04-01 21:11:29 +01:00
fu-plugin-vfuncs.h Allow building the documentation with gi-docgen and gtk-doc 2021-06-09 22:21:53 +01:00
fu-plugin.c trivial: Provide FWUPD_PLUGIN_FLAG_AUTH_REQUIRED for future usage 2021-07-06 20:12:17 +01:00
fu-plugin.h Move amdgpu safety check into the plugin 2021-07-04 17:49:36 +01:00
fu-quirks.c trivial: Downgrade a warning to avoid a lot of extra code 2021-07-12 19:01:55 +01:00
fu-quirks.h trivial: Codespell fixes 2021-06-15 21:45:15 +01:00
fu-security-attrs-private.h Add daemon version into the HSI string 2020-05-18 15:41:51 -05:00
fu-security-attrs.c trivial: Fix up some of the developer docs 2021-06-11 09:39:03 +01:00
fu-security-attrs.h Use FWUPD_COMPILATION define to indicate an in tree build 2021-01-22 14:01:25 -06:00
fu-self-test.c trivial: Set the FuContext on more devices 2021-07-12 19:01:55 +01:00
fu-smbios-private.h libfwupdplugin: Use G_GNUC_WARN_UNUSED_RESULT for methods that should be checked 2021-01-04 15:24:35 +00:00
fu-smbios.c trivial: Fix up some of the developer docs 2021-06-11 09:39:03 +01:00
fu-smbios.h trivial: Fix up some of the developer docs 2021-06-11 09:39:03 +01:00
fu-srec-firmware.c trivial: Reduce the debug verbosity when reading SREC firmware 2021-06-18 14:03:54 +01:00
fu-srec-firmware.h trivial: Add some more missing GObjectIntrospection markup 2021-05-11 16:55:53 +01:00
fu-udev-device-private.h Only include the start year in the copyright header 2021-01-07 14:48:16 +00:00
fu-udev-device.c trivial: Fix up an introspection tag added recently 2021-06-28 19:45:19 +01:00
fu-udev-device.h Add a fu_udev_device_get_children_with_subsystem function 2021-06-28 10:09:52 +01:00
fu-usb-device-private.h Convert libfwupdprivate to a shared library libfwupdplugin 2019-11-27 11:32:43 +00:00
fu-usb-device.c Use the parent physical ID to autoset the device parent 2021-06-19 16:57:35 +01:00
fu-usb-device.h trivial: Remove warnings from the GObjectIntrospection output 2021-05-11 16:55:53 +01:00
fu-version.c Check the versions of libfwupd and libfwupdplugin at startup 2021-04-30 15:00:04 +01:00
fu-version.h Check the versions of libfwupd and libfwupdplugin at startup 2021-04-30 15:00:04 +01:00
fu-volume-private.h Only include the start year in the copyright header 2021-01-07 14:48:16 +00:00
fu-volume.c Allow building the documentation with gi-docgen and gtk-doc 2021-06-09 22:21:53 +01:00
fu-volume.h trivial: Fix up some of the developer docs 2021-06-11 09:39:03 +01:00
fwupdplugin.h Export the EFI and IFD parsers 2021-07-12 10:33:38 +01:00
fwupdplugin.map Allow the daemon to request interactive action from the end user 2021-07-14 17:03:50 +01:00
meson.build Export the EFI and IFD parsers 2021-07-12 10:33:38 +01:00
README.md trivial: Codespell fixes 2021-03-19 16:42:33 +00:00

libfwupdplugin

This library is only partially API and ABI stable. Keeping unused, unsafe and deprecated functions around forever is a maintenance burden and so symbols are removed when branching for new minor versions.

Remember: Plugins should be upstream!

Migrating from older API

  • Migrate from fu_common_is_cpu_intel() to fu_common_get_cpu_vendor()
  • Migrate from fu_firmware_strparse_uintXX() to fu_firmware_strparse_uintXX_safe()
  • Remove calls to fu_plugin_get_usb_context() and fu_plugin_set_usb_context()
  • Migrate from fu_plugin_runner_usb_device_added(), fu_plugin_runner_udev_device_added() and fu_plugin_runner_udev_device_changed() to fu_plugin_runner_backend_device_added()
  • Migrate from FuHidDevice->open() and FuHidDevice->close() to using the superclass helpers
  • Migrate from FuUsbDevice->probe(), FuUsbDevice->open() and FuUsbDevice->close() to using the superclass helpers
  • Migrate from FuUdevDevice->to_string(), FuUdevDevice->probe(), FuUdevDevice->open() and FuUdevDevice->close() to using the superclass helpers
  • Migrate from fu_device_get_protocol() to fu_device_get_protocols() and fu_device_set_protocol() to fu_device_add_protocol()

Planned API/ABI changes for next release

  • Nothing yet.