Aleksander Morgado
d63570838b
port-probe: fix typo in class definition
2012-08-06 20:06:46 +02:00
Aleksander Morgado
79abe00221
core: new `MMAsyncMethod' boxed type
...
Helps to bundle the async method implementation in a property.
2012-08-06 20:06:46 +02:00
Aleksander Morgado
f5fdf946c9
plugin: new `MM_PLUGIN_FORBIDDEN_DRIVERS' property
...
It allows plugins to specify whether they cannot support ports handled by
specific drivers.
2012-08-06 20:06:46 +02:00
Aleksander Morgado
1078b246b0
plugin: remove no longer used `MM_PLUGIN_SORT_LAST' property
...
The behaviour previously handled by this property is now automatically handled.
2012-08-06 20:06:46 +02:00
Aleksander Morgado
9b0f6c83f2
plugin: renamed custom-init' property to custom-at-probe'
...
The `custom-at-probe' property is just to modify the way we check for AT port
support.
2012-08-06 20:06:46 +02:00
Aleksander Morgado
89b3c01328
port-probe: setup the port object as a property
2012-08-06 20:06:46 +02:00
Aleksander Morgado
055b56306a
port-probe: no need to keep our internal copies of subsys/name
2012-08-06 20:06:46 +02:00
Aleksander Morgado
4a85707b09
port-probe: no need to keep neither physdev path nor driver
2012-08-06 20:06:46 +02:00
Aleksander Morgado
a5560bef3d
port-probe: don't warn if requesting info which wasn't probed
2012-08-06 20:06:46 +02:00
Aleksander Morgado
a8bc1909e4
plugin: setup a `priv' opaque pointer for the internal data
...
G_TYPE_INSTANCE_GET_PRIVATE() is really slow, so try to call it as less as
possible.
2012-08-06 20:06:46 +02:00
Aleksander Morgado
a315602166
plugin: no need to have our own `GUdevClient'
2012-08-06 20:06:46 +02:00
Aleksander Morgado
1e9c6772ce
plugin: no need to take care of probing tasks ourselves
2012-08-06 20:06:45 +02:00
Aleksander Morgado
cf48d3daa7
plugin: don't provide an additional method to cancel the probing
...
We'll do it with a GCancellable.
2012-08-06 20:06:45 +02:00
Aleksander Morgado
d84cecac99
plugin: don't use internal task list to cancel AT probing in other probes
2012-08-06 20:06:45 +02:00
Aleksander Morgado
61e285497c
port-probe-cache: removed, no longer needed
...
The `MMDevice' acts as port probe cache for us now, directly storing all port
probes of the same device.
2012-08-06 20:06:45 +02:00
Aleksander Morgado
9d14e4e8e9
device: get vendor/product IDs
...
And don't do it in MMPlugin.
2012-08-06 20:06:45 +02:00
Aleksander Morgado
74dd724669
plugin: simplify interface by passing around the device and/or port objects
2012-08-06 20:06:45 +02:00
Aleksander Morgado
b816887cac
port-probe: use dispose() to cleanup internal object references
2012-08-06 20:06:45 +02:00
Aleksander Morgado
87c2c8632e
port-probe: new method to check if there is an AT port in a list of probes
2012-08-06 20:06:45 +02:00
Aleksander Morgado
b791e87b23
device: keep a list of port probes instead of just ports
2012-08-06 20:06:45 +02:00
Aleksander Morgado
a9075b0c09
port-probe: rename _get_port() to _peek_port() as there is no ownership transfer
2012-08-06 20:06:45 +02:00
Aleksander Morgado
e5e46f489e
core: merge MMPluginBase' and MMPlugin'
...
There's no real point in maintaining a separate `MMPlugin' interface, as all the
plugins will inherit from `MMPluginBase', so just merge them and simplify
everything.
2012-08-06 20:06:45 +02:00
Aleksander Morgado
7e9d3e4b68
plugin-base: method to get device IDs doesn't need to be public
...
Given the new pre-probing filters, the IDs are no longer retrieved by the
plugins.
2012-08-06 20:06:45 +02:00
Aleksander Morgado
aaa487094e
plugin-manager: simplify device/port probing logic
...
The plugin manager no longer needs to take care of keeping track of which probes
are being run and to which physical device they correspond, as the upper layer's
`MMDevice' already does this. This simplifies the internal logic quite a lot, as
we can now easily suggest plugins to the remaining port probes of the same
device directly.
2012-08-06 20:06:45 +02:00
Aleksander Morgado
a1ffbdf1c8
plugin-manager: find port support is now only an internal operation
2012-08-06 20:06:45 +02:00
Aleksander Morgado
c1c3702f53
plugin-manager: remove unneeded methods
...
We no longer need to query the plugin manager whether we're checking support for
a specific port, as the ports are now grabbed only once in the MMDevice, and
therefore we ensure that supports check is launched only once in the
PluginManager for that specific port.
Also, we no longer need to query the plugin manager whether we're checking
support for a given device, as the logic to check when all ports of the device
are probed is now maintained internally.
2012-08-06 20:06:45 +02:00
Aleksander Morgado
b35d6a65fa
plugin-manager: define a minimum probing time of 2s
...
Effectively, we're now letting the kernel up to 2s to show all the ports of the
device, starting from the time where the first port is exposed.
2012-08-06 20:06:45 +02:00
Aleksander Morgado
e8339385da
manager: use the new method to check support of a given full device
2012-08-06 20:06:45 +02:00
Aleksander Morgado
5b4abce64a
plugin-manager: new method to check support for a given device and all its ports
...
The new `mm_plugin_manager_find_device_support()' will be an async method which
waits for ports to be added in the given `MMDevice'. As soon as all added ports
are probed, the device support check is considered finished.
2012-08-06 20:06:45 +02:00
Aleksander Morgado
3daed5130f
plugin-base: don't assume a plugin will give as supported all ports of the device
...
E.g. the Generic plugin will give as unsupported 'net' ports found in the
device, as it doesn't know how to use them.
2012-08-06 20:06:44 +02:00
Aleksander Morgado
66ec5cd724
device: signal grabbed/released ports
2012-08-06 20:06:44 +02:00
Aleksander Morgado
72ffa7a1e5
device: load driver being used when first port grabbed
2012-08-06 20:06:44 +02:00
Aleksander Morgado
7b7f5b9dcb
device: keep sysfs path around for logging
2012-08-06 20:06:44 +02:00
Aleksander Morgado
0aff871b04
device: split `MMDevice' creation and plugin setting
...
We want to be able to create the MMDevice way before we have decided which
plugin to use.
2012-08-06 20:06:44 +02:00
Aleksander Morgado
815693661c
core: compile all ports before creating the modem object
...
Before this, we only exported the modem to DBus when all ports were organized,
in order to make sure that we select as primary port the one we really want and
not the first AT port grabbed. Given that to get all the ports organized we also
needed to wait to get all the ports grabbed, we can now also defer the creation
of the modem object until all the ports get grabbed. This allows us to create
different types of objects based on the ports available (e.g. we can now create
QMI-supported modem objects if we see a QMI port around).
2012-08-06 20:06:44 +02:00
Aleksander Morgado
0336b8f89d
iface-modem: don't process signal/act updates if interface is shut down
...
When the interface is shut down the skeleton object no longer exists. Given that
we're allowing this actions from outside the interface, we should be safe and
don't assume that the caller knows exactly the state of the interface.
2012-08-02 09:23:16 +02:00
Ben Chan
b320f5c065
iface-modem: fix crashes due to removed context
2012-08-02 09:18:06 +02:00
Aleksander Morgado
0ff904b3c5
bearer: set state as DISCONNECTING as soon as we cancel the connection sequence
...
Just when we request to cancel the connection we need to set the bearer as
being disconnected, so that we do not end up overwriting connection cancellation
requests.
Reported by: Thieu Le <thieule@chromium.org >
2012-07-31 09:18:45 +02:00
Aleksander Morgado
a448eabb3d
iface-modem: SIM-PIN2 lock takes us to disabled state, not locked
2012-07-26 11:05:20 +02:00
Aleksander Morgado
8d31e79ac4
sim: getting SIM-PIN2 lock doesn't mean PIN sending failed
2012-07-26 11:00:17 +02:00
Aleksander Morgado
05289d094b
iface-modem-3gpp: fix variant ref count
2012-07-25 12:00:28 +02:00
Aleksander Morgado
c6c1e0fb50
broadband-modem: fallback to unencoded command in USSD if encoded fails
2012-07-22 14:51:31 +02:00
Aleksander Morgado
19e65253de
broadband-bearer: debug logs when disconnecting 3GPP bearer
2012-07-22 13:40:02 +02:00
Aleksander Morgado
aa11a0bf7d
broadband-modem: assume CS if 2G supported
2012-07-22 13:39:50 +02:00
Aleksander Morgado
79fbe274e9
iface-modem: new async method to be run just after the successful SIM unlock
2012-07-22 13:39:35 +02:00
Aleksander Morgado
2aceb907f4
mm-broadband-modem: fix result completion on hex encoding errors
2012-07-22 13:36:43 +02:00
Aleksander Morgado
9670b362bf
mm-broadband-modem: fix USSD command sending, don't use cached AT replies
2012-07-22 13:35:18 +02:00
Aleksander Morgado
ea10c57056
broadband-modem: cancel pending USSD request if USSD session cancelled
2012-07-22 13:33:34 +02:00
Aleksander Morgado
ce33bcfd7a
iface-modem-3gpp-ussd: set proper initial session state
2012-07-22 13:33:25 +02:00
Aleksander Morgado
89cdb8819a
iface-modem-3gpp-ussd: don't allow USSD actions if the modem is not enabled
2012-07-22 13:33:15 +02:00