mobile-providers: new country-specific type to gather providers
shell_mobile_providers_parse() was returning the country information split into a hash table with providers and a hash table with country names. This patch merges both outputs into a single per-country object, so the parse() method now returns a GHashTable with the following element-type: (element-type utf8 ShellCountryMobileProvider>) This also avoids more complex setups like returning lists inside of hash tables, which was actually breaking either g-i or gtk-doc. shell_mobile_providers_parse() was also modified to allow inputting the paths of the country codes and provider list files to use. If paths are not given, the default ones will be used. This helps us to provide test files during unit tests. Both the findProviderForMCCMNC() and findProviderForSid() methods are exported out of the GSM and CDMA specific classes, and new unit tests for them are implemented. Tests can be run manually with: $> ./tests/run-test.sh tests/unit/mobileProviders.js https://bugzilla.gnome.org/show_bug.cgi?id=687356.
Showing with 368 additions and 125 deletions