### Struct

# FwupdPlugin PluginVfuncs

#### Description [src]

    struct FuPluginVfuncs {
      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,
        FuFirmware* firmware,
        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
      );;
      gboolean (* composite_peek_firmware) (
        FuPlugin* self,
        FuDevice* device,
        FuFirmware* firmware,
        FuProgress* progress,
        FwupdInstallFlags flags,
        GError** error
      );;
    }

A subset of virtual functions that are implemented by modular plugins.

###### Structure 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, FuFirmware* firmware, 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.

`composite_peek_firmware:` `gboolean (* composite_peek_firmware) ( FuPlugin* self, FuDevice* device, FuFirmware* firmware, FuProgress* progress, FwupdInstallFlags flags, GError** error )`

  No description available.