shill: Lookup the mobile provider database to obtain GSM network info.

Load the provider database in ModemInfo. Use the database to lookup operator
name and country when the GSM registration state changes.

This also adds a small mobile provider database used for unit test purposes.

BUG=chromium-os:19699
TEST=unit tests

Change-Id: I5cf0b6d0682d1e0f47fe4b92a45ec6c48837b650
Reviewed-on: https://gerrit.chromium.org/gerrit/10718
Commit-Ready: Darin Petkov <petkov@chromium.org>
Reviewed-by: Darin Petkov <petkov@chromium.org>
Tested-by: Darin Petkov <petkov@chromium.org>
diff --git a/modem_manager.h b/modem_manager.h
index f706b2b..1c926cb 100644
--- a/modem_manager.h
+++ b/modem_manager.h
@@ -14,6 +14,8 @@
 
 #include "shill/glib.h"
 
+struct mobile_provider_db;
+
 namespace shill {
 
 class ControlInterface;
@@ -31,7 +33,8 @@
                ControlInterface *control_interface,
                EventDispatcher *dispatcher,
                Manager *manager,
-               GLib *glib);
+               GLib *glib,
+               mobile_provider_db *provider_db);
   ~ModemManager();
 
   // Starts watching for and handling the DBus modem manager service.
@@ -91,6 +94,7 @@
   EventDispatcher *dispatcher_;
   Manager *manager_;
   GLib *glib_;
+  mobile_provider_db *provider_db_;
 
   DISALLOW_COPY_AND_ASSIGN(ModemManager);
 };