diff options
-rw-r--r-- | docs/reference/api/ModemManager-sections.txt | 3 | ||||
-rw-r--r-- | docs/reference/libmm-glib/libmm-glib-sections.txt | 18 | ||||
-rw-r--r-- | include/ModemManager-enums.h | 48 | ||||
-rw-r--r-- | libmm-glib/mm-sim.c | 56 | ||||
-rw-r--r-- | libmm-glib/mm-sim.h | 4 |
5 files changed, 129 insertions, 0 deletions
diff --git a/docs/reference/api/ModemManager-sections.txt b/docs/reference/api/ModemManager-sections.txt index 5184503a..2e85ce35 100644 --- a/docs/reference/api/ModemManager-sections.txt +++ b/docs/reference/api/ModemManager-sections.txt @@ -55,6 +55,9 @@ MMSmsStorage MMSmsValidityType MMSmsCdmaTeleserviceId MMSmsCdmaServiceCategory +MMSimType +MMSimEsimStatus +MMSimRemovability </SECTION> <SECTION> diff --git a/docs/reference/libmm-glib/libmm-glib-sections.txt b/docs/reference/libmm-glib/libmm-glib-sections.txt index 1d95b042..3f03ea6d 100644 --- a/docs/reference/libmm-glib/libmm-glib-sections.txt +++ b/docs/reference/libmm-glib/libmm-glib-sections.txt @@ -1358,6 +1358,9 @@ mm_sim_dup_operator_name mm_sim_get_emergency_numbers mm_sim_dup_emergency_numbers mm_sim_get_preferred_networks +mm_sim_get_sim_type +mm_sim_get_esim_status +mm_sim_get_removability <SUBSECTION Methods> mm_sim_send_pin mm_sim_send_pin_finish @@ -1695,6 +1698,9 @@ mm_bearer_ip_family_get_string mm_bearer_allowed_auth_build_string_from_mask mm_bearer_multiplex_support_get_string mm_bearer_apn_type_build_string_from_mask +mm_sim_type_get_string +mm_sim_esim_status_get_string +mm_sim_removability_get_string mm_modem_capability_build_string_from_mask mm_modem_state_get_string mm_modem_state_failed_reason_get_string @@ -1760,6 +1766,9 @@ mm_bearer_ip_method_build_string_from_mask mm_bearer_allowed_auth_get_string mm_bearer_multiplex_support_build_string_from_mask mm_bearer_apn_type_get_string +mm_sim_type_build_string_from_mask +mm_sim_esim_status_build_string_from_mask +mm_sim_removability_build_string_from_mask mm_modem_cdma_registration_state_build_string_from_mask mm_modem_cdma_activation_state_build_string_from_mask mm_modem_cdma_rm_protocol_build_string_from_mask @@ -1787,6 +1796,9 @@ MM_TYPE_BEARER_IP_METHOD MM_TYPE_BEARER_ALLOWED_AUTH MM_TYPE_BEARER_MULTIPLEX_SUPPORT MM_TYPE_BEARER_APN_TYPE +MM_TYPE_SIM_TYPE +MM_TYPE_ESIM_STATUS +MM_TYPE_SIM_REMOVAL_STATUS MM_TYPE_FIRMWARE_IMAGE_TYPE MM_TYPE_MODEM_3GPP_FACILITY MM_TYPE_MODEM_3GPP_NETWORK_AVAILABILITY @@ -1832,6 +1844,9 @@ mm_bearer_ip_method_get_type mm_bearer_allowed_auth_get_type mm_bearer_multiplex_support_get_type mm_bearer_apn_type_get_type +mm_sim_type_get_type +mm_sim_esim_status_get_type +mm_sim_removability_get_type mm_firmware_image_type_get_type mm_modem_3gpp_facility_get_type mm_modem_3gpp_network_availability_get_type @@ -3533,6 +3548,9 @@ mm_gdbus_sim_get_emergency_numbers mm_gdbus_sim_dup_emergency_numbers mm_gdbus_sim_dup_preferred_networks mm_gdbus_sim_get_preferred_networks +mm_gdbus_sim_get_sim_type +mm_gdbus_sim_get_esim_status +mm_gdbus_sim_get_removability <SUBSECTION Methods> mm_gdbus_sim_call_send_pin mm_gdbus_sim_call_send_pin_finish diff --git a/include/ModemManager-enums.h b/include/ModemManager-enums.h index 765e1c2b..6011f2d0 100644 --- a/include/ModemManager-enums.h +++ b/include/ModemManager-enums.h @@ -1729,4 +1729,52 @@ typedef enum { /*< underscore_name=mm_modem_3gpp_packet_service_state >*/ MM_MODEM_3GPP_PACKET_SERVICE_STATE_ATTACHED = 2, } MMModem3gppPacketServiceState; +/** +* MMSimType: +* @MM_SIM_TYPE_UNKNOWN: SIM type is not known. +* @MM_SIM_TYPE_PHYSICAL: SIM is a pysical SIM. +* @MM_SIM_TYPE_ESIM: SIM is a ESIM. +* +* SIM type indicating whether ESIM or not +* +* Since: 1.20 +*/ +typedef enum { /*< underscore_name=mm_sim_type >*/ + MM_SIM_TYPE_UNKNOWN = 0, + MM_SIM_TYPE_PHYSICAL = 1, + MM_SIM_TYPE_ESIM = 2, +} MMSimType; + +/** +* MMSimEsimStatus: +* @MM_SIM_ESIM_STATUS_UNKNOWN: ESIM status unknown. +* @MM_SIM_ESIM_STATUS_NO_PROFILES: ESIM with no profiles. +* @MM_SIM_ESIM_STATUS_WITH_PROFILES: ESIM with profiles. +* +* Status of the profiles for ESIM +* +* Since: 1.20 +*/ +typedef enum { /*< underscore_name=mm_sim_esim_status >*/ + MM_SIM_ESIM_STATUS_UNKNOWN = 0, + MM_SIM_ESIM_STATUS_NO_PROFILES = 1, + MM_SIM_ESIM_STATUS_WITH_PROFILES = 2, +} MMSimEsimStatus; + +/** +* MMSimRemovability: +* @MM_SIM_REMOVABILITY_UNKNOWN: SIM removability not known. +* @MM_SIM_REMOVABILITY_REMOVABLE: SIM is a removable SIM. +* @MM_SIM_REMOVABILITY_NOT_REMOVABLE: SIM is not a removable SIM. +* +* Respresents SIM removability of the current SIM. +* +* Since: 1.20 +*/ +typedef enum { /*< underscore_name=mm_sim_removability >*/ + MM_SIM_REMOVABILITY_UNKNOWN = 0, + MM_SIM_REMOVABILITY_REMOVABLE = 1, + MM_SIM_REMOVABILITY_NOT_REMOVABLE = 2, +} MMSimRemovability; + #endif /* _MODEMMANAGER_ENUMS_H_ */ diff --git a/libmm-glib/mm-sim.c b/libmm-glib/mm-sim.c index e4393b61..ea68d8dd 100644 --- a/libmm-glib/mm-sim.c +++ b/libmm-glib/mm-sim.c @@ -411,6 +411,62 @@ mm_sim_get_preferred_networks (MMSim *self) return network_list; } +/** + * mm_sim_get_sim_type: + * @self: A #MMSim. + * + * Gets the SIM type. + * + * Returns: a #MMSimType. + * + * Since: 1.20 + */ +MMSimType +mm_sim_get_sim_type (MMSim *self) +{ + g_return_val_if_fail (MM_IS_SIM (self), MM_SIM_TYPE_UNKNOWN); + + return mm_gdbus_sim_get_sim_type (MM_GDBUS_SIM (self)); +} + +/** + * mm_sim_get_esim_status: + * @self: A #MMSim. + * + * Gets the eSIM status. + * + * Only applicable if the SIM type is %MM_SIM_TYPE_ESIM. + * + * Returns: a #MMSimEsimStatus. + * + * Since: 1.20 + */ +MMSimEsimStatus +mm_sim_get_esim_status (MMSim *self) +{ + g_return_val_if_fail (MM_IS_SIM (self), MM_SIM_ESIM_STATUS_UNKNOWN); + + return mm_gdbus_sim_get_esim_status (MM_GDBUS_SIM (self)); +} + +/** + * mm_sim_get_removability: + * @self: A #MMSim. + * + * Gets whether the SIM is removable or not. + * + * Returns: a #MMSimRemovability. + * + * Since: 1.20 + */ +MMSimRemovability +mm_sim_get_removability (MMSim *self) +{ + g_return_val_if_fail (MM_IS_SIM (self), MM_SIM_REMOVABILITY_UNKNOWN); + + return mm_gdbus_sim_get_removability (MM_GDBUS_SIM (self)); +} + /*****************************************************************************/ /** diff --git a/libmm-glib/mm-sim.h b/libmm-glib/mm-sim.h index dab3f66d..77011fde 100644 --- a/libmm-glib/mm-sim.h +++ b/libmm-glib/mm-sim.h @@ -89,6 +89,10 @@ gchar **mm_sim_dup_emergency_numbers (MMSim *self); GList* mm_sim_get_preferred_networks (MMSim *self); +MMSimType mm_sim_get_sim_type (MMSim *self); +MMSimEsimStatus mm_sim_get_esim_status (MMSim *self); +MMSimRemovability mm_sim_get_removability (MMSim *self); + void mm_sim_send_pin (MMSim *self, const gchar *pin, GCancellable *cancellable, |