fwupd/libfwupdplugin
Richard Hughes aaa77c6f51 Allow adding and removing custom flags on devices
The CustomFlags feature is a bit of a hack where we just join the flags
and store in the device metadata section as a string. This makes it
inefficient to check if just one flag exists as we have to split the
string to a temporary array each time.

Rather than adding to the hack by splitting, appending (if not exists)
then joining again, store the flags in the plugin privdata directly.

This allows us to support negating custom properties (e.g. ~hint) and
also allows quirks to append custom values without duplicating them on
each GUID match, e.g.

[USB\VID_17EF&PID_307F]
Plugin = customflag1
[USB\VID_17EF&PID_307F&HUB_0002]
Flags = customflag2

...would result in customflag1,customflag2 which is the same as you'd
get from an enumerated device flag doing the same thing.
2021-06-23 07:59:15 +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: Fix up some of the developer docs 2021-06-11 09:39:03 +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 trivial: fix for expr check introduced in 3a48af58 2021-06-17 09:17:43 +01:00
fu-common.h trivial: move kernel version check into common library code 2021-06-16 14:54:17 -05:00
fu-context-private.h Split out a shared system context 2021-04-01 21:11:29 +01:00
fu-context.c trivial: Fix up some of the developer docs 2021-06-11 09:39:03 +01:00
fu-context.h trivial: Add some more missing GObjectIntrospection markup 2021-05-11 16:55:53 +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 adding and removing custom flags on devices 2021-06-23 07:59:15 +01:00
fu-device.c Allow adding and removing custom flags on devices 2021-06-23 07:59:15 +01:00
fu-device.h Allow adding and removing custom flags on devices 2021-06-23 07:59:15 +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-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 libfwupdplugin: Implement fu-efivar-freebsd.c 2021-06-09 15:22:58 +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: Codespell fixes 2021-06-15 21:45:15 +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 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 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: Fix up some of the developer docs 2021-06-11 09:39:03 +01:00
fu-i2c-device.h Add a FuI2cDevice to abstract I²C devices 2021-05-18 14:29:28 +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: Fix up some of the developer docs 2021-06-11 09:39:03 +01:00
fu-plugin.h trivial: Add some more missing GObjectIntrospection markup 2021-05-11 16:55:53 +01:00
fu-quirks.c trivial: Allow setting device inhibits from quirk files 2021-06-15 14:15:34 +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 Allow adding and removing custom flags on devices 2021-06-23 07:59:15 +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 Add a device flag to ignore the serial number 2021-06-18 14:03:54 +01:00
fu-udev-device.h FuUdevDevice: add get_siblings_with_subsystem function 2021-04-15 06:53:06 +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 trivial: add missing header include for in top level libfwupdplugin 2021-06-14 09:25:12 +01:00
fwupdplugin.map Allow adding and removing custom flags on devices 2021-06-23 07:59:15 +01:00
meson.build trivial: fix gir compilation when gusb is turned off 2021-06-14 09:26:22 +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.