Aleksander Morgado
215c278082
base-modem: new modem-wide cancellable, passed to every state machine
2012-03-16 14:53:23 +01:00
Aleksander Morgado
7bfc56c2a8
base-modem-at: set error if NULL port detected
...
Users of mm_base_modem_at_command_in_port() can now directly pass the result
of mm_base_modem_peek_port_primary() or mm_base_modem_peek_port_secondary(),
which may be NULL if no such port exists in the modem. So we'll gracefully
detect the NULL port and complete the async operation with an error.
2012-03-16 14:53:23 +01:00
Aleksander Morgado
cc6d4a97fb
base-modem: new port getters and peekers
...
* mm_base_modem_peek_port_* () will return either a port object (no new
reference), or NULL if none available.
You would usually peek() a port if you're going to use it just in the current
method, as there is no way to that reference to get invalid (we're single
threaded).
* mm_base_modem_get_port_* () will return either NEW references to valid
port objects, or NULL if none available.
And, you would usually get() a port, whenever you want the port object to be
valid even out of the current method, for example when keeping it in the
context of an async operation.
Also, we need to consider that the primary AT port MAY BE NULL when you
peek() or get() it. This is due to the fact that we may be releasing ports
(due to device disconnection) in the middle of async operations.
2012-03-16 14:53:23 +01:00
Aleksander Morgado
48285dcfdf
serial-port: forcing to close a port is an internal operation
...
Ports being forced to get closed will only happen when we get a HUP error
in the serial port (e.g. device got disconnected).
2012-03-16 14:53:23 +01:00
Aleksander Morgado
4f59a696fc
serial-port: don't warn when trying to close a port which was forced to be closed
2012-03-16 14:53:23 +01:00
Aleksander Morgado
4bdfd25de1
base-modem: when getting best AT port, assume we may have lost specific ports
...
Don't assume that primary port is always set.
2012-03-16 14:53:23 +01:00
Aleksander Morgado
c24012ef1b
plugin-base: handle the case of expecting a single AT port
...
If we only expect a single AT port, we'll cancel all remaining AT port probings
in the other ports, as soon as we get the first one.
2012-03-16 14:53:22 +01:00
Aleksander Morgado
dc58cce7c4
port-probe: allow cancelling all AT probing steps
2012-03-16 14:53:22 +01:00
Aleksander Morgado
9fbddcb8a9
plugin-base: new property to specify that only one single AT port is expected
...
Will allow us to cancel other AT probings as soon as the first AT port is
grabbed.
2012-03-16 14:53:22 +01:00
Aleksander Morgado
690777986b
port-probe: refactor AT command handling
...
Make it use a GVariant in the response processor, as the AT command handling in
the MMBaseModem.
2012-03-16 14:53:22 +01:00
Aleksander Morgado
70103fdef3
TODO: new task to consolidate the serial parser as a GObject
2012-03-16 14:53:22 +01:00
Aleksander Morgado
1e19273340
serial-parsers: new method to check if a given error was set by the parser
2012-03-16 14:53:22 +01:00
Aleksander Morgado
ef2b1cf030
at-serial-port: allow cancelling the response timeout
2012-03-16 14:53:22 +01:00
Aleksander Morgado
5a485d74a2
qcdm-serial-port: allow cancelling the response timeout
2012-03-16 14:53:22 +01:00
Aleksander Morgado
9b38cd4f5c
serial-port: allow cancelling the response timeout
2012-03-16 14:53:22 +01:00
Aleksander Morgado
64d83737fe
serial-parsers: remove v0 and v1_e1 parsers, which are unused
...
Given that we now perform our own built-in echo removal in the v1 parser, we no
longer need the v1_e1 parser.
The v0 parser was also unused from long ago.
2012-03-16 14:53:22 +01:00
Aleksander Morgado
05e2ce862d
port-probe: log the list of probing tasks to be run
2012-03-16 14:53:22 +01:00
Aleksander Morgado
66984e77cd
port-probe: convert port probe flags to a private enum
2012-03-16 14:53:22 +01:00
Aleksander Morgado
b07e13f49d
TODO: time interface and own numbers now done
2012-03-16 14:53:22 +01:00
Aleksander Morgado
1df1fe4f4a
mmcli: new Time-specific actions
2012-03-16 14:53:22 +01:00
Aleksander Morgado
a3e6faeaca
libmm-glib: implement Time interface specific actions
2012-03-16 14:53:22 +01:00
Aleksander Morgado
b50c5d42e0
mmcli: print own numbers in modem info
2012-03-16 14:53:21 +01:00
Aleksander Morgado
59d8110767
libmm-glib: add support to retrieve own numbers
2012-03-16 14:53:21 +01:00
Aleksander Morgado
1f250585dd
modem-helpers: refactor and reorganize sources
2012-03-16 14:53:21 +01:00
Aleksander Morgado
c824ee3106
broadband-modem: implement own numbers generic loading
2012-03-16 14:53:21 +01:00
Aleksander Morgado
51c28d0f79
modem-helpers: new +CNUM response parser and tests
2012-03-16 14:53:21 +01:00
Aleksander Morgado
4a52a19c41
tests,modem-helpers: cleanup tests
...
Properly order the tests in blocks, and ensure that the common data for
registration tests is not passed to other non-registration related tests.
2012-03-16 14:53:21 +01:00
Aleksander Morgado
4c38ab4864
test,modem-helpers: remove conditional compilation
...
We require already GLib 2.30
2012-03-16 14:53:21 +01:00
Aleksander Morgado
2dcff5590e
iface-modem: setup loading of own numbers during the initialization phase
2012-03-16 14:53:21 +01:00
Aleksander Morgado
238e2a5341
api,dbus: new `OwnNumbers' property in the Modem interface
2012-03-16 14:53:21 +01:00
Aleksander Morgado
478b9c5f36
cinterion: no need to complete in idle in sleep_ready()
2012-03-16 14:53:21 +01:00
Aleksander Morgado
22113859c9
messaging: part index may be repeated in different storages
2012-03-16 14:53:21 +01:00
Aleksander Morgado
120e117c49
time: removed old interface sources
2012-03-16 14:53:21 +01:00
Aleksander Morgado
a339546c45
iface-modem-time: setup generic unsolicited message handling
...
Modems may get notified via unsolicited messages (either AT or QMI or some
other thing), that the network time was updated. This setup allows subclasses
implementing the Time interface to setup/cleanup and enable/disable the
unsolicited messages, as well as notify about the network time updates.
2012-03-16 14:53:21 +01:00
Aleksander Morgado
5b01df5baa
iface-modem-time: handle `GetNetworkTime'
2012-03-16 14:53:21 +01:00
Aleksander Morgado
10669881a5
iface-modem-time: only retry if MM_CORE_ERROR_RETRY was returned
...
We don't want to retry if the error is fatal in some other kind, e.g. a reply
parsing error or something.
2012-03-16 14:53:20 +01:00
Aleksander Morgado
120ac6da39
api,errors: new `MM_CORE_ERROR_RETRY'
...
Lets operations specify that they cannot be run currently, but that the caller
may retry later. Of course, it depends on the caller to really honour the
retry-later suggestion.
2012-03-16 14:53:20 +01:00
Aleksander Morgado
6e75399629
iface-modem-time: load network timezone information
...
Following the same logic as in the original implementation, we try to load the
network timezone information only after being registered, and also with up to N
retries. The async operation in charge of the loading can be cancelled
gracefully, i.e. if the interface is disabled before we get ever registered.
2012-03-16 14:53:20 +01:00
Aleksander Morgado
df4e713124
broadband-modem: implement the Time interface
2012-03-16 14:53:20 +01:00
Aleksander Morgado
16cf2a49f6
iface-modem-time: new interface to handle the Time DBus interface
2012-03-16 14:53:20 +01:00
Aleksander Morgado
455fc68d8a
libmm-common: new `MMNetworkTimezone' helper object
2012-03-16 14:53:20 +01:00
Aleksander Morgado
bd9d7011b9
api,dbus: rewrote Time interface to be used with gdbus-codegen
2012-03-16 14:53:20 +01:00
Aleksander Morgado
480fe4b808
docs: new section about plugin-specific modems
2012-03-16 14:53:20 +01:00
Aleksander Morgado
52ff02323d
plugin-manager: avoid race when port deferred until suggested and suggestion already there
...
It may happen that we launch the supports task in the port AFTER having received
the suggestion.
2012-03-16 14:53:20 +01:00
Aleksander Morgado
f8f0969289
plugin-base: log also when starting to check support
...
So that we get logs when net ports are being checked for support, which won't be
probed.
2012-03-16 14:53:20 +01:00
Aleksander Morgado
9c5c072bab
iface-modem: fix signal name
2012-03-16 14:53:20 +01:00
Aleksander Morgado
c590cde7e5
TODO: new possible probing improvement
2012-03-16 14:53:20 +01:00
Aleksander Morgado
47265a80ac
TODO: pin retry counts and enabled facility locks now ported from master
2012-03-16 14:53:20 +01:00
Aleksander Morgado
41fe01b217
sim: update unlock retry counts after PIN change/enable operations
2012-03-16 14:53:20 +01:00
Aleksander Morgado
cd63df938f
libmm-common: `MMSimpleStatus' won't be considered internal any more
...
Renamed `MMCommonSimpleProperties' to `MMSimpleStatus', and removed the
`MMSimpleStatusProperties' provided in libmm-glib. We'll just use the original
one from libmm-common always.
2012-03-16 14:53:20 +01:00