mirror of
https://gitlab.freedesktop.org/NetworkManager/NetworkManager.git
synced 2025-12-29 19:40:12 +01:00
libnm: change "nm_sett_info_propert_type_dcb_au" to use gprop_type for to_dbus_fcn()
(cherry picked from commit 8c0a8a6d9b)
This commit is contained in:
parent
3dfd563601
commit
97a25c5965
4 changed files with 15 additions and 12 deletions
|
|
@ -744,14 +744,6 @@ set_gvalue_from_array(GValue *v, uint *a, size_t len)
|
|||
|
||||
#define SET_GVALUE_FROM_ARRAY(v, a) set_gvalue_from_array(v, a, G_N_ELEMENTS(a))
|
||||
|
||||
static GVariant *
|
||||
_nm_setting_dcb_uint_array_to_dbus(const GValue *prop_value)
|
||||
{
|
||||
GArray *src = g_value_get_boxed(prop_value);
|
||||
|
||||
return nm_g_variant_new_au((const guint32 *) src->data, src->len);
|
||||
}
|
||||
|
||||
static void
|
||||
_nm_setting_dcb_uint_array_from_dbus(GVariant *dbus_value, GValue *prop_value)
|
||||
{
|
||||
|
|
@ -763,10 +755,10 @@ _nm_setting_dcb_uint_array_from_dbus(GVariant *dbus_value, GValue *prop_value)
|
|||
}
|
||||
|
||||
static const NMSettInfoPropertType nm_sett_info_propert_type_dcb_au =
|
||||
NM_SETT_INFO_PROPERT_TYPE_GPROP_INIT(NM_G_VARIANT_TYPE("au"),
|
||||
.gprop_to_dbus_fcn = _nm_setting_dcb_uint_array_to_dbus,
|
||||
.gprop_from_dbus_fcn =
|
||||
_nm_setting_dcb_uint_array_from_dbus, );
|
||||
NM_SETT_INFO_PROPERT_TYPE_GPROP_INIT(
|
||||
NM_G_VARIANT_TYPE("au"),
|
||||
.typdata_to_dbus.gprop_type = NM_SETTING_PROPERTY_TO_DBUS_FCN_GPROP_TYPE_GARRAY_UINT,
|
||||
.gprop_from_dbus_fcn = _nm_setting_dcb_uint_array_from_dbus, );
|
||||
|
||||
/*****************************************************************************/
|
||||
|
||||
|
|
|
|||
|
|
@ -544,6 +544,7 @@ _nm_setting_property_to_dbus_fcn_gprop(const NMSettInfoSetting * s
|
|||
nm_auto_unset_gvalue GValue prop_value = {
|
||||
0,
|
||||
};
|
||||
GArray *tmp_array;
|
||||
|
||||
nm_assert(property->param_spec);
|
||||
|
||||
|
|
@ -567,6 +568,12 @@ _nm_setting_property_to_dbus_fcn_gprop(const NMSettInfoSetting * s
|
|||
return g_variant_new_int32(g_value_get_enum(&prop_value));
|
||||
case NM_SETTING_PROPERTY_TO_DBUS_FCN_GPROP_TYPE_FLAGS:
|
||||
return g_variant_new_uint32(g_value_get_flags(&prop_value));
|
||||
case NM_SETTING_PROPERTY_TO_DBUS_FCN_GPROP_TYPE_GARRAY_UINT:
|
||||
G_STATIC_ASSERT_EXPR(sizeof(guint) == sizeof(guint32));
|
||||
nm_assert(G_VALUE_HOLDS(&prop_value, G_TYPE_ARRAY));
|
||||
tmp_array = g_value_get_boxed(&prop_value);
|
||||
nm_assert(tmp_array);
|
||||
return nm_g_variant_new_au((const guint32 *) tmp_array->data, tmp_array->len);
|
||||
}
|
||||
|
||||
return nm_assert_unreachable_val(NULL);
|
||||
|
|
|
|||
|
|
@ -4385,6 +4385,9 @@ test_setting_metadata(void)
|
|||
case NM_SETTING_PROPERTY_TO_DBUS_FCN_GPROP_TYPE_FLAGS:
|
||||
g_assert(g_type_is_a (sip->param_spec->value_type, G_TYPE_FLAGS));
|
||||
goto check_done;
|
||||
case NM_SETTING_PROPERTY_TO_DBUS_FCN_GPROP_TYPE_GARRAY_UINT:
|
||||
g_assert(sip->param_spec->value_type == G_TYPE_ARRAY);
|
||||
goto check_done;
|
||||
case NM_SETTING_PROPERTY_TO_DBUS_FCN_GPROP_TYPE_DEFAULT:
|
||||
goto check_done;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -676,6 +676,7 @@ typedef enum _nm_packed {
|
|||
NM_SETTING_PROPERTY_TO_DBUS_FCN_GPROP_TYPE_BYTES,
|
||||
NM_SETTING_PROPERTY_TO_DBUS_FCN_GPROP_TYPE_ENUM,
|
||||
NM_SETTING_PROPERTY_TO_DBUS_FCN_GPROP_TYPE_FLAGS,
|
||||
NM_SETTING_PROPERTY_TO_DBUS_FCN_GPROP_TYPE_GARRAY_UINT,
|
||||
} NMSettingPropertyToDBusFcnGPropType;
|
||||
|
||||
typedef struct {
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue