aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAleksander Morgado <aleksander@lanedo.com>2012-03-07 13:07:17 +0100
committerAleksander Morgado <aleksander@lanedo.com>2012-03-16 14:53:22 +0100
commit5a485d74a20a57498d06db09b621af93b433d7e2 (patch)
treea8c5c4b20cbecfebc2493a513f11145ca5724962
parent9b38cd4f5ce68d816aaa5ffd5b90c1982199bcf2 (diff)
qcdm-serial-port: allow cancelling the response timeout
-rw-r--r--src/mm-broadband-modem.c4
-rw-r--r--src/mm-port-probe.c2
-rw-r--r--src/mm-qcdm-serial-port.c6
-rw-r--r--src/mm-qcdm-serial-port.h2
-rw-r--r--src/tests/test-qcdm-serial-port.c2
5 files changed, 13 insertions, 3 deletions
diff --git a/src/mm-broadband-modem.c b/src/mm-broadband-modem.c
index c0dd7082..1391e437 100644
--- a/src/mm-broadband-modem.c
+++ b/src/mm-broadband-modem.c
@@ -1236,6 +1236,7 @@ signal_quality_qcdm (SignalQualityContext *ctx)
mm_qcdm_serial_port_queue_command (MM_QCDM_SERIAL_PORT (ctx->port),
pilot_sets,
3,
+ NULL,
(MMQcdmSerialResponseFn)signal_quality_qcdm_ready,
ctx);
}
@@ -4706,6 +4707,7 @@ modem_cdma_get_hdr_state (MMIfaceModemCdma *self,
mm_qcdm_serial_port_queue_command (ctx->qcdm,
hdrstate,
3,
+ NULL,
(MMQcdmSerialResponseFn)hdr_subsys_state_info_ready,
ctx);
}
@@ -4829,6 +4831,7 @@ modem_cdma_get_call_manager_state (MMIfaceModemCdma *self,
mm_qcdm_serial_port_queue_command (ctx->qcdm,
cmstate,
3,
+ NULL,
(MMQcdmSerialResponseFn)cm_subsys_state_info_ready,
ctx);
}
@@ -5099,6 +5102,7 @@ modem_cdma_get_cdma1x_serving_system (MMIfaceModemCdma *self,
mm_qcdm_serial_port_queue_command (ctx->qcdm,
cdma_status,
3,
+ NULL,
(MMQcdmSerialResponseFn)qcdm_cdma_status_ready,
ctx);
return;
diff --git a/src/mm-port-probe.c b/src/mm-port-probe.c
index cb15416c..0e8f856b 100644
--- a/src/mm-port-probe.c
+++ b/src/mm-port-probe.c
@@ -277,11 +277,13 @@ serial_probe_qcdm (MMPortProbe *self)
mm_qcdm_serial_port_queue_command (MM_QCDM_SERIAL_PORT (task->serial),
verinfo,
3,
+ NULL,
(MMQcdmSerialResponseFn)serial_probe_qcdm_parse_response,
NULL);
mm_qcdm_serial_port_queue_command (MM_QCDM_SERIAL_PORT (task->serial),
verinfo2,
3,
+ NULL,
(MMQcdmSerialResponseFn)serial_probe_qcdm_parse_response,
self);
diff --git a/src/mm-qcdm-serial-port.c b/src/mm-qcdm-serial-port.c
index 8dc50cb4..44a5f1c3 100644
--- a/src/mm-qcdm-serial-port.c
+++ b/src/mm-qcdm-serial-port.c
@@ -145,6 +145,7 @@ void
mm_qcdm_serial_port_queue_command (MMQcdmSerialPort *self,
GByteArray *command,
guint32 timeout_seconds,
+ GCancellable *cancellable,
MMQcdmSerialResponseFn callback,
gpointer user_data)
{
@@ -157,7 +158,7 @@ mm_qcdm_serial_port_queue_command (MMQcdmSerialPort *self,
command,
TRUE,
timeout_seconds,
- NULL,
+ cancellable,
(MMSerialResponseFn) callback,
user_data);
}
@@ -166,6 +167,7 @@ void
mm_qcdm_serial_port_queue_command_cached (MMQcdmSerialPort *self,
GByteArray *command,
guint32 timeout_seconds,
+ GCancellable *cancellable,
MMQcdmSerialResponseFn callback,
gpointer user_data)
{
@@ -178,7 +180,7 @@ mm_qcdm_serial_port_queue_command_cached (MMQcdmSerialPort *self,
command,
TRUE,
timeout_seconds,
- NULL,
+ cancellable,
(MMSerialResponseFn) callback,
user_data);
}
diff --git a/src/mm-qcdm-serial-port.h b/src/mm-qcdm-serial-port.h
index c491d053..b8e858bd 100644
--- a/src/mm-qcdm-serial-port.h
+++ b/src/mm-qcdm-serial-port.h
@@ -54,12 +54,14 @@ MMQcdmSerialPort *mm_qcdm_serial_port_new_fd (int fd);
void mm_qcdm_serial_port_queue_command (MMQcdmSerialPort *self,
GByteArray *command,
guint32 timeout_seconds,
+ GCancellable *cancellable,
MMQcdmSerialResponseFn callback,
gpointer user_data);
void mm_qcdm_serial_port_queue_command_cached (MMQcdmSerialPort *self,
GByteArray *command,
guint32 timeout_seconds,
+ GCancellable *cancellable,
MMQcdmSerialResponseFn callback,
gpointer user_data);
diff --git a/src/tests/test-qcdm-serial-port.c b/src/tests/test-qcdm-serial-port.c
index db16f343..d61bdb43 100644
--- a/src/tests/test-qcdm-serial-port.c
+++ b/src/tests/test-qcdm-serial-port.c
@@ -201,7 +201,7 @@ qcdm_request_verinfo (MMQcdmSerialPort *port, VerInfoCb cb, GMainLoop *loop)
g_byte_array_free (verinfo, TRUE);
verinfo->len = len;
- mm_qcdm_serial_port_queue_command (port, verinfo, 3, cb, loop);
+ mm_qcdm_serial_port_queue_command (port, verinfo, 3, NULL, cb, loop);
}
static void