/*
 * This file is auto-generated, do not modify!
 *
 * SPDX-License-Identifier: LGPL-2.1-or-later
 */

#pragma once
#include <libfwupd/fwupd-build.h>
/**
 * FwupdReleaseFlags:
 *
 * Flags used to represent release attributes
 */
typedef enum {
    /**
     * FWUPD_RELEASE_FLAG_NONE:
     *
     * No flags are set.
     */
    FWUPD_RELEASE_FLAG_NONE = 0,
    /**
     * FWUPD_RELEASE_FLAG_TRUSTED_PAYLOAD:
     *
     * The payload binary is trusted.
     */
    FWUPD_RELEASE_FLAG_TRUSTED_PAYLOAD = 1 << 0,
    /**
     * FWUPD_RELEASE_FLAG_TRUSTED_METADATA:
     *
     * The payload metadata is trusted.
     */
    FWUPD_RELEASE_FLAG_TRUSTED_METADATA = 1 << 1,
    /**
     * FWUPD_RELEASE_FLAG_IS_UPGRADE:
     *
     * The release is newer than the device version.
     */
    FWUPD_RELEASE_FLAG_IS_UPGRADE = 1 << 2,
    /**
     * FWUPD_RELEASE_FLAG_IS_DOWNGRADE:
     *
     * The release is older than the device version.
     */
    FWUPD_RELEASE_FLAG_IS_DOWNGRADE = 1 << 3,
    /**
     * FWUPD_RELEASE_FLAG_BLOCKED_VERSION:
     *
     * The installation of the release is blocked as below device version-lowest.
     */
    FWUPD_RELEASE_FLAG_BLOCKED_VERSION = 1 << 4,
    /**
     * FWUPD_RELEASE_FLAG_BLOCKED_APPROVAL:
     *
     * The installation of the release is blocked as release not approved by an administrator.
     */
    FWUPD_RELEASE_FLAG_BLOCKED_APPROVAL = 1 << 5,
    /**
     * FWUPD_RELEASE_FLAG_IS_ALTERNATE_BRANCH:
     *
     * The release is an alternate branch of firmware.
     */
    FWUPD_RELEASE_FLAG_IS_ALTERNATE_BRANCH = 1 << 6,
    /**
     * FWUPD_RELEASE_FLAG_IS_COMMUNITY:
     *
     * The release is supported by the community and not the hardware vendor.
     */
    FWUPD_RELEASE_FLAG_IS_COMMUNITY = 1 << 7,
    /**
     * FWUPD_RELEASE_FLAG_TRUSTED_REPORT:
     *
     * The payload has been tested by a report we trust.
     */
    FWUPD_RELEASE_FLAG_TRUSTED_REPORT = 1 << 8,
    /**
     * FWUPD_RELEASE_FLAG_UNKNOWN:
     *
     * The release flag is unknown, typically caused by using mismatched client and daemon.
     */
    FWUPD_RELEASE_FLAG_UNKNOWN = G_MAXUINT64,
}  FwupdReleaseFlags;
const gchar *fwupd_release_flag_to_string(FwupdReleaseFlags val) G_GNUC_CONST;
FwupdReleaseFlags fwupd_release_flag_from_string(const gchar *val) G_GNUC_CONST G_GNUC_NON_NULL(1);
/**
 * FwupdReleaseUrgency:
 *
 * The release urgency.
 */
typedef enum {
    /**
     * FWUPD_RELEASE_URGENCY_UNKNOWN:
     *
     * Unknown.
     */
    FWUPD_RELEASE_URGENCY_UNKNOWN,
    /**
     * FWUPD_RELEASE_URGENCY_LOW:
     *
     * Low.
     */
    FWUPD_RELEASE_URGENCY_LOW,
    /**
     * FWUPD_RELEASE_URGENCY_MEDIUM:
     *
     * Medium.
     */
    FWUPD_RELEASE_URGENCY_MEDIUM,
    /**
     * FWUPD_RELEASE_URGENCY_HIGH:
     *
     * High.
     */
    FWUPD_RELEASE_URGENCY_HIGH,
    /**
     * FWUPD_RELEASE_URGENCY_CRITICAL:
     *
     * Critical, e.g. a security fix.
     */
    FWUPD_RELEASE_URGENCY_CRITICAL,
}  FwupdReleaseUrgency;
#define FWUPD_RELEASE_URGENCY_LAST 5
const gchar *fwupd_release_urgency_to_string(FwupdReleaseUrgency val) G_GNUC_CONST;
FwupdReleaseUrgency fwupd_release_urgency_from_string(const gchar *val) G_GNUC_CONST G_GNUC_NON_NULL(1);
