aboutsummaryrefslogtreecommitdiff
path: root/libmm-glib/mm-sim-preferred-network.c
diff options
context:
space:
mode:
authorTeijo Kinnunen <teijo.kinnunen@uros.com>2021-03-03 16:23:09 +0200
committerTeijo Kinnunen <teijo.kinnunen@uros.com>2021-03-09 08:52:55 +0200
commit66e93751b802beb5072e72bc911df3edf64b9a37 (patch)
tree48db0c947acf89e88855c15aa2f18963e18b350a /libmm-glib/mm-sim-preferred-network.c
parent72d753ba83fbc9a9dfc1d66ab2e426add5dbdd0c (diff)
api,sim: add new Sim.SetPreferredNetworks method
This commit includes D-Bus processing and documentation, but not any modem access implementation.
Diffstat (limited to 'libmm-glib/mm-sim-preferred-network.c')
-rw-r--r--libmm-glib/mm-sim-preferred-network.c50
1 files changed, 47 insertions, 3 deletions
diff --git a/libmm-glib/mm-sim-preferred-network.c b/libmm-glib/mm-sim-preferred-network.c
index c53239dd..8c56810e 100644
--- a/libmm-glib/mm-sim-preferred-network.c
+++ b/libmm-glib/mm-sim-preferred-network.c
@@ -89,7 +89,13 @@ mm_sim_preferred_network_get_access_technology (const MMSimPreferredNetwork *sel
}
/**
- * mm_sim_preferred_network_set_operator_code: (skip)
+ * mm_sim_preferred_network_set_operator_code:
+ * @self: A #MMSimPreferredNetwork.
+ * @operator_code: Operator code
+ *
+ * Set the operator code (MCCMNC) of this preferred network.
+ *
+ * Since: 1.18
*/
void
mm_sim_preferred_network_set_operator_code (MMSimPreferredNetwork *self,
@@ -102,7 +108,13 @@ mm_sim_preferred_network_set_operator_code (MMSimPreferredNetwork *self,
}
/**
- * mm_sim_preferred_network_set_access_technology: (skip)
+ * mm_sim_preferred_network_set_access_technology:
+ * @self: A #MMSimPreferredNetwork.
+ * @access_technology: A #MMModemAccessTechnology mask.
+ *
+ * Set the desired access technologies of this preferred network entry.
+ *
+ * Since: 1.18
*/
void
mm_sim_preferred_network_set_access_technology (MMSimPreferredNetwork *self,
@@ -114,7 +126,14 @@ mm_sim_preferred_network_set_access_technology (MMSimPreferredNetwork *self,
}
/**
- * mm_sim_preferred_network_new: (skip)
+ * mm_sim_preferred_network_new:
+ *
+ * Creates a new empty #MMSimPreferredNetwork.
+ *
+ * Returns: (transfer full): a #MMSimPreferredNetwork. The returned value should be freed
+ * with mm_sim_preferred_network_free().
+ *
+ * Since: 1.18
*/
MMSimPreferredNetwork *
mm_sim_preferred_network_new (void)
@@ -165,3 +184,28 @@ mm_sim_preferred_network_list_get_variant (const GList *preferred_network_list)
}
return g_variant_builder_end (&builder);
}
+
+/**
+ * mm_sim_preferred_network_list_new_from_variant: (skip)
+ */
+GList *
+mm_sim_preferred_network_list_new_from_variant (GVariant *variant)
+{
+ GList *network_list = NULL;
+ GVariant *child;
+ GVariantIter iter;
+
+ g_return_val_if_fail (g_variant_is_of_type (variant, G_VARIANT_TYPE ("a(su)")), NULL);
+
+ g_variant_iter_init (&iter, variant);
+ while ((child = g_variant_iter_next_value (&iter))) {
+ MMSimPreferredNetwork *preferred_net;
+
+ preferred_net = mm_sim_preferred_network_new_from_variant (child);
+ if (preferred_net)
+ network_list = g_list_append (network_list, preferred_net);
+ g_variant_unref (child);
+ }
+
+ return network_list;
+}