sim-qmi: allow creating preinitialized SIM objects

The default SIM creation method will attempt to initialize the SIM
properties during the object creation.

This new method allows creating SIM objects with already known
property values, and therefore not explicitly running the
asynchronous initialization process.

Completely equivalent to mm_base_sim_new_initialized() but creating a
subclassed MMSimQmi instead of the generic MMBaseSim.
This commit is contained in:
Aleksander Morgado
2020-08-28 14:59:06 +00:00
parent 89b6e811b9
commit b564d5f2e5
2 changed files with 41 additions and 0 deletions
+31
View File
@@ -1319,6 +1319,37 @@ mm_sim_qmi_new (MMBaseModem *modem,
NULL);
}
MMBaseSim *
mm_sim_qmi_new_initialized (MMBaseModem *modem,
gboolean dms_uim_deprecated,
guint slot_number,
gboolean active,
const gchar *sim_identifier,
const gchar *imsi,
const gchar *operator_identifier,
const gchar *operator_name,
const GStrv emergency_numbers)
{
MMBaseSim *sim;
sim = MM_BASE_SIM (g_object_new (MM_TYPE_SIM_QMI,
MM_BASE_SIM_MODEM, modem,
MM_SIM_QMI_DMS_UIM_DEPRECATED, dms_uim_deprecated,
MM_BASE_SIM_SLOT_NUMBER, slot_number,
"active", active,
"sim-identifier", sim_identifier,
"imsi", imsi,
"operator-identifier", operator_identifier,
"operator-name", operator_name,
"emergency-numbers", emergency_numbers,
NULL));
mm_base_sim_export (sim);
return sim;
}
/*****************************************************************************/
static void
mm_sim_qmi_init (MMSimQmi *self)
{
+10
View File
@@ -53,4 +53,14 @@ void mm_sim_qmi_new (MMBaseModem *modem,
MMBaseSim *mm_sim_qmi_new_finish (GAsyncResult *res,
GError **error);
MMBaseSim *mm_sim_qmi_new_initialized (MMBaseModem *modem,
gboolean dms_uim_deprecated,
guint slot_number,
gboolean active,
const gchar *sim_identifier,
const gchar *imsi,
const gchar *operator_identifier,
const gchar *operator_name,
const GStrv emergency_numbers);
#endif /* MM_SIM_QMI_H */