diff --git a/libfwupdplugin/fu-common.h b/libfwupdplugin/fu-common.h index e79d865f9..a247832b3 100644 --- a/libfwupdplugin/fu-common.h +++ b/libfwupdplugin/fu-common.h @@ -11,20 +11,6 @@ #include "fu-volume.h" -/** - * FuAppFlags: - * @FU_APP_FLAGS_NONE: No flags set - * @FU_APP_FLAGS_NO_IDLE_SOURCES: Disallow idle sources - * - * The flags to use when loading an application. - **/ -typedef enum { - FU_APP_FLAGS_NONE = 0, - FU_APP_FLAGS_NO_IDLE_SOURCES = 1 << 0, - /*< private >*/ - FU_APP_FLAGS_LAST -} FuAppFlags; - /** * FuEndianType: * diff --git a/src/fu-daemon.c b/src/fu-daemon.c index 827d75581..f89405d28 100644 --- a/src/fu-daemon.c +++ b/src/fu-daemon.c @@ -2157,7 +2157,7 @@ fu_daemon_setup(FuDaemon *self, const gchar *socket_address, GError **error) } /* load engine */ - self->engine = fu_engine_new(FU_APP_FLAGS_NONE); + self->engine = fu_engine_new(); g_signal_connect(FU_ENGINE(self->engine), "changed", G_CALLBACK(fu_daemon_engine_changed_cb), diff --git a/src/fu-engine.c b/src/fu-engine.c index 02a0aae2f..030cc9bbf 100644 --- a/src/fu-engine.c +++ b/src/fu-engine.c @@ -109,7 +109,6 @@ fu_engine_ensure_security_attrs(FuEngine *self); struct _FuEngine { GObject parent_instance; - FuAppFlags app_flags; GPtrArray *backends; FuConfig *config; FuRemoteList *remote_list; @@ -7198,7 +7197,7 @@ fu_engine_load(FuEngine *self, FuEngineLoadFlags flags, FuProgress *progress, GE fu_progress_step_done(progress); /* set up idle exit */ - if ((self->app_flags & FU_APP_FLAGS_NO_IDLE_SOURCES) == 0) + if ((flags & FU_ENGINE_LOAD_FLAG_NO_IDLE_SOURCES) == 0) fu_idle_set_timeout(self->idle, fu_config_get_idle_timeout(self->config)); /* on a read-only filesystem don't care about the cache GUID */ @@ -7462,13 +7461,6 @@ fu_engine_add_runtime_version(FuEngine *self, const gchar *component_id, const g fu_context_add_runtime_version(self->ctx, component_id, version); } -void -fu_engine_add_app_flag(FuEngine *self, FuAppFlags app_flags) -{ - g_return_if_fail(FU_IS_ENGINE(self)); - self->app_flags |= app_flags; -} - static void fu_engine_context_battery_changed_cb(FuContext *ctx, GParamSpec *pspec, FuEngine *self) { @@ -7657,10 +7649,9 @@ fu_engine_finalize(GObject *obj) } FuEngine * -fu_engine_new(FuAppFlags app_flags) +fu_engine_new(void) { FuEngine *self; self = g_object_new(FU_TYPE_ENGINE, NULL); - self->app_flags = app_flags; return FU_ENGINE(self); } diff --git a/src/fu-engine.h b/src/fu-engine.h index ac4d7f16f..53807c1f2 100644 --- a/src/fu-engine.h +++ b/src/fu-engine.h @@ -41,14 +41,13 @@ typedef enum { FU_ENGINE_LOAD_FLAG_REMOTES = 1 << 2, FU_ENGINE_LOAD_FLAG_HWINFO = 1 << 3, FU_ENGINE_LOAD_FLAG_NO_CACHE = 1 << 4, + FU_ENGINE_LOAD_FLAG_NO_IDLE_SOURCES = 1 << 5, /*< private >*/ FU_ENGINE_LOAD_FLAG_LAST } FuEngineLoadFlags; FuEngine * -fu_engine_new(FuAppFlags app_flags); -void -fu_engine_add_app_flag(FuEngine *self, FuAppFlags app_flags); +fu_engine_new(void); void fu_engine_add_plugin_filter(FuEngine *self, const gchar *plugin_glob); void diff --git a/src/fu-self-test.c b/src/fu-self-test.c index a3a56bbd4..391d96bde 100644 --- a/src/fu-self-test.c +++ b/src/fu-self-test.c @@ -125,7 +125,7 @@ fu_engine_generate_md_func(gconstpointer user_data) gboolean ret; g_autofree gchar *filename = NULL; g_autoptr(FuDevice) device = fu_device_new(self->ctx); - g_autoptr(FuEngine) engine = fu_engine_new(FU_APP_FLAGS_NONE); + g_autoptr(FuEngine) engine = fu_engine_new(); g_autoptr(FuProgress) progress = fu_progress_new(G_STRLOC); g_autoptr(GBytes) data = NULL; g_autoptr(GError) error = NULL; @@ -170,7 +170,7 @@ fu_plugin_hash_func(gconstpointer user_data) { GError *error = NULL; g_autofree gchar *pluginfn = NULL; - g_autoptr(FuEngine) engine = fu_engine_new(FU_APP_FLAGS_NONE); + g_autoptr(FuEngine) engine = fu_engine_new(); g_autoptr(FuProgress) progress = fu_progress_new(G_STRLOC); g_autoptr(FuPlugin) plugin = fu_plugin_new(NULL); gboolean ret = FALSE; @@ -207,7 +207,7 @@ fu_engine_requirements_missing_func(gconstpointer user_data) gboolean ret; g_autoptr(XbNode) component = NULL; g_autoptr(XbSilo) silo = NULL; - g_autoptr(FuEngine) engine = fu_engine_new(FU_APP_FLAGS_NONE); + g_autoptr(FuEngine) engine = fu_engine_new(); g_autoptr(FuEngineRequest) request = fu_engine_request_new(FU_ENGINE_REQUEST_KIND_ACTIVE); g_autoptr(FuRelease) release = fu_release_new(); g_autoptr(GError) error = NULL; @@ -247,7 +247,7 @@ fu_engine_requirements_soft_func(gconstpointer user_data) gboolean ret; g_autoptr(XbNode) component = NULL; g_autoptr(XbSilo) silo = NULL; - g_autoptr(FuEngine) engine = fu_engine_new(FU_APP_FLAGS_NONE); + g_autoptr(FuEngine) engine = fu_engine_new(); g_autoptr(FuEngineRequest) request = fu_engine_request_new(FU_ENGINE_REQUEST_KIND_ACTIVE); g_autoptr(FuRelease) release = fu_release_new(); g_autoptr(GError) error = NULL; @@ -287,7 +287,7 @@ fu_engine_requirements_client_fail_func(gconstpointer user_data) gboolean ret; g_autoptr(XbNode) component = NULL; g_autoptr(XbSilo) silo = NULL; - g_autoptr(FuEngine) engine = fu_engine_new(FU_APP_FLAGS_NONE); + g_autoptr(FuEngine) engine = fu_engine_new(); g_autoptr(FuEngineRequest) request = fu_engine_request_new(FU_ENGINE_REQUEST_KIND_ACTIVE); g_autoptr(FuRelease) release = fu_release_new(); g_autoptr(GError) error = NULL; @@ -324,7 +324,7 @@ fu_engine_requirements_client_invalid_func(gconstpointer user_data) gboolean ret; g_autoptr(XbNode) component = NULL; g_autoptr(XbSilo) silo = NULL; - g_autoptr(FuEngine) engine = fu_engine_new(FU_APP_FLAGS_NONE); + g_autoptr(FuEngine) engine = fu_engine_new(); g_autoptr(FuEngineRequest) request = fu_engine_request_new(FU_ENGINE_REQUEST_KIND_ACTIVE); g_autoptr(FuRelease) release = fu_release_new(); g_autoptr(GError) error = NULL; @@ -361,7 +361,7 @@ fu_engine_requirements_client_pass_func(gconstpointer user_data) gboolean ret; g_autoptr(XbNode) component = NULL; g_autoptr(XbSilo) silo = NULL; - g_autoptr(FuEngine) engine = fu_engine_new(FU_APP_FLAGS_NONE); + g_autoptr(FuEngine) engine = fu_engine_new(); g_autoptr(FuEngineRequest) request = fu_engine_request_new(FU_ENGINE_REQUEST_KIND_ACTIVE); g_autoptr(FuRelease) release = fu_release_new(); g_autoptr(GError) error = NULL; @@ -500,7 +500,7 @@ fu_engine_requirements_unsupported_func(gconstpointer user_data) gboolean ret; g_autoptr(XbNode) component = NULL; g_autoptr(XbSilo) silo = NULL; - g_autoptr(FuEngine) engine = fu_engine_new(FU_APP_FLAGS_NONE); + g_autoptr(FuEngine) engine = fu_engine_new(); g_autoptr(FuEngineRequest) request = fu_engine_request_new(FU_ENGINE_REQUEST_KIND_ACTIVE); g_autoptr(FuRelease) release = fu_release_new(); g_autoptr(GError) error = NULL; @@ -541,7 +541,7 @@ fu_engine_requirements_child_func(gconstpointer user_data) gboolean ret; g_autoptr(FuDevice) device = fu_device_new(self->ctx); g_autoptr(FuDevice) child = fu_device_new(NULL); - g_autoptr(FuEngine) engine = fu_engine_new(FU_APP_FLAGS_NONE); + g_autoptr(FuEngine) engine = fu_engine_new(); g_autoptr(FuEngineRequest) request = fu_engine_request_new(FU_ENGINE_REQUEST_KIND_ACTIVE); g_autoptr(FuRelease) release = fu_release_new(); g_autoptr(GError) error = NULL; @@ -601,7 +601,7 @@ fu_engine_requirements_child_fail_func(gconstpointer user_data) gboolean ret; g_autoptr(FuDevice) device = fu_device_new(self->ctx); g_autoptr(FuDevice) child = fu_device_new(NULL); - g_autoptr(FuEngine) engine = fu_engine_new(FU_APP_FLAGS_NONE); + g_autoptr(FuEngine) engine = fu_engine_new(); g_autoptr(FuEngineRequest) request = fu_engine_request_new(FU_ENGINE_REQUEST_KIND_ACTIVE); g_autoptr(FuRelease) release = fu_release_new(); g_autoptr(GError) error = NULL; @@ -660,7 +660,7 @@ static void fu_engine_requirements_func(gconstpointer user_data) { gboolean ret; - g_autoptr(FuEngine) engine = fu_engine_new(FU_APP_FLAGS_NONE); + g_autoptr(FuEngine) engine = fu_engine_new(); g_autoptr(FuRelease) release = fu_release_new(); g_autoptr(FuEngineRequest) request = fu_engine_request_new(FU_ENGINE_REQUEST_KIND_ACTIVE); g_autoptr(GError) error = NULL; @@ -703,7 +703,7 @@ fu_engine_requirements_device_func(gconstpointer user_data) FuTest *self = (FuTest *)user_data; gboolean ret; g_autoptr(FuDevice) device = fu_device_new(self->ctx); - g_autoptr(FuEngine) engine = fu_engine_new(FU_APP_FLAGS_NONE); + g_autoptr(FuEngine) engine = fu_engine_new(); g_autoptr(FuEngineRequest) request = fu_engine_request_new(FU_ENGINE_REQUEST_KIND_ACTIVE); g_autoptr(FuRelease) release = fu_release_new(); g_autoptr(GError) error = NULL; @@ -765,7 +765,7 @@ fu_engine_requirements_device_plain_func(gconstpointer user_data) FuTest *self = (FuTest *)user_data; gboolean ret; g_autoptr(FuDevice) device = fu_device_new(self->ctx); - g_autoptr(FuEngine) engine = fu_engine_new(FU_APP_FLAGS_NONE); + g_autoptr(FuEngine) engine = fu_engine_new(); g_autoptr(FuEngineRequest) request = fu_engine_request_new(FU_ENGINE_REQUEST_KIND_ACTIVE); g_autoptr(FuRelease) release = fu_release_new(); g_autoptr(GError) error = NULL; @@ -915,7 +915,7 @@ fu_engine_requirements_sibling_device_func(gconstpointer user_data) g_autoptr(FuDevice) device2 = fu_device_new(self->ctx); g_autoptr(FuDevice) unrelated_device3 = fu_device_new(self->ctx); g_autoptr(FuDevice) parent = fu_device_new(self->ctx); - g_autoptr(FuEngine) engine = fu_engine_new(FU_APP_FLAGS_NONE); + g_autoptr(FuEngine) engine = fu_engine_new(); g_autoptr(FuEngineRequest) request = fu_engine_request_new(FU_ENGINE_REQUEST_KIND_ACTIVE); g_autoptr(FuRelease) release1 = fu_release_new(); g_autoptr(FuRelease) release2 = fu_release_new(); @@ -1027,7 +1027,7 @@ fu_engine_requirements_other_device_func(gconstpointer user_data) gboolean ret; g_autoptr(FuDevice) device1 = fu_device_new(self->ctx); g_autoptr(FuDevice) device2 = fu_device_new(self->ctx); - g_autoptr(FuEngine) engine = fu_engine_new(FU_APP_FLAGS_NONE); + g_autoptr(FuEngine) engine = fu_engine_new(); g_autoptr(FuEngineRequest) request = fu_engine_request_new(FU_ENGINE_REQUEST_KIND_ACTIVE); g_autoptr(FuRelease) release = fu_release_new(); g_autoptr(GError) error = NULL; @@ -1096,7 +1096,7 @@ fu_engine_requirements_protocol_check_func(gconstpointer user_data) FuTest *self = (FuTest *)user_data; g_autoptr(FuDevice) device1 = fu_device_new(self->ctx); g_autoptr(FuDevice) device2 = fu_device_new(self->ctx); - g_autoptr(FuEngine) engine = fu_engine_new(FU_APP_FLAGS_NONE); + g_autoptr(FuEngine) engine = fu_engine_new(); g_autoptr(FuEngineRequest) request = fu_engine_request_new(FU_ENGINE_REQUEST_KIND_ACTIVE); g_autoptr(GPtrArray) devices = NULL; g_autoptr(FuRelease) release1 = fu_release_new(); @@ -1185,7 +1185,7 @@ fu_engine_requirements_parent_device_func(gconstpointer user_data) gboolean ret; g_autoptr(FuDevice) device1 = fu_device_new(self->ctx); g_autoptr(FuDevice) device2 = fu_device_new(self->ctx); - g_autoptr(FuEngine) engine = fu_engine_new(FU_APP_FLAGS_NONE); + g_autoptr(FuEngine) engine = fu_engine_new(); g_autoptr(FuEngineRequest) request = fu_engine_request_new(FU_ENGINE_REQUEST_KIND_ACTIVE); g_autoptr(FuRelease) release = fu_release_new(); g_autoptr(GError) error = NULL; @@ -1257,7 +1257,7 @@ fu_engine_device_parent_guid_func(gconstpointer user_data) g_autoptr(FuDevice) device1 = fu_device_new(self->ctx); g_autoptr(FuDevice) device2 = fu_device_new(self->ctx); g_autoptr(FuDevice) device3 = fu_device_new(self->ctx); - g_autoptr(FuEngine) engine = fu_engine_new(FU_APP_FLAGS_NONE); + g_autoptr(FuEngine) engine = fu_engine_new(); g_autoptr(XbSilo) silo_empty = xb_silo_new(); /* no metadata in daemon */ @@ -1312,7 +1312,7 @@ fu_engine_device_parent_id_func(gconstpointer user_data) g_autoptr(FuDevice) device2 = fu_device_new(self->ctx); g_autoptr(FuDevice) device3 = fu_device_new(self->ctx); g_autoptr(FuDevice) device4 = fu_device_new(self->ctx); - g_autoptr(FuEngine) engine = fu_engine_new(FU_APP_FLAGS_NONE); + g_autoptr(FuEngine) engine = fu_engine_new(); g_autoptr(XbSilo) silo_empty = xb_silo_new(); /* no metadata in daemon */ @@ -1381,7 +1381,7 @@ fu_engine_partial_hash_func(gconstpointer user_data) gboolean ret; g_autoptr(FuDevice) device1 = fu_device_new(self->ctx); g_autoptr(FuDevice) device2 = fu_device_new(self->ctx); - g_autoptr(FuEngine) engine = fu_engine_new(FU_APP_FLAGS_NONE); + g_autoptr(FuEngine) engine = fu_engine_new(); g_autoptr(FuPlugin) plugin = fu_plugin_new(NULL); g_autoptr(GError) error = NULL; g_autoptr(GError) error_none = NULL; @@ -1449,7 +1449,7 @@ fu_engine_device_unlock_func(gconstpointer user_data) gboolean ret; g_autofree gchar *filename = NULL; g_autoptr(FuDevice) device = fu_device_new(self->ctx); - g_autoptr(FuEngine) engine = fu_engine_new(FU_APP_FLAGS_NONE); + g_autoptr(FuEngine) engine = fu_engine_new(); g_autoptr(FuProgress) progress = fu_progress_new(G_STRLOC); g_autoptr(GError) error = NULL; g_autoptr(GFile) file = NULL; @@ -1494,7 +1494,7 @@ fu_engine_require_hwid_func(gconstpointer user_data) gboolean ret; g_autofree gchar *filename = NULL; g_autoptr(FuDevice) device = fu_device_new(self->ctx); - g_autoptr(FuEngine) engine = fu_engine_new(FU_APP_FLAGS_NONE); + g_autoptr(FuEngine) engine = fu_engine_new(); g_autoptr(FuEngineRequest) request = fu_engine_request_new(FU_ENGINE_REQUEST_KIND_ACTIVE); g_autoptr(FuProgress) progress = fu_progress_new(G_STRLOC); g_autoptr(FuRelease) release = fu_release_new(); @@ -1569,7 +1569,7 @@ fu_engine_downgrade_func(gconstpointer user_data) FwupdRelease *rel; gboolean ret; g_autoptr(FuDevice) device = fu_device_new(self->ctx); - g_autoptr(FuEngine) engine = fu_engine_new(FU_APP_FLAGS_NONE); + g_autoptr(FuEngine) engine = fu_engine_new(); g_autoptr(FuEngineRequest) request = fu_engine_request_new(FU_ENGINE_REQUEST_KIND_ACTIVE); g_autoptr(FuProgress) progress = fu_progress_new(G_STRLOC); g_autoptr(GError) error = NULL; @@ -1758,7 +1758,7 @@ fu_engine_install_duration_func(gconstpointer user_data) FwupdRelease *rel; gboolean ret; g_autoptr(FuDevice) device = fu_device_new(self->ctx); - g_autoptr(FuEngine) engine = fu_engine_new(FU_APP_FLAGS_NONE); + g_autoptr(FuEngine) engine = fu_engine_new(); g_autoptr(FuEngineRequest) request = fu_engine_request_new(FU_ENGINE_REQUEST_KIND_ACTIVE); g_autoptr(FuProgress) progress = fu_progress_new(G_STRLOC); g_autoptr(GError) error = NULL; @@ -1847,7 +1847,7 @@ fu_engine_history_func(gconstpointer user_data) g_autofree gchar *filename = NULL; g_autoptr(FuDevice) device2 = NULL; g_autoptr(FuDevice) device = fu_device_new(self->ctx); - g_autoptr(FuEngine) engine = fu_engine_new(FU_APP_FLAGS_NONE); + g_autoptr(FuEngine) engine = fu_engine_new(); g_autoptr(FuHistory) history = NULL; g_autoptr(FuRelease) release = fu_release_new(); g_autoptr(FuProgress) progress = fu_progress_new(G_STRLOC); @@ -1992,7 +1992,7 @@ fu_engine_multiple_rels_func(gconstpointer user_data) gboolean ret; g_autofree gchar *filename = NULL; g_autoptr(FuDevice) device = fu_device_new(self->ctx); - g_autoptr(FuEngine) engine = fu_engine_new(FU_APP_FLAGS_NONE); + g_autoptr(FuEngine) engine = fu_engine_new(); g_autoptr(FuProgress) progress = fu_progress_new(G_STRLOC); g_autoptr(GBytes) blob_cab = NULL; g_autoptr(GError) error = NULL; @@ -2110,7 +2110,7 @@ fu_engine_history_inherit(gconstpointer user_data) g_autofree gchar *localstatedir = NULL; g_autofree gchar *history_db = NULL; g_autoptr(FuDevice) device = fu_device_new(self->ctx); - g_autoptr(FuEngine) engine = fu_engine_new(FU_APP_FLAGS_NONE); + g_autoptr(FuEngine) engine = fu_engine_new(); g_autoptr(FuRelease) release = fu_release_new(); g_autoptr(FuProgress) progress = fu_progress_new(G_STRLOC); g_autoptr(GBytes) blob_cab = NULL; @@ -2219,7 +2219,7 @@ fu_engine_history_inherit(gconstpointer user_data) g_assert_true(ret); g_object_unref(engine); g_object_unref(device); - engine = fu_engine_new(FU_APP_FLAGS_NONE); + engine = fu_engine_new(); fu_engine_set_silo(engine, silo_empty); fu_engine_add_plugin(engine, self->plugin); device = fu_device_new(self->ctx); @@ -2237,7 +2237,7 @@ fu_engine_history_inherit(gconstpointer user_data) /* emulate not getting the flag */ g_object_unref(engine); g_object_unref(device); - engine = fu_engine_new(FU_APP_FLAGS_NONE); + engine = fu_engine_new(); fu_engine_set_silo(engine, silo_empty); fu_engine_add_plugin(engine, self->plugin); device = fu_device_new(self->ctx); @@ -2259,7 +2259,7 @@ fu_engine_install_needs_reboot(gconstpointer user_data) gboolean ret; g_autofree gchar *filename = NULL; g_autoptr(FuDevice) device = fu_device_new(self->ctx); - g_autoptr(FuEngine) engine = fu_engine_new(FU_APP_FLAGS_NONE); + g_autoptr(FuEngine) engine = fu_engine_new(); g_autoptr(FuRelease) release = fu_release_new(); g_autoptr(FuProgress) progress = fu_progress_new(G_STRLOC); g_autoptr(GBytes) blob_cab = NULL; @@ -2347,7 +2347,7 @@ fu_engine_history_error_func(gconstpointer user_data) g_autofree gchar *filename = NULL; g_autoptr(FuDevice) device2 = NULL; g_autoptr(FuDevice) device = fu_device_new(self->ctx); - g_autoptr(FuEngine) engine = fu_engine_new(FU_APP_FLAGS_NONE); + g_autoptr(FuEngine) engine = fu_engine_new(); g_autoptr(FuHistory) history = NULL; g_autoptr(FuRelease) release = fu_release_new(); g_autoptr(FuProgress) progress = fu_progress_new(G_STRLOC); @@ -3081,7 +3081,7 @@ fu_plugin_module_func(gconstpointer user_data) g_autoptr(FuDevice) device = NULL; g_autoptr(FuDevice) device2 = NULL; g_autoptr(FuDevice) device3 = NULL; - g_autoptr(FuEngine) engine = fu_engine_new(FU_APP_FLAGS_NONE); + g_autoptr(FuEngine) engine = fu_engine_new(); g_autoptr(FuHistory) history = NULL; g_autoptr(FuProgress) progress = fu_progress_new(G_STRLOC); g_autoptr(GBytes) blob_cab = NULL; @@ -3419,7 +3419,7 @@ fu_plugin_composite_func(gconstpointer user_data) FuTest *self = (FuTest *)user_data; GError *error = NULL; gboolean ret; - g_autoptr(FuEngine) engine = fu_engine_new(FU_APP_FLAGS_NONE); + g_autoptr(FuEngine) engine = fu_engine_new(); g_autoptr(FuEngineRequest) request = fu_engine_request_new(FU_ENGINE_REQUEST_KIND_ACTIVE); g_autoptr(GBytes) blob = NULL; g_autoptr(GPtrArray) components = NULL; diff --git a/src/fu-tool.c b/src/fu-tool.c index 2bc6092af..c9af06040 100644 --- a/src/fu-tool.c +++ b/src/fu-tool.c @@ -274,6 +274,7 @@ fu_util_start_engine(FuUtilPrivate *priv, g_debug("Failed to stop daemon: %s", error_local->message); } #endif + flags |= FU_ENGINE_LOAD_FLAG_NO_IDLE_SOURCES; if (!fu_engine_load(priv->engine, flags, progress, error)) return FALSE; if (fu_engine_get_tainted(priv->engine)) { @@ -3921,7 +3922,7 @@ main(int argc, char *argv[]) priv->flags |= FWUPD_INSTALL_FLAG_IGNORE_VID_PID; /* load engine */ - priv->engine = fu_engine_new(FU_APP_FLAGS_NO_IDLE_SOURCES); + priv->engine = fu_engine_new(); g_signal_connect(FU_ENGINE(priv->engine), "device-request", G_CALLBACK(fu_util_update_device_request_cb),