fwupd/libfwupdplugin/fu-hwids.h
2021-08-24 11:18:40 -05:00

144 lines
3.1 KiB
C

/*
* Copyright (C) 2017 Richard Hughes <richard@hughsie.com>
*
* SPDX-License-Identifier: LGPL-2.1+
*/
#pragma once
#include <glib-object.h>
#include "fu-smbios.h"
#define FU_TYPE_HWIDS (fu_hwids_get_type())
G_DECLARE_FINAL_TYPE(FuHwids, fu_hwids, FU, HWIDS, GObject)
/**
* FU_HWIDS_KEY_BASEBOARD_MANUFACTURER:
*
* The HwID key for the baseboard (motherboard) vendor.
*
* Since: 1.3.7
**/
#define FU_HWIDS_KEY_BASEBOARD_MANUFACTURER "BaseboardManufacturer"
/**
* FU_HWIDS_KEY_BASEBOARD_PRODUCT:
*
* The HwID key for baseboard (motherboard) product.
*
* Since: 1.3.7
**/
#define FU_HWIDS_KEY_BASEBOARD_PRODUCT "BaseboardProduct"
/**
* FU_HWIDS_KEY_BIOS_MAJOR_RELEASE:
*
* The HwID key for the BIOS major version.
*
* Since: 1.3.7
**/
#define FU_HWIDS_KEY_BIOS_MAJOR_RELEASE "BiosMajorRelease"
/**
* FU_HWIDS_KEY_BIOS_MINOR_RELEASE:
*
* The HwID key for the BIOS minor version.
*
* Since: 1.3.7
**/
#define FU_HWIDS_KEY_BIOS_MINOR_RELEASE "BiosMinorRelease"
/**
* FU_HWIDS_KEY_BIOS_VENDOR:
*
* The HwID key for the BIOS vendor.
*
* Since: 1.3.7
**/
#define FU_HWIDS_KEY_BIOS_VENDOR "BiosVendor"
/**
* FU_HWIDS_KEY_BIOS_VERSION:
*
* The HwID key for the BIOS version.
*
* Since: 1.3.7
**/
#define FU_HWIDS_KEY_BIOS_VERSION "BiosVersion"
/**
* FU_HWIDS_KEY_FIRMWARE_MAJOR_RELEASE:
*
* The HwID key for the firmware major version.
*
* Since: 1.6.1
**/
#define FU_HWIDS_KEY_FIRMWARE_MAJOR_RELEASE "FirmwareMajorRelease"
/**
* FU_HWIDS_KEY_FIRMWARE_MINOR_RELEASE:
*
* The HwID key for the firmware minor version.
*
* Since: 1.6.1
**/
#define FU_HWIDS_KEY_FIRMWARE_MINOR_RELEASE "FirmwareMinorRelease"
/**
* FU_HWIDS_KEY_ENCLOSURE_KIND:
*
* The HwID key for the enclosure kind.
*
* Since: 1.3.7
**/
#define FU_HWIDS_KEY_ENCLOSURE_KIND "EnclosureKind"
/**
* FU_HWIDS_KEY_FAMILY:
*
* The HwID key for the deice family.
*
* Since: 1.3.7
**/
#define FU_HWIDS_KEY_FAMILY "Family"
/**
* FU_HWIDS_KEY_MANUFACTURER:
*
* The HwID key for the top-level product vendor.
*
* Since: 1.3.7
**/
#define FU_HWIDS_KEY_MANUFACTURER "Manufacturer"
/**
* FU_HWIDS_KEY_PRODUCT_NAME:
*
* The HwID key for the top-level product product name.
*
* Since: 1.3.7
**/
#define FU_HWIDS_KEY_PRODUCT_NAME "ProductName"
/**
* FU_HWIDS_KEY_PRODUCT_SKU:
*
* The HwID key for the top-level product SKU.
*
* Since: 1.3.7
**/
#define FU_HWIDS_KEY_PRODUCT_SKU "ProductSku"
FuHwids *
fu_hwids_new(void);
GPtrArray *
fu_hwids_get_keys(FuHwids *self);
const gchar *
fu_hwids_get_value(FuHwids *self, const gchar *key);
void
fu_hwids_add_smbios_override(FuHwids *self, const gchar *key, const gchar *value);
const gchar *
fu_hwids_get_replace_keys(FuHwids *self, const gchar *key);
gchar *
fu_hwids_get_replace_values(FuHwids *self,
const gchar *keys,
GError **error) G_GNUC_WARN_UNUSED_RESULT;
gchar *
fu_hwids_get_guid(FuHwids *self, const gchar *keys, GError **error) G_GNUC_WARN_UNUSED_RESULT;
GPtrArray *
fu_hwids_get_guids(FuHwids *self);
gboolean
fu_hwids_has_guid(FuHwids *self, const gchar *guid);
gboolean
fu_hwids_setup(FuHwids *self, FuSmbios *smbios, GError **error) G_GNUC_WARN_UNUSED_RESULT;