mirror of
https://git.proxmox.com/git/fwupd
synced 2025-08-08 18:14:44 +00:00
Allow setting the device flags using GObject properties
This commit is contained in:
parent
741e1e5323
commit
be956bdb66
@ -61,6 +61,7 @@ typedef struct {
|
|||||||
enum {
|
enum {
|
||||||
PROP_0,
|
PROP_0,
|
||||||
PROP_VERSION_FORMAT,
|
PROP_VERSION_FORMAT,
|
||||||
|
PROP_FLAGS,
|
||||||
PROP_LAST
|
PROP_LAST
|
||||||
};
|
};
|
||||||
|
|
||||||
@ -875,7 +876,10 @@ fwupd_device_set_flags (FwupdDevice *device, guint64 flags)
|
|||||||
{
|
{
|
||||||
FwupdDevicePrivate *priv = GET_PRIVATE (device);
|
FwupdDevicePrivate *priv = GET_PRIVATE (device);
|
||||||
g_return_if_fail (FWUPD_IS_DEVICE (device));
|
g_return_if_fail (FWUPD_IS_DEVICE (device));
|
||||||
|
if (priv->flags == flags)
|
||||||
|
return;
|
||||||
priv->flags = flags;
|
priv->flags = flags;
|
||||||
|
g_object_notify (G_OBJECT (device), "flags");
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -892,7 +896,12 @@ fwupd_device_add_flag (FwupdDevice *device, FwupdDeviceFlags flag)
|
|||||||
{
|
{
|
||||||
FwupdDevicePrivate *priv = GET_PRIVATE (device);
|
FwupdDevicePrivate *priv = GET_PRIVATE (device);
|
||||||
g_return_if_fail (FWUPD_IS_DEVICE (device));
|
g_return_if_fail (FWUPD_IS_DEVICE (device));
|
||||||
|
if (flag == 0)
|
||||||
|
return;
|
||||||
|
if ((priv->flags & flag) > 0)
|
||||||
|
return;
|
||||||
priv->flags |= flag;
|
priv->flags |= flag;
|
||||||
|
g_object_notify (G_OBJECT (device), "flags");
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -909,7 +918,12 @@ fwupd_device_remove_flag (FwupdDevice *device, FwupdDeviceFlags flag)
|
|||||||
{
|
{
|
||||||
FwupdDevicePrivate *priv = GET_PRIVATE (device);
|
FwupdDevicePrivate *priv = GET_PRIVATE (device);
|
||||||
g_return_if_fail (FWUPD_IS_DEVICE (device));
|
g_return_if_fail (FWUPD_IS_DEVICE (device));
|
||||||
|
if (flag == 0)
|
||||||
|
return;
|
||||||
|
if ((priv->flags & flag) == 0)
|
||||||
|
return;
|
||||||
priv->flags &= ~flag;
|
priv->flags &= ~flag;
|
||||||
|
g_object_notify (G_OBJECT (device), "flags");
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -1880,6 +1894,9 @@ fwupd_device_get_property (GObject *object, guint prop_id,
|
|||||||
case PROP_VERSION_FORMAT:
|
case PROP_VERSION_FORMAT:
|
||||||
g_value_set_uint (value, priv->version_format);
|
g_value_set_uint (value, priv->version_format);
|
||||||
break;
|
break;
|
||||||
|
case PROP_FLAGS:
|
||||||
|
g_value_set_uint64 (value, priv->flags);
|
||||||
|
break;
|
||||||
default:
|
default:
|
||||||
G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
|
G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
|
||||||
break;
|
break;
|
||||||
@ -1895,6 +1912,9 @@ fwupd_device_set_property (GObject *object, guint prop_id,
|
|||||||
case PROP_VERSION_FORMAT:
|
case PROP_VERSION_FORMAT:
|
||||||
fwupd_device_set_version_format (self, g_value_get_uint (value));
|
fwupd_device_set_version_format (self, g_value_get_uint (value));
|
||||||
break;
|
break;
|
||||||
|
case PROP_FLAGS:
|
||||||
|
fwupd_device_set_flags (self, g_value_get_uint64 (value));
|
||||||
|
break;
|
||||||
default:
|
default:
|
||||||
G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
|
G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
|
||||||
break;
|
break;
|
||||||
@ -1918,6 +1938,14 @@ fwupd_device_class_init (FwupdDeviceClass *klass)
|
|||||||
G_PARAM_READWRITE |
|
G_PARAM_READWRITE |
|
||||||
G_PARAM_STATIC_NAME);
|
G_PARAM_STATIC_NAME);
|
||||||
g_object_class_install_property (object_class, PROP_VERSION_FORMAT, pspec);
|
g_object_class_install_property (object_class, PROP_VERSION_FORMAT, pspec);
|
||||||
|
|
||||||
|
pspec = g_param_spec_uint64 ("flags", NULL, NULL,
|
||||||
|
FWUPD_DEVICE_FLAG_NONE,
|
||||||
|
FWUPD_DEVICE_FLAG_UNKNOWN,
|
||||||
|
FWUPD_DEVICE_FLAG_NONE,
|
||||||
|
G_PARAM_READWRITE |
|
||||||
|
G_PARAM_STATIC_NAME);
|
||||||
|
g_object_class_install_property (object_class, PROP_FLAGS, pspec);
|
||||||
}
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
|
Loading…
Reference in New Issue
Block a user