summaryrefslogtreecommitdiff
path: root/plugins/nokia/mm-broadband-modem-nokia.c
diff options
context:
space:
mode:
authorAleksander Morgado <aleksander@lanedo.com>2012-03-09 00:13:53 +0100
committerAleksander Morgado <aleksander@lanedo.com>2012-03-16 14:53:23 +0100
commit4b64d3dcf044937d92f4bc0c7af54da6ee92c34e (patch)
treef7fe752ba664a963595dec78a2925c9f16977b47 /plugins/nokia/mm-broadband-modem-nokia.c
parent25e8bfd2a31c87bc2a1a4f5d98ebb173303b348b (diff)
nokia: new `MMSimNokia'
Nokia phones don't support AT+CRSM.
Diffstat (limited to 'plugins/nokia/mm-broadband-modem-nokia.c')
-rw-r--r--plugins/nokia/mm-broadband-modem-nokia.c30
1 files changed, 29 insertions, 1 deletions
diff --git a/plugins/nokia/mm-broadband-modem-nokia.c b/plugins/nokia/mm-broadband-modem-nokia.c
index 3e8a1661..9991fce0 100644
--- a/plugins/nokia/mm-broadband-modem-nokia.c
+++ b/plugins/nokia/mm-broadband-modem-nokia.c
@@ -30,6 +30,7 @@
#include "mm-iface-modem.h"
#include "mm-base-modem-at.h"
#include "mm-broadband-modem-nokia.h"
+#include "mm-sim-nokia.h"
static void iface_modem_init (MMIfaceModem *iface);
@@ -37,7 +38,30 @@ G_DEFINE_TYPE_EXTENDED (MMBroadbandModemNokia, mm_broadband_modem_nokia, MM_TYPE
G_IMPLEMENT_INTERFACE (MM_TYPE_IFACE_MODEM, iface_modem_init));
/*****************************************************************************/
-/* MODEM INIT */
+/* Create SIM (Modem interface) */
+
+static MMSim *
+create_sim_finish (MMIfaceModem *self,
+ GAsyncResult *res,
+ GError **error)
+{
+ return mm_sim_new_finish (res, error);
+}
+
+static void
+create_sim (MMIfaceModem *self,
+ GAsyncReadyCallback callback,
+ gpointer user_data)
+{
+ /* New Nokia SIM */
+ mm_sim_nokia_new (MM_BASE_MODEM (self),
+ NULL, /* cancellable */
+ callback,
+ user_data);
+}
+
+/*****************************************************************************/
+/* Modem initialization (Modem interface) */
static gboolean
modem_init_finish (MMIfaceModem *self,
@@ -113,6 +137,10 @@ iface_modem_init (MMIfaceModem *iface)
iface->modem_init = modem_init;
iface->modem_init_finish = modem_init_finish;
+ /* Create Nokia-specific SIM*/
+ iface->create_sim = create_sim;
+ iface->create_sim_finish = create_sim_finish;
+
/* Nokia headsets (at least N85) do not support "power on"; they do
* support "power off" but you proabably do not want to turn off the
* power on your telephone if something went wrong with connecting