diff --git a/libfwupdplugin/fu-device.c b/libfwupdplugin/fu-device.c index 9c822d0b5..af9df1113 100644 --- a/libfwupdplugin/fu-device.c +++ b/libfwupdplugin/fu-device.c @@ -206,6 +206,8 @@ fu_device_internal_flag_to_string (FuDeviceInternalFlags flag) return "replug-match-guid"; if (flag == FU_DEVICE_INTERNAL_FLAG_INHERIT_ACTIVATION) return "inherit-activation"; + if (flag == FU_DEVICE_INTERNAL_FLAG_IS_OPEN) + return "is-open"; return NULL; } @@ -238,8 +240,12 @@ fu_device_internal_flag_from_string (const gchar *flag) return FU_DEVICE_INTERNAL_FLAG_ENSURE_SEMVER; if (g_strcmp0 (flag, "retry-open") == 0) return FU_DEVICE_INTERNAL_FLAG_RETRY_OPEN; - if (g_strcmp0 (flag, "inherit-activation")) + if (g_strcmp0 (flag, "replug-match-guid") == 0) + return FU_DEVICE_INTERNAL_FLAG_REPLUG_MATCH_GUID; + if (g_strcmp0 (flag, "inherit-activation") == 0) return FU_DEVICE_INTERNAL_FLAG_INHERIT_ACTIVATION; + if (g_strcmp0 (flag, "is-open") == 0) + return FU_DEVICE_INTERNAL_FLAG_IS_OPEN; return FU_DEVICE_INTERNAL_FLAG_UNKNOWN; } diff --git a/libfwupdplugin/fu-self-test.c b/libfwupdplugin/fu-self-test.c index 79ab9ce18..9cf58e24b 100644 --- a/libfwupdplugin/fu-self-test.c +++ b/libfwupdplugin/fu-self-test.c @@ -1395,6 +1395,14 @@ fu_device_flags_func (void) { g_autoptr(FuDevice) device = fu_device_new (); + /* bitfield */ + for (guint64 i = 1; i < FU_DEVICE_INTERNAL_FLAG_UNKNOWN; i *= 2) { + const gchar *tmp = fu_device_internal_flag_to_string (i); + if (tmp == NULL) + break; + g_assert_cmpint (fu_device_internal_flag_from_string (tmp), ==, i); + } + g_assert_cmpint (fu_device_get_flags (device), ==, FWUPD_DEVICE_FLAG_NONE); /* remove IS_BOOTLOADER if is a BOOTLOADER */