mirror of
https://git.proxmox.com/git/fwupd
synced 2025-05-31 10:48:59 +00:00

Most vendors do not mirror the firmware update to an external display, and some don't behave correctly when the lid is shut and the machine is docked. Add this quirk just for Lenovo for now. Fixes https://github.com/fwupd/firmware-lenovo/issues/181
88 lines
2.5 KiB
C
88 lines
2.5 KiB
C
/*
|
|
* Copyright (C) 2021 Richard Hughes <richard@hughsie.com>
|
|
*
|
|
* SPDX-License-Identifier: LGPL-2.1+
|
|
*/
|
|
|
|
#pragma once
|
|
|
|
#include <gio/gio.h>
|
|
|
|
#include "fu-common.h"
|
|
|
|
#define FU_TYPE_CONTEXT (fu_context_get_type())
|
|
G_DECLARE_DERIVABLE_TYPE(FuContext, fu_context, FU, CONTEXT, GObject)
|
|
|
|
struct _FuContextClass {
|
|
GObjectClass parent_class;
|
|
/* signals */
|
|
void (*security_changed)(FuContext *self);
|
|
/*< private >*/
|
|
gpointer padding[30];
|
|
};
|
|
|
|
/**
|
|
* FuContextLookupIter:
|
|
* @self: a #FuContext
|
|
* @key: a key
|
|
* @value: a value
|
|
* @user_data: user data
|
|
*
|
|
* The context lookup iteration callback.
|
|
*/
|
|
typedef void (*FuContextLookupIter)(FuContext *self,
|
|
const gchar *key,
|
|
const gchar *value,
|
|
gpointer user_data);
|
|
|
|
const gchar *
|
|
fu_context_get_smbios_string(FuContext *self, guint8 structure_type, guint8 offset);
|
|
guint
|
|
fu_context_get_smbios_integer(FuContext *self, guint8 type, guint8 offset);
|
|
GBytes *
|
|
fu_context_get_smbios_data(FuContext *self, guint8 structure_type);
|
|
gboolean
|
|
fu_context_has_hwid_guid(FuContext *self, const gchar *guid);
|
|
GPtrArray *
|
|
fu_context_get_hwid_guids(FuContext *self);
|
|
gboolean
|
|
fu_context_has_hwid_flag(FuContext *self, const gchar *flag);
|
|
const gchar *
|
|
fu_context_get_hwid_value(FuContext *self, const gchar *key);
|
|
gchar *
|
|
fu_context_get_hwid_replace_value(FuContext *self,
|
|
const gchar *keys,
|
|
GError **error) G_GNUC_WARN_UNUSED_RESULT;
|
|
void
|
|
fu_context_add_runtime_version(FuContext *self, const gchar *component_id, const gchar *version);
|
|
void
|
|
fu_context_add_compile_version(FuContext *self, const gchar *component_id, const gchar *version);
|
|
const gchar *
|
|
fu_context_lookup_quirk_by_id(FuContext *self, const gchar *guid, const gchar *key);
|
|
gboolean
|
|
fu_context_lookup_quirk_by_id_iter(FuContext *self,
|
|
const gchar *guid,
|
|
FuContextLookupIter iter_cb,
|
|
gpointer user_data);
|
|
void
|
|
fu_context_add_quirk_key(FuContext *self, const gchar *key);
|
|
void
|
|
fu_context_security_changed(FuContext *self);
|
|
|
|
FuBatteryState
|
|
fu_context_get_battery_state(FuContext *self);
|
|
void
|
|
fu_context_set_battery_state(FuContext *self, FuBatteryState battery_state);
|
|
FuLidState
|
|
fu_context_get_lid_state(FuContext *self);
|
|
void
|
|
fu_context_set_lid_state(FuContext *self, FuLidState lid_state);
|
|
guint
|
|
fu_context_get_battery_level(FuContext *self);
|
|
void
|
|
fu_context_set_battery_level(FuContext *self, guint battery_level);
|
|
guint
|
|
fu_context_get_battery_threshold(FuContext *self);
|
|
void
|
|
fu_context_set_battery_threshold(FuContext *self, guint battery_threshold);
|