Class

FwupdPluginPlugin

Description [src]

class FwupdPlugin.Plugin : Fwupd.Plugin
  implements Fwupd.Codec {
  /* No available fields */
}

A plugin which is used by fwupd to enumerate and update devices.

See also: FuDevice, FwupdPlugin.

Ancestors

Implements

Constructors

fu_plugin_new

Creates a new FuPlugin.

since: 0.8.0

fu_plugin_new_from_gtype

Creates a new FuPlugin.

since: 1.8.6

Functions

fu_plugin_guess_name_from_fn

Tries to guess the name of the plugin from a filename.

since: 1.0.8

Instance methods

fu_plugin_add_device_gtype

Adds the device GType which is used when creating devices.

since: 1.6.0

fu_plugin_add_device_udev_subsystem

Add this plugin as a possible handler of devices with this udev subsystem. Use fu_plugin_add_udev_subsystem() if you just want to ensure the subsystem is watched.

since: 1.9.3

fu_plugin_add_firmware_gtype

Adds a firmware GType which is used when creating devices. If id is not specified then it is guessed using the GType name.

since: 1.3.3

fu_plugin_add_report_metadata

Sets any additional metadata to be included in the firmware report to aid debugging problems.

since: 1.0.4

fu_plugin_add_rule

If the plugin name is found, the rule will be used to sort the plugin list, for example the plugin specified by name will be ordered after this plugin when FU_PLUGIN_RULE_RUN_AFTER is used.

since: 1.0.0

fu_plugin_add_string

Add daemon-specific device metadata to an existing string.

since: 1.8.4

fu_plugin_add_udev_subsystem

Registers the udev subsystem to be watched by the daemon.

since: 1.6.2

fu_plugin_alloc_data

Allocates the per-plugin allocated private data.

since: 0.8.0

fu_plugin_cache_add

Adds an object to the per-plugin cache.

since: 0.8.0

fu_plugin_cache_lookup

Finds an object in the per-plugin cache.

since: 0.8.0

fu_plugin_cache_remove

Removes an object from the per-plugin cache.

since: 0.8.0

fu_plugin_device_add

Asks the daemon to add a device to the exported list. If this device ID has already been added by a different plugin then this request will be ignored.

since: 0.8.0

fu_plugin_device_register

Registers the device with other plugins so they can set metadata.

since: 0.9.7

fu_plugin_device_remove

Asks the daemon to remove a device from the exported list.

since: 0.8.0

fu_plugin_get_config_value

Return the value of a key, falling back to the default value.

since: 1.0.6

fu_plugin_get_config_value_boolean

Return the boolean value of a key if it’s been configured.

since: 1.4.0

fu_plugin_get_context

Gets the context for a plugin.

since: 1.6.0

fu_plugin_get_data

Gets the per-plugin allocated private data. This will return NULL unless fu_plugin_alloc_data() has been called by the plugin.

since: 0.8.0

fu_plugin_get_device_gtype_default

Gets the default device GType.

since: 1.9.14

fu_plugin_get_device_gtypes

Gets all device GTypes.

since: 2.0.2

fu_plugin_get_devices

Returns all devices added by the plugin using fu_plugin_device_add() and not yet removed with fu_plugin_device_remove().

since: 1.5.6

fu_plugin_get_name

Gets the plugin name.

since: 0.8.0

fu_plugin_get_order

Gets the plugin order, where higher numbers are run after lower numbers.

since: 1.0.0

fu_plugin_get_priority

Gets the plugin priority, where higher numbers are better.

since: 1.1.1

fu_plugin_get_report_metadata

Returns the list of additional metadata to be added when filing a report.

since: 1.0.4

fu_plugin_get_rules

Gets the plugin IDs that should be run after this plugin.

since: 1.0.0

fu_plugin_is_open

Determines if the plugin is opened.

since: 1.3.5

fu_plugin_name_compare

Compares two plugins by their names.

since: 1.0.8

fu_plugin_open

Opens the plugin module, and calls ->load() on it.

since: 0.8.0

fu_plugin_order_compare

Compares two plugins by their depsolved order, and then by name.

since: 1.0.8

fu_plugin_reset_config_values

Reset all the plugin keys back to the default values.

since: 1.9.15

fu_plugin_runner_activate

Call into the plugin’s activate routine.

since: 1.2.6

fu_plugin_runner_add_security_attrs

Runs the add_security_attrs() routine for the plugin.

since: 1.5.0

fu_plugin_runner_attach

Runs the update_attach routine for the plugin.

since: 1.7.0

fu_plugin_runner_backend_device_added

Call the backend_device_added routine for the plugin.

since: 1.5.6

fu_plugin_runner_backend_device_changed

Call the backend_device_changed routine for the plugin.

since: 1.5.6

fu_plugin_runner_cleanup

Runs the update_cleanup routine for the plugin.

since: 1.7.0

fu_plugin_runner_clear_results

Call into the plugin’s clear results routine.

since: 0.8.0

fu_plugin_runner_coldplug

Runs the coldplug routine for the plugin.

since: 0.8.0

fu_plugin_runner_composite_cleanup

Runs the composite_cleanup routine for the plugin.

since: 1.0.9

fu_plugin_runner_composite_prepare

Runs the composite_prepare routine for the plugin.

since: 1.0.9

fu_plugin_runner_detach

Runs the update_detach routine for the plugin.

since: 1.7.0

fu_plugin_runner_device_added

Call the device_added routine for the plugin.

since: 1.5.0

fu_plugin_runner_device_created

Call the device_created routine for the plugin.

since: 1.4.0

fu_plugin_runner_device_register

Call the device_registered routine for the plugin.

since: 0.9.7

fu_plugin_runner_device_removed

Call the device_removed routine for the plugin.

since: 1.1.2

fu_plugin_runner_fix_host_security_attr

Fix the specific security attribute.

since: 1.9.6

fu_plugin_runner_get_results

Call into the plugin’s get results routine.

since: 0.8.0

fu_plugin_runner_init

Runs the constructed routine for the plugin, if enabled.

since: 1.8.1

fu_plugin_runner_modify_config

Sets a plugin config option, which may be allow-listed or value-checked.

since: 2.0.0

fu_plugin_runner_prepare

Runs the update_prepare routine for the plugin.

since: 1.7.0

fu_plugin_runner_ready

Runs the ready routine for the plugin.

since: 1.9.6

fu_plugin_runner_reboot_cleanup

Performs cleanup actions after the reboot has been performed.

since: 1.9.7

fu_plugin_runner_reload

Runs reload routine for a device.

since: 1.7.0

fu_plugin_runner_startup

Runs the startup routine for the plugin.

since: 0.8.0

fu_plugin_runner_undo_host_security_attr

Fix the security issue of given security attribute.

since: 1.9.6

fu_plugin_runner_unlock

Call into the plugin’s unlock routine.

since: 0.8.0

fu_plugin_runner_verify

Call into the plugin’s verify routine.

since: 0.8.0

fu_plugin_runner_write_firmware

Call into the plugin’s write firmware routine.

since: 1.7.0

fu_plugin_security_attr_new

Creates a new FwupdSecurityAttr for this specific plugin.

since: 1.8.4

fu_plugin_set_config_default

Sets the config default value.

since: 2.0.0

fu_plugin_set_config_value

Sets a plugin config value.

since: 1.7.0

fu_plugin_set_context

Sets the context for this plugin.

since: 1.8.6

fu_plugin_set_device_gtype_default

Sets the default device GType.

since: 1.9.14

fu_plugin_set_name

Sets the plugin name.

since: 0.8.0

fu_plugin_set_order

Sets the plugin order, where higher numbers are run after lower numbers.

since: 1.0.0

fu_plugin_set_priority

Sets the plugin priority, where higher numbers are better.

since: 1.0.0

fu_plugin_to_string

This allows us to easily print the plugin metadata.

since: 1.8.4

Methods inherited from FwupdPlugin (7)
fwupd_plugin_add_flag

Adds a specific plugin flag to the plugin.

fwupd_plugin_get_flags

Gets the plugin flags.

fwupd_plugin_get_name

Gets the plugin name.

fwupd_plugin_has_flag

Finds if the plugin has a specific plugin flag.

fwupd_plugin_remove_flag

Removes a specific plugin flag from the plugin.

fwupd_plugin_set_flags

Sets the plugin flags.

fwupd_plugin_set_name

Sets the plugin name.

Methods inherited from GObject (43)

Please see GObject for a full list of methods.

Methods inherited from FwupdCodec (8)
fwupd_codec_add_string

Converts an object that implements FwupdCodec to a debug string, appending it to str.

fwupd_codec_from_json

Converts an object that implements FwupdCodec from a JSON object.

fwupd_codec_from_json_string

Converts an object that implements FwupdCodec from a JSON string.

fwupd_codec_from_variant

Converts an object that implements FwupdCodec from a GVariant value.

fwupd_codec_to_json

Converts an object that implements FwupdCodec to a JSON builder object.

fwupd_codec_to_json_string

Converts an object that implements FwupdCodec to a JSON string.

fwupd_codec_to_string

Converts an object that implements FwupdCodec to a debug string.

fwupd_codec_to_variant

Converts an object that implements FwupdCodec to a GVariant.

Properties

FwupdPlugin.Plugin:context

The FuContext to use.

since: 1.8.6

Properties inherited from FwupdPlugin (2)
Fwupd.Plugin:flags

The plugin flags.

Fwupd.Plugin:name

The plugin name.

Signals

FwupdPlugin.Plugin::check-supported

The ::check-supported signal is emitted when a plugin wants to ask the daemon if a specific device GUID is supported in the existing system metadata.

since: 1.0.0

FwupdPlugin.Plugin::device-added

The ::device-added signal is emitted when a device has been added by the plugin.

since: 0.8.0

FwupdPlugin.Plugin::device-register

The ::device-register signal is emitted when another plugin has added the device.

since: 0.9.7

FwupdPlugin.Plugin::device-removed

The ::device-removed signal is emitted when a device has been removed by the plugin.

since: 0.8.0

FwupdPlugin.Plugin::rules-changed
No description available.

Signals inherited from GObject (1)
GObject::notify

The notify signal is emitted on an object when one of its properties has its value set through g_object_set_property(), g_object_set(), et al.

Class structure

struct FwupdPluginPluginClass {
  FwupdPluginClass parent_class;
  void (* _device_added) (
    FuPlugin* self,
    FuDevice* device
  );
  void (* _device_removed) (
    FuPlugin* self,
    FuDevice* device
  );
  void (* _status_changed) (
    FuPlugin* self,
    FwupdStatus status
  );
  void (* _percentage_changed) (
    FuPlugin* self,
    guint percentage
  );
  void (* _device_register) (
    FuPlugin* self,
    FuDevice* device
  );
  gboolean (* _check_supported) (
    FuPlugin* self,
    const gchar* guid
  );
  void (* _rules_changed) (
    FuPlugin* self
  );
  void (* constructed) (
    GObject* obj
  );
  void (* finalize) (
    GObject* obj
  );
  gboolean (* startup) (
    FuPlugin* self,
    FuProgress* progress,
    GError** error
  );
  gboolean (* ready) (
    FuPlugin* self,
    FuProgress* progress,
    GError** error
  );
  gboolean (* coldplug) (
    FuPlugin* self,
    FuProgress* progress,
    GError** error
  );
  gboolean (* device_created) (
    FuPlugin* self,
    FuDevice* device,
    GError** error
  );
  void (* device_registered) (
    FuPlugin* self,
    FuDevice* device
  );
  void (* device_added) (
    FuPlugin* self,
    FuDevice* device
  );
  gboolean (* verify) (
    FuPlugin* self,
    FuDevice* device,
    FuProgress* progress,
    FuPluginVerifyFlags flags,
    GError** error
  );
  gboolean (* get_results) (
    FuPlugin* self,
    FuDevice* device,
    GError** error
  );
  gboolean (* clear_results) (
    FuPlugin* self,
    FuDevice* device,
    GError** error
  );
  gboolean (* backend_device_added) (
    FuPlugin* self,
    FuDevice* device,
    FuProgress* progress,
    GError** error
  );
  gboolean (* backend_device_changed) (
    FuPlugin* self,
    FuDevice* device,
    GError** error
  );
  gboolean (* backend_device_removed) (
    FuPlugin* self,
    FuDevice* device,
    GError** error
  );
  void (* add_security_attrs) (
    FuPlugin* self,
    FuSecurityAttrs* attrs
  );
  gboolean (* write_firmware) (
    FuPlugin* self,
    FuDevice* device,
    GInputStream* stream,
    FuProgress* progress,
    FwupdInstallFlags flags,
    GError** error
  );
  gboolean (* unlock) (
    FuPlugin* self,
    FuDevice* device,
    GError** error
  );
  gboolean (* activate) (
    FuPlugin* self,
    FuDevice* device,
    FuProgress* progress,
    GError** error
  );
  gboolean (* attach) (
    FuPlugin* self,
    FuDevice* device,
    FuProgress* progress,
    GError** error
  );
  gboolean (* detach) (
    FuPlugin* self,
    FuDevice* device,
    FuProgress* progress,
    GError** error
  );
  gboolean (* prepare) (
    FuPlugin* self,
    FuDevice* device,
    FuProgress* progress,
    FwupdInstallFlags flags,
    GError** error
  );
  gboolean (* cleanup) (
    FuPlugin* self,
    FuDevice* device,
    FuProgress* progress,
    FwupdInstallFlags flags,
    GError** error
  );
  gboolean (* composite_prepare) (
    FuPlugin* self,
    GPtrArray* devices,
    GError** error
  );
  gboolean (* composite_cleanup) (
    FuPlugin* self,
    GPtrArray* devices,
    GError** error
  );
  void (* load) (
    FuContext* ctx
  );
  void (* to_string) (
    FuPlugin* self,
    guint idt,
    GString* str
  );
  gboolean (* fix_host_security_attr) (
    FuPlugin* self,
    FwupdSecurityAttr* attr,
    GError** error
  );
  gboolean (* undo_host_security_attr) (
    FuPlugin* self,
    FwupdSecurityAttr* attr,
    GError** error
  );
  gboolean (* reboot_cleanup) (
    FuPlugin* self,
    FuDevice* device,
    GError** error
  );
  gboolean (* modify_config) (
    FuPlugin* self,
    const gchar* key,
    const gchar* value,
    GError** error
  );
  
}

No description available.

Class members
parent_class: FwupdPluginClass

No description available.

_device_added: void (* _device_added) ( FuPlugin* self, FuDevice* device )

No description available.

_device_removed: void (* _device_removed) ( FuPlugin* self, FuDevice* device )

No description available.

_status_changed: void (* _status_changed) ( FuPlugin* self, FwupdStatus status )

No description available.

_percentage_changed: void (* _percentage_changed) ( FuPlugin* self, guint percentage )

No description available.

_device_register: void (* _device_register) ( FuPlugin* self, FuDevice* device )

No description available.

_check_supported: gboolean (* _check_supported) ( FuPlugin* self, const gchar* guid )

No description available.

_rules_changed: void (* _rules_changed) ( FuPlugin* self )

No description available.

constructed: void (* constructed) ( GObject* obj )

No description available.

finalize: void (* finalize) ( GObject* obj )

No description available.

startup: gboolean (* startup) ( FuPlugin* self, FuProgress* progress, GError** error )

No description available.

ready: gboolean (* ready) ( FuPlugin* self, FuProgress* progress, GError** error )

No description available.

coldplug: gboolean (* coldplug) ( FuPlugin* self, FuProgress* progress, GError** error )

No description available.

device_created: gboolean (* device_created) ( FuPlugin* self, FuDevice* device, GError** error )

No description available.

device_registered: void (* device_registered) ( FuPlugin* self, FuDevice* device )

No description available.

device_added: void (* device_added) ( FuPlugin* self, FuDevice* device )

No description available.

verify: gboolean (* verify) ( FuPlugin* self, FuDevice* device, FuProgress* progress, FuPluginVerifyFlags flags, GError** error )

No description available.

get_results: gboolean (* get_results) ( FuPlugin* self, FuDevice* device, GError** error )

No description available.

clear_results: gboolean (* clear_results) ( FuPlugin* self, FuDevice* device, GError** error )

No description available.

backend_device_added: gboolean (* backend_device_added) ( FuPlugin* self, FuDevice* device, FuProgress* progress, GError** error )

No description available.

backend_device_changed: gboolean (* backend_device_changed) ( FuPlugin* self, FuDevice* device, GError** error )

No description available.

backend_device_removed: gboolean (* backend_device_removed) ( FuPlugin* self, FuDevice* device, GError** error )

No description available.

add_security_attrs: void (* add_security_attrs) ( FuPlugin* self, FuSecurityAttrs* attrs )

No description available.

write_firmware: gboolean (* write_firmware) ( FuPlugin* self, FuDevice* device, GInputStream* stream, FuProgress* progress, FwupdInstallFlags flags, GError** error )

No description available.

unlock: gboolean (* unlock) ( FuPlugin* self, FuDevice* device, GError** error )

No description available.

activate: gboolean (* activate) ( FuPlugin* self, FuDevice* device, FuProgress* progress, GError** error )

No description available.

attach: gboolean (* attach) ( FuPlugin* self, FuDevice* device, FuProgress* progress, GError** error )

No description available.

detach: gboolean (* detach) ( FuPlugin* self, FuDevice* device, FuProgress* progress, GError** error )

No description available.

prepare: gboolean (* prepare) ( FuPlugin* self, FuDevice* device, FuProgress* progress, FwupdInstallFlags flags, GError** error )

No description available.

cleanup: gboolean (* cleanup) ( FuPlugin* self, FuDevice* device, FuProgress* progress, FwupdInstallFlags flags, GError** error )

No description available.

composite_prepare: gboolean (* composite_prepare) ( FuPlugin* self, GPtrArray* devices, GError** error )

No description available.

composite_cleanup: gboolean (* composite_cleanup) ( FuPlugin* self, GPtrArray* devices, GError** error )

No description available.

load: void (* load) ( FuContext* ctx )

No description available.

to_string: void (* to_string) ( FuPlugin* self, guint idt, GString* str )

No description available.

fix_host_security_attr: gboolean (* fix_host_security_attr) ( FuPlugin* self, FwupdSecurityAttr* attr, GError** error )

No description available.

undo_host_security_attr: gboolean (* undo_host_security_attr) ( FuPlugin* self, FwupdSecurityAttr* attr, GError** error )

No description available.

reboot_cleanup: gboolean (* reboot_cleanup) ( FuPlugin* self, FuDevice* device, GError** error )

No description available.

modify_config: gboolean (* modify_config) ( FuPlugin* self, const gchar* key, const gchar* value, GError** error )

No description available.

Virtual methods

FwupdPlugin.PluginClass._check_supported
No description available.

FwupdPlugin.PluginClass._device_added
No description available.

FwupdPlugin.PluginClass._device_register
No description available.

FwupdPlugin.PluginClass._device_removed
No description available.

FwupdPlugin.PluginClass._rules_changed
No description available.

FwupdPlugin.PluginClass._status_changed
No description available.

FwupdPlugin.PluginClass.activate
No description available.

FwupdPlugin.PluginClass.add_security_attrs
No description available.

FwupdPlugin.PluginClass.attach
No description available.

FwupdPlugin.PluginClass.cleanup
No description available.

FwupdPlugin.PluginClass.clear_results
No description available.

FwupdPlugin.PluginClass.coldplug
No description available.

FwupdPlugin.PluginClass.composite_cleanup
No description available.

FwupdPlugin.PluginClass.composite_prepare
No description available.

FwupdPlugin.PluginClass.detach
No description available.

FwupdPlugin.PluginClass.device_added
No description available.

FwupdPlugin.PluginClass.device_created
No description available.

FwupdPlugin.PluginClass.device_registered
No description available.

FwupdPlugin.PluginClass.get_results
No description available.

FwupdPlugin.PluginClass.modify_config
No description available.

FwupdPlugin.PluginClass.prepare
No description available.

FwupdPlugin.PluginClass.ready
No description available.

FwupdPlugin.PluginClass.reboot_cleanup
No description available.

FwupdPlugin.PluginClass.startup
No description available.

FwupdPlugin.PluginClass.to_string
No description available.

FwupdPlugin.PluginClass.unlock
No description available.

FwupdPlugin.PluginClass.verify
No description available.

FwupdPlugin.PluginClass.write_firmware
No description available.