aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2012-03-15plugin-base: new 'allowed-qcdm' propertyAleksander Morgado
The plugins can set this boolean property to specify whether they can handle QCDM ports, and therefore probing for them is needed.
2012-03-15plugin-base: new 'send-delay' propertyAleksander Morgado
The plugins can set this property to provide a custom value for the send delay used for characters sent to the AT port during probing. The value given to the property should be a guint64 specifying the delay in microseconds.
2012-03-15plugin-base: new 'allowed-capabilities' propertyAleksander Morgado
The plugins can set this property to filter support check requests by probed capabilities. The value given to the property should be a guint built as a mask of MM_PORT_PROBE_CAPABILITY flags, e.g.: const guint capabilities = (MM_PORT_PROBE_CAPABILITY_GSM | MM_PORT_PROBE_CAPABILITY_CDMA);
2012-03-15plugin-base: new 'allowed-vendor-strings' and 'allowed-product-strings' ↵Aleksander Morgado
properties The plugins can set these properties to filter support check requests by AT-reported Vendor string and Product string. The value given to the properties should be a NULL-terminated array of strings, e.g., static const gchar *vendor_strings[] = { "cinterion" , NULL };
2012-03-15plugin-base: new 'custom-init' propertyAleksander Morgado
The plugins can set this property to provide custom initialization commands that should be issued to the modem before real probing starts. The value given to the property should be an array of MMPortProbeAtCommand variables finished with a last one exposing a NULL command, e.g.: static gboolean parse_init (const gchar *response, const GError *error, GValue *result, GError **result_error) { if (error) return FALSE; /* If we didn't get any error, it is an AT port */ g_value_init (result, G_TYPE_BOOLEAN); g_value_set_boolean (result, TRUE); return TRUE; } static gboolean parse_init_last (const gchar *response, const GError *error, GValue *result, GError **result_error) { g_value_init (result, G_TYPE_BOOLEAN); /* On last error, report as not being an AT port */ g_value_set_boolean (result, error ? FALSE : TRUE); return TRUE; } static const MMPortProbeAtCommand custom_init[] = { { "ATE1 E0", parse_init }, { "ATE1 E0", parse_init }, { "ATE1 E0", parse_init_last }, { NULL } };
2012-03-15plugin-base: new 'allowed-vendor-ids' and 'allowed-product-ids' propertiesAleksander Morgado
The plugins can set these properties to filter support check requests by udev-reported Vendor ID and Product ID. The value given to the properties should be a 0-terminated array of guint16s, e.g., static const guint16 vendor_ids[] = { 0x0421 , 0 };
2012-03-15plugin-base: new 'allowed-subsystems' propertyAleksander Morgado
The plugins can set this property to filter support check requests by subsystem. The value given to the property should be a NULL-terminated array of C strings, e.g.: const gchar *subsystems[] = { "tty", NULL };
2012-03-15port-probe: new cache of Port Probe resultsAleksander Morgado
Whenever a plugin has probed for some information in a given port, that data should be available for any other plugin wanting it during its own probing process. This new cache of Port Probe results allows to easily retrieve the already probed information.
2012-03-15port-probe: add comment explaining the probing process flowAleksander Morgado
2012-03-15port-probe: allow providing custom initialization AT commandsAleksander Morgado
2012-03-15port-probe: enable probing for QCDM supportAleksander Morgado
2012-03-15port-probe: enable probing for ProductAleksander Morgado
2012-03-15port-probe: enable probing for VendorAleksander Morgado
2012-03-15port-probe: enable probing for CapabilitiesAleksander Morgado
2012-03-15port-probe: enable probing for AT supportAleksander Morgado
We will initially probe for AT support in the port.
2012-03-15port-probe: new type to define commands used during probingAleksander Morgado
The new `MMPortProbeAtCommand' type defines what command will be sent to the serial AT port, and also a response processor method to parse the string returned by the port. The response processor gets as input either the text reply string or an error, and it should give as output either a GValue (type depends on the probing kind being done) or a new error (which will force the whole probing process to be aborted.
2012-03-15port-probe: allow cancelling the probing operationAleksander Morgado
The new `mm_port_probe_cancel()' will cancel the probing operation currently in progress, if any. Note that we don't need to pass any argument to specify which operation to cancel, as there can only be one.
2012-03-15port-probe: setup an asynchronous method for port probingAleksander Morgado
The new method `mm_port_probe_run()' will run the whole probing process asynchronously. Result of the probing can be later obtained with `mm_port_probe_run_finish()'.
2012-03-15port-probe: set port details when creating the objectAleksander Morgado
Each port probe is always associated to one specific port.
2012-03-15port-probe: new MMPortProbe objectAleksander Morgado
2012-03-15manager: integrate the Plugin ManagerAleksander Morgado
All plugin handling and port support checks now done by the Plugin Manager.
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: propagate support check results to tasks in the same deviceAleksander Morgado
As soon as the first support check of a port in a given device finishes with a valid best plugin and level > 0, propagate the result to other support tasks corresponding to ports in the same physical device. Previously, this propagation of support check results was only done once the port was grabbed by a plugin, not just when the plugin reported that it supported it. This change in behaviour isn't probably a big deal, as there should not be any case where a plugin says it supports a port and then cannot grab it.
2012-03-15plugin-manager: keep track of all launched support checksAleksander Morgado
We will keep a reference to each of the support checks currently in progress, grouped by physical device path. The stored SupportsInfo structs as well as the support check operations, are guaranteed to be kept valid as long as the Plugin Manager exists. Or in other words, the Plugin Manager cannot be disposed if there is still an ongoing supports check operation.
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: ensure we always print paths in UTF-8Aleksander Morgado
There is little chance of having a PLUGINDIR which is not UTF-8, but it may happen, and g_log() won't like it.
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
2012-03-15plugin-base: rename 'cancel_supports_port' to 'supports_port_cancel'Aleksander Morgado
We now have 'supports_port' (async method) and 'supports_port_finish' (to get the result of the async method), so it makes sense to rename the method to 'supports_port_cancel'.
2012-03-15plugin-base: rewrite port supports check as fully asynchronousAleksander Morgado
Before this change, supports check was either synchronous (e.g. in some UNSUPPORTED cases) or asynchronous (when IN_PROGRESS was returned). With this fix, the supports check requested to the plugin will always be completed asynchronously; either directly in an idle before launching any real probing operation, or once the probing operation is finished. Therefore, it is not expected to get a IN_PROGRESS reply in mm_plugin_supports_port_finish(), only UNSUPPORTED|SUPPORTED|DEFERRED.
2012-03-15core: avoid using DBusGMethodInvocation in auth APIAleksander Morgado
While porting to GDBus, use opaque pointers. This allows us to include either a DBusGMethodInvocation or a GDBusMethodInvocation in the 'context' pointer. Once fully ported to GDBus, we can safely change it back to make the context be a GDBusMethodInvocation.
2012-03-15build: install DBus service and data files for the new APIAleksander Morgado
2012-03-15build: setup all data (polkit, icon, dbus...) in the same `data' directoryAleksander Morgado
Also fixed dist when not using polkit, the icon was no longer included in the tarball.
2012-03-15build: chain up new 0.6 API and link against libmm-commonAleksander Morgado
Also removed the MMSerialError implementation from `src/mm-errors.[h|c]', as it is now included in the new `include/ModemManager-errors.h' header file. All the other enums and errors without clashing names will be ported afterwards to the new base code.
2012-03-15build: disable autogeneration of the 0.5 API header fileAleksander Morgado
But keep it around as a static file, while we do the migration to the new interface.
2012-03-15docs: added new man page for the modem-manager daemonAleksander Morgado
2012-03-15docs: setup generation of gtk-doc based DBus API documentationAleksander Morgado
It includes gdbus-codegen generated API documentation, plus the common Enums, Flags and Errors, which will also be used in libmm-glib.
2012-03-15docs: remove generation of previous DBus API documentationAleksander Morgado
2012-03-15libmm-common: include Errors type informationAleksander Morgado
The code to handle the Errors type information is automatically built with `glib-mkenums' and the new templates kept under `build-aux'.
2012-03-15libmm-common: include Enums and Flags type informationAleksander Morgado
The code to handle the Enums and Flags type information is automatically built with `glib-mkenums' and the new templates kept under `build-aux'. Note: We currently skip the type information of `MMModemBand'. GFlagsValue can hold only 32-bit types, and we're working with a 64-bit flag here. See: https://bugzilla.gnome.org/show_bug.cgi?id=663054
2012-03-15libmm-common: setup new library, with the gdbus-codegen generated codeAleksander Morgado
This library will not (probably) be installable, but will share the GDBus and new Enum/Flag/Error type support between the core daemon and the new libmm-glib library.
2012-03-15build: use common CPPFLAGS and LDFLAGS for all pluginsAleksander Morgado
Also include $(top_srcdir)/generated and $(top_builddir)/generated in the common preprocessor flags.
2012-03-15build: improve project bootstrappingAleksander Morgado
Align autogen.sh with the one in NM: * Just calling autoreconf once * Using autopoint from GNU gettext * Enabling the use of NOCONFIGURE
2012-03-15build: improve configure output reportAleksander Morgado
2012-03-15build: avoid using -Wfloat-equal compilation optionAleksander Morgado
In order to compile code generated by gdbus-codegen.
2012-03-15build: avoid using -Wshadow compilation optionAleksander Morgado
In order to compile code generated by gdbus-codegen.
2012-03-15build: require GLib and GIO >= 2.30Aleksander Morgado
gdbus-codegen is first available in the stable 2.30 release of GLib, see http://mail.gnome.org/archives/gtk-devel-list/2011-September/msg00218.html GIO and GIO-Unix are now required during the build.
2012-03-15api: new `include/ModemManager1.h' as main header of the new APIAleksander Morgado
Filename is temporary as we keep the old `include/ModemManager.h' around during the transition to the new codebase.