blob: 706fb7b21d8ec08c45d58ff6bd8a3f40edfaedd8 [file] [log] [blame]
Richard Hughes02c90d82018-08-09 12:13:03 +01001/*
Richard Hughes5c9b1fc2021-01-07 14:20:49 +00002 * Copyright (C) 2015 Richard Hughes <richard@hughsie.com>
Richard Hughes4ad41f02018-05-08 14:35:36 +01003 *
Mario Limonciello51308e62018-05-28 20:05:46 -05004 * SPDX-License-Identifier: LGPL-2.1+
Richard Hughes4ad41f02018-05-08 14:35:36 +01005 */
6
Richard Hughesbfd946e2019-02-09 08:21:40 +00007#pragma once
Richard Hughes4ad41f02018-05-08 14:35:36 +01008
9#include <glib-object.h>
Richard Hughes481aa2a2018-09-18 20:51:46 +010010#include <xmlb.h>
Richard Hughes4ad41f02018-05-08 14:35:36 +010011
12#include "fu-device.h"
13
Richard Hughes4ad41f02018-05-08 14:35:36 +010014#define FU_TYPE_TASK (fu_install_task_get_type ())
15G_DECLARE_FINAL_TYPE (FuInstallTask, fu_install_task, FU, INSTALL_TASK, GObject)
16
17FuInstallTask *fu_install_task_new (FuDevice *device,
Richard Hughes481aa2a2018-09-18 20:51:46 +010018 XbNode *component);
Richard Hughes4ad41f02018-05-08 14:35:36 +010019FuDevice *fu_install_task_get_device (FuInstallTask *self);
Richard Hughes481aa2a2018-09-18 20:51:46 +010020XbNode *fu_install_task_get_component (FuInstallTask *self);
Richard Hughes245885c2019-03-04 08:46:02 +000021FwupdReleaseFlags fu_install_task_get_trust_flags (FuInstallTask *self);
Richard Hughes4ad41f02018-05-08 14:35:36 +010022gboolean fu_install_task_get_is_downgrade (FuInstallTask *self);
23gboolean fu_install_task_check_requirements (FuInstallTask *self,
24 FwupdInstallFlags flags,
25 GError **error);
26const gchar *fu_install_task_get_action_id (FuInstallTask *self);
Richard Hughesc02cb832018-05-20 10:31:04 +010027gint fu_install_task_compare (FuInstallTask *task1,
28 FuInstallTask *task2);