mirror of
https://git.proxmox.com/git/fwupd
synced 2025-08-15 04:23:21 +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:
|
* fu_device_locker_new:
|
||||||
* @device: A #GObject
|
* @device: A #GObject
|
||||||
|
@ -21,3 +21,5 @@ FuDeviceLocker *fu_device_locker_new_full (gpointer device,
|
|||||||
FuDeviceLockerFunc open_func,
|
FuDeviceLockerFunc open_func,
|
||||||
FuDeviceLockerFunc close_func,
|
FuDeviceLockerFunc close_func,
|
||||||
GError **error);
|
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_jcat_context;
|
||||||
fu_cabinet_set_size_max;
|
fu_cabinet_set_size_max;
|
||||||
fu_device_get_root;
|
fu_device_get_root;
|
||||||
|
fu_device_locker_close;
|
||||||
fu_device_set_version_bootloader;
|
fu_device_set_version_bootloader;
|
||||||
fu_device_set_version_format;
|
fu_device_set_version_format;
|
||||||
fu_device_set_version_lowest;
|
fu_device_set_version_lowest;
|
||||||
|
Loading…
Reference in New Issue
Block a user