libmm-glib,sim: add support to get GID1 and GID2 fields

This commit is contained in:
Aleksander Morgado
2022-08-03 14:19:54 +00:00
committed by Aleksander Morgado
parent 219efb0253
commit cd933c740e
3 changed files with 125 additions and 0 deletions

View File

@@ -1611,6 +1611,10 @@ mm_sim_dup_operator_name
mm_sim_get_emergency_numbers
mm_sim_dup_emergency_numbers
mm_sim_get_preferred_networks
mm_sim_get_gid1
mm_sim_dup_gid1
mm_sim_get_gid2
mm_sim_dup_gid2
mm_sim_get_sim_type
mm_sim_get_esim_status
mm_sim_get_removability

View File

@@ -415,6 +415,118 @@ mm_sim_get_preferred_networks (MMSim *self)
/*****************************************************************************/
/**
* mm_sim_get_gid1:
* @self: A #MMSim.
* @data_len: (out): Size of the output data, if any given.
*
* Gets the Group Identifier Level 1 of the #MMSim object.
*
* Returns: (transfer none) (array length=data_len) (element-type guint8): The
* GID1 data, or %NULL if unknown.
*
* Since: 1.20
*/
const guint8 *
mm_sim_get_gid1 (MMSim *self,
gsize *data_len)
{
GVariant *value;
g_return_val_if_fail (MM_IS_SIM (self), NULL);
g_return_val_if_fail (data_len != NULL, NULL);
value = mm_gdbus_sim_get_gid1 (MM_GDBUS_SIM (self));
return (value ?
g_variant_get_fixed_array (value, data_len, sizeof (guint8)) :
NULL);
}
/**
* mm_sim_dup_gid1:
* @self: A #MMSim.
* @data_len: (out): Size of the output data, if any given.
*
* Gets the Group Identifier Level 1 of the #MMSim object.
*
* Returns: (transfer full) (array length=data_len) (element-type guint8): The
* GID1 data, or %NULL if unknown.
*
* Since: 1.20
*/
guint8 *
mm_sim_dup_gid1 (MMSim *self,
gsize *data_len)
{
g_autoptr(GVariant) value = NULL;
g_return_val_if_fail (MM_IS_SIM (self), NULL);
g_return_val_if_fail (data_len != NULL, NULL);
value = mm_gdbus_sim_dup_gid1 (MM_GDBUS_SIM (self));
return (value ?
g_memdup (g_variant_get_fixed_array (value, data_len, sizeof (guint8)), *data_len) :
NULL);
}
/*****************************************************************************/
/**
* mm_sim_get_gid2:
* @self: A #MMSim.
* @data_len: (out): Size of the output data, if any given.
*
* Gets the Group Identifier Level 2 of the #MMSim object.
*
* Returns: (transfer none) (array length=data_len) (element-type guint8): The
* GID2 data, or %NULL if unknown.
*
* Since: 1.20
*/
const guint8 *
mm_sim_get_gid2 (MMSim *self,
gsize *data_len)
{
GVariant *value;
g_return_val_if_fail (MM_IS_SIM (self), NULL);
g_return_val_if_fail (data_len != NULL, NULL);
value = mm_gdbus_sim_get_gid2 (MM_GDBUS_SIM (self));
return (value ?
g_variant_get_fixed_array (value, data_len, sizeof (guint8)) :
NULL);
}
/**
* mm_sim_dup_gid2:
* @self: A #MMSim.
* @data_len: (out): Size of the output data, if any given.
*
* Gets the Group Identifier Level 2 of the #MMSim object.
*
* Returns: (transfer full) (array length=data_len) (element-type guint8): The
* GID2 data, or %NULL if unknown.
*
* Since: 1.20
*/
guint8 *
mm_sim_dup_gid2 (MMSim *self,
gsize *data_len)
{
g_autoptr(GVariant) value = NULL;
g_return_val_if_fail (MM_IS_SIM (self), NULL);
g_return_val_if_fail (data_len != NULL, NULL);
value = mm_gdbus_sim_dup_gid2 (MM_GDBUS_SIM (self));
return (value ?
g_memdup (g_variant_get_fixed_array (value, data_len, sizeof (guint8)), *data_len) :
NULL);
}
/*****************************************************************************/
/**
* mm_sim_get_sim_type:
* @self: A #MMSim.

View File

@@ -89,6 +89,15 @@ gchar **mm_sim_dup_emergency_numbers (MMSim *self);
GList* mm_sim_get_preferred_networks (MMSim *self);
const guint8 *mm_sim_get_gid1 (MMSim *self,
gsize *data_len);
guint8 *mm_sim_dup_gid1 (MMSim *self,
gsize *data_len);
const guint8 *mm_sim_get_gid2 (MMSim *self,
gsize *data_len);
guint8 *mm_sim_dup_gid2 (MMSim *self,
gsize *data_len);
MMSimType mm_sim_get_sim_type (MMSim *self);
MMSimEsimStatus mm_sim_get_esim_status (MMSim *self);
MMSimRemovability mm_sim_get_removability (MMSim *self);