aboutsummaryrefslogtreecommitdiff
path: root/src
AgeCommit message (Collapse)Author
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: 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-15tests: serial port tests don't need errors headerAleksander Morgado
2012-03-13at-serial-port: new property to control whether echo removal should be appliedAleksander Morgado
2012-03-01gsm: retry sending SMS in PDU mode if text fails and PDU is supportedDan Williams
In the future we'll just default to PDU mode.
2012-02-29modem-helpers: plug memleakAleksander Morgado
g_match_info_fetch() returns always a heap-allocated string which should be freed by the caller.
2012-02-28core: rework port grabbing and organizationDan Williams
Make port roles more flexible. We have modems that do PPP on interfaces other than the primary interface, and that wasn't possible with the old code. So clean up all that logic and move the port organization code into the core so we can reduce code in the plugins. In the new world order, the plugins say whether the port is a QCDM port, an AT port, or ignored. If it's an AT port the plugins get to tag it as primary, secondary, or PPP, or any combination of the 3. This allows for modems where PPP should really be done on the secondary port (Huawei E220, Sierra devices) so that the primary port stays open for command and status. Modem subclasses no longer get asked to handle port grabbing themselves. Instead, that's now done by the generic classes (MMGenericCdma and MMGenericGsm) and the plugins are notified when a port is grabbed so they can add unsolicited response handlers for it. After all ports are grabbed by the generic classes, they get "organized", which assigns various ports to the roles of PRIMARY, SECONDARY, DATA, and QCDM based on specific rules and hints that the plugin provided (which are expressed as MMAtPortFlags). The plugins then have a chance to perform fixups on the primary port if they choose. The plugin code is responsible for determining the port hints (ie MMAtPortFlags) at probe time, instead of having a combination of the plugin and the modem class do the job. This simplifies things greatly for the plugins at the expense of more complicated logic in the core.
2012-02-25cdma: fix crash on NULL error (bgo #670145)Tom Goetz
2012-02-18charsets: plug memleakAleksander Morgado
The string passed to utils_bin2hexstr() needs to be freed afterwards.
2012-02-17gsm: don't query PS network registration status if not supportedAleksander Morgado
2012-02-17modem: new property to allow specifying longer timeouts when configuring IPAleksander Morgado
This IpTimeout property will be read by NetworkManager, and used as the time to wait for pppd to establish the IP configuration.
2012-02-17iridium: fix operator name and code to be reportedAleksander Morgado
2012-02-17gsm: let plugins override the operator name and code retrievalAleksander Morgado
2012-02-17gsm: allow leading zeroes in numbers in CREG/CGREG responsesAleksander Morgado
2012-02-17generic: only send CGACT if PS network is supportedAleksander Morgado
2012-02-17generic: query PS network registration status only if PS network supported ↵Aleksander Morgado
by the modem
2012-02-17gsm: set pin check flag before requesting ICCID checkAleksander Morgado
2012-02-17gsm: allow no whitespaces before CPIN? reply valueAleksander Morgado
2012-02-17iridium: add initial dummy pluginAleksander Morgado
2012-02-16core: fix loop limits in echo removalAleksander Morgado
-1 was actually correct, if data->len is 10, i goes from 0 to 8.
2012-02-16at-serial-port: implement built-in echo/garbage removalAleksander Morgado
We expect the responses to start always with <CR><LF>. We just remove anything that comes before that.
2012-02-08charsets: don't crash when passing a NULL string to the UTF-8 converterAleksander Morgado
2012-02-07test: fix SMS testcase errors due to uninitialized GErrorDan Williams
2012-02-07gsm: ensure text mode SMS list doesn't pick up too much textDan Williams
This likely has no effect, but just make sure the regex stops grabbing message content when it hits the CF/LF that terminates the message content in text mode.
2012-02-07gsm: fix text mode SMS list regex for single messagesDan Williams
We don't get a \r\n at the end for single messages.
2012-02-07gsm: use new common charset converter when parsing operator name/codeAleksander Morgado
2012-02-07gsm: convert SMS text and number from current charset to UTF-8Aleksander Morgado
2012-02-07charsets: new method to do our best to convert from current charset to UTF-8Aleksander Morgado
This method will try to convert the input string to UTF-8. The input string is supposed to be in the given charset; or otherwise is supposed to be the hex representation of the string in the given charset.
2012-02-07charsets: don't warn if we couldn't convert from hex to utf8Aleksander Morgado
2012-02-07core: plug leaks when passing GValueArrays to dbus_g_method_return()Aleksander Morgado
The ownership of the GValueArray is not transferred.
2012-02-02sms: handle text mode SMS listingDan Williams
Undoubtedly we'll need to adjust the regex but this works for now.
2012-02-01gsm: fix listing SMS messages in text modeDan Williams
Even though we don't parse them correctly yet, at least send the right command for listing them.
2012-02-01gsm: fix setting PDU mode for SMS messagesDan Williams
Stupid signed/unsigned mistake.
2012-02-01core: fix warning about MMModemTime interface initializationDan Williams
The MMModemTime interface was getting initialized more than once.
2012-01-27time: poll for timezoneThomas Tuttle
Signed-off-by: Thomas Tuttle <ttuttle@chromium.org>
2012-01-27time: implement ModemTime in ModemBaseThomas Tuttle
Signed-off-by: Thomas Tuttle <ttuttle@chromium.org>
2012-01-25time: implement MMModemTime boilerplateThomas Tuttle
Signed-off-by: Thomas Tuttle <ttuttle@chromium.org>
2012-01-23core: fix copy & paste errorDan Williams
2012-01-23ussd: ensure coded string is valid before stripping quotesAleksander Morgado