fwupd/libfwupdplugin
Richard Hughes b333e0045c Split out a shared system context
There is a lot of code in fwupd that just assigns a shared object type to
a FuPlugin, and then for each device on that plugin assigns that same shared
object to each FuDevice.

Rather than proxy several kinds of information stores over two different levels
of abstraction create a 'context' which contains the shared *system* state
between the daemon, the plugins and the daemon.

This will allow us to hold other per-machine state in the future, for instance
the system battery level or AC state.
2021-04-01 21:11:29 +01:00
..
fu-archive.c Make libarchive optional for fuzzing 2021-01-13 20:12:37 +00:00
fu-archive.h libfwupdplugin: Use G_GNUC_WARN_UNUSED_RESULT for methods that should be checked 2021-01-04 15:24:35 +00:00
fu-bluez-device.c trivial: Codespell fixes 2021-03-19 16:42:33 +00:00
fu-bluez-device.h Support for GATT characteristic signals/notifications 2021-02-26 18:19:06 +01:00
fu-cabinet.c Only include the start year in the copyright header 2021-01-07 14:48:16 +00:00
fu-cabinet.h Only include the start year in the copyright header 2021-01-07 14:48:16 +00:00
fu-chunk-private.h Allow objects to deserialize to XML 2021-03-15 12:07:30 +00:00
fu-chunk.c Allow objects to deserialize to XML 2021-03-15 12:07:30 +00:00
fu-chunk.h trivial: Add fu_chunk_array_mutable_new() 2021-01-29 14:22:20 +00:00
fu-common-cab.c trivial: Add missing calls to g_return_val_if_fail() 2021-01-04 15:24:35 +00: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-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-version.c trivial: Remove more deprecated API because we can 2021-04-01 13:12:45 +01:00
fu-common-version.h trivial: Remove more deprecated API because we can 2021-04-01 13:12:45 +01:00
fu-common.c trivial: Fix 32 bit overflow in fu_common_get_memory_size() 2021-03-20 17:32:56 +00:00
fu-common.h Allow objects to deserialize to XML 2021-03-15 12:07:30 +00:00
fu-context-private.h Split out a shared system context 2021-04-01 21:11:29 +01:00
fu-context.c Split out a shared system context 2021-04-01 21:11:29 +01:00
fu-context.h Split out a shared system context 2021-04-01 21:11:29 +01:00
fu-deprecated.h Install development files for libfwupdplugin 2019-11-27 11:32:43 +00:00
fu-device-locker.c Make GUsb optional for fuzzing 2021-01-14 14:23:12 +00:00
fu-device-locker.h libfwupdplugin: Use G_GNUC_WARN_UNUSED_RESULT for methods that should be checked 2021-01-04 15:24:35 +00:00
fu-device-metadata.h thunderbolt: drop support for force power 2020-04-29 13:15:45 -05:00
fu-device-private.h Do not export useless device attributes to the client 2021-01-06 14:36:23 +00:00
fu-device.c Split out a shared system context 2021-04-01 21:11:29 +01:00
fu-device.h Split out a shared system context 2021-04-01 21:11:29 +01:00
fu-dfu-firmware-private.h libfwupdplugin: Promote DfuFirmware to FuDfuseFirmware 2021-02-01 19:34:28 +00:00
fu-dfu-firmware.c Allow objects to deserialize to XML 2021-03-15 12:07:30 +00:00
fu-dfu-firmware.h Convert libfwupdprivate to a shared library libfwupdplugin 2019-11-27 11:32:43 +00:00
fu-dfuse-firmware.c trivial: Use fu_byte_array_append_bytes() in more places 2021-03-15 09:46:02 +00:00
fu-dfuse-firmware.h libfwupdplugin: Promote DfuFirmware to FuDfuseFirmware 2021-02-01 19:34:28 +00:00
fu-efi-signature-list.c Remove FuFirmwareImage and just use FuFirmware instead 2021-03-09 21:14:12 +00: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 Remove FuFirmwareImage and just use FuFirmware instead 2021-03-09 21:14:12 +00:00
fu-efi-signature.h Remove FuFirmwareImage and just use FuFirmware instead 2021-03-09 21:14:12 +00:00
fu-efivar.c fwupd port for BSD distros 2021-03-19 17:05:09 +00: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 Remove unused, unsafe and deprecated functions from libfwupdplugin 2021-03-09 15:47:56 +00: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: Print the ASCII data in FuFirmware->to_string() 2021-03-21 20:18:34 +00:00
fu-firmware.h trivial: Limit alignment to 2GB to fix a fuzzing crash 2021-03-17 11:14:46 +00:00
fu-fmap-firmware.c fmap: Use standard FuFirmware properties 2021-03-15 12:07:30 +00:00
fu-fmap-firmware.h trivial: Fix GtkDoc issue with FuFmapFirmware 2020-06-29 15:49:14 +01:00
fu-fuzzer-firmware.c.in trivial: Also fuzz the CRC checking routines 2021-02-11 20:27:20 +00:00
fu-fuzzer-main.c Add support for oss-fuzz 2021-02-08 09:17:03 +00:00
fu-hash.py Use black to format python source in a consistent manner 2020-04-13 23:06:30 +01:00
fu-hid-device.c Remove unused, unsafe and deprecated functions from libfwupdplugin 2021-03-09 15:47:56 +00: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 two gtk-doc problems 2021-01-27 09:54:14 +00:00
fu-hwids.h Allow using custom data to generate CHIDs 2021-01-18 07:56:34 +00:00
fu-ihex-firmware.c ihex: Dectect address overflow causing the fuzz process to take along time 2021-03-21 20:18:34 +00:00
fu-ihex-firmware.h Do more processing when tokenizing the Intel HEX file 2020-10-20 16:27:15 +01:00
fu-io-channel.c Only include the start year in the copyright header 2021-01-07 14:48:16 +00:00
fu-io-channel.h Only include the start year in the copyright header 2021-01-07 14:48:16 +00: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 Split out a shared system context 2021-04-01 21:11:29 +01:00
fu-plugin.c Split out a shared system context 2021-04-01 21:11:29 +01:00
fu-plugin.h Split out a shared system context 2021-04-01 21:11:29 +01:00
fu-quirks.c Split out a shared system context 2021-04-01 21:11:29 +01:00
fu-quirks.h Split out a shared system context 2021-04-01 21:11:29 +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 Use FWUPD_COMPILATION define to indicate an in tree build 2021-01-22 14:01:25 -06: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 Split out a shared system context 2021-04-01 21:11:29 +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 Allow objects to deserialize to XML 2021-03-15 12:07:30 +00:00
fu-smbios.h libfwupdplugin: Subclass FuFirmware in FuSmbios 2021-01-05 15:59:30 +00:00
fu-srec-firmware.c srec: Detect overflow to avoid adding ~4GB of 0xFF padding 2021-03-14 09:50:39 +00:00
fu-srec-firmware.h trivial: Fix two introspection warnings 2020-11-06 09:57:03 +00: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 fwupd port for BSD distros 2021-03-19 17:05:09 +00:00
fu-udev-device.h Remove unused, unsafe and deprecated functions from libfwupdplugin 2021-03-09 15:47:56 +00: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 Remove unused, unsafe and deprecated functions from libfwupdplugin 2021-03-09 15:47:56 +00:00
fu-usb-device.h Remove unused, unsafe and deprecated functions from libfwupdplugin 2021-03-09 15:47:56 +00: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 Only include the start year in the copyright header 2021-01-07 14:48:16 +00:00
fu-volume.h Only include the start year in the copyright header 2021-01-07 14:48:16 +00:00
fwupdplugin.h Split out a shared system context 2021-04-01 21:11:29 +01:00
fwupdplugin.map Split out a shared system context 2021-04-01 21:11:29 +01:00
meson.build Split out a shared system context 2021-04-01 21:11:29 +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.