Coverage Report

Created: 2025-07-18 06:26

/src/fwupd/libfwupd/fwupd-enums.c
Line
Count
Source (jump to first uncovered line)
1
/*
2
 * Copyright 2015 Richard Hughes <richard@hughsie.com>
3
 *
4
 * SPDX-License-Identifier: LGPL-2.1-or-later
5
 */
6
7
#include "config.h"
8
9
#include "fwupd-enums.h"
10
11
/**
12
 * fwupd_status_to_string:
13
 * @status: a status, e.g. %FWUPD_STATUS_DECOMPRESSING
14
 *
15
 * Converts an enumerated status to a string.
16
 *
17
 * Returns: identifier string
18
 *
19
 * Since: 0.1.1
20
 **/
21
const gchar *
22
fwupd_status_to_string(FwupdStatus status)
23
0
{
24
0
  if (status == FWUPD_STATUS_UNKNOWN)
25
0
    return "unknown";
26
0
  if (status == FWUPD_STATUS_IDLE)
27
0
    return "idle";
28
0
  if (status == FWUPD_STATUS_DECOMPRESSING)
29
0
    return "decompressing";
30
0
  if (status == FWUPD_STATUS_LOADING)
31
0
    return "loading";
32
0
  if (status == FWUPD_STATUS_DEVICE_RESTART)
33
0
    return "device-restart";
34
0
  if (status == FWUPD_STATUS_DEVICE_WRITE)
35
0
    return "device-write";
36
0
  if (status == FWUPD_STATUS_DEVICE_READ)
37
0
    return "device-read";
38
0
  if (status == FWUPD_STATUS_DEVICE_ERASE)
39
0
    return "device-erase";
40
0
  if (status == FWUPD_STATUS_DEVICE_VERIFY)
41
0
    return "device-verify";
42
0
  if (status == FWUPD_STATUS_DEVICE_BUSY)
43
0
    return "device-busy";
44
0
  if (status == FWUPD_STATUS_SCHEDULING)
45
0
    return "scheduling";
46
0
  if (status == FWUPD_STATUS_DOWNLOADING)
47
0
    return "downloading";
48
0
  if (status == FWUPD_STATUS_WAITING_FOR_AUTH)
49
0
    return "waiting-for-auth";
50
0
  if (status == FWUPD_STATUS_SHUTDOWN)
51
0
    return "shutdown";
52
0
  if (status == FWUPD_STATUS_WAITING_FOR_USER)
53
0
    return "waiting-for-user";
54
0
  return NULL;
55
0
}
56
57
/**
58
 * fwupd_status_from_string:
59
 * @status: (nullable): a string, e.g. `decompressing`
60
 *
61
 * Converts a string to an enumerated status.
62
 *
63
 * Returns: enumerated value
64
 *
65
 * Since: 0.1.1
66
 **/
67
FwupdStatus
68
fwupd_status_from_string(const gchar *status)
69
0
{
70
0
  if (g_strcmp0(status, "unknown") == 0)
71
0
    return FWUPD_STATUS_UNKNOWN;
72
0
  if (g_strcmp0(status, "idle") == 0)
73
0
    return FWUPD_STATUS_IDLE;
74
0
  if (g_strcmp0(status, "decompressing") == 0)
75
0
    return FWUPD_STATUS_DECOMPRESSING;
76
0
  if (g_strcmp0(status, "loading") == 0)
77
0
    return FWUPD_STATUS_LOADING;
78
0
  if (g_strcmp0(status, "device-restart") == 0)
79
0
    return FWUPD_STATUS_DEVICE_RESTART;
80
0
  if (g_strcmp0(status, "device-write") == 0)
81
0
    return FWUPD_STATUS_DEVICE_WRITE;
82
0
  if (g_strcmp0(status, "device-verify") == 0)
83
0
    return FWUPD_STATUS_DEVICE_VERIFY;
84
0
  if (g_strcmp0(status, "scheduling") == 0)
85
0
    return FWUPD_STATUS_SCHEDULING;
86
0
  if (g_strcmp0(status, "downloading") == 0)
87
0
    return FWUPD_STATUS_DOWNLOADING;
88
0
  if (g_strcmp0(status, "device-read") == 0)
89
0
    return FWUPD_STATUS_DEVICE_READ;
90
0
  if (g_strcmp0(status, "device-erase") == 0)
91
0
    return FWUPD_STATUS_DEVICE_ERASE;
92
0
  if (g_strcmp0(status, "device-busy") == 0)
93
0
    return FWUPD_STATUS_DEVICE_BUSY;
94
0
  if (g_strcmp0(status, "waiting-for-auth") == 0)
95
0
    return FWUPD_STATUS_WAITING_FOR_AUTH;
96
0
  if (g_strcmp0(status, "shutdown") == 0)
97
0
    return FWUPD_STATUS_SHUTDOWN;
98
0
  if (g_strcmp0(status, "waiting-for-user") == 0)
99
0
    return FWUPD_STATUS_WAITING_FOR_USER;
100
0
  return FWUPD_STATUS_LAST;
101
0
}
102
103
/**
104
 * fwupd_device_flag_to_string:
105
 * @device_flag: a device flag, e.g. %FWUPD_DEVICE_FLAG_REQUIRE_AC
106
 *
107
 * Converts a device flag to a string.
108
 *
109
 * Returns: identifier string
110
 *
111
 * Since: 0.7.0
112
 **/
113
const gchar *
114
fwupd_device_flag_to_string(FwupdDeviceFlags device_flag)
115
0
{
116
0
  if (device_flag == FWUPD_DEVICE_FLAG_NONE)
117
0
    return "none";
118
0
  if (device_flag == FWUPD_DEVICE_FLAG_INTERNAL)
119
0
    return "internal";
120
0
  if (device_flag == FWUPD_DEVICE_FLAG_UPDATABLE)
121
0
    return "updatable";
122
0
  if (device_flag == FWUPD_DEVICE_FLAG_REQUIRE_AC)
123
0
    return "require-ac";
124
0
  if (device_flag == FWUPD_DEVICE_FLAG_LOCKED)
125
0
    return "locked";
126
0
  if (device_flag == FWUPD_DEVICE_FLAG_SUPPORTED)
127
0
    return "supported";
128
0
  if (device_flag == FWUPD_DEVICE_FLAG_NEEDS_BOOTLOADER)
129
0
    return "needs-bootloader";
130
0
  if (device_flag == FWUPD_DEVICE_FLAG_NEEDS_REBOOT)
131
0
    return "needs-reboot";
132
0
  if (device_flag == FWUPD_DEVICE_FLAG_NEEDS_SHUTDOWN)
133
0
    return "needs-shutdown";
134
0
  if (device_flag == FWUPD_DEVICE_FLAG_REPORTED)
135
0
    return "reported";
136
0
  if (device_flag == FWUPD_DEVICE_FLAG_NOTIFIED)
137
0
    return "notified";
138
0
  if (device_flag == FWUPD_DEVICE_FLAG_IS_BOOTLOADER)
139
0
    return "is-bootloader";
140
0
  if (device_flag == FWUPD_DEVICE_FLAG_WAIT_FOR_REPLUG)
141
0
    return "wait-for-replug";
142
0
  if (device_flag == FWUPD_DEVICE_FLAG_ANOTHER_WRITE_REQUIRED)
143
0
    return "another-write-required";
144
0
  if (device_flag == FWUPD_DEVICE_FLAG_NEEDS_ACTIVATION)
145
0
    return "needs-activation";
146
0
  if (device_flag == FWUPD_DEVICE_FLAG_HISTORICAL)
147
0
    return "historical";
148
0
  if (device_flag == FWUPD_DEVICE_FLAG_WILL_DISAPPEAR)
149
0
    return "will-disappear";
150
0
  if (device_flag == FWUPD_DEVICE_FLAG_CAN_VERIFY)
151
0
    return "can-verify";
152
0
  if (device_flag == FWUPD_DEVICE_FLAG_CAN_VERIFY_IMAGE)
153
0
    return "can-verify-image";
154
0
  if (device_flag == FWUPD_DEVICE_FLAG_DUAL_IMAGE)
155
0
    return "dual-image";
156
0
  if (device_flag == FWUPD_DEVICE_FLAG_SELF_RECOVERY)
157
0
    return "self-recovery";
158
0
  if (device_flag == FWUPD_DEVICE_FLAG_USABLE_DURING_UPDATE)
159
0
    return "usable-during-update";
160
0
  if (device_flag == FWUPD_DEVICE_FLAG_VERSION_CHECK_REQUIRED)
161
0
    return "version-check-required";
162
0
  if (device_flag == FWUPD_DEVICE_FLAG_INSTALL_ALL_RELEASES)
163
0
    return "install-all-releases";
164
0
  if (device_flag == FWUPD_DEVICE_FLAG_UPDATABLE_HIDDEN)
165
0
    return "updatable-hidden";
166
0
  if (device_flag == FWUPD_DEVICE_FLAG_HAS_MULTIPLE_BRANCHES)
167
0
    return "has-multiple-branches";
168
0
  if (device_flag == FWUPD_DEVICE_FLAG_BACKUP_BEFORE_INSTALL)
169
0
    return "backup-before-install";
170
0
  if (device_flag == FWUPD_DEVICE_FLAG_WILDCARD_INSTALL)
171
0
    return "wildcard-install";
172
0
  if (device_flag == FWUPD_DEVICE_FLAG_ONLY_VERSION_UPGRADE)
173
0
    return "only-version-upgrade";
174
0
  if (device_flag == FWUPD_DEVICE_FLAG_UNREACHABLE)
175
0
    return "unreachable";
176
0
  if (device_flag == FWUPD_DEVICE_FLAG_AFFECTS_FDE)
177
0
    return "affects-fde";
178
0
  if (device_flag == FWUPD_DEVICE_FLAG_END_OF_LIFE)
179
0
    return "end-of-life";
180
0
  if (device_flag == FWUPD_DEVICE_FLAG_SIGNED_PAYLOAD)
181
0
    return "signed-payload";
182
0
  if (device_flag == FWUPD_DEVICE_FLAG_UNSIGNED_PAYLOAD)
183
0
    return "unsigned-payload";
184
0
  if (device_flag == FWUPD_DEVICE_FLAG_EMULATED)
185
0
    return "emulated";
186
0
  if (device_flag == FWUPD_DEVICE_FLAG_EMULATION_TAG)
187
0
    return "emulation-tag";
188
0
  if (device_flag == FWUPD_DEVICE_FLAG_ONLY_EXPLICIT_UPDATES)
189
0
    return "only-explicit-updates";
190
0
  if (device_flag == FWUPD_DEVICE_FLAG_CAN_EMULATION_TAG)
191
0
    return "can-emulation-tag";
192
0
  if (device_flag == FWUPD_DEVICE_FLAG_INSTALL_SKIP_VERSION_CHECK)
193
0
    return "install-skip-version-check";
194
0
  return NULL;
195
0
}
196
197
/**
198
 * fwupd_device_flag_from_string:
199
 * @device_flag: (nullable): a string, e.g. `require-ac`
200
 *
201
 * Converts a string to an enumerated device flag.
202
 *
203
 * Returns: enumerated value
204
 *
205
 * Since: 0.7.0
206
 **/
207
FwupdDeviceFlags
208
fwupd_device_flag_from_string(const gchar *device_flag)
209
0
{
210
0
  if (g_strcmp0(device_flag, "none") == 0)
211
0
    return FWUPD_DEVICE_FLAG_NONE;
212
0
  if (g_strcmp0(device_flag, "internal") == 0)
213
0
    return FWUPD_DEVICE_FLAG_INTERNAL;
214
0
  if (g_strcmp0(device_flag, "updatable") == 0 || g_strcmp0(device_flag, "allow-online") == 0)
215
0
    return FWUPD_DEVICE_FLAG_UPDATABLE;
216
0
  if (g_strcmp0(device_flag, "require-ac") == 0)
217
0
    return FWUPD_DEVICE_FLAG_REQUIRE_AC;
218
0
  if (g_strcmp0(device_flag, "locked") == 0)
219
0
    return FWUPD_DEVICE_FLAG_LOCKED;
220
0
  if (g_strcmp0(device_flag, "supported") == 0)
221
0
    return FWUPD_DEVICE_FLAG_SUPPORTED;
222
0
  if (g_strcmp0(device_flag, "needs-bootloader") == 0)
223
0
    return FWUPD_DEVICE_FLAG_NEEDS_BOOTLOADER;
224
0
  if (g_strcmp0(device_flag, "needs-reboot") == 0)
225
0
    return FWUPD_DEVICE_FLAG_NEEDS_REBOOT;
226
0
  if (g_strcmp0(device_flag, "needs-shutdown") == 0)
227
0
    return FWUPD_DEVICE_FLAG_NEEDS_SHUTDOWN;
228
0
  if (g_strcmp0(device_flag, "reported") == 0)
229
0
    return FWUPD_DEVICE_FLAG_REPORTED;
230
0
  if (g_strcmp0(device_flag, "notified") == 0)
231
0
    return FWUPD_DEVICE_FLAG_NOTIFIED;
232
0
  if (g_strcmp0(device_flag, "is-bootloader") == 0)
233
0
    return FWUPD_DEVICE_FLAG_IS_BOOTLOADER;
234
0
  if (g_strcmp0(device_flag, "wait-for-replug") == 0)
235
0
    return FWUPD_DEVICE_FLAG_WAIT_FOR_REPLUG;
236
0
  if (g_strcmp0(device_flag, "another-write-required") == 0)
237
0
    return FWUPD_DEVICE_FLAG_ANOTHER_WRITE_REQUIRED;
238
0
  if (g_strcmp0(device_flag, "needs-activation") == 0)
239
0
    return FWUPD_DEVICE_FLAG_NEEDS_ACTIVATION;
240
0
  if (g_strcmp0(device_flag, "historical") == 0)
241
0
    return FWUPD_DEVICE_FLAG_HISTORICAL;
242
0
  if (g_strcmp0(device_flag, "will-disappear") == 0)
243
0
    return FWUPD_DEVICE_FLAG_WILL_DISAPPEAR;
244
0
  if (g_strcmp0(device_flag, "can-verify") == 0)
245
0
    return FWUPD_DEVICE_FLAG_CAN_VERIFY;
246
0
  if (g_strcmp0(device_flag, "can-verify-image") == 0)
247
0
    return FWUPD_DEVICE_FLAG_CAN_VERIFY_IMAGE;
248
0
  if (g_strcmp0(device_flag, "dual-image") == 0)
249
0
    return FWUPD_DEVICE_FLAG_DUAL_IMAGE;
250
0
  if (g_strcmp0(device_flag, "self-recovery") == 0)
251
0
    return FWUPD_DEVICE_FLAG_SELF_RECOVERY;
252
0
  if (g_strcmp0(device_flag, "usable-during-update") == 0)
253
0
    return FWUPD_DEVICE_FLAG_USABLE_DURING_UPDATE;
254
0
  if (g_strcmp0(device_flag, "version-check-required") == 0)
255
0
    return FWUPD_DEVICE_FLAG_VERSION_CHECK_REQUIRED;
256
0
  if (g_strcmp0(device_flag, "install-all-releases") == 0)
257
0
    return FWUPD_DEVICE_FLAG_INSTALL_ALL_RELEASES;
258
0
  if (g_strcmp0(device_flag, "updatable-hidden") == 0)
259
0
    return FWUPD_DEVICE_FLAG_UPDATABLE_HIDDEN;
260
0
  if (g_strcmp0(device_flag, "has-multiple-branches") == 0)
261
0
    return FWUPD_DEVICE_FLAG_HAS_MULTIPLE_BRANCHES;
262
0
  if (g_strcmp0(device_flag, "backup-before-install") == 0)
263
0
    return FWUPD_DEVICE_FLAG_BACKUP_BEFORE_INSTALL;
264
0
  if (g_strcmp0(device_flag, "wildcard-install") == 0)
265
0
    return FWUPD_DEVICE_FLAG_WILDCARD_INSTALL;
266
0
  if (g_strcmp0(device_flag, "only-version-upgrade") == 0)
267
0
    return FWUPD_DEVICE_FLAG_ONLY_VERSION_UPGRADE;
268
0
  if (g_strcmp0(device_flag, "unreachable") == 0)
269
0
    return FWUPD_DEVICE_FLAG_UNREACHABLE;
270
0
  if (g_strcmp0(device_flag, "affects-fde") == 0)
271
0
    return FWUPD_DEVICE_FLAG_AFFECTS_FDE;
272
0
  if (g_strcmp0(device_flag, "end-of-life") == 0)
273
0
    return FWUPD_DEVICE_FLAG_END_OF_LIFE;
274
0
  if (g_strcmp0(device_flag, "signed-payload") == 0)
275
0
    return FWUPD_DEVICE_FLAG_SIGNED_PAYLOAD;
276
0
  if (g_strcmp0(device_flag, "unsigned-payload") == 0)
277
0
    return FWUPD_DEVICE_FLAG_UNSIGNED_PAYLOAD;
278
0
  if (g_strcmp0(device_flag, "emulated") == 0)
279
0
    return FWUPD_DEVICE_FLAG_EMULATED;
280
0
  if (g_strcmp0(device_flag, "emulation-tag") == 0)
281
0
    return FWUPD_DEVICE_FLAG_EMULATION_TAG;
282
0
  if (g_strcmp0(device_flag, "only-explicit-updates") == 0)
283
0
    return FWUPD_DEVICE_FLAG_ONLY_EXPLICIT_UPDATES;
284
0
  if (g_strcmp0(device_flag, "can-emulation-tag") == 0)
285
0
    return FWUPD_DEVICE_FLAG_CAN_EMULATION_TAG;
286
0
  if (g_strcmp0(device_flag, "install-skip-version-check") == 0)
287
0
    return FWUPD_DEVICE_FLAG_INSTALL_SKIP_VERSION_CHECK;
288
0
  return FWUPD_DEVICE_FLAG_UNKNOWN;
289
0
}
290
291
/**
292
 * fwupd_device_problem_to_string:
293
 * @device_problem: a device inhibit kind, e.g. %FWUPD_DEVICE_PROBLEM_SYSTEM_POWER_TOO_LOW
294
 *
295
 * Converts a device inhibit kind to a string.
296
 *
297
 * Returns: identifier string
298
 *
299
 * Since: 1.8.1
300
 **/
301
const gchar *
302
fwupd_device_problem_to_string(FwupdDeviceProblem device_problem)
303
0
{
304
0
  if (device_problem == FWUPD_DEVICE_PROBLEM_NONE)
305
0
    return "none";
306
0
  if (device_problem == FWUPD_DEVICE_PROBLEM_SYSTEM_POWER_TOO_LOW)
307
0
    return "system-power-too-low";
308
0
  if (device_problem == FWUPD_DEVICE_PROBLEM_UNREACHABLE)
309
0
    return "unreachable";
310
0
  if (device_problem == FWUPD_DEVICE_PROBLEM_POWER_TOO_LOW)
311
0
    return "power-too-low";
312
0
  if (device_problem == FWUPD_DEVICE_PROBLEM_UPDATE_PENDING)
313
0
    return "update-pending";
314
0
  if (device_problem == FWUPD_DEVICE_PROBLEM_REQUIRE_AC_POWER)
315
0
    return "require-ac-power";
316
0
  if (device_problem == FWUPD_DEVICE_PROBLEM_LID_IS_CLOSED)
317
0
    return "lid-is-closed";
318
0
  if (device_problem == FWUPD_DEVICE_PROBLEM_IS_EMULATED)
319
0
    return "is-emulated";
320
0
  if (device_problem == FWUPD_DEVICE_PROBLEM_MISSING_LICENSE)
321
0
    return "missing-license";
322
0
  if (device_problem == FWUPD_DEVICE_PROBLEM_SYSTEM_INHIBIT)
323
0
    return "system-inhibit";
324
0
  if (device_problem == FWUPD_DEVICE_PROBLEM_UPDATE_IN_PROGRESS)
325
0
    return "update-in-progress";
326
0
  if (device_problem == FWUPD_DEVICE_PROBLEM_IN_USE)
327
0
    return "in-use";
328
0
  if (device_problem == FWUPD_DEVICE_PROBLEM_DISPLAY_REQUIRED)
329
0
    return "display-required";
330
0
  if (device_problem == FWUPD_DEVICE_PROBLEM_LOWER_PRIORITY)
331
0
    return "lower-priority";
332
0
  if (device_problem == FWUPD_DEVICE_PROBLEM_UNKNOWN)
333
0
    return "unknown";
334
0
  return NULL;
335
0
}
336
337
/**
338
 * fwupd_device_problem_from_string:
339
 * @device_problem: (nullable): a string, e.g. `require-ac`
340
 *
341
 * Converts a string to a enumerated device inhibit kind.
342
 *
343
 * Returns: enumerated value
344
 *
345
 * Since: 1.8.1
346
 **/
347
FwupdDeviceProblem
348
fwupd_device_problem_from_string(const gchar *device_problem)
349
0
{
350
0
  if (g_strcmp0(device_problem, "none") == 0)
351
0
    return FWUPD_DEVICE_PROBLEM_NONE;
352
0
  if (g_strcmp0(device_problem, "system-power-too-low") == 0)
353
0
    return FWUPD_DEVICE_PROBLEM_SYSTEM_POWER_TOO_LOW;
354
0
  if (g_strcmp0(device_problem, "unreachable") == 0)
355
0
    return FWUPD_DEVICE_PROBLEM_UNREACHABLE;
356
0
  if (g_strcmp0(device_problem, "power-too-low") == 0)
357
0
    return FWUPD_DEVICE_PROBLEM_POWER_TOO_LOW;
358
0
  if (g_strcmp0(device_problem, "update-pending") == 0)
359
0
    return FWUPD_DEVICE_PROBLEM_UPDATE_PENDING;
360
0
  if (g_strcmp0(device_problem, "require-ac-power") == 0)
361
0
    return FWUPD_DEVICE_PROBLEM_REQUIRE_AC_POWER;
362
0
  if (g_strcmp0(device_problem, "lid-is-closed") == 0)
363
0
    return FWUPD_DEVICE_PROBLEM_LID_IS_CLOSED;
364
0
  if (g_strcmp0(device_problem, "is-emulated") == 0)
365
0
    return FWUPD_DEVICE_PROBLEM_IS_EMULATED;
366
0
  if (g_strcmp0(device_problem, "missing-license") == 0)
367
0
    return FWUPD_DEVICE_PROBLEM_MISSING_LICENSE;
368
0
  if (g_strcmp0(device_problem, "system-inhibit") == 0)
369
0
    return FWUPD_DEVICE_PROBLEM_SYSTEM_INHIBIT;
370
0
  if (g_strcmp0(device_problem, "update-in-progress") == 0)
371
0
    return FWUPD_DEVICE_PROBLEM_UPDATE_IN_PROGRESS;
372
0
  if (g_strcmp0(device_problem, "in-use") == 0)
373
0
    return FWUPD_DEVICE_PROBLEM_IN_USE;
374
0
  if (g_strcmp0(device_problem, "display-required") == 0)
375
0
    return FWUPD_DEVICE_PROBLEM_DISPLAY_REQUIRED;
376
0
  if (g_strcmp0(device_problem, "lower-priority") == 0)
377
0
    return FWUPD_DEVICE_PROBLEM_LOWER_PRIORITY;
378
0
  return FWUPD_DEVICE_PROBLEM_UNKNOWN;
379
0
}
380
381
/**
382
 * fwupd_plugin_flag_to_string:
383
 * @plugin_flag: plugin flags, e.g. %FWUPD_PLUGIN_FLAG_CLEAR_UPDATABLE
384
 *
385
 * Converts an enumerated plugin flag to a string.
386
 *
387
 * Returns: identifier string
388
 *
389
 * Since: 1.5.0
390
 **/
391
const gchar *
392
fwupd_plugin_flag_to_string(FwupdPluginFlags plugin_flag)
393
0
{
394
0
  if (plugin_flag == FWUPD_PLUGIN_FLAG_NONE)
395
0
    return "none";
396
0
  if (plugin_flag == FWUPD_PLUGIN_FLAG_DISABLED)
397
0
    return "disabled";
398
0
  if (plugin_flag == FWUPD_PLUGIN_FLAG_USER_WARNING)
399
0
    return "user-warning";
400
0
  if (plugin_flag == FWUPD_PLUGIN_FLAG_CLEAR_UPDATABLE)
401
0
    return "clear-updatable";
402
0
  if (plugin_flag == FWUPD_PLUGIN_FLAG_NO_HARDWARE)
403
0
    return "no-hardware";
404
0
  if (plugin_flag == FWUPD_PLUGIN_FLAG_CAPSULES_UNSUPPORTED)
405
0
    return "capsules-unsupported";
406
0
  if (plugin_flag == FWUPD_PLUGIN_FLAG_UNLOCK_REQUIRED)
407
0
    return "unlock-required";
408
0
  if (plugin_flag == FWUPD_PLUGIN_FLAG_EFIVAR_NOT_MOUNTED)
409
0
    return "efivar-not-mounted";
410
0
  if (plugin_flag == FWUPD_PLUGIN_FLAG_ESP_NOT_FOUND)
411
0
    return "esp-not-found";
412
0
  if (plugin_flag == FWUPD_PLUGIN_FLAG_ESP_NOT_VALID)
413
0
    return "esp-not-valid";
414
0
  if (plugin_flag == FWUPD_PLUGIN_FLAG_LEGACY_BIOS)
415
0
    return "legacy-bios";
416
0
  if (plugin_flag == FWUPD_PLUGIN_FLAG_FAILED_OPEN)
417
0
    return "failed-open";
418
0
  if (plugin_flag == FWUPD_PLUGIN_FLAG_REQUIRE_HWID)
419
0
    return "require-hwid";
420
0
  if (plugin_flag == FWUPD_PLUGIN_FLAG_KERNEL_TOO_OLD)
421
0
    return "kernel-too-old";
422
0
  if (plugin_flag == FWUPD_PLUGIN_FLAG_UNKNOWN)
423
0
    return "unknown";
424
0
  if (plugin_flag == FWUPD_PLUGIN_FLAG_AUTH_REQUIRED)
425
0
    return "auth-required";
426
0
  if (plugin_flag == FWUPD_PLUGIN_FLAG_SECURE_CONFIG)
427
0
    return "secure-config";
428
0
  if (plugin_flag == FWUPD_PLUGIN_FLAG_MODULAR)
429
0
    return "modular";
430
0
  if (plugin_flag == FWUPD_PLUGIN_FLAG_MEASURE_SYSTEM_INTEGRITY)
431
0
    return "measure-system-integrity";
432
0
  if (plugin_flag == FWUPD_PLUGIN_FLAG_READY)
433
0
    return "ready";
434
0
  if (plugin_flag == FWUPD_PLUGIN_FLAG_TEST_ONLY)
435
0
    return "test-only";
436
0
  if (plugin_flag == FWUPD_PLUGIN_FLAG_MUTABLE_ENUMERATION)
437
0
    return "mutable-enumeration";
438
0
  return NULL;
439
0
}
440
441
/**
442
 * fwupd_plugin_flag_from_string:
443
 * @plugin_flag: (nullable): a string, e.g. `require-ac`
444
 *
445
 * Converts a string to an enumerated plugin flag.
446
 *
447
 * Returns: enumerated value
448
 *
449
 * Since: 1.5.0
450
 **/
451
FwupdPluginFlags
452
fwupd_plugin_flag_from_string(const gchar *plugin_flag)
453
0
{
454
0
  if (g_strcmp0(plugin_flag, "none") == 0)
455
0
    return FWUPD_PLUGIN_FLAG_NONE;
456
0
  if (g_strcmp0(plugin_flag, "disabled") == 0)
457
0
    return FWUPD_PLUGIN_FLAG_DISABLED;
458
0
  if (g_strcmp0(plugin_flag, "user-warning") == 0)
459
0
    return FWUPD_PLUGIN_FLAG_USER_WARNING;
460
0
  if (g_strcmp0(plugin_flag, "clear-updatable") == 0)
461
0
    return FWUPD_PLUGIN_FLAG_CLEAR_UPDATABLE;
462
0
  if (g_strcmp0(plugin_flag, "no-hardware") == 0)
463
0
    return FWUPD_PLUGIN_FLAG_NO_HARDWARE;
464
0
  if (g_strcmp0(plugin_flag, "capsules-unsupported") == 0)
465
0
    return FWUPD_PLUGIN_FLAG_CAPSULES_UNSUPPORTED;
466
0
  if (g_strcmp0(plugin_flag, "unlock-required") == 0)
467
0
    return FWUPD_PLUGIN_FLAG_UNLOCK_REQUIRED;
468
0
  if (g_strcmp0(plugin_flag, "efivar-not-mounted") == 0)
469
0
    return FWUPD_PLUGIN_FLAG_EFIVAR_NOT_MOUNTED;
470
0
  if (g_strcmp0(plugin_flag, "esp-not-found") == 0)
471
0
    return FWUPD_PLUGIN_FLAG_ESP_NOT_FOUND;
472
0
  if (g_strcmp0(plugin_flag, "esp-not-valid") == 0)
473
0
    return FWUPD_PLUGIN_FLAG_ESP_NOT_VALID;
474
0
  if (g_strcmp0(plugin_flag, "legacy-bios") == 0)
475
0
    return FWUPD_PLUGIN_FLAG_LEGACY_BIOS;
476
0
  if (g_strcmp0(plugin_flag, "failed-open") == 0)
477
0
    return FWUPD_PLUGIN_FLAG_FAILED_OPEN;
478
0
  if (g_strcmp0(plugin_flag, "require-hwid") == 0)
479
0
    return FWUPD_PLUGIN_FLAG_REQUIRE_HWID;
480
0
  if (g_strcmp0(plugin_flag, "kernel-too-old") == 0)
481
0
    return FWUPD_PLUGIN_FLAG_KERNEL_TOO_OLD;
482
0
  if (g_strcmp0(plugin_flag, "auth-required") == 0)
483
0
    return FWUPD_PLUGIN_FLAG_AUTH_REQUIRED;
484
0
  if (g_strcmp0(plugin_flag, "secure-config") == 0)
485
0
    return FWUPD_PLUGIN_FLAG_SECURE_CONFIG;
486
0
  if (g_strcmp0(plugin_flag, "modular") == 0)
487
0
    return FWUPD_PLUGIN_FLAG_MODULAR;
488
0
  if (g_strcmp0(plugin_flag, "measure-system-integrity") == 0)
489
0
    return FWUPD_PLUGIN_FLAG_MEASURE_SYSTEM_INTEGRITY;
490
0
  if (g_strcmp0(plugin_flag, "ready") == 0)
491
0
    return FWUPD_PLUGIN_FLAG_READY;
492
0
  if (g_strcmp0(plugin_flag, "test-only") == 0)
493
0
    return FWUPD_PLUGIN_FLAG_TEST_ONLY;
494
0
  if (g_strcmp0(plugin_flag, "mutable-enumeration") == 0)
495
0
    return FWUPD_PLUGIN_FLAG_MUTABLE_ENUMERATION;
496
0
  return FWUPD_PLUGIN_FLAG_UNKNOWN;
497
0
}
498
499
/**
500
 * fwupd_update_state_to_string:
501
 * @update_state: the update state, e.g. %FWUPD_UPDATE_STATE_PENDING
502
 *
503
 * Converts an enumerated update state to a string.
504
 *
505
 * Returns: identifier string
506
 *
507
 * Since: 0.7.0
508
 **/
509
const gchar *
510
fwupd_update_state_to_string(FwupdUpdateState update_state)
511
0
{
512
0
  if (update_state == FWUPD_UPDATE_STATE_UNKNOWN)
513
0
    return "unknown";
514
0
  if (update_state == FWUPD_UPDATE_STATE_PENDING)
515
0
    return "pending";
516
0
  if (update_state == FWUPD_UPDATE_STATE_SUCCESS)
517
0
    return "success";
518
0
  if (update_state == FWUPD_UPDATE_STATE_FAILED)
519
0
    return "failed";
520
0
  if (update_state == FWUPD_UPDATE_STATE_FAILED_TRANSIENT)
521
0
    return "failed-transient";
522
0
  if (update_state == FWUPD_UPDATE_STATE_NEEDS_REBOOT)
523
0
    return "needs-reboot";
524
0
  return NULL;
525
0
}
526
527
/**
528
 * fwupd_update_state_from_string:
529
 * @update_state: (nullable): a string, e.g. `pending`
530
 *
531
 * Converts a string to an enumerated update state.
532
 *
533
 * Returns: enumerated value
534
 *
535
 * Since: 0.7.0
536
 **/
537
FwupdUpdateState
538
fwupd_update_state_from_string(const gchar *update_state)
539
0
{
540
0
  if (g_strcmp0(update_state, "unknown") == 0)
541
0
    return FWUPD_UPDATE_STATE_UNKNOWN;
542
0
  if (g_strcmp0(update_state, "pending") == 0)
543
0
    return FWUPD_UPDATE_STATE_PENDING;
544
0
  if (g_strcmp0(update_state, "success") == 0)
545
0
    return FWUPD_UPDATE_STATE_SUCCESS;
546
0
  if (g_strcmp0(update_state, "failed") == 0)
547
0
    return FWUPD_UPDATE_STATE_FAILED;
548
0
  if (g_strcmp0(update_state, "failed-transient") == 0)
549
0
    return FWUPD_UPDATE_STATE_FAILED_TRANSIENT;
550
0
  if (g_strcmp0(update_state, "needs-reboot") == 0)
551
0
    return FWUPD_UPDATE_STATE_NEEDS_REBOOT;
552
0
  return FWUPD_UPDATE_STATE_UNKNOWN;
553
0
}
554
555
/**
556
 * fwupd_feature_flag_to_string:
557
 * @feature_flag: a single feature flag, e.g. %FWUPD_FEATURE_FLAG_DETACH_ACTION
558
 *
559
 * Converts a feature flag to a string.
560
 *
561
 * Returns: identifier string
562
 *
563
 * Since: 1.4.5
564
 **/
565
const gchar *
566
fwupd_feature_flag_to_string(FwupdFeatureFlags feature_flag)
567
0
{
568
0
  if (feature_flag == FWUPD_FEATURE_FLAG_NONE)
569
0
    return "none";
570
0
  if (feature_flag == FWUPD_FEATURE_FLAG_CAN_REPORT)
571
0
    return "can-report";
572
0
  if (feature_flag == FWUPD_FEATURE_FLAG_DETACH_ACTION)
573
0
    return "detach-action";
574
0
  if (feature_flag == FWUPD_FEATURE_FLAG_UPDATE_ACTION)
575
0
    return "update-action";
576
0
  if (feature_flag == FWUPD_FEATURE_FLAG_SWITCH_BRANCH)
577
0
    return "switch-branch";
578
0
  if (feature_flag == FWUPD_FEATURE_FLAG_REQUESTS)
579
0
    return "requests";
580
0
  if (feature_flag == FWUPD_FEATURE_FLAG_FDE_WARNING)
581
0
    return "fde-warning";
582
0
  if (feature_flag == FWUPD_FEATURE_FLAG_COMMUNITY_TEXT)
583
0
    return "community-text";
584
0
  if (feature_flag == FWUPD_FEATURE_FLAG_SHOW_PROBLEMS)
585
0
    return "show-problems";
586
0
  if (feature_flag == FWUPD_FEATURE_FLAG_ALLOW_AUTHENTICATION)
587
0
    return "allow-authentication";
588
0
  if (feature_flag == FWUPD_FEATURE_FLAG_REQUESTS_NON_GENERIC)
589
0
    return "requests-non-generic";
590
0
  return NULL;
591
0
}
592
593
/**
594
 * fwupd_feature_flag_from_string:
595
 * @feature_flag: (nullable): a string, e.g. `detach-action`
596
 *
597
 * Converts a string to an enumerated feature flag.
598
 *
599
 * Returns: enumerated value
600
 *
601
 * Since: 1.4.5
602
 **/
603
FwupdFeatureFlags
604
fwupd_feature_flag_from_string(const gchar *feature_flag)
605
0
{
606
0
  if (g_strcmp0(feature_flag, "none") == 0)
607
0
    return FWUPD_FEATURE_FLAG_NONE;
608
0
  if (g_strcmp0(feature_flag, "can-report") == 0)
609
0
    return FWUPD_FEATURE_FLAG_CAN_REPORT;
610
0
  if (g_strcmp0(feature_flag, "detach-action") == 0)
611
0
    return FWUPD_FEATURE_FLAG_DETACH_ACTION;
612
0
  if (g_strcmp0(feature_flag, "update-action") == 0)
613
0
    return FWUPD_FEATURE_FLAG_UPDATE_ACTION;
614
0
  if (g_strcmp0(feature_flag, "switch-branch") == 0)
615
0
    return FWUPD_FEATURE_FLAG_SWITCH_BRANCH;
616
0
  if (g_strcmp0(feature_flag, "requests") == 0)
617
0
    return FWUPD_FEATURE_FLAG_REQUESTS;
618
0
  if (g_strcmp0(feature_flag, "fde-warning") == 0)
619
0
    return FWUPD_FEATURE_FLAG_FDE_WARNING;
620
0
  if (g_strcmp0(feature_flag, "community-text") == 0)
621
0
    return FWUPD_FEATURE_FLAG_COMMUNITY_TEXT;
622
0
  if (g_strcmp0(feature_flag, "show-problems") == 0)
623
0
    return FWUPD_FEATURE_FLAG_SHOW_PROBLEMS;
624
0
  if (g_strcmp0(feature_flag, "allow-authentication") == 0)
625
0
    return FWUPD_FEATURE_FLAG_ALLOW_AUTHENTICATION;
626
0
  if (g_strcmp0(feature_flag, "requests-non-generic") == 0)
627
0
    return FWUPD_FEATURE_FLAG_REQUESTS_NON_GENERIC;
628
0
  return FWUPD_FEATURE_FLAG_UNKNOWN;
629
0
}
630
631
/**
632
 * fwupd_release_flag_to_string:
633
 * @release_flag: a release flag, e.g. %FWUPD_RELEASE_FLAG_TRUSTED_PAYLOAD
634
 *
635
 * Converts an enumerated release flag to a string.
636
 *
637
 * Returns: identifier string
638
 *
639
 * Since: 1.2.6
640
 **/
641
const gchar *
642
fwupd_release_flag_to_string(FwupdReleaseFlags release_flag)
643
0
{
644
0
  if (release_flag == FWUPD_RELEASE_FLAG_NONE)
645
0
    return "none";
646
0
  if (release_flag == FWUPD_RELEASE_FLAG_TRUSTED_PAYLOAD)
647
0
    return "trusted-payload";
648
0
  if (release_flag == FWUPD_RELEASE_FLAG_TRUSTED_METADATA)
649
0
    return "trusted-metadata";
650
0
  if (release_flag == FWUPD_RELEASE_FLAG_IS_UPGRADE)
651
0
    return "is-upgrade";
652
0
  if (release_flag == FWUPD_RELEASE_FLAG_IS_DOWNGRADE)
653
0
    return "is-downgrade";
654
0
  if (release_flag == FWUPD_RELEASE_FLAG_BLOCKED_VERSION)
655
0
    return "blocked-version";
656
0
  if (release_flag == FWUPD_RELEASE_FLAG_BLOCKED_APPROVAL)
657
0
    return "blocked-approval";
658
0
  if (release_flag == FWUPD_RELEASE_FLAG_IS_ALTERNATE_BRANCH)
659
0
    return "is-alternate-branch";
660
0
  if (release_flag == FWUPD_RELEASE_FLAG_IS_COMMUNITY)
661
0
    return "is-community";
662
0
  if (release_flag == FWUPD_RELEASE_FLAG_TRUSTED_REPORT)
663
0
    return "trusted-report";
664
0
  return NULL;
665
0
}
666
667
/**
668
 * fwupd_release_flag_from_string:
669
 * @release_flag: (nullable): a string, e.g. `trusted-payload`
670
 *
671
 * Converts a string to an enumerated release flag.
672
 *
673
 * Returns: enumerated value
674
 *
675
 * Since: 1.2.6
676
 **/
677
FwupdReleaseFlags
678
fwupd_release_flag_from_string(const gchar *release_flag)
679
0
{
680
0
  if (g_strcmp0(release_flag, "trusted-payload") == 0)
681
0
    return FWUPD_RELEASE_FLAG_TRUSTED_PAYLOAD;
682
0
  if (g_strcmp0(release_flag, "trusted-metadata") == 0)
683
0
    return FWUPD_RELEASE_FLAG_TRUSTED_METADATA;
684
0
  if (g_strcmp0(release_flag, "is-upgrade") == 0)
685
0
    return FWUPD_RELEASE_FLAG_IS_UPGRADE;
686
0
  if (g_strcmp0(release_flag, "is-downgrade") == 0)
687
0
    return FWUPD_RELEASE_FLAG_IS_DOWNGRADE;
688
0
  if (g_strcmp0(release_flag, "blocked-version") == 0)
689
0
    return FWUPD_RELEASE_FLAG_BLOCKED_VERSION;
690
0
  if (g_strcmp0(release_flag, "blocked-approval") == 0)
691
0
    return FWUPD_RELEASE_FLAG_BLOCKED_APPROVAL;
692
0
  if (g_strcmp0(release_flag, "is-alternate-branch") == 0)
693
0
    return FWUPD_RELEASE_FLAG_IS_ALTERNATE_BRANCH;
694
0
  if (g_strcmp0(release_flag, "is-community") == 0)
695
0
    return FWUPD_RELEASE_FLAG_IS_COMMUNITY;
696
0
  if (g_strcmp0(release_flag, "trusted-report") == 0)
697
0
    return FWUPD_RELEASE_FLAG_TRUSTED_REPORT;
698
0
  return FWUPD_RELEASE_FLAG_NONE;
699
0
}
700
701
/**
702
 * fwupd_release_urgency_to_string:
703
 * @release_urgency: a release urgency, e.g. %FWUPD_RELEASE_URGENCY_HIGH
704
 *
705
 * Converts an enumerated release urgency to a string.
706
 *
707
 * Returns: identifier string
708
 *
709
 * Since: 1.4.0
710
 **/
711
const gchar *
712
fwupd_release_urgency_to_string(FwupdReleaseUrgency release_urgency)
713
0
{
714
0
  if (release_urgency == FWUPD_RELEASE_URGENCY_LOW)
715
0
    return "low";
716
0
  if (release_urgency == FWUPD_RELEASE_URGENCY_MEDIUM)
717
0
    return "medium";
718
0
  if (release_urgency == FWUPD_RELEASE_URGENCY_HIGH)
719
0
    return "high";
720
0
  if (release_urgency == FWUPD_RELEASE_URGENCY_CRITICAL)
721
0
    return "critical";
722
0
  return NULL;
723
0
}
724
725
/**
726
 * fwupd_release_urgency_from_string:
727
 * @release_urgency: (nullable): a string, e.g. `low`
728
 *
729
 * Converts a string to an enumerated release urgency value.
730
 *
731
 * Returns: enumerated value
732
 *
733
 * Since: 1.4.0
734
 **/
735
FwupdReleaseUrgency
736
fwupd_release_urgency_from_string(const gchar *release_urgency)
737
0
{
738
0
  if (g_strcmp0(release_urgency, "low") == 0)
739
0
    return FWUPD_RELEASE_URGENCY_LOW;
740
0
  if (g_strcmp0(release_urgency, "medium") == 0)
741
0
    return FWUPD_RELEASE_URGENCY_MEDIUM;
742
0
  if (g_strcmp0(release_urgency, "high") == 0)
743
0
    return FWUPD_RELEASE_URGENCY_HIGH;
744
0
  if (g_strcmp0(release_urgency, "critical") == 0)
745
0
    return FWUPD_RELEASE_URGENCY_CRITICAL;
746
0
  return FWUPD_RELEASE_URGENCY_UNKNOWN;
747
0
}
748
749
/**
750
 * fwupd_version_format_from_string:
751
 * @str: (nullable): a string, e.g. `quad`
752
 *
753
 * Converts text to a display version type.
754
 *
755
 * Returns: an enumerated version format, e.g. %FWUPD_VERSION_FORMAT_TRIPLET
756
 *
757
 * Since: 1.2.9
758
 **/
759
FwupdVersionFormat
760
fwupd_version_format_from_string(const gchar *str)
761
0
{
762
0
  if (g_strcmp0(str, "plain") == 0)
763
0
    return FWUPD_VERSION_FORMAT_PLAIN;
764
0
  if (g_strcmp0(str, "pair") == 0)
765
0
    return FWUPD_VERSION_FORMAT_PAIR;
766
0
  if (g_strcmp0(str, "number") == 0)
767
0
    return FWUPD_VERSION_FORMAT_NUMBER;
768
0
  if (g_strcmp0(str, "triplet") == 0)
769
0
    return FWUPD_VERSION_FORMAT_TRIPLET;
770
0
  if (g_strcmp0(str, "quad") == 0)
771
0
    return FWUPD_VERSION_FORMAT_QUAD;
772
0
  if (g_strcmp0(str, "bcd") == 0)
773
0
    return FWUPD_VERSION_FORMAT_BCD;
774
0
  if (g_strcmp0(str, "intel-me") == 0)
775
0
    return FWUPD_VERSION_FORMAT_INTEL_ME;
776
0
  if (g_strcmp0(str, "intel-me2") == 0)
777
0
    return FWUPD_VERSION_FORMAT_INTEL_ME2;
778
0
  if (g_strcmp0(str, "intel-csme19") == 0)
779
0
    return FWUPD_VERSION_FORMAT_INTEL_CSME19;
780
0
  if (g_strcmp0(str, "surface-legacy") == 0)
781
0
    return FWUPD_VERSION_FORMAT_SURFACE_LEGACY;
782
0
  if (g_strcmp0(str, "surface") == 0)
783
0
    return FWUPD_VERSION_FORMAT_SURFACE;
784
0
  if (g_strcmp0(str, "dell-bios") == 0)
785
0
    return FWUPD_VERSION_FORMAT_DELL_BIOS;
786
0
  if (g_strcmp0(str, "hex") == 0)
787
0
    return FWUPD_VERSION_FORMAT_HEX;
788
0
  if (g_strcmp0(str, "dell-bios-msb") == 0)
789
0
    return FWUPD_VERSION_FORMAT_DELL_BIOS_MSB;
790
0
  return FWUPD_VERSION_FORMAT_UNKNOWN;
791
0
}
792
793
/**
794
 * fwupd_version_format_to_string:
795
 * @kind: a version format, e.g. %FWUPD_VERSION_FORMAT_TRIPLET
796
 *
797
 * Converts an enumerated version format to text.
798
 *
799
 * Returns: a string, e.g. `quad`, or %NULL if not known
800
 *
801
 * Since: 1.2.9
802
 **/
803
const gchar *
804
fwupd_version_format_to_string(FwupdVersionFormat kind)
805
0
{
806
0
  if (kind == FWUPD_VERSION_FORMAT_PLAIN)
807
0
    return "plain";
808
0
  if (kind == FWUPD_VERSION_FORMAT_NUMBER)
809
0
    return "number";
810
0
  if (kind == FWUPD_VERSION_FORMAT_PAIR)
811
0
    return "pair";
812
0
  if (kind == FWUPD_VERSION_FORMAT_TRIPLET)
813
0
    return "triplet";
814
0
  if (kind == FWUPD_VERSION_FORMAT_QUAD)
815
0
    return "quad";
816
0
  if (kind == FWUPD_VERSION_FORMAT_BCD)
817
0
    return "bcd";
818
0
  if (kind == FWUPD_VERSION_FORMAT_INTEL_ME)
819
0
    return "intel-me";
820
0
  if (kind == FWUPD_VERSION_FORMAT_INTEL_ME2)
821
0
    return "intel-me2";
822
0
  if (kind == FWUPD_VERSION_FORMAT_INTEL_CSME19)
823
0
    return "intel-csme19";
824
0
  if (kind == FWUPD_VERSION_FORMAT_SURFACE_LEGACY)
825
0
    return "surface-legacy";
826
0
  if (kind == FWUPD_VERSION_FORMAT_SURFACE)
827
0
    return "surface";
828
0
  if (kind == FWUPD_VERSION_FORMAT_DELL_BIOS)
829
0
    return "dell-bios";
830
0
  if (kind == FWUPD_VERSION_FORMAT_HEX)
831
0
    return "hex";
832
0
  if (kind == FWUPD_VERSION_FORMAT_DELL_BIOS_MSB)
833
0
    return "dell-bios-msb";
834
0
  return NULL;
835
0
}
836
837
/**
838
 * fwupd_install_flags_from_string:
839
 * @str: (nullable): a string, e.g. `allow-reinstall`
840
 *
841
 * Converts text to an install flag
842
 *
843
 * Returns: an enumerated install flag, e.g. %FWUPD_INSTALL_FLAG_ALLOW_REINSTALL
844
 *
845
 * Since: 2.0.4
846
 **/
847
FwupdInstallFlags
848
fwupd_install_flags_from_string(const gchar *str)
849
0
{
850
0
  if (g_strcmp0(str, "none") == 0)
851
0
    return FWUPD_INSTALL_FLAG_NONE;
852
0
  if (g_strcmp0(str, "allow-reinstall") == 0)
853
0
    return FWUPD_INSTALL_FLAG_ALLOW_REINSTALL;
854
0
  if (g_strcmp0(str, "allow-older") == 0)
855
0
    return FWUPD_INSTALL_FLAG_ALLOW_OLDER;
856
0
  if (g_strcmp0(str, "force") == 0)
857
0
    return FWUPD_INSTALL_FLAG_FORCE;
858
0
  if (g_strcmp0(str, "no-history") == 0)
859
0
    return FWUPD_INSTALL_FLAG_NO_HISTORY;
860
0
  if (g_strcmp0(str, "allow-branch-switch") == 0)
861
0
    return FWUPD_INSTALL_FLAG_ALLOW_BRANCH_SWITCH;
862
0
  if (g_strcmp0(str, "ignore-requirements") == 0)
863
0
    return FWUPD_INSTALL_FLAG_IGNORE_REQUIREMENTS;
864
0
  if (g_strcmp0(str, "only-emulated") == 0)
865
0
    return FWUPD_INSTALL_FLAG_ONLY_EMULATED;
866
867
0
  return FWUPD_INSTALL_FLAG_UNKNOWN;
868
0
}
869
870
/**
871
 * fwupd_install_flags_to_string:
872
 * @install_flags: a #FwupdInstallFlags, e.g. %FWUPD_INSTALL_FLAG_FORCE
873
 *
874
 * Converts an install flag to text.
875
 *
876
 * Returns: a string, e.g. `force`, or %NULL if not known
877
 *
878
 * Since: 2.0.0
879
 **/
880
const gchar *
881
fwupd_install_flags_to_string(FwupdInstallFlags install_flags)
882
0
{
883
0
  if (install_flags == FWUPD_INSTALL_FLAG_NONE)
884
0
    return "none";
885
0
  if (install_flags == FWUPD_INSTALL_FLAG_ALLOW_REINSTALL)
886
0
    return "allow-reinstall";
887
0
  if (install_flags == FWUPD_INSTALL_FLAG_ALLOW_OLDER)
888
0
    return "allow-older";
889
0
  if (install_flags == FWUPD_INSTALL_FLAG_FORCE)
890
0
    return "force";
891
0
  if (install_flags == FWUPD_INSTALL_FLAG_NO_HISTORY)
892
0
    return "no-history";
893
0
  if (install_flags == FWUPD_INSTALL_FLAG_ALLOW_BRANCH_SWITCH)
894
0
    return "allow-branch-switch";
895
0
  if (install_flags == FWUPD_INSTALL_FLAG_IGNORE_REQUIREMENTS)
896
0
    return "ignore-requirements";
897
0
  if (install_flags == FWUPD_INSTALL_FLAG_ONLY_EMULATED)
898
0
    return "only-emulated";
899
0
  return NULL;
900
0
}