Coverage Report

Created: 2025-11-09 07:06

next uncovered line (L), next uncovered region (R), next uncovered branch (B)
/src/fwupd/libfwupd/fwupd-enums.c
Line
Count
Source
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_INSECURE_PLATFORM)
333
0
    return "insecure-platform";
334
0
  if (device_problem == FWUPD_DEVICE_PROBLEM_UNKNOWN)
335
0
    return "unknown";
336
0
  return NULL;
337
0
}
338
339
/**
340
 * fwupd_device_problem_from_string:
341
 * @device_problem: (nullable): a string, e.g. `require-ac`
342
 *
343
 * Converts a string to a enumerated device inhibit kind.
344
 *
345
 * Returns: enumerated value
346
 *
347
 * Since: 1.8.1
348
 **/
349
FwupdDeviceProblem
350
fwupd_device_problem_from_string(const gchar *device_problem)
351
0
{
352
0
  if (g_strcmp0(device_problem, "none") == 0)
353
0
    return FWUPD_DEVICE_PROBLEM_NONE;
354
0
  if (g_strcmp0(device_problem, "system-power-too-low") == 0)
355
0
    return FWUPD_DEVICE_PROBLEM_SYSTEM_POWER_TOO_LOW;
356
0
  if (g_strcmp0(device_problem, "unreachable") == 0)
357
0
    return FWUPD_DEVICE_PROBLEM_UNREACHABLE;
358
0
  if (g_strcmp0(device_problem, "power-too-low") == 0)
359
0
    return FWUPD_DEVICE_PROBLEM_POWER_TOO_LOW;
360
0
  if (g_strcmp0(device_problem, "update-pending") == 0)
361
0
    return FWUPD_DEVICE_PROBLEM_UPDATE_PENDING;
362
0
  if (g_strcmp0(device_problem, "require-ac-power") == 0)
363
0
    return FWUPD_DEVICE_PROBLEM_REQUIRE_AC_POWER;
364
0
  if (g_strcmp0(device_problem, "lid-is-closed") == 0)
365
0
    return FWUPD_DEVICE_PROBLEM_LID_IS_CLOSED;
366
0
  if (g_strcmp0(device_problem, "is-emulated") == 0)
367
0
    return FWUPD_DEVICE_PROBLEM_IS_EMULATED;
368
0
  if (g_strcmp0(device_problem, "missing-license") == 0)
369
0
    return FWUPD_DEVICE_PROBLEM_MISSING_LICENSE;
370
0
  if (g_strcmp0(device_problem, "system-inhibit") == 0)
371
0
    return FWUPD_DEVICE_PROBLEM_SYSTEM_INHIBIT;
372
0
  if (g_strcmp0(device_problem, "update-in-progress") == 0)
373
0
    return FWUPD_DEVICE_PROBLEM_UPDATE_IN_PROGRESS;
374
0
  if (g_strcmp0(device_problem, "in-use") == 0)
375
0
    return FWUPD_DEVICE_PROBLEM_IN_USE;
376
0
  if (g_strcmp0(device_problem, "display-required") == 0)
377
0
    return FWUPD_DEVICE_PROBLEM_DISPLAY_REQUIRED;
378
0
  if (g_strcmp0(device_problem, "lower-priority") == 0)
379
0
    return FWUPD_DEVICE_PROBLEM_LOWER_PRIORITY;
380
0
  if (g_strcmp0(device_problem, "insecure-platform") == 0)
381
0
    return FWUPD_DEVICE_PROBLEM_INSECURE_PLATFORM;
382
0
  return FWUPD_DEVICE_PROBLEM_UNKNOWN;
383
0
}
384
385
/**
386
 * fwupd_plugin_flag_to_string:
387
 * @plugin_flag: plugin flags, e.g. %FWUPD_PLUGIN_FLAG_CLEAR_UPDATABLE
388
 *
389
 * Converts an enumerated plugin flag to a string.
390
 *
391
 * Returns: identifier string
392
 *
393
 * Since: 1.5.0
394
 **/
395
const gchar *
396
fwupd_plugin_flag_to_string(FwupdPluginFlags plugin_flag)
397
0
{
398
0
  if (plugin_flag == FWUPD_PLUGIN_FLAG_NONE)
399
0
    return "none";
400
0
  if (plugin_flag == FWUPD_PLUGIN_FLAG_DISABLED)
401
0
    return "disabled";
402
0
  if (plugin_flag == FWUPD_PLUGIN_FLAG_USER_WARNING)
403
0
    return "user-warning";
404
0
  if (plugin_flag == FWUPD_PLUGIN_FLAG_CLEAR_UPDATABLE)
405
0
    return "clear-updatable";
406
0
  if (plugin_flag == FWUPD_PLUGIN_FLAG_NO_HARDWARE)
407
0
    return "no-hardware";
408
0
  if (plugin_flag == FWUPD_PLUGIN_FLAG_CAPSULES_UNSUPPORTED)
409
0
    return "capsules-unsupported";
410
0
  if (plugin_flag == FWUPD_PLUGIN_FLAG_UNLOCK_REQUIRED)
411
0
    return "unlock-required";
412
0
  if (plugin_flag == FWUPD_PLUGIN_FLAG_EFIVAR_NOT_MOUNTED)
413
0
    return "efivar-not-mounted";
414
0
  if (plugin_flag == FWUPD_PLUGIN_FLAG_ESP_NOT_FOUND)
415
0
    return "esp-not-found";
416
0
  if (plugin_flag == FWUPD_PLUGIN_FLAG_ESP_NOT_VALID)
417
0
    return "esp-not-valid";
418
0
  if (plugin_flag == FWUPD_PLUGIN_FLAG_LEGACY_BIOS)
419
0
    return "legacy-bios";
420
0
  if (plugin_flag == FWUPD_PLUGIN_FLAG_FAILED_OPEN)
421
0
    return "failed-open";
422
0
  if (plugin_flag == FWUPD_PLUGIN_FLAG_REQUIRE_HWID)
423
0
    return "require-hwid";
424
0
  if (plugin_flag == FWUPD_PLUGIN_FLAG_KERNEL_TOO_OLD)
425
0
    return "kernel-too-old";
426
0
  if (plugin_flag == FWUPD_PLUGIN_FLAG_UNKNOWN)
427
0
    return "unknown";
428
0
  if (plugin_flag == FWUPD_PLUGIN_FLAG_AUTH_REQUIRED)
429
0
    return "auth-required";
430
0
  if (plugin_flag == FWUPD_PLUGIN_FLAG_SECURE_CONFIG)
431
0
    return "secure-config";
432
0
  if (plugin_flag == FWUPD_PLUGIN_FLAG_MODULAR)
433
0
    return "modular";
434
0
  if (plugin_flag == FWUPD_PLUGIN_FLAG_MEASURE_SYSTEM_INTEGRITY)
435
0
    return "measure-system-integrity";
436
0
  if (plugin_flag == FWUPD_PLUGIN_FLAG_READY)
437
0
    return "ready";
438
0
  if (plugin_flag == FWUPD_PLUGIN_FLAG_TEST_ONLY)
439
0
    return "test-only";
440
0
  if (plugin_flag == FWUPD_PLUGIN_FLAG_MUTABLE_ENUMERATION)
441
0
    return "mutable-enumeration";
442
0
  return NULL;
443
0
}
444
445
/**
446
 * fwupd_plugin_flag_from_string:
447
 * @plugin_flag: (nullable): a string, e.g. `require-ac`
448
 *
449
 * Converts a string to an enumerated plugin flag.
450
 *
451
 * Returns: enumerated value
452
 *
453
 * Since: 1.5.0
454
 **/
455
FwupdPluginFlags
456
fwupd_plugin_flag_from_string(const gchar *plugin_flag)
457
0
{
458
0
  if (g_strcmp0(plugin_flag, "none") == 0)
459
0
    return FWUPD_PLUGIN_FLAG_NONE;
460
0
  if (g_strcmp0(plugin_flag, "disabled") == 0)
461
0
    return FWUPD_PLUGIN_FLAG_DISABLED;
462
0
  if (g_strcmp0(plugin_flag, "user-warning") == 0)
463
0
    return FWUPD_PLUGIN_FLAG_USER_WARNING;
464
0
  if (g_strcmp0(plugin_flag, "clear-updatable") == 0)
465
0
    return FWUPD_PLUGIN_FLAG_CLEAR_UPDATABLE;
466
0
  if (g_strcmp0(plugin_flag, "no-hardware") == 0)
467
0
    return FWUPD_PLUGIN_FLAG_NO_HARDWARE;
468
0
  if (g_strcmp0(plugin_flag, "capsules-unsupported") == 0)
469
0
    return FWUPD_PLUGIN_FLAG_CAPSULES_UNSUPPORTED;
470
0
  if (g_strcmp0(plugin_flag, "unlock-required") == 0)
471
0
    return FWUPD_PLUGIN_FLAG_UNLOCK_REQUIRED;
472
0
  if (g_strcmp0(plugin_flag, "efivar-not-mounted") == 0)
473
0
    return FWUPD_PLUGIN_FLAG_EFIVAR_NOT_MOUNTED;
474
0
  if (g_strcmp0(plugin_flag, "esp-not-found") == 0)
475
0
    return FWUPD_PLUGIN_FLAG_ESP_NOT_FOUND;
476
0
  if (g_strcmp0(plugin_flag, "esp-not-valid") == 0)
477
0
    return FWUPD_PLUGIN_FLAG_ESP_NOT_VALID;
478
0
  if (g_strcmp0(plugin_flag, "legacy-bios") == 0)
479
0
    return FWUPD_PLUGIN_FLAG_LEGACY_BIOS;
480
0
  if (g_strcmp0(plugin_flag, "failed-open") == 0)
481
0
    return FWUPD_PLUGIN_FLAG_FAILED_OPEN;
482
0
  if (g_strcmp0(plugin_flag, "require-hwid") == 0)
483
0
    return FWUPD_PLUGIN_FLAG_REQUIRE_HWID;
484
0
  if (g_strcmp0(plugin_flag, "kernel-too-old") == 0)
485
0
    return FWUPD_PLUGIN_FLAG_KERNEL_TOO_OLD;
486
0
  if (g_strcmp0(plugin_flag, "auth-required") == 0)
487
0
    return FWUPD_PLUGIN_FLAG_AUTH_REQUIRED;
488
0
  if (g_strcmp0(plugin_flag, "secure-config") == 0)
489
0
    return FWUPD_PLUGIN_FLAG_SECURE_CONFIG;
490
0
  if (g_strcmp0(plugin_flag, "modular") == 0)
491
0
    return FWUPD_PLUGIN_FLAG_MODULAR;
492
0
  if (g_strcmp0(plugin_flag, "measure-system-integrity") == 0)
493
0
    return FWUPD_PLUGIN_FLAG_MEASURE_SYSTEM_INTEGRITY;
494
0
  if (g_strcmp0(plugin_flag, "ready") == 0)
495
0
    return FWUPD_PLUGIN_FLAG_READY;
496
0
  if (g_strcmp0(plugin_flag, "test-only") == 0)
497
0
    return FWUPD_PLUGIN_FLAG_TEST_ONLY;
498
0
  if (g_strcmp0(plugin_flag, "mutable-enumeration") == 0)
499
0
    return FWUPD_PLUGIN_FLAG_MUTABLE_ENUMERATION;
500
0
  return FWUPD_PLUGIN_FLAG_UNKNOWN;
501
0
}
502
503
/**
504
 * fwupd_update_state_to_string:
505
 * @update_state: the update state, e.g. %FWUPD_UPDATE_STATE_PENDING
506
 *
507
 * Converts an enumerated update state to a string.
508
 *
509
 * Returns: identifier string
510
 *
511
 * Since: 0.7.0
512
 **/
513
const gchar *
514
fwupd_update_state_to_string(FwupdUpdateState update_state)
515
0
{
516
0
  if (update_state == FWUPD_UPDATE_STATE_UNKNOWN)
517
0
    return "unknown";
518
0
  if (update_state == FWUPD_UPDATE_STATE_PENDING)
519
0
    return "pending";
520
0
  if (update_state == FWUPD_UPDATE_STATE_SUCCESS)
521
0
    return "success";
522
0
  if (update_state == FWUPD_UPDATE_STATE_FAILED)
523
0
    return "failed";
524
0
  if (update_state == FWUPD_UPDATE_STATE_FAILED_TRANSIENT)
525
0
    return "failed-transient";
526
0
  if (update_state == FWUPD_UPDATE_STATE_NEEDS_REBOOT)
527
0
    return "needs-reboot";
528
0
  return NULL;
529
0
}
530
531
/**
532
 * fwupd_update_state_from_string:
533
 * @update_state: (nullable): a string, e.g. `pending`
534
 *
535
 * Converts a string to an enumerated update state.
536
 *
537
 * Returns: enumerated value
538
 *
539
 * Since: 0.7.0
540
 **/
541
FwupdUpdateState
542
fwupd_update_state_from_string(const gchar *update_state)
543
0
{
544
0
  if (g_strcmp0(update_state, "unknown") == 0)
545
0
    return FWUPD_UPDATE_STATE_UNKNOWN;
546
0
  if (g_strcmp0(update_state, "pending") == 0)
547
0
    return FWUPD_UPDATE_STATE_PENDING;
548
0
  if (g_strcmp0(update_state, "success") == 0)
549
0
    return FWUPD_UPDATE_STATE_SUCCESS;
550
0
  if (g_strcmp0(update_state, "failed") == 0)
551
0
    return FWUPD_UPDATE_STATE_FAILED;
552
0
  if (g_strcmp0(update_state, "failed-transient") == 0)
553
0
    return FWUPD_UPDATE_STATE_FAILED_TRANSIENT;
554
0
  if (g_strcmp0(update_state, "needs-reboot") == 0)
555
0
    return FWUPD_UPDATE_STATE_NEEDS_REBOOT;
556
0
  return FWUPD_UPDATE_STATE_UNKNOWN;
557
0
}
558
559
/**
560
 * fwupd_feature_flag_to_string:
561
 * @feature_flag: a single feature flag, e.g. %FWUPD_FEATURE_FLAG_DETACH_ACTION
562
 *
563
 * Converts a feature flag to a string.
564
 *
565
 * Returns: identifier string
566
 *
567
 * Since: 1.4.5
568
 **/
569
const gchar *
570
fwupd_feature_flag_to_string(FwupdFeatureFlags feature_flag)
571
0
{
572
0
  if (feature_flag == FWUPD_FEATURE_FLAG_NONE)
573
0
    return "none";
574
0
  if (feature_flag == FWUPD_FEATURE_FLAG_CAN_REPORT)
575
0
    return "can-report";
576
0
  if (feature_flag == FWUPD_FEATURE_FLAG_DETACH_ACTION)
577
0
    return "detach-action";
578
0
  if (feature_flag == FWUPD_FEATURE_FLAG_UPDATE_ACTION)
579
0
    return "update-action";
580
0
  if (feature_flag == FWUPD_FEATURE_FLAG_SWITCH_BRANCH)
581
0
    return "switch-branch";
582
0
  if (feature_flag == FWUPD_FEATURE_FLAG_REQUESTS)
583
0
    return "requests";
584
0
  if (feature_flag == FWUPD_FEATURE_FLAG_FDE_WARNING)
585
0
    return "fde-warning";
586
0
  if (feature_flag == FWUPD_FEATURE_FLAG_COMMUNITY_TEXT)
587
0
    return "community-text";
588
0
  if (feature_flag == FWUPD_FEATURE_FLAG_SHOW_PROBLEMS)
589
0
    return "show-problems";
590
0
  if (feature_flag == FWUPD_FEATURE_FLAG_ALLOW_AUTHENTICATION)
591
0
    return "allow-authentication";
592
0
  if (feature_flag == FWUPD_FEATURE_FLAG_REQUESTS_NON_GENERIC)
593
0
    return "requests-non-generic";
594
0
  return NULL;
595
0
}
596
597
/**
598
 * fwupd_feature_flag_from_string:
599
 * @feature_flag: (nullable): a string, e.g. `detach-action`
600
 *
601
 * Converts a string to an enumerated feature flag.
602
 *
603
 * Returns: enumerated value
604
 *
605
 * Since: 1.4.5
606
 **/
607
FwupdFeatureFlags
608
fwupd_feature_flag_from_string(const gchar *feature_flag)
609
0
{
610
0
  if (g_strcmp0(feature_flag, "none") == 0)
611
0
    return FWUPD_FEATURE_FLAG_NONE;
612
0
  if (g_strcmp0(feature_flag, "can-report") == 0)
613
0
    return FWUPD_FEATURE_FLAG_CAN_REPORT;
614
0
  if (g_strcmp0(feature_flag, "detach-action") == 0)
615
0
    return FWUPD_FEATURE_FLAG_DETACH_ACTION;
616
0
  if (g_strcmp0(feature_flag, "update-action") == 0)
617
0
    return FWUPD_FEATURE_FLAG_UPDATE_ACTION;
618
0
  if (g_strcmp0(feature_flag, "switch-branch") == 0)
619
0
    return FWUPD_FEATURE_FLAG_SWITCH_BRANCH;
620
0
  if (g_strcmp0(feature_flag, "requests") == 0)
621
0
    return FWUPD_FEATURE_FLAG_REQUESTS;
622
0
  if (g_strcmp0(feature_flag, "fde-warning") == 0)
623
0
    return FWUPD_FEATURE_FLAG_FDE_WARNING;
624
0
  if (g_strcmp0(feature_flag, "community-text") == 0)
625
0
    return FWUPD_FEATURE_FLAG_COMMUNITY_TEXT;
626
0
  if (g_strcmp0(feature_flag, "show-problems") == 0)
627
0
    return FWUPD_FEATURE_FLAG_SHOW_PROBLEMS;
628
0
  if (g_strcmp0(feature_flag, "allow-authentication") == 0)
629
0
    return FWUPD_FEATURE_FLAG_ALLOW_AUTHENTICATION;
630
0
  if (g_strcmp0(feature_flag, "requests-non-generic") == 0)
631
0
    return FWUPD_FEATURE_FLAG_REQUESTS_NON_GENERIC;
632
0
  return FWUPD_FEATURE_FLAG_UNKNOWN;
633
0
}
634
635
/**
636
 * fwupd_release_flag_to_string:
637
 * @release_flag: a release flag, e.g. %FWUPD_RELEASE_FLAG_TRUSTED_PAYLOAD
638
 *
639
 * Converts an enumerated release flag to a string.
640
 *
641
 * Returns: identifier string
642
 *
643
 * Since: 1.2.6
644
 **/
645
const gchar *
646
fwupd_release_flag_to_string(FwupdReleaseFlags release_flag)
647
0
{
648
0
  if (release_flag == FWUPD_RELEASE_FLAG_NONE)
649
0
    return "none";
650
0
  if (release_flag == FWUPD_RELEASE_FLAG_TRUSTED_PAYLOAD)
651
0
    return "trusted-payload";
652
0
  if (release_flag == FWUPD_RELEASE_FLAG_TRUSTED_METADATA)
653
0
    return "trusted-metadata";
654
0
  if (release_flag == FWUPD_RELEASE_FLAG_IS_UPGRADE)
655
0
    return "is-upgrade";
656
0
  if (release_flag == FWUPD_RELEASE_FLAG_IS_DOWNGRADE)
657
0
    return "is-downgrade";
658
0
  if (release_flag == FWUPD_RELEASE_FLAG_BLOCKED_VERSION)
659
0
    return "blocked-version";
660
0
  if (release_flag == FWUPD_RELEASE_FLAG_BLOCKED_APPROVAL)
661
0
    return "blocked-approval";
662
0
  if (release_flag == FWUPD_RELEASE_FLAG_IS_ALTERNATE_BRANCH)
663
0
    return "is-alternate-branch";
664
0
  if (release_flag == FWUPD_RELEASE_FLAG_IS_COMMUNITY)
665
0
    return "is-community";
666
0
  if (release_flag == FWUPD_RELEASE_FLAG_TRUSTED_REPORT)
667
0
    return "trusted-report";
668
0
  return NULL;
669
0
}
670
671
/**
672
 * fwupd_release_flag_from_string:
673
 * @release_flag: (nullable): a string, e.g. `trusted-payload`
674
 *
675
 * Converts a string to an enumerated release flag.
676
 *
677
 * Returns: enumerated value
678
 *
679
 * Since: 1.2.6
680
 **/
681
FwupdReleaseFlags
682
fwupd_release_flag_from_string(const gchar *release_flag)
683
0
{
684
0
  if (g_strcmp0(release_flag, "trusted-payload") == 0)
685
0
    return FWUPD_RELEASE_FLAG_TRUSTED_PAYLOAD;
686
0
  if (g_strcmp0(release_flag, "trusted-metadata") == 0)
687
0
    return FWUPD_RELEASE_FLAG_TRUSTED_METADATA;
688
0
  if (g_strcmp0(release_flag, "is-upgrade") == 0)
689
0
    return FWUPD_RELEASE_FLAG_IS_UPGRADE;
690
0
  if (g_strcmp0(release_flag, "is-downgrade") == 0)
691
0
    return FWUPD_RELEASE_FLAG_IS_DOWNGRADE;
692
0
  if (g_strcmp0(release_flag, "blocked-version") == 0)
693
0
    return FWUPD_RELEASE_FLAG_BLOCKED_VERSION;
694
0
  if (g_strcmp0(release_flag, "blocked-approval") == 0)
695
0
    return FWUPD_RELEASE_FLAG_BLOCKED_APPROVAL;
696
0
  if (g_strcmp0(release_flag, "is-alternate-branch") == 0)
697
0
    return FWUPD_RELEASE_FLAG_IS_ALTERNATE_BRANCH;
698
0
  if (g_strcmp0(release_flag, "is-community") == 0)
699
0
    return FWUPD_RELEASE_FLAG_IS_COMMUNITY;
700
0
  if (g_strcmp0(release_flag, "trusted-report") == 0)
701
0
    return FWUPD_RELEASE_FLAG_TRUSTED_REPORT;
702
0
  return FWUPD_RELEASE_FLAG_NONE;
703
0
}
704
705
/**
706
 * fwupd_release_urgency_to_string:
707
 * @release_urgency: a release urgency, e.g. %FWUPD_RELEASE_URGENCY_HIGH
708
 *
709
 * Converts an enumerated release urgency to a string.
710
 *
711
 * Returns: identifier string
712
 *
713
 * Since: 1.4.0
714
 **/
715
const gchar *
716
fwupd_release_urgency_to_string(FwupdReleaseUrgency release_urgency)
717
0
{
718
0
  if (release_urgency == FWUPD_RELEASE_URGENCY_LOW)
719
0
    return "low";
720
0
  if (release_urgency == FWUPD_RELEASE_URGENCY_MEDIUM)
721
0
    return "medium";
722
0
  if (release_urgency == FWUPD_RELEASE_URGENCY_HIGH)
723
0
    return "high";
724
0
  if (release_urgency == FWUPD_RELEASE_URGENCY_CRITICAL)
725
0
    return "critical";
726
0
  return NULL;
727
0
}
728
729
/**
730
 * fwupd_release_urgency_from_string:
731
 * @release_urgency: (nullable): a string, e.g. `low`
732
 *
733
 * Converts a string to an enumerated release urgency value.
734
 *
735
 * Returns: enumerated value
736
 *
737
 * Since: 1.4.0
738
 **/
739
FwupdReleaseUrgency
740
fwupd_release_urgency_from_string(const gchar *release_urgency)
741
0
{
742
0
  if (g_strcmp0(release_urgency, "low") == 0)
743
0
    return FWUPD_RELEASE_URGENCY_LOW;
744
0
  if (g_strcmp0(release_urgency, "medium") == 0)
745
0
    return FWUPD_RELEASE_URGENCY_MEDIUM;
746
0
  if (g_strcmp0(release_urgency, "high") == 0)
747
0
    return FWUPD_RELEASE_URGENCY_HIGH;
748
0
  if (g_strcmp0(release_urgency, "critical") == 0)
749
0
    return FWUPD_RELEASE_URGENCY_CRITICAL;
750
0
  return FWUPD_RELEASE_URGENCY_UNKNOWN;
751
0
}
752
753
/**
754
 * fwupd_version_format_from_string:
755
 * @str: (nullable): a string, e.g. `quad`
756
 *
757
 * Converts text to a display version type.
758
 *
759
 * Returns: an enumerated version format, e.g. %FWUPD_VERSION_FORMAT_TRIPLET
760
 *
761
 * Since: 1.2.9
762
 **/
763
FwupdVersionFormat
764
fwupd_version_format_from_string(const gchar *str)
765
0
{
766
0
  if (g_strcmp0(str, "plain") == 0)
767
0
    return FWUPD_VERSION_FORMAT_PLAIN;
768
0
  if (g_strcmp0(str, "pair") == 0)
769
0
    return FWUPD_VERSION_FORMAT_PAIR;
770
0
  if (g_strcmp0(str, "number") == 0)
771
0
    return FWUPD_VERSION_FORMAT_NUMBER;
772
0
  if (g_strcmp0(str, "triplet") == 0)
773
0
    return FWUPD_VERSION_FORMAT_TRIPLET;
774
0
  if (g_strcmp0(str, "quad") == 0)
775
0
    return FWUPD_VERSION_FORMAT_QUAD;
776
0
  if (g_strcmp0(str, "bcd") == 0)
777
0
    return FWUPD_VERSION_FORMAT_BCD;
778
0
  if (g_strcmp0(str, "intel-me") == 0)
779
0
    return FWUPD_VERSION_FORMAT_INTEL_ME;
780
0
  if (g_strcmp0(str, "intel-me2") == 0)
781
0
    return FWUPD_VERSION_FORMAT_INTEL_ME2;
782
0
  if (g_strcmp0(str, "intel-csme19") == 0)
783
0
    return FWUPD_VERSION_FORMAT_INTEL_CSME19;
784
0
  if (g_strcmp0(str, "surface-legacy") == 0)
785
0
    return FWUPD_VERSION_FORMAT_SURFACE_LEGACY;
786
0
  if (g_strcmp0(str, "surface") == 0)
787
0
    return FWUPD_VERSION_FORMAT_SURFACE;
788
0
  if (g_strcmp0(str, "dell-bios") == 0)
789
0
    return FWUPD_VERSION_FORMAT_DELL_BIOS;
790
0
  if (g_strcmp0(str, "hex") == 0)
791
0
    return FWUPD_VERSION_FORMAT_HEX;
792
0
  if (g_strcmp0(str, "dell-bios-msb") == 0)
793
0
    return FWUPD_VERSION_FORMAT_DELL_BIOS_MSB;
794
0
  return FWUPD_VERSION_FORMAT_UNKNOWN;
795
0
}
796
797
/**
798
 * fwupd_version_format_to_string:
799
 * @kind: a version format, e.g. %FWUPD_VERSION_FORMAT_TRIPLET
800
 *
801
 * Converts an enumerated version format to text.
802
 *
803
 * Returns: a string, e.g. `quad`, or %NULL if not known
804
 *
805
 * Since: 1.2.9
806
 **/
807
const gchar *
808
fwupd_version_format_to_string(FwupdVersionFormat kind)
809
0
{
810
0
  if (kind == FWUPD_VERSION_FORMAT_PLAIN)
811
0
    return "plain";
812
0
  if (kind == FWUPD_VERSION_FORMAT_NUMBER)
813
0
    return "number";
814
0
  if (kind == FWUPD_VERSION_FORMAT_PAIR)
815
0
    return "pair";
816
0
  if (kind == FWUPD_VERSION_FORMAT_TRIPLET)
817
0
    return "triplet";
818
0
  if (kind == FWUPD_VERSION_FORMAT_QUAD)
819
0
    return "quad";
820
0
  if (kind == FWUPD_VERSION_FORMAT_BCD)
821
0
    return "bcd";
822
0
  if (kind == FWUPD_VERSION_FORMAT_INTEL_ME)
823
0
    return "intel-me";
824
0
  if (kind == FWUPD_VERSION_FORMAT_INTEL_ME2)
825
0
    return "intel-me2";
826
0
  if (kind == FWUPD_VERSION_FORMAT_INTEL_CSME19)
827
0
    return "intel-csme19";
828
0
  if (kind == FWUPD_VERSION_FORMAT_SURFACE_LEGACY)
829
0
    return "surface-legacy";
830
0
  if (kind == FWUPD_VERSION_FORMAT_SURFACE)
831
0
    return "surface";
832
0
  if (kind == FWUPD_VERSION_FORMAT_DELL_BIOS)
833
0
    return "dell-bios";
834
0
  if (kind == FWUPD_VERSION_FORMAT_HEX)
835
0
    return "hex";
836
0
  if (kind == FWUPD_VERSION_FORMAT_DELL_BIOS_MSB)
837
0
    return "dell-bios-msb";
838
0
  return NULL;
839
0
}
840
841
/**
842
 * fwupd_install_flags_from_string:
843
 * @str: (nullable): a string, e.g. `allow-reinstall`
844
 *
845
 * Converts text to an install flag
846
 *
847
 * Returns: an enumerated install flag, e.g. %FWUPD_INSTALL_FLAG_ALLOW_REINSTALL
848
 *
849
 * Since: 2.0.4
850
 **/
851
FwupdInstallFlags
852
fwupd_install_flags_from_string(const gchar *str)
853
0
{
854
0
  if (g_strcmp0(str, "none") == 0)
855
0
    return FWUPD_INSTALL_FLAG_NONE;
856
0
  if (g_strcmp0(str, "allow-reinstall") == 0)
857
0
    return FWUPD_INSTALL_FLAG_ALLOW_REINSTALL;
858
0
  if (g_strcmp0(str, "allow-older") == 0)
859
0
    return FWUPD_INSTALL_FLAG_ALLOW_OLDER;
860
0
  if (g_strcmp0(str, "force") == 0)
861
0
    return FWUPD_INSTALL_FLAG_FORCE;
862
0
  if (g_strcmp0(str, "no-history") == 0)
863
0
    return FWUPD_INSTALL_FLAG_NO_HISTORY;
864
0
  if (g_strcmp0(str, "allow-branch-switch") == 0)
865
0
    return FWUPD_INSTALL_FLAG_ALLOW_BRANCH_SWITCH;
866
0
  if (g_strcmp0(str, "ignore-requirements") == 0)
867
0
    return FWUPD_INSTALL_FLAG_IGNORE_REQUIREMENTS;
868
0
  if (g_strcmp0(str, "only-emulated") == 0)
869
0
    return FWUPD_INSTALL_FLAG_ONLY_EMULATED;
870
871
0
  return FWUPD_INSTALL_FLAG_UNKNOWN;
872
0
}
873
874
/**
875
 * fwupd_install_flags_to_string:
876
 * @install_flags: a #FwupdInstallFlags, e.g. %FWUPD_INSTALL_FLAG_FORCE
877
 *
878
 * Converts an install flag to text.
879
 *
880
 * Returns: a string, e.g. `force`, or %NULL if not known
881
 *
882
 * Since: 2.0.0
883
 **/
884
const gchar *
885
fwupd_install_flags_to_string(FwupdInstallFlags install_flags)
886
0
{
887
0
  if (install_flags == FWUPD_INSTALL_FLAG_NONE)
888
0
    return "none";
889
0
  if (install_flags == FWUPD_INSTALL_FLAG_ALLOW_REINSTALL)
890
0
    return "allow-reinstall";
891
0
  if (install_flags == FWUPD_INSTALL_FLAG_ALLOW_OLDER)
892
0
    return "allow-older";
893
0
  if (install_flags == FWUPD_INSTALL_FLAG_FORCE)
894
0
    return "force";
895
0
  if (install_flags == FWUPD_INSTALL_FLAG_NO_HISTORY)
896
0
    return "no-history";
897
0
  if (install_flags == FWUPD_INSTALL_FLAG_ALLOW_BRANCH_SWITCH)
898
0
    return "allow-branch-switch";
899
0
  if (install_flags == FWUPD_INSTALL_FLAG_IGNORE_REQUIREMENTS)
900
0
    return "ignore-requirements";
901
0
  if (install_flags == FWUPD_INSTALL_FLAG_ONLY_EMULATED)
902
0
    return "only-emulated";
903
0
  return NULL;
904
0
}