diff options
author | Aleksander Morgado <aleksandermj@google.com> | 2022-08-03 14:19:54 +0000 |
---|---|---|
committer | Aleksander Morgado <aleksander@aleksander.es> | 2022-08-19 15:53:43 +0000 |
commit | cd933c740ea8d9d32da42104607c8b4927c64389 (patch) | |
tree | ccdd0a2993c531895f0d23c99024dad456faf87b /libmm-glib | |
parent | 219efb02534d8607698be0dd3ebefecca64c8826 (diff) |
libmm-glib,sim: add support to get GID1 and GID2 fields
Diffstat (limited to 'libmm-glib')
-rw-r--r-- | libmm-glib/mm-sim.c | 112 | ||||
-rw-r--r-- | libmm-glib/mm-sim.h | 9 |
2 files changed, 121 insertions, 0 deletions
diff --git a/libmm-glib/mm-sim.c b/libmm-glib/mm-sim.c index e44b5b3d..48b68619 100644 --- a/libmm-glib/mm-sim.c +++ b/libmm-glib/mm-sim.c @@ -416,6 +416,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. * diff --git a/libmm-glib/mm-sim.h b/libmm-glib/mm-sim.h index 77011fde..a1dd8ed5 100644 --- a/libmm-glib/mm-sim.h +++ b/libmm-glib/mm-sim.h @@ -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); |