fwupd/libfwupdplugin/fu-context-private.h
Richard Hughes 6e34a90a12 trivial: Add FuProgress to fu_context_load_hwinfo()
TIL: fu_bios_settings_setup() takes over 50ms (10%!) at startup.
2023-01-30 14:47:44 +00:00

58 lines
1.7 KiB
C

/*
* Copyright (C) 2021 Richard Hughes <richard@hughsie.com>
*
* SPDX-License-Identifier: LGPL-2.1+
*/
#pragma once
#include "fu-context.h"
#include "fu-hwids.h"
#include "fu-progress.h"
#include "fu-quirks.h"
#include "fu-volume.h"
typedef enum {
FU_CONTEXT_HWID_FLAG_NONE = 0,
FU_CONTEXT_HWID_FLAG_LOAD_CONFIG = 1 << 0,
FU_CONTEXT_HWID_FLAG_LOAD_SMBIOS = 1 << 1,
FU_CONTEXT_HWID_FLAG_LOAD_FDT = 1 << 2,
FU_CONTEXT_HWID_FLAG_LOAD_DMI = 1 << 3,
FU_CONTEXT_HWID_FLAG_LOAD_KENV = 1 << 4,
FU_CONTEXT_HWID_FLAG_LOAD_ALL = G_MAXUINT,
} FuContextHwidFlags;
FuContext *
fu_context_new(void);
gboolean
fu_context_reload_bios_settings(FuContext *self, GError **error);
gboolean
fu_context_load_hwinfo(FuContext *self,
FuProgress *progress,
FuContextHwidFlags flags,
GError **error);
gboolean
fu_context_load_quirks(FuContext *self, FuQuirksLoadFlags flags, GError **error);
void
fu_context_set_runtime_versions(FuContext *self, GHashTable *runtime_versions);
void
fu_context_set_compile_versions(FuContext *self, GHashTable *compile_versions);
void
fu_context_add_firmware_gtype(FuContext *self, const gchar *id, GType gtype);
GPtrArray *
fu_context_get_firmware_gtype_ids(FuContext *self);
GType
fu_context_get_firmware_gtype_by_id(FuContext *self, const gchar *id);
void
fu_context_add_udev_subsystem(FuContext *self, const gchar *subsystem);
GPtrArray *
fu_context_get_udev_subsystems(FuContext *self);
void
fu_context_add_esp_volume(FuContext *self, FuVolume *volume);
FuSmbios *
fu_context_get_smbios(FuContext *self);
FuHwids *
fu_context_get_hwids(FuContext *self);
void
fu_context_set_chassis_kind(FuContext *self, FuSmbiosChassisKind chassis_kind);