aboutsummaryrefslogtreecommitdiff
path: root/src/mm-plugin-manager.h
AgeCommit message (Collapse)Author
2023-01-03build: new option to build plugins within the daemon binaryAleksander Morgado
Instead of creating libmm-plugin* and libmm-shared* libraries that are dlopen()-ed on runtime, allow incorporating all plugins into the daemon binary itself. This makes the startup of the daemon much faster and also avoids issues with builds that require linker namespace isolation. Fixes https://gitlab.freedesktop.org/mobile-broadband/ModemManager/-/issues/674
2020-11-13base-manager: automatic required subsystem detectionAleksander Morgado
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-09-19core: add autoptr cleanup methods to all internal typesAleksander Morgado
2017-12-05filter: additional strict rules when all device ports availableAleksander Morgado
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.
2016-03-09plugin-manager: refactor device/port support checks and allow cancellationsAleksander Morgado
2014-02-13context: new '--test-plugin-dir' to allow specifying where the plugins areAleksander Morgado
2014-02-13plugin-manager: allow looking plugins by nameAleksander Morgado
2012-08-06plugin-manager: find port support is now only an internal operationAleksander Morgado
2012-08-06plugin-manager: remove unneeded methodsAleksander Morgado
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-06plugin-manager: new method to check support for a given device and all its portsAleksander Morgado
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-03-15core: start using MMBroadbandModem objectsAleksander Morgado
We chain up the Generic plugin created MMBroadbandModem objects within the GDBusObjectManagerServer in MMManager, so that they get properly exported in DBus.
2012-03-15plugin-manager: new methods to check for ongoing port support operationsAleksander Morgado
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-15plugin-manager: allow suggesting a plugin when launching support checksAleksander Morgado
The newly launched support check will start probing with the suggested plugin right away.
2012-03-15plugin-manager: new method to look for best plugin supporting a given portAleksander Morgado
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-15plugin-manager: find and load plugins when the manager object is createdAleksander Morgado
Ported the plugin finding and loading code from the MMManager object.
2012-03-15plugin-manager: let it be initableAleksander Morgado
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-15plugin-manager: new MMPluginManager objectAleksander Morgado