mirror of
https://git.proxmox.com/git/fwupd
synced 2025-08-14 20:24:36 +00:00
Add fu_device_locker_close()
This allows us to manually close the locker, allowing proper error handling.
This commit is contained in:
parent
f35be1c393
commit
a1882f8c4b
@ -63,6 +63,32 @@ fu_device_locker_init (FuDeviceLocker *self)
|
||||
{
|
||||
}
|
||||
|
||||
/**
|
||||
* fu_device_locker_close:
|
||||
* @self: A #FuDeviceLocker
|
||||
* @error: A #GError, or %NULL
|
||||
*
|
||||
* Closes the locker before it gets cleaned up.
|
||||
*
|
||||
* This function can be used to manually close a device managed by a locker,
|
||||
* and allows the caller to properly handle the error.
|
||||
*
|
||||
* Returns: %TRUE for success
|
||||
*
|
||||
* Since: 1.4.0
|
||||
**/
|
||||
gboolean
|
||||
fu_device_locker_close (FuDeviceLocker *self, GError **error)
|
||||
{
|
||||
g_return_val_if_fail (FU_IS_DEVICE_LOCKER (self), NULL);
|
||||
if (!self->device_open)
|
||||
return TRUE;
|
||||
if (!self->close_func (self->device, error))
|
||||
return FALSE;
|
||||
self->device_open = FALSE;
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
/**
|
||||
* fu_device_locker_new:
|
||||
* @device: A #GObject
|
||||
|
@ -21,3 +21,5 @@ FuDeviceLocker *fu_device_locker_new_full (gpointer device,
|
||||
FuDeviceLockerFunc open_func,
|
||||
FuDeviceLockerFunc close_func,
|
||||
GError **error);
|
||||
gboolean fu_device_locker_close (FuDeviceLocker *self,
|
||||
GError **error);
|
||||
|
@ -547,6 +547,7 @@ LIBFWUPDPLUGIN_1.4.0 {
|
||||
fu_cabinet_set_jcat_context;
|
||||
fu_cabinet_set_size_max;
|
||||
fu_device_get_root;
|
||||
fu_device_locker_close;
|
||||
fu_device_set_version_bootloader;
|
||||
fu_device_set_version_format;
|
||||
fu_device_set_version_lowest;
|
||||
|
Loading…
Reference in New Issue
Block a user