/* * Copyright (C) 2018 Richard Hughes * * SPDX-License-Identifier: LGPL-2.1+ */ #pragma once #include #include #include "fu-device.h" #define FU_TYPE_IDLE (fu_idle_get_type ()) G_DECLARE_FINAL_TYPE (FuIdle, fu_idle, FU, IDLE, GObject) FuIdle *fu_idle_new (void); guint32 fu_idle_inhibit (FuIdle *self, const gchar *reason); void fu_idle_uninhibit (FuIdle *self, guint32 token); void fu_idle_set_timeout (FuIdle *self, guint timeout); void fu_idle_reset (FuIdle *self); FwupdStatus fu_idle_get_status (FuIdle *self); /** * FuIdleLocker: * @idle: A #FuIdle * @token: A #guint32 number * * A locker to prevent daemon from shutting down on its own **/ typedef struct { FuIdle *idle; guint32 token; } FuIdleLocker; FuIdleLocker *fu_idle_locker_new (FuIdle *self, const gchar *reason); void fu_idle_locker_free (FuIdleLocker *locker); G_DEFINE_AUTOPTR_CLEANUP_FUNC(FuIdleLocker, fu_idle_locker_free)