aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/mm-base-modem-at.c185
-rw-r--r--src/mm-base-modem-at.h91
-rw-r--r--src/mm-base-modem.c16
-rw-r--r--src/mm-base-modem.h3
-rw-r--r--src/mm-broadband-bearer.c191
-rw-r--r--src/mm-broadband-modem.c162
-rw-r--r--src/mm-sim.c7
-rw-r--r--src/mm-sms.c4
8 files changed, 318 insertions, 341 deletions
diff --git a/src/mm-base-modem-at.c b/src/mm-base-modem-at.c
index 6985f41a..04a350f9 100644
--- a/src/mm-base-modem-at.c
+++ b/src/mm-base-modem-at.c
@@ -70,6 +70,13 @@ abort_async_if_port_unusable (MMBaseModem *self,
return TRUE;
}
+static void
+modem_cancellable_cancelled (GCancellable *modem_cancellable,
+ GCancellable *user_cancellable)
+{
+ g_cancellable_cancel (user_cancellable);
+}
+
/*****************************************************************************/
/* AT sequence handling */
@@ -77,6 +84,9 @@ typedef struct {
MMBaseModem *self;
MMAtSerialPort *port;
GCancellable *cancellable;
+ gulong cancelled_id;
+ GCancellable *modem_cancellable;
+ GCancellable *user_cancellable;
const MMBaseModemAtCommand *current;
const MMBaseModemAtCommand *sequence;
GSimpleAsyncResult *simple;
@@ -95,8 +105,15 @@ at_sequence_context_free (AtSequenceContext *ctx)
if (ctx->response_processor_context &&
ctx->response_processor_context_free)
ctx->response_processor_context_free (ctx->response_processor_context);
- if (ctx->cancellable)
- g_object_unref (ctx->cancellable);
+
+ if (ctx->cancelled_id)
+ g_cancellable_disconnect (ctx->modem_cancellable,
+ ctx->cancelled_id);
+ if (ctx->user_cancellable)
+ g_object_unref (ctx->user_cancellable);
+ g_object_unref (ctx->modem_cancellable);
+ g_object_unref (ctx->cancellable);
+
if (ctx->result)
g_variant_unref (ctx->result);
if (ctx->simple)
@@ -105,10 +122,10 @@ at_sequence_context_free (AtSequenceContext *ctx)
}
GVariant *
-mm_base_modem_at_sequence_in_port_finish (MMBaseModem *self,
- GAsyncResult *res,
- gpointer *response_processor_context,
- GError **error)
+mm_base_modem_at_sequence_full_finish (MMBaseModem *self,
+ GAsyncResult *res,
+ gpointer *response_processor_context,
+ GError **error)
{
AtSequenceContext *ctx;
@@ -223,14 +240,14 @@ at_sequence_parse_response (MMAtSerialPort *port,
}
void
-mm_base_modem_at_sequence_in_port (MMBaseModem *self,
- MMAtSerialPort *port,
- const MMBaseModemAtCommand *sequence,
- gpointer response_processor_context,
- GDestroyNotify response_processor_context_free,
- GCancellable *cancellable,
- GAsyncReadyCallback callback,
- gpointer user_data)
+mm_base_modem_at_sequence_full (MMBaseModem *self,
+ MMAtSerialPort *port,
+ const MMBaseModemAtCommand *sequence,
+ gpointer response_processor_context,
+ GDestroyNotify response_processor_context_free,
+ GCancellable *cancellable,
+ GAsyncReadyCallback callback,
+ gpointer user_data)
{
AtSequenceContext *ctx;
@@ -242,17 +259,30 @@ mm_base_modem_at_sequence_in_port (MMBaseModem *self,
ctx = g_new0 (AtSequenceContext, 1);
ctx->self = g_object_ref (self);
ctx->port = g_object_ref (port);
- ctx->cancellable = (cancellable ?
- g_object_ref (cancellable) :
- NULL);
ctx->simple = g_simple_async_result_new (G_OBJECT (self),
callback,
user_data,
- mm_base_modem_at_sequence_in_port);
+ mm_base_modem_at_sequence_full);
ctx->current = ctx->sequence = sequence;
ctx->response_processor_context = response_processor_context;
ctx->response_processor_context_free = response_processor_context_free;
+ /* Setup cancellables */
+ ctx->modem_cancellable = mm_base_modem_get_cancellable (self);
+ ctx->user_cancellable = cancellable ? g_object_ref (cancellable) : NULL;
+ if (!ctx->user_cancellable)
+ /* Just the modem-wide one, use it directly */
+ ctx->cancellable = g_object_ref (ctx->modem_cancellable);
+ else {
+ /* Use the user provided one, which will also get cancelled if the modem
+ * wide-one gets cancelled */
+ ctx->cancellable = g_object_ref (ctx->user_cancellable);
+ ctx->cancelled_id = g_cancellable_connect (ctx->modem_cancellable,
+ G_CALLBACK (modem_cancellable_cancelled),
+ ctx->user_cancellable,
+ NULL);
+ }
+
/* Go on with the first one in the sequence */
mm_at_serial_port_queue_command (
ctx->port,
@@ -269,7 +299,7 @@ mm_base_modem_at_sequence_finish (MMBaseModem *self,
gpointer *response_processor_context,
GError **error)
{
- return (mm_base_modem_at_sequence_in_port_finish (
+ return (mm_base_modem_at_sequence_full_finish (
self,
res,
response_processor_context,
@@ -281,7 +311,6 @@ mm_base_modem_at_sequence (MMBaseModem *self,
const MMBaseModemAtCommand *sequence,
gpointer response_processor_context,
GDestroyNotify response_processor_context_free,
- GCancellable *cancellable,
GAsyncReadyCallback callback,
gpointer user_data)
{
@@ -299,13 +328,13 @@ mm_base_modem_at_sequence (MMBaseModem *self,
return;
}
- mm_base_modem_at_sequence_in_port (
+ mm_base_modem_at_sequence_full (
self,
port,
sequence,
response_processor_context,
response_processor_context_free,
- cancellable,
+ NULL,
callback,
user_data);
}
@@ -375,15 +404,25 @@ typedef struct {
MMBaseModem *self;
MMAtSerialPort *port;
GCancellable *cancellable;
+ gulong cancelled_id;
+ GCancellable *modem_cancellable;
+ GCancellable *user_cancellable;
GSimpleAsyncResult *result;
} AtCommandContext;
static void
at_command_context_free (AtCommandContext *ctx)
{
- if (ctx->cancellable)
- g_object_unref (ctx->cancellable);
mm_serial_port_close (MM_SERIAL_PORT (ctx->port));
+
+ if (ctx->cancelled_id)
+ g_cancellable_disconnect (ctx->modem_cancellable,
+ ctx->cancelled_id);
+ if (ctx->user_cancellable)
+ g_object_unref (ctx->user_cancellable);
+ g_object_unref (ctx->modem_cancellable);
+ g_object_unref (ctx->cancellable);
+
g_object_unref (ctx->port);
g_object_unref (ctx->result);
g_object_unref (ctx->self);
@@ -391,7 +430,7 @@ at_command_context_free (AtCommandContext *ctx)
}
const gchar *
-mm_base_modem_at_command_in_port_finish (MMBaseModem *self,
+mm_base_modem_at_command_full_finish (MMBaseModem *self,
GAsyncResult *res,
GError **error)
{
@@ -433,14 +472,14 @@ at_command_parse_response (MMAtSerialPort *port,
}
void
-mm_base_modem_at_command_in_port (MMBaseModem *self,
- MMAtSerialPort *port,
- const gchar *command,
- guint timeout,
- gboolean allow_cached,
- GCancellable *cancellable,
- GAsyncReadyCallback callback,
- gpointer user_data)
+mm_base_modem_at_command_full (MMBaseModem *self,
+ MMAtSerialPort *port,
+ const gchar *command,
+ guint timeout,
+ gboolean allow_cached,
+ GCancellable *cancellable,
+ GAsyncReadyCallback callback,
+ gpointer user_data)
{
AtCommandContext *ctx;
@@ -448,16 +487,30 @@ mm_base_modem_at_command_in_port (MMBaseModem *self,
if (!abort_async_if_port_unusable (self, port, callback, user_data))
return;
- ctx = g_new (AtCommandContext, 1);
+ ctx = g_new0 (AtCommandContext, 1);
ctx->self = g_object_ref (self);
ctx->port = g_object_ref (port);
- ctx->cancellable = (cancellable ?
- g_object_ref (cancellable) :
- NULL);
ctx->result = g_simple_async_result_new (G_OBJECT (self),
callback,
user_data,
- mm_base_modem_at_command_in_port);
+ mm_base_modem_at_command_full);
+
+ /* Setup cancellables */
+ ctx->modem_cancellable = mm_base_modem_get_cancellable (self);
+ ctx->user_cancellable = cancellable ? g_object_ref (cancellable) : NULL;
+ if (!ctx->user_cancellable)
+ /* Just the modem-wide one, use it directly */
+ ctx->cancellable = g_object_ref (ctx->modem_cancellable);
+ else {
+ /* Use the user provided one, which will also get cancelled if the modem
+ * wide-one gets cancelled */
+ ctx->cancellable = g_object_ref (ctx->user_cancellable);
+ ctx->cancelled_id = g_cancellable_connect (ctx->modem_cancellable,
+ G_CALLBACK (modem_cancellable_cancelled),
+ ctx->user_cancellable,
+ NULL);
+ }
+
/* Go on with the command */
if (allow_cached)
@@ -483,7 +536,7 @@ mm_base_modem_at_command_finish (MMBaseModem *self,
GAsyncResult *res,
GError **error)
{
- return mm_base_modem_at_command_in_port_finish (self, res, error);
+ return mm_base_modem_at_command_full_finish (self, res, error);
}
void
@@ -491,7 +544,6 @@ mm_base_modem_at_command (MMBaseModem *self,
const gchar *command,
guint timeout,
gboolean allow_cached,
- GCancellable *cancellable,
GAsyncReadyCallback callback,
gpointer user_data)
{
@@ -509,49 +561,12 @@ mm_base_modem_at_command (MMBaseModem *self,
return;
}
- mm_base_modem_at_command_in_port (self,
- port,
- command,
- timeout,
- allow_cached,
- cancellable,
- callback,
- user_data);
-}
-
-/*****************************************************************************/
-/* Single AT command handling, completely ignoring the response */
-
-void
-mm_base_modem_at_command_in_port_ignore_reply (MMBaseModem *self,
- MMAtSerialPort *port,
- const gchar *command,
- guint timeout)
-{
- /* Use the async method without callback, so that we ensure port
- * gets opened and such, if needed */
- mm_base_modem_at_command_in_port (self,
- port,
- command,
- timeout,
- FALSE,
- NULL, /* cancellable */
- NULL, /* callback */
- NULL); /* user_data */
-}
-
-void
-mm_base_modem_at_command_ignore_reply (MMBaseModem *self,
- const gchar *command,
- guint timeout)
-{
- MMAtSerialPort *port;
-
- /* No port given, so we'll try to guess which is best */
- port = mm_base_modem_peek_best_at_port (self, NULL);
- if (!port)
- /* No valid port, and we ignore replies, so just exit. */
- return;
-
- mm_base_modem_at_command_in_port_ignore_reply (self, port, command, timeout);
+ mm_base_modem_at_command_full (self,
+ port,
+ command,
+ timeout,
+ allow_cached,
+ NULL,
+ callback,
+ user_data);
}
diff --git a/src/mm-base-modem-at.h b/src/mm-base-modem-at.h
index b4b2f651..fb98669d 100644
--- a/src/mm-base-modem-at.h
+++ b/src/mm-base-modem-at.h
@@ -63,31 +63,33 @@ typedef struct {
MMBaseModemAtResponseProcessor response_processor;
} MMBaseModemAtCommand;
-/* AT sequence handling */
-void mm_base_modem_at_sequence (MMBaseModem *self,
- const MMBaseModemAtCommand *sequence,
- gpointer response_processor_context,
- GDestroyNotify response_processor_context_free,
- GCancellable *cancellable,
- GAsyncReadyCallback callback,
- gpointer user_data);
-GVariant *mm_base_modem_at_sequence_finish (MMBaseModem *self,
- GAsyncResult *res,
- gpointer *response_processor_context,
- GError **error);
-
-void mm_base_modem_at_sequence_in_port (MMBaseModem *self,
- MMAtSerialPort *port,
+/* Generic AT sequence handling, using the best AT port available and without
+ * explicit cancellations. */
+void mm_base_modem_at_sequence (MMBaseModem *self,
const MMBaseModemAtCommand *sequence,
gpointer response_processor_context,
GDestroyNotify response_processor_context_free,
- GCancellable *cancellable,
GAsyncReadyCallback callback,
gpointer user_data);
-GVariant *mm_base_modem_at_sequence_in_port_finish (MMBaseModem *self,
- GAsyncResult *res,
- gpointer *response_processor_context,
- GError **error);
+GVariant *mm_base_modem_at_sequence_finish (MMBaseModem *self,
+ GAsyncResult *res,
+ gpointer *response_processor_context,
+ GError **error);
+
+/* Fully detailed AT sequence handling, when specific AT port and/or explicit
+ * cancellations need to be used. */
+void mm_base_modem_at_sequence_full (MMBaseModem *self,
+ MMAtSerialPort *port,
+ const MMBaseModemAtCommand *sequence,
+ gpointer response_processor_context,
+ GDestroyNotify response_processor_context_free,
+ GCancellable *cancellable,
+ GAsyncReadyCallback callback,
+ gpointer user_data);
+GVariant *mm_base_modem_at_sequence_full_finish (MMBaseModem *self,
+ GAsyncResult *res,
+ gpointer *response_processor_context,
+ GError **error);
/* Common helper response processors */
@@ -119,37 +121,30 @@ gboolean mm_base_modem_response_processor_no_result_continue (MMBaseModem *self,
GVariant **result,
GError **result_error);
-/* Single AT command, returning the whole response string */
-void mm_base_modem_at_command (MMBaseModem *self,
- const gchar *command,
- guint timeout,
- gboolean allow_cached,
- GCancellable *cancellable,
- GAsyncReadyCallback callback,
- gpointer user_data);
+/* Generic AT command handling, using the best AT port available and without
+ * explicit cancellations. */
+void mm_base_modem_at_command (MMBaseModem *self,
+ const gchar *command,
+ guint timeout,
+ gboolean allow_cached,
+ GAsyncReadyCallback callback,
+ gpointer user_data);
const gchar *mm_base_modem_at_command_finish (MMBaseModem *self,
GAsyncResult *res,
GError **error);
-void mm_base_modem_at_command_in_port (MMBaseModem *self,
- MMAtSerialPort *port,
- const gchar *command,
- guint timeout,
- gboolean allow_cached,
- GCancellable *cancellable,
- GAsyncReadyCallback callback,
- gpointer user_data);
-const gchar *mm_base_modem_at_command_in_port_finish (MMBaseModem *self,
- GAsyncResult *res,
- GError **error);
-
-/* Fire and forget an AT command */
-void mm_base_modem_at_command_ignore_reply (MMBaseModem *self,
- const gchar *command,
- guint timeout);
-void mm_base_modem_at_command_in_port_ignore_reply (MMBaseModem *self,
- MMAtSerialPort *port,
- const gchar *command,
- guint timeout);
+/* Fully detailed AT command handling, when specific AT port and/or explicit
+ * cancellations need to be used. */
+void mm_base_modem_at_command_full (MMBaseModem *self,
+ MMAtSerialPort *port,
+ const gchar *command,
+ guint timeout,
+ gboolean allow_cached,
+ GCancellable *cancellable,
+ GAsyncReadyCallback callback,
+ gpointer user_data);
+const gchar *mm_base_modem_at_command_full_finish (MMBaseModem *self,
+ GAsyncResult *res,
+ GError **error);
#endif /* MM_BASE_MODEM_AT_H */
diff --git a/src/mm-base-modem.c b/src/mm-base-modem.c
index fc984f26..f2e0c0ac 100644
--- a/src/mm-base-modem.c
+++ b/src/mm-base-modem.c
@@ -387,6 +387,22 @@ mm_base_modem_get_valid (MMBaseModem *self)
return self->priv->valid;
}
+GCancellable *
+mm_base_modem_peek_cancellable (MMBaseModem *self)
+{
+ g_return_val_if_fail (MM_IS_BASE_MODEM (self), NULL);
+
+ return self->priv->cancellable;
+}
+
+GCancellable *
+mm_base_modem_get_cancellable (MMBaseModem *self)
+{
+ g_return_val_if_fail (MM_IS_BASE_MODEM (self), NULL);
+
+ return g_object_ref (self->priv->cancellable);
+}
+
MMAtSerialPort *
mm_base_modem_get_port_primary (MMBaseModem *self)
{
diff --git a/src/mm-base-modem.h b/src/mm-base-modem.h
index 05174fc4..9404a0ec 100644
--- a/src/mm-base-modem.h
+++ b/src/mm-base-modem.h
@@ -140,6 +140,9 @@ const gchar *mm_base_modem_get_plugin (MMBaseModem *self);
guint mm_base_modem_get_vendor_id (MMBaseModem *self);
guint mm_base_modem_get_product_id (MMBaseModem *self);
+GCancellable *mm_base_modem_peek_cancellable (MMBaseModem *self);
+GCancellable *mm_base_modem_get_cancellable (MMBaseModem *self);
+
void mm_base_modem_authorize (MMBaseModem *self,
GDBusMethodInvocation *invocation,
const gchar *authorization,
diff --git a/src/mm-broadband-bearer.c b/src/mm-broadband-bearer.c
index 64eec160..42a525e4 100644
--- a/src/mm-broadband-bearer.c
+++ b/src/mm-broadband-bearer.c
@@ -272,7 +272,7 @@ dial_cdma_ready (MMBaseModem *modem,
/* DO NOT check for cancellable here. If we got here without errors, the
* bearer is really connected and therefore we need to reflect that in
* the state machine. */
- mm_base_modem_at_command_finish (modem, res, &error);
+ mm_base_modem_at_command_full_finish (modem, res, &error);
if (error) {
mm_warn ("Couldn't connect: '%s'", error->message);
g_simple_async_result_take_error (ctx->result, error);
@@ -296,15 +296,15 @@ cdma_connect_context_dial (DetailedConnectContext *ctx)
command = g_strconcat ("DT", ctx->self->priv->number, NULL);
else
command = g_strdup ("DT#777");
- mm_base_modem_at_command_in_port (
- ctx->modem,
- ctx->primary,
- command,
- 90,
- FALSE,
- NULL, /* cancellable */
- (GAsyncReadyCallback)dial_cdma_ready,
- ctx);
+
+ mm_base_modem_at_command_full (ctx->modem,
+ ctx->primary,
+ command,
+ 90,
+ FALSE,
+ NULL,
+ (GAsyncReadyCallback)dial_cdma_ready,
+ ctx);
g_free (command);
}
@@ -319,7 +319,7 @@ set_rm_protocol_ready (MMBaseModem *self,
if (detailed_connect_context_complete_and_free_if_cancelled (ctx))
return;
- mm_base_modem_at_command_finish (self, res, &error);
+ mm_base_modem_at_command_full_finish (self, res, &error);
if (error) {
mm_warn ("Couldn't set RM protocol: '%s'", error->message);
g_simple_async_result_take_error (ctx->result, error);
@@ -345,7 +345,7 @@ current_rm_protocol_ready (MMBaseModem *self,
if (detailed_connect_context_complete_and_free_if_cancelled (ctx))
return;
- result = mm_base_modem_at_command_finish (self, res, &error);
+ result = mm_base_modem_at_command_full_finish (self, res, &error);
if (error) {
mm_warn ("Couldn't query current RM protocol: '%s'", error->message);
g_simple_async_result_take_error (ctx->result, error);
@@ -383,15 +383,14 @@ current_rm_protocol_ready (MMBaseModem *self,
}
command = g_strdup_printf ("+CRM=%u", new_index);
- mm_base_modem_at_command_in_port (
- ctx->modem,
- ctx->primary,
- command,
- 3,
- FALSE,
- NULL, /* cancellable */
- (GAsyncReadyCallback)set_rm_protocol_ready,
- ctx);
+ mm_base_modem_at_command_full (ctx->modem,
+ ctx->primary,
+ command,
+ 3,
+ FALSE,
+ NULL,
+ (GAsyncReadyCallback)set_rm_protocol_ready,
+ ctx);
g_free (command);
return;
}
@@ -425,15 +424,14 @@ connect_cdma (MMBroadbandBearer *self,
if (self->priv->rm_protocol != MM_MODEM_CDMA_RM_PROTOCOL_UNKNOWN) {
/* Need to query current RM protocol */
mm_dbg ("Querying current RM protocol set...");
- mm_base_modem_at_command_in_port (
- ctx->modem,
- ctx->primary,
- "+CRM?",
- 3,
- FALSE,
- NULL, /* cancellable */
- (GAsyncReadyCallback)current_rm_protocol_ready,
- ctx);
+ mm_base_modem_at_command_full (ctx->modem,
+ ctx->primary,
+ "+CRM?",
+ 3,
+ FALSE,
+ NULL, /* cancellable */
+ (GAsyncReadyCallback)current_rm_protocol_ready,
+ ctx);
return;
}
@@ -535,7 +533,7 @@ extended_error_ready (MMBaseModem *modem,
if (dial_3gpp_context_complete_and_free_if_cancelled (ctx))
return;
- result = mm_base_modem_at_command_finish (modem, res, NULL);
+ result = mm_base_modem_at_command_full_finish (modem, res, NULL);
if (result &&
g_str_has_prefix (result, "+CEER: ") &&
strlen (result) > 7) {
@@ -562,19 +560,18 @@ atd_ready (MMBaseModem *modem,
/* DO NOT check for cancellable here. If we got here without errors, the
* bearer is really connected and therefore we need to reflect that in
* the state machine. */
- mm_base_modem_at_command_finish (modem, res, &ctx->saved_error);
+ mm_base_modem_at_command_full_finish (modem, res, &ctx->saved_error);
if (ctx->saved_error) {
/* Try to get more information why it failed */
- mm_base_modem_at_command_in_port (
- ctx->modem,
- ctx->primary,
- "+CEER",
- 3,
- FALSE,
- NULL, /* cancellable */
- (GAsyncReadyCallback)extended_error_ready,
- ctx);
+ mm_base_modem_at_command_full (ctx->modem,
+ ctx->primary,
+ "+CEER",
+ 3,
+ FALSE,
+ NULL, /* cancellable */
+ (GAsyncReadyCallback)extended_error_ready,
+ ctx);
return;
}
@@ -604,15 +601,14 @@ dial_3gpp (MMBroadbandBearer *self,
/* Use default *99 to connect */
command = g_strdup_printf ("ATD*99***%d#", cid);
- mm_base_modem_at_command_in_port (
- ctx->modem,
- ctx->primary,
- command,
- 60,
- FALSE,
- NULL, /* cancellable */
- (GAsyncReadyCallback)atd_ready,
- ctx);
+ mm_base_modem_at_command_full (ctx->modem,
+ ctx->primary,
+ command,
+ 60,
+ FALSE,
+ NULL, /* cancellable */
+ (GAsyncReadyCallback)atd_ready,
+ ctx);
g_free (command);
}
@@ -664,7 +660,7 @@ initialize_pdp_context_ready (MMBaseModem *self,
if (detailed_connect_context_complete_and_free_if_cancelled (ctx))
return;
- mm_base_modem_at_command_finish (self, res, &error);
+ mm_base_modem_at_command_full_finish (self, res, &error);
if (error) {
mm_warn ("Couldn't initialize PDP context with our APN: '%s'",
error->message);
@@ -691,7 +687,7 @@ find_cid_ready (MMBaseModem *self,
gchar *command;
GError *error = NULL;
- result = mm_base_modem_at_sequence_finish (self, res, NULL, &error);
+ result = mm_base_modem_at_sequence_full_finish (self, res, NULL, &error);
if (!result) {
mm_warn ("Couldn't find best CID to use: '%s'", error->message);
g_simple_async_result_take_error (ctx->result, error);
@@ -710,15 +706,14 @@ find_cid_ready (MMBaseModem *self,
command = g_strdup_printf ("+CGDCONT=%u,\"IP\",\"%s\"",
ctx->cid,
ctx->self->priv->apn);
- mm_base_modem_at_command_in_port (
- ctx->modem,
- ctx->primary,
- command,
- 3,
- FALSE,
- NULL, /* cancellable */
- (GAsyncReadyCallback)initialize_pdp_context_ready,
- ctx);
+ mm_base_modem_at_command_full (ctx->modem,
+ ctx->primary,
+ command,
+ 3,
+ FALSE,
+ NULL, /* cancellable */
+ (GAsyncReadyCallback)initialize_pdp_context_ready,
+ ctx);
g_free (command);
}
@@ -914,15 +909,14 @@ connect_3gpp (MMBroadbandBearer *self,
user_data);
mm_dbg ("Looking for best CID...");
- mm_base_modem_at_sequence_in_port (
- ctx->modem,
- ctx->primary,
- find_cid_sequence,
- ctx, /* also passed as response processor context */
- NULL, /* response_processor_context_free */
- NULL, /* cancellable */
- (GAsyncReadyCallback)find_cid_ready,
- ctx);
+ mm_base_modem_at_sequence_full (ctx->modem,
+ ctx->primary,
+ find_cid_sequence,
+ ctx, /* also passed as response processor context */
+ NULL, /* response_processor_context_free */
+ NULL, /* cancellable */
+ (GAsyncReadyCallback)find_cid_ready,
+ ctx);
}
/*****************************************************************************/
@@ -1343,7 +1337,7 @@ cgact_primary_ready (MMBaseModem *modem,
GError *error = NULL;
/* Ignore errors for now */
- mm_base_modem_at_command_finish (MM_BASE_MODEM (modem), res, &error);
+ mm_base_modem_at_command_full_finish (MM_BASE_MODEM (modem), res, &error);
if (error) {
mm_dbg ("PDP context deactivation failed (not fatal): %s", error->message);
g_error_free (error);
@@ -1398,15 +1392,14 @@ primary_flash_3gpp_ready (MMSerialPort *port,
/* Port is disconnected; update the state */
mm_port_set_connected (ctx->data, FALSE);
- mm_base_modem_at_command_in_port (
- ctx->modem,
- ctx->primary,
- ctx->cgact_command,
- 3,
- FALSE,
- NULL, /* cancellable */
- (GAsyncReadyCallback)cgact_primary_ready,
- ctx);
+ mm_base_modem_at_command_full (ctx->modem,
+ ctx->primary,
+ ctx->cgact_command,
+ 3,
+ FALSE,
+ NULL, /* cancellable */
+ (GAsyncReadyCallback)cgact_primary_ready,
+ ctx);
}
static void
@@ -1416,7 +1409,7 @@ cgact_secondary_ready (MMBaseModem *modem,
{
GError *error = NULL;
- mm_base_modem_at_command_finish (MM_BASE_MODEM (modem), res, &error);
+ mm_base_modem_at_command_full_finish (MM_BASE_MODEM (modem), res, &error);
if (!error)
ctx->cgact_sent = TRUE;
else
@@ -1463,15 +1456,14 @@ disconnect_3gpp (MMBroadbandBearer *self,
*/
if (ctx->secondary &&
mm_port_get_connected (MM_PORT (ctx->primary))) {
- mm_base_modem_at_command_in_port (
- ctx->modem,
- ctx->secondary,
- ctx->cgact_command,
- 3,
- FALSE,
- NULL, /* cancellable */
- (GAsyncReadyCallback)cgact_secondary_ready,
- ctx);
+ mm_base_modem_at_command_full (ctx->modem,
+ ctx->secondary,
+ ctx->cgact_command,
+ 3,
+ FALSE,
+ NULL, /* cancellable */
+ (GAsyncReadyCallback)cgact_secondary_ready,
+ ctx);
return;
}
@@ -1742,7 +1734,7 @@ crm_range_ready (MMBaseModem *modem,
GError *error = NULL;
const gchar *response;
- response = mm_base_modem_at_command_finish (modem, res, &error);
+ response = mm_base_modem_at_command_full_finish (modem, res, &error);
if (error) {
/* We should possibly take this error as fatal. If we were told to use a
* specific Rm protocol, we must be able to check if it is supported. */
@@ -1868,15 +1860,14 @@ interface_initialization_step (InitAsyncContext *ctx)
* supported. */
if (mm_iface_modem_is_cdma (MM_IFACE_MODEM (ctx->modem)) &&
ctx->self->priv->rm_protocol != MM_MODEM_CDMA_RM_PROTOCOL_UNKNOWN) {
- mm_base_modem_at_command_in_port (
- ctx->modem,
- ctx->port,
- "+CRM=?",
- 3,
- TRUE, /* getting range, so reply can be cached */
- NULL, /* cancellable */
- (GAsyncReadyCallback)crm_range_ready,
- ctx);
+ mm_base_modem_at_command_full (ctx->modem,
+ ctx->port,
+ "+CRM=?",
+ 3,
+ TRUE, /* getting range, so reply can be cached */
+ NULL, /* cancellable */
+ (GAsyncReadyCallback)crm_range_ready,
+ ctx);
return;
}
diff --git a/src/mm-broadband-modem.c b/src/mm-broadband-modem.c
index 60742d16..f04bc621 100644
--- a/src/mm-broadband-modem.c
+++ b/src/mm-broadband-modem.c
@@ -484,7 +484,6 @@ modem_load_current_capabilities (MMIfaceModem *self,
capabilities,
NULL, /* response_processor_context */
NULL, /* response_processor_context_free */
- NULL, /* cancellable */
callback,
user_data);
}
@@ -526,7 +525,6 @@ modem_load_manufacturer (MMIfaceModem *self,
manufacturers,
NULL, /* response_processor_context */
NULL, /* response_processor_context_free */
- NULL, /* cancellable */
callback,
user_data);
}
@@ -568,7 +566,6 @@ modem_load_model (MMIfaceModem *self,
models,
NULL, /* response_processor_context */
NULL, /* response_processor_context_free */
- NULL, /* cancellable */
callback,
user_data);
}
@@ -610,7 +607,6 @@ modem_load_revision (MMIfaceModem *self,
revisions,
NULL, /* response_processor_context */
NULL, /* response_processor_context_free */
- NULL, /* cancellable */
callback,
user_data);
}
@@ -659,7 +655,6 @@ modem_load_equipment_identifier (MMIfaceModem *self,
commands,
NULL, /* response_processor_context */
NULL, /* response_processor_context_free */
- NULL, /* cancellable */
callback,
user_data);
}
@@ -753,7 +748,6 @@ modem_load_device_identifier (MMIfaceModem *self,
device_identifier_steps,
g_new0 (DeviceIdentifierContext, 1),
(GDestroyNotify)device_identifier_context_free,
- NULL, /* cancellable */
callback,
user_data);
}
@@ -785,7 +779,6 @@ modem_load_own_numbers (MMIfaceModem *self,
"+CNUM",
3,
FALSE,
- NULL, /* cancellable */
callback,
user_data);
}
@@ -908,7 +901,6 @@ modem_load_unlock_required (MMIfaceModem *self,
"+CPIN?",
3,
FALSE,
- NULL, /* cancellable */
(GAsyncReadyCallback)cpin_query_ready,
result);
}
@@ -1019,7 +1011,7 @@ signal_quality_csq_ready (MMBroadbandModem *self,
GVariant *result;
const gchar *result_str;
- result = mm_base_modem_at_sequence_in_port_finish (MM_BASE_MODEM (self), res, NULL, &error);
+ result = mm_base_modem_at_sequence_full_finish (MM_BASE_MODEM (self), res, NULL, &error);
if (error) {
g_simple_async_result_take_error (ctx->result, error);
signal_quality_context_complete_and_free (ctx);
@@ -1072,7 +1064,7 @@ static const MMBaseModemAtCommand signal_quality_csq_sequence[] = {
static void
signal_quality_csq (SignalQualityContext *ctx)
{
- mm_base_modem_at_sequence_in_port (
+ mm_base_modem_at_sequence_full (
MM_BASE_MODEM (ctx->self),
MM_AT_SERIAL_PORT (ctx->port),
signal_quality_csq_sequence,
@@ -1149,14 +1141,14 @@ signal_quality_cind_ready (MMBroadbandModem *self,
static void
signal_quality_cind (SignalQualityContext *ctx)
{
- mm_base_modem_at_command_in_port (MM_BASE_MODEM (ctx->self),
- MM_AT_SERIAL_PORT (ctx->port),
- "+CIND?",
- 3,
- FALSE,
- NULL, /* cancellable */
- (GAsyncReadyCallback)signal_quality_cind_ready,
- ctx);
+ mm_base_modem_at_command_full (MM_BASE_MODEM (ctx->self),
+ MM_AT_SERIAL_PORT (ctx->port),
+ "+CIND?",
+ 3,
+ FALSE,
+ NULL, /* cancellable */
+ (GAsyncReadyCallback)signal_quality_cind_ready,
+ ctx);
}
static void
@@ -1372,7 +1364,6 @@ modem_3gpp_setup_indicators (MMIfaceModem3gpp *self,
"+CIND=?",
3,
TRUE,
- NULL, /* cancellable */
(GAsyncReadyCallback)cind_format_check_ready,
result);
}
@@ -1555,14 +1546,14 @@ run_unsolicited_events_setup (UnsolicitedEventsContext *ctx)
/* Enable unsolicited events in given port */
if (port) {
- mm_base_modem_at_command_in_port (MM_BASE_MODEM (ctx->self),
- port,
- ctx->command,
- 3,
- FALSE,
- NULL, /* cancellable */
- (GAsyncReadyCallback)unsolicited_events_setup_ready,
- ctx);
+ mm_base_modem_at_command_full (MM_BASE_MODEM (ctx->self),
+ port,
+ ctx->command,
+ 3,
+ FALSE,
+ NULL, /* cancellable */
+ (GAsyncReadyCallback)unsolicited_events_setup_ready,
+ ctx);
return;
}
@@ -1699,7 +1690,6 @@ charset_change_ready (MMBroadbandModem *self,
"+CSCS?",
3,
FALSE,
- NULL, /* cancellable */
(GAsyncReadyCallback)current_charset_query_ready,
ctx);
}
@@ -1757,7 +1747,6 @@ modem_setup_charset (MMIfaceModem *self,
ctx->charset_commands,
NULL, /* response_processor_context */
NULL, /* response_processor_context_free */
- NULL, /* cancellable */
(GAsyncReadyCallback)charset_change_ready,
ctx);
}
@@ -1831,7 +1820,6 @@ modem_load_supported_charsets (MMIfaceModem *self,
"+CSCS=?",
3,
TRUE,
- NULL, /* cancellable */
(GAsyncReadyCallback)cscs_format_check_ready,
result);
}
@@ -1856,9 +1844,12 @@ modem_setup_flow_control (MMIfaceModem *self,
GSimpleAsyncResult *result;
/* By default, try to set XOFF/XON flow control */
- mm_base_modem_at_command_ignore_reply (MM_BASE_MODEM (self),
- "+IFC=1,1",
- 3);
+ mm_base_modem_at_command (MM_BASE_MODEM (self),
+ "+IFC=1,1",
+ 3,
+ FALSE,
+ NULL,
+ NULL);
result = g_simple_async_result_new (G_OBJECT (self),
callback,
@@ -1894,9 +1885,12 @@ modem_power_up (MMIfaceModem *self,
if (mm_iface_modem_is_cdma_only (self))
mm_dbg ("Skipping Power-up in CDMA-only modem...");
else
- mm_base_modem_at_command_ignore_reply (MM_BASE_MODEM (self),
- "+CFUN=1",
- 5);
+ mm_base_modem_at_command (MM_BASE_MODEM (self),
+ "+CFUN=1",
+ 5,
+ FALSE,
+ NULL,
+ NULL);
result = g_simple_async_result_new (G_OBJECT (self),
callback,
@@ -1930,7 +1924,6 @@ modem_command (MMIfaceModem *self,
mm_base_modem_at_command (MM_BASE_MODEM (self), cmd, timeout,
FALSE,
- NULL, /* cancellable */
callback,
user_data);
}
@@ -1976,7 +1969,6 @@ modem_init (MMIfaceModem *self,
modem_init_sequence,
NULL, /* response_processor_context */
NULL, /* response_processor_context_free */
- NULL, /* cancellable */
callback,
user_data);
}
@@ -2009,7 +2001,6 @@ modem_3gpp_load_imei (MMIfaceModem3gpp *self,
"+CGSN",
3,
TRUE,
- NULL, /* cancellable */
callback,
user_data);
}
@@ -2093,7 +2084,6 @@ get_next_facility_lock_status (LoadEnabledFacilityLocksContext *ctx)
cmd,
3,
FALSE,
- NULL, /* cancellable */
(GAsyncReadyCallback)clck_single_query_ready,
ctx);
return;
@@ -2158,7 +2148,6 @@ modem_3gpp_load_enabled_facility_locks (MMIfaceModem3gpp *self,
"+CLCK=?",
3,
TRUE,
- NULL, /* cancellable */
(GAsyncReadyCallback)clck_test_ready,
ctx);
}
@@ -2195,7 +2184,6 @@ modem_3gpp_load_operator_code (MMIfaceModem3gpp *self,
"+COPS=3,2;+COPS?",
3,
FALSE,
- NULL, /* cancellable */
callback,
user_data);
}
@@ -2232,7 +2220,6 @@ modem_3gpp_load_operator_name (MMIfaceModem3gpp *self,
"+COPS=3,0;+COPS?",
3,
FALSE,
- NULL, /* cancellable */
callback,
user_data);
}
@@ -2411,7 +2398,6 @@ modem_3gpp_scan_networks (MMIfaceModem3gpp *self,
"+COPS=?",
120,
FALSE,
- NULL, /* cancellable */
callback,
user_data);
}
@@ -2552,7 +2538,7 @@ register_in_3gpp_network_ready (MMBroadbandModem *self,
{
GError *error = NULL;
- mm_base_modem_at_command_finish (MM_BASE_MODEM (self), res, &error);
+ mm_base_modem_at_command_full_finish (MM_BASE_MODEM (self), res, &error);
if (error) {
/* Propagate error in COPS, if any */
@@ -2628,14 +2614,18 @@ modem_3gpp_register_in_network (MMIfaceModem3gpp *self,
if (command) {
/* Don't setup an additional timeout to handle registration timeouts. We
* already do this with the 120s timeout in the AT command: if that times
- * out, we can consider the registration itself timed out. */
- mm_base_modem_at_command (MM_BASE_MODEM (self),
- command,
- 120,
- FALSE,
- ctx->cancellable,
- (GAsyncReadyCallback)register_in_3gpp_network_ready,
- ctx);
+ * out, we can consider the registration itself timed out.
+ *
+ * NOTE that we provide our own Cancellable here; we want to be able to
+ * cancel the operation at any time. */
+ mm_base_modem_at_command_full (MM_BASE_MODEM (self),
+ mm_base_modem_peek_best_at_port (MM_BASE_MODEM (self), NULL),
+ command,
+ 120,
+ FALSE,
+ ctx->cancellable,
+ (GAsyncReadyCallback)register_in_3gpp_network_ready,
+ ctx);
g_free (command);
return;
}
@@ -2783,7 +2773,6 @@ modem_3gpp_run_cs_registration_check (MMIfaceModem3gpp *self,
"+CREG?",
10,
FALSE,
- NULL, /* cancellable */
(GAsyncReadyCallback)registration_status_check_ready,
result);
}
@@ -2805,7 +2794,6 @@ modem_3gpp_run_ps_registration_check (MMIfaceModem3gpp *self,
"+CGREG?",
10,
FALSE,
- NULL, /* cancellable */
(GAsyncReadyCallback)registration_status_check_ready,
result);
}
@@ -2850,7 +2838,7 @@ cleanup_registration_sequence_ready (MMBroadbandModem *self,
{
GError *error = NULL;
- mm_base_modem_at_command_finish (MM_BASE_MODEM (self), res, &error);
+ mm_base_modem_at_command_full_finish (MM_BASE_MODEM (self), res, &error);
if (error) {
g_simple_async_result_take_error (ctx->result, error);
g_simple_async_result_complete (ctx->result);
@@ -2865,7 +2853,7 @@ cleanup_registration_sequence_ready (MMBroadbandModem *self,
if (secondary) {
/* Now use the same registration setup in secondary port, if any */
ctx->secondary_done = TRUE;
- mm_base_modem_at_command_in_port (
+ mm_base_modem_at_command_full (
MM_BASE_MODEM (self),
secondary,
ctx->command,
@@ -2912,7 +2900,7 @@ modem_3gpp_cleanup_cs_registration (MMIfaceModem3gpp *self,
modem_3gpp_cleanup_cs_registration);
ctx->command = g_strdup ("+CREG=0");
- mm_base_modem_at_command_in_port (
+ mm_base_modem_at_command_full (
MM_BASE_MODEM (self),
mm_base_modem_peek_port_primary (MM_BASE_MODEM (self)),
ctx->command,
@@ -2937,7 +2925,7 @@ modem_3gpp_cleanup_ps_registration (MMIfaceModem3gpp *self,
modem_3gpp_cleanup_cs_registration);
ctx->command = g_strdup ("+CGREG=0");
- mm_base_modem_at_command_in_port (
+ mm_base_modem_at_command_full (
MM_BASE_MODEM (self),
mm_base_modem_peek_port_primary (MM_BASE_MODEM (self)),
ctx->command,
@@ -3022,7 +3010,7 @@ setup_registration_sequence_ready (MMBroadbandModem *self,
GError *error = NULL;
if (ctx->secondary_done) {
- mm_base_modem_at_command_finish (MM_BASE_MODEM (self), res, &error);
+ mm_base_modem_at_command_full_finish (MM_BASE_MODEM (self), res, &error);
if (error) {
g_simple_async_result_take_error (ctx->result, error);
g_simple_async_result_complete (ctx->result);
@@ -3047,13 +3035,13 @@ setup_registration_sequence_ready (MMBroadbandModem *self,
if (secondary) {
/* Now use the same registration setup in secondary port, if any */
ctx->secondary_done = TRUE;
- mm_base_modem_at_command_in_port (
+ mm_base_modem_at_command_full (
MM_BASE_MODEM (self),
mm_base_modem_peek_port_primary (MM_BASE_MODEM (self)),
g_variant_get_string (command, NULL),
3,
FALSE,
- NULL, /* cancellable */
+ NULL, /* cancellable */
(GAsyncReadyCallback)setup_registration_sequence_ready,
ctx);
return;
@@ -3079,13 +3067,13 @@ modem_3gpp_setup_cs_registration (MMIfaceModem3gpp *self,
callback,
user_data,
modem_3gpp_setup_cs_registration);
- mm_base_modem_at_sequence_in_port (
+ mm_base_modem_at_sequence_full (
MM_BASE_MODEM (self),
mm_base_modem_peek_port_primary (MM_BASE_MODEM (self)),
cs_registration_sequence,
NULL, /* response processor context */
NULL, /* response processor context free */
- NULL, /* cancellable */
+ NULL, /* cancellable */
(GAsyncReadyCallback)setup_registration_sequence_ready,
ctx);
}
@@ -3102,13 +3090,13 @@ modem_3gpp_setup_ps_registration (MMIfaceModem3gpp *self,
callback,
user_data,
modem_3gpp_setup_ps_registration);
- mm_base_modem_at_sequence_in_port (
+ mm_base_modem_at_sequence_full (
MM_BASE_MODEM (self),
mm_base_modem_peek_port_primary (MM_BASE_MODEM (self)),
ps_registration_sequence,
NULL, /* response processor context */
NULL, /* response processor context free */
- NULL, /* cancellable */
+ NULL, /* cancellable */
(GAsyncReadyCallback)setup_registration_sequence_ready,
ctx);
}
@@ -3159,7 +3147,6 @@ modem_3gpp_ussd_cancel (MMIfaceModem3gppUssd *self,
"+CUSD=2",
3,
TRUE,
- NULL, /* cancellable */
(GAsyncReadyCallback)cancel_command_ready,
result);
}
@@ -3248,7 +3235,6 @@ modem_3gpp_ussd_send (MMIfaceModem3gppUssd *self,
at_command,
3,
TRUE,
- NULL, /* cancellable */
(GAsyncReadyCallback)ussd_send_command_ready,
result);
g_free (at_command);
@@ -3592,7 +3578,6 @@ modem_3gpp_ussd_disable_unsolicited_result_codes (MMIfaceModem3gppUssd *self,
"+CUSD=0",
3,
TRUE,
- NULL, /* cancellable */
(GAsyncReadyCallback)urc_enable_disable_ready,
result);
}
@@ -3613,7 +3598,6 @@ modem_3gpp_ussd_enable_unsolicited_result_codes (MMIfaceModem3gppUssd *self,
"+CUSD=1",
3,
TRUE,
- NULL, /* cancellable */
(GAsyncReadyCallback)urc_enable_disable_ready,
result);
}
@@ -3666,7 +3650,6 @@ modem_3gpp_ussd_check_support (MMIfaceModem3gppUssd *self,
"+CUSD=?",
3,
TRUE,
- NULL, /* cancellable */
(GAsyncReadyCallback)cusd_format_check_ready,
result);
}
@@ -3732,7 +3715,6 @@ modem_messaging_check_support (MMIfaceModemMessaging *self,
"+CNMI=?",
3,
TRUE,
- NULL, /* cancellable */
(GAsyncReadyCallback)cnmi_format_check_ready,
result);
}
@@ -3838,7 +3820,6 @@ modem_messaging_load_supported_storages (MMIfaceModemMessaging *self,
"+CPMS=?",
3,
TRUE,
- NULL, /* cancellable */
(GAsyncReadyCallback)cpms_format_check_ready,
result);
}
@@ -3894,7 +3875,6 @@ modem_messaging_set_preferred_storages (MMIfaceModemMessaging *self,
cmd,
3,
FALSE,
- NULL, /* cancellable */
(GAsyncReadyCallback)cpms_set_ready,
result);
g_free (cmd);
@@ -3945,7 +3925,6 @@ set_preferred_sms_format (MMBroadbandModem *self,
cmd,
3,
TRUE,
- NULL, /* cancellable */
(GAsyncReadyCallback)cmgf_set_ready,
result);
g_free (cmd);
@@ -4012,7 +3991,6 @@ modem_messaging_setup_sms_format (MMIfaceModemMessaging *self,
"+CMGF=?",
3,
TRUE,
- NULL, /* cancellable */
(GAsyncReadyCallback)cmgf_format_check_ready,
result);
}
@@ -4133,7 +4111,6 @@ cmti_received (MMAtSerialPort *port,
command,
10,
FALSE,
- NULL, /* cancellable */
(GAsyncReadyCallback)sms_part_ready,
ctx);
g_free (command);
@@ -4218,7 +4195,6 @@ modem_messaging_enable_unsolicited_events (MMIfaceModemMessaging *self,
"+CNMI=2,1,2,1,0",
3,
FALSE,
- NULL, /* cancellable */
callback,
user_data);
}
@@ -4524,7 +4500,6 @@ list_parts_storage_ready (MMBroadbandModem *self,
"+CMGL=\"ALL\""),
20,
FALSE,
- NULL, /* cancellable */
(GAsyncReadyCallback) (MM_BROADBAND_MODEM (self)->priv->modem_messaging_sms_pdu_mode ?
sms_pdu_part_list_ready :
sms_text_part_list_ready),
@@ -4587,7 +4562,6 @@ modem_cdma_load_esn (MMIfaceModemCdma *self,
"+GSN",
3,
TRUE,
- NULL, /* cancellable */
callback,
user_data);
}
@@ -5055,7 +5029,6 @@ qcdm_cdma_status_ready (MMQcdmSerialPort *port,
"+CSS?",
3,
FALSE,
- NULL, /* cancellable */
(GAsyncReadyCallback)css_query_ready,
ctx);
return;
@@ -5121,7 +5094,6 @@ modem_cdma_get_cdma1x_serving_system (MMIfaceModemCdma *self,
"+CSS?",
3,
FALSE,
- NULL, /* cancellable */
(GAsyncReadyCallback)css_query_ready,
ctx);
}
@@ -5191,7 +5163,6 @@ modem_cdma_get_service_status (MMIfaceModemCdma *self,
"+CAD?",
3,
FALSE,
- NULL, /* cancellable */
(GAsyncReadyCallback)cad_query_ready,
result);
}
@@ -5340,7 +5311,6 @@ spservice_ready (MMIfaceModemCdma *self,
"$SPERI?",
3,
FALSE,
- NULL, /* cancellable */
(GAsyncReadyCallback)speri_ready,
ctx);
}
@@ -5386,7 +5356,6 @@ modem_cdma_get_detailed_registration_state (MMIfaceModemCdma *self,
"+SPSERVICE?",
3,
FALSE,
- NULL, /* cancellable */
(GAsyncReadyCallback)spservice_ready,
ctx);
}
@@ -5522,7 +5491,6 @@ spservice_check_ready (MMIfaceModemCdma *self,
"$SPERI?",
3,
FALSE,
- NULL, /* cancellable */
(GAsyncReadyCallback)speri_check_ready,
ctx);
}
@@ -5558,7 +5526,6 @@ modem_cdma_setup_registration_checks (MMIfaceModemCdma *self,
"+SPSERVICE?",
3,
FALSE,
- NULL, /* cancellable */
(GAsyncReadyCallback)spservice_check_ready,
ctx);
}
@@ -6516,18 +6483,19 @@ initialize_step (InitializeContext *ctx)
}
ctx->close_port = TRUE;
+ /* TODO: This two commands are the only ones not subclassable; should
+ * change that. */
+
/* Try to disable echo */
- mm_base_modem_at_command_in_port_ignore_reply (
- MM_BASE_MODEM (ctx->self),
- ctx->port,
- "E0",
- 3);
+ mm_base_modem_at_command_full (MM_BASE_MODEM (ctx->self),
+ ctx->port,
+ "E0", 3,
+ FALSE, NULL, NULL, NULL);
/* Try to get extended errors */
- mm_base_modem_at_command_in_port_ignore_reply (
- MM_BASE_MODEM (ctx->self),
- ctx->port,
- "+CMEE=1",
- 3);
+ mm_base_modem_at_command_full (MM_BASE_MODEM (ctx->self),
+ ctx->port,
+ "+CMEE=1", 3,
+ FALSE, NULL, NULL, NULL);
/* Fall down to next step */
ctx->step++;
}
diff --git a/src/mm-sim.c b/src/mm-sim.c
index fbb20752..e7a0b511 100644
--- a/src/mm-sim.c
+++ b/src/mm-sim.c
@@ -130,7 +130,6 @@ change_pin (MMSim *self,
command,
3,
FALSE,
- NULL, /* cancellable */
(GAsyncReadyCallback)change_pin_ready,
result);
g_free (command);
@@ -299,7 +298,6 @@ enable_pin (MMSim *self,
command,
3,
FALSE,
- NULL, /* cancellable */
(GAsyncReadyCallback)enable_pin_ready,
result);
g_free (command);
@@ -470,7 +468,6 @@ common_send_pin_puk (MMSim *self,
command,
3,
FALSE,
- NULL, /* cancellable */
(GAsyncReadyCallback)send_pin_puk_ready,
result);
g_free (command);
@@ -1068,7 +1065,6 @@ load_sim_identifier (MMSim *self,
"+CRSM=176,12258,0,0,10",
20,
FALSE,
- NULL, /* cancellable */
(GAsyncReadyCallback)load_sim_identifier_command_ready,
g_simple_async_result_new (G_OBJECT (self),
callback,
@@ -1108,7 +1104,6 @@ load_imsi (MMSim *self,
"+CIMI",
3,
TRUE,
- NULL, /* cancellable */
(GAsyncReadyCallback)load_imsi_command_ready,
g_simple_async_result_new (G_OBJECT (self),
callback,
@@ -1246,7 +1241,6 @@ load_operator_identifier (MMSim *self,
"+CRSM=176,28589,0,0,4",
10,
FALSE,
- NULL, /* cancellable */
(GAsyncReadyCallback)load_operator_identifier_command_ready,
g_simple_async_result_new (G_OBJECT (self),
callback,
@@ -1358,7 +1352,6 @@ load_operator_name (MMSim *self,
"+CRSM=176,28486,0,0,17",
10,
FALSE,
- NULL, /* cancellable */
(GAsyncReadyCallback)load_operator_name_command_ready,
g_simple_async_result_new (G_OBJECT (self),
callback,
diff --git a/src/mm-sms.c b/src/mm-sms.c
index 66f1fd4f..849722fe 100644
--- a/src/mm-sms.c
+++ b/src/mm-sms.c
@@ -568,7 +568,6 @@ sms_store (MMSms *self,
cmd,
10,
FALSE,
- NULL, /* cancellable */
(GAsyncReadyCallback) store_ready,
ctx);
g_free (cmd);
@@ -645,7 +644,6 @@ sms_send_generic (SmsSendContext *ctx)
cmd,
10,
FALSE,
- NULL, /* cancellable */
(GAsyncReadyCallback)send_generic_ready,
ctx);
g_free (cmd);
@@ -683,7 +681,6 @@ sms_send_from_storage (SmsSendContext *ctx)
cmd,
10,
FALSE,
- NULL, /* cancellable */
(GAsyncReadyCallback)send_from_storage_ready,
ctx);
g_free (cmd);
@@ -814,7 +811,6 @@ delete_next_part (SmsDeletePartsContext *ctx)
cmd,
10,
FALSE,
- NULL, /* cancellable */
(GAsyncReadyCallback)delete_part_ready,
ctx);
g_free (cmd);