### Struct

# FwupdPlugin PluginVfuncs

since: 1.0

#### 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,
        GBytes* blob_fw,
        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
      );
    }

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

###### Structure members

`parent_class`
  No description available.
`_device_added`
  No description available.
`_device_removed`
  No description available.
`_status_changed`
  No description available.
`_percentage_changed`
  No description available.
`_device_register`
  No description available.
`_check_supported`
  No description available.
`_rules_changed`
  No description available.
`constructed`
  No description available.
`finalize`
  No description available.
`startup`
  No description available.
`ready`
  No description available.
`coldplug`
  No description available.
`device_created`
  No description available.
`device_registered`
  No description available.
`device_added`
  No description available.
`verify`
  No description available.
`get_results`
  No description available.
`clear_results`
  No description available.
`backend_device_added`
  No description available.
`backend_device_changed`
  No description available.
`backend_device_removed`
  No description available.
`add_security_attrs`
  No description available.
`write_firmware`
  No description available.
`unlock`
  No description available.
`activate`
  No description available.
`attach`
  No description available.
`detach`
  No description available.
`prepare`
  No description available.
`cleanup`
  No description available.
`composite_prepare`
  No description available.
`composite_cleanup`
  No description available.
`load`
  No description available.
`to_string`
  No description available.
`fix_host_security_attr`
  No description available.
`undo_host_security_attr`
  No description available.
`reboot_cleanup`
  No description available.

Available since: 1.0