Commit Graph
16 Commits
Author SHA1 Message Date
Aleksander Morgado 71f5c97543 base-manager: automatic required subsystem detection
Instead of assuming we require a fixed set of subsystems to monitor,
compile the full list based on what the plugins have requested
themselves.
2020-11-13 08:57:06 +00:00
Aleksander Morgado 00949c4ad3 core: add autoptr cleanup methods to all internal types 2020-09-19 20:27:10 +02:00
Aleksander Morgado 0850fe4f6d filter: additional strict rules when all device ports available
All the previous filter rules were applicable per-port independently.
But, we also want to apply rules on a port based on the existence of
other ports on the same device (e.g. allow TTY if the device also has
a NET port). In this case, we need to wait for all ports to appear and
then apply the additional rules.

We re-use the "min wait time" timeout in the plugin-manager for this
same purpose. This timeout is setup to wait for ports to appear before
starting the probing process (e.g. so that plugin filters like the
forbidden-drivers one work). The very same timeout can therefore be
used to check whether we start the probing or not based on additional
filter rules.
2017-12-05 10:58:29 +01:00
Aleksander Morgado fd4fdbf21b plugin-manager: refactor device/port support checks and allow cancellations 2016-03-09 23:59:46 +01:00
Aleksander Morgado 247a945950 context: new '--test-plugin-dir' to allow specifying where the plugins are 2014-02-13 13:41:50 +01:00
Aleksander Morgado abb88a5e0a plugin-manager: allow looking plugins by name 2014-02-13 13:41:36 +01: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 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 86aa9df849 core: start using MMBroadbandModem objects
We chain up the Generic plugin created MMBroadbandModem objects within the
GDBusObjectManagerServer in MMManager, so that they get properly exported in
DBus.
2012-03-15 14:14:24 +01:00
Aleksander Morgado fad89b1d7e plugin-manager: new methods to check for ongoing port support operations
The new mm_plugin_manager_is_finding_port_support() allows to check whether the
Plugin Manager is looking for support in a specific port.

The new mm_plugin_manager_is_checking_device_support() allows to check whether
the Plugin Manager is looking for support in any port of a given device.
2012-03-15 14:14:20 +01:00
Aleksander Morgado 5f2d0d474c plugin-manager: allow suggesting a plugin when launching support checks
The newly launched support check will start probing with the suggested plugin
right away.
2012-03-15 14:14:20 +01:00
Aleksander Morgado 1e32139707 plugin-manager: new method to look for best plugin supporting a given port
The new `mm_plugin_manager_find_port_support()' method requests the Plugin
Manager to iterate over the list of plugins internally handled, launching
supports task for the given port in each of them.

The method is fully asynchronous, and the result can be retrieved with
`mm_plugin_manager_find_port_support_finish()' once the operation is ready.
2012-03-15 14:14:19 +01:00
Aleksander Morgado 035be28730 plugin-manager: find and load plugins when the manager object is created
Ported the plugin finding and loading code from the MMManager object.
2012-03-15 14:14:19 +01:00
Aleksander Morgado 51a8dc6ff3 plugin-manager: let it be initable
Looking for plugins and loading them will be done during the object creation,
so the operation may fail and we need to report it.
2012-03-15 14:14:19 +01:00
Aleksander Morgado 03655fcf9f plugin-manager: new MMPluginManager object 2012-03-15 14:14:19 +01:00