mirror of
https://git.proxmox.com/git/fwupd
synced 2025-05-03 04:29:47 +00:00

The "return error and hope the client resubmits the firmware again" pattern is clunky. There are two plugins doing this now, and about to be one more. This adds FwupdRequest which provides a structured way of asking the user to perform an action, e.g. to replug the device or to press a special key or button. This replaces much of the UpdateMessage and UpdateImage API although it is still used internally. Clients capable of processing the new DeviceRequest signal should add REQUESTS to their feature flags. Also, this allows us go back to the old meaning of _NEEDS_BOOTLOADER, which was "needs rebooting into a bootloader mode" rather than the slightly weird "user needs to do something and resubmit request".
45 lines
1.6 KiB
C
45 lines
1.6 KiB
C
/*
|
|
* Copyright (C) 2017 Richard Hughes <richard@hughsie.com>
|
|
*
|
|
* SPDX-License-Identifier: LGPL-2.1+
|
|
*/
|
|
|
|
#pragma once
|
|
|
|
#include <fu-device.h>
|
|
#include <xmlb.h>
|
|
|
|
#define fu_device_set_plugin(d,v) fwupd_device_set_plugin(FWUPD_DEVICE(d),v)
|
|
|
|
const gchar *fu_device_internal_flag_to_string (FuDeviceInternalFlags flag);
|
|
FuDeviceInternalFlags fu_device_internal_flag_from_string (const gchar *flag);
|
|
|
|
GPtrArray *fu_device_get_parent_guids (FuDevice *self);
|
|
gboolean fu_device_has_parent_guid (FuDevice *self,
|
|
const gchar *guid);
|
|
GPtrArray *fu_device_get_parent_physical_ids (FuDevice *self);
|
|
gboolean fu_device_has_parent_physical_id (FuDevice *self,
|
|
const gchar *physical_id);
|
|
void fu_device_set_parent (FuDevice *self,
|
|
FuDevice *parent);
|
|
gint fu_device_get_order (FuDevice *self);
|
|
void fu_device_set_order (FuDevice *self,
|
|
gint order);
|
|
void fu_device_set_alternate (FuDevice *self,
|
|
FuDevice *alternate);
|
|
gboolean fu_device_ensure_id (FuDevice *self,
|
|
GError **error)
|
|
G_GNUC_WARN_UNUSED_RESULT;
|
|
void fu_device_incorporate_from_component (FuDevice *device,
|
|
XbNode *component);
|
|
void fu_device_convert_instance_ids (FuDevice *self);
|
|
gchar *fu_device_get_guids_as_str (FuDevice *self);
|
|
GPtrArray *fu_device_get_possible_plugins (FuDevice *self);
|
|
void fu_device_add_possible_plugin (FuDevice *self,
|
|
const gchar *plugin);
|
|
guint fu_device_get_request_cnt (FuDevice *self,
|
|
FwupdRequestKind request_kind);
|
|
guint64 fu_device_get_private_flags (FuDevice *self);
|
|
void fu_device_set_private_flags (FuDevice *self,
|
|
guint64 flag);
|