diff options
author | Aleksander Morgado <aleksander@aleksander.es> | 2013-11-19 20:24:27 +0100 |
---|---|---|
committer | Aleksander Morgado <aleksander@aleksander.es> | 2014-02-13 13:40:55 +0100 |
commit | 38ebf7c95b94f065f80c85505e65f102cef733d2 (patch) | |
tree | f0d61b3b508d2713ccf31f7c72d25889f9c789e3 /src/mm-port-serial-at.c | |
parent | 9432674087617b8140ca2e517e367bf74061e87e (diff) |
port-serial-at: allow specifying subsystem when creating a 'MMPortSerialAt'
Don't just assume that all AT ports are TTYs.
Diffstat (limited to 'src/mm-port-serial-at.c')
-rw-r--r-- | src/mm-port-serial-at.c | 13 |
1 files changed, 10 insertions, 3 deletions
diff --git a/src/mm-port-serial-at.c b/src/mm-port-serial-at.c index da75e0e1..b49de1a1 100644 --- a/src/mm-port-serial-at.c +++ b/src/mm-port-serial-at.c @@ -388,7 +388,11 @@ mm_port_serial_at_command (MMPortSerialAt *self, g_return_if_fail (MM_IS_PORT_SERIAL_AT (self)); g_return_if_fail (command != NULL); - buf = at_command_to_byte_array (command, is_raw, self->priv->send_lf); + buf = at_command_to_byte_array (command, + is_raw, + (mm_port_get_subsys (MM_PORT (self)) == MM_PORT_SUBSYS_TTY ? + self->priv->send_lf : + TRUE)); g_return_if_fail (buf != NULL); simple = g_simple_async_result_new (G_OBJECT (self), @@ -496,11 +500,14 @@ config (MMPortSerial *_self) /*****************************************************************************/ MMPortSerialAt * -mm_port_serial_at_new (const char *name) +mm_port_serial_at_new (const char *name, + MMPortSubsys subsys) { + g_return_val_if_fail (subsys == MM_PORT_SUBSYS_TTY || subsys == MM_PORT_SUBSYS_USB, NULL); + return MM_PORT_SERIAL_AT (g_object_new (MM_TYPE_PORT_SERIAL_AT, MM_PORT_DEVICE, name, - MM_PORT_SUBSYS, MM_PORT_SUBSYS_TTY, + MM_PORT_SUBSYS, subsys, MM_PORT_TYPE, MM_PORT_TYPE_AT, NULL)); } |