aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAleksander Morgado <aleksander@lanedo.com>2012-03-07 13:08:43 +0100
committerAleksander Morgado <aleksander@lanedo.com>2012-03-16 14:53:22 +0100
commitef2b1cf030e257ff93ada4a5397425d192df1805 (patch)
tree2fd7aca7d403a6a6bdb6b2af2e4c7c51592f2be2
parent5a485d74a20a57498d06db09b621af93b433d7e2 (diff)
at-serial-port: allow cancelling the response timeout
-rw-r--r--src/mm-at-serial-port.c6
-rw-r--r--src/mm-at-serial-port.h2
-rw-r--r--src/mm-base-modem-at.c5
-rw-r--r--src/mm-port-probe.c1
4 files changed, 12 insertions, 2 deletions
diff --git a/src/mm-at-serial-port.c b/src/mm-at-serial-port.c
index 2e851464..f795bdd5 100644
--- a/src/mm-at-serial-port.c
+++ b/src/mm-at-serial-port.c
@@ -281,6 +281,7 @@ void
mm_at_serial_port_queue_command (MMAtSerialPort *self,
const char *command,
guint32 timeout_seconds,
+ GCancellable *cancellable,
MMAtSerialResponseFn callback,
gpointer user_data)
{
@@ -297,7 +298,7 @@ mm_at_serial_port_queue_command (MMAtSerialPort *self,
buf,
TRUE,
timeout_seconds,
- NULL,
+ cancellable,
(MMSerialResponseFn) callback,
user_data);
}
@@ -306,6 +307,7 @@ void
mm_at_serial_port_queue_command_cached (MMAtSerialPort *self,
const char *command,
guint32 timeout_seconds,
+ GCancellable *cancellable,
MMAtSerialResponseFn callback,
gpointer user_data)
{
@@ -322,7 +324,7 @@ mm_at_serial_port_queue_command_cached (MMAtSerialPort *self,
buf,
TRUE,
timeout_seconds,
- NULL,
+ cancellable,
(MMSerialResponseFn) callback,
user_data);
}
diff --git a/src/mm-at-serial-port.h b/src/mm-at-serial-port.h
index 7ac6b9af..e851be27 100644
--- a/src/mm-at-serial-port.h
+++ b/src/mm-at-serial-port.h
@@ -91,12 +91,14 @@ void mm_at_serial_port_set_response_parser (MMAtSerialPort *self,
void mm_at_serial_port_queue_command (MMAtSerialPort *self,
const char *command,
guint32 timeout_seconds,
+ GCancellable *cancellable,
MMAtSerialResponseFn callback,
gpointer user_data);
void mm_at_serial_port_queue_command_cached (MMAtSerialPort *self,
const char *command,
guint32 timeout_seconds,
+ GCancellable *cancellable,
MMAtSerialResponseFn callback,
gpointer user_data);
diff --git a/src/mm-base-modem-at.c b/src/mm-base-modem-at.c
index cd0565c3..820063b8 100644
--- a/src/mm-base-modem-at.c
+++ b/src/mm-base-modem-at.c
@@ -172,6 +172,7 @@ at_sequence_parse_response (MMAtSerialPort *port,
ctx->port,
ctx->current->command,
ctx->current->timeout,
+ ctx->cancellable,
(MMAtSerialResponseFn)at_sequence_parse_response,
ctx);
else
@@ -179,6 +180,7 @@ at_sequence_parse_response (MMAtSerialPort *port,
ctx->port,
ctx->current->command,
ctx->current->timeout,
+ ctx->cancellable,
(MMAtSerialResponseFn)at_sequence_parse_response,
ctx);
return;
@@ -244,6 +246,7 @@ mm_base_modem_at_sequence_in_port (MMBaseModem *self,
ctx->port,
ctx->current->command,
ctx->current->timeout,
+ ctx->cancellable,
(MMAtSerialResponseFn)at_sequence_parse_response,
ctx);
}
@@ -450,6 +453,7 @@ mm_base_modem_at_command_in_port (MMBaseModem *self,
port,
command,
timeout,
+ ctx->cancellable,
(MMAtSerialResponseFn)at_command_parse_response,
ctx);
else
@@ -457,6 +461,7 @@ mm_base_modem_at_command_in_port (MMBaseModem *self,
port,
command,
timeout,
+ ctx->cancellable,
(MMAtSerialResponseFn)at_command_parse_response,
ctx);
}
diff --git a/src/mm-port-probe.c b/src/mm-port-probe.c
index 0e8f856b..5474170c 100644
--- a/src/mm-port-probe.c
+++ b/src/mm-port-probe.c
@@ -446,6 +446,7 @@ serial_probe_at (MMPortProbe *self)
MM_AT_SERIAL_PORT (task->serial),
task->at_commands->command,
3,
+ task->cancellable,
(MMAtSerialResponseFn)serial_probe_at_parse_response,
self);
return FALSE;