shill: cellular: simplify property change notification

Simplify property change notification by using a single mechanism to
handle it instead of two.  Old style notifications are turned into new
style notifications by the modem object.

A few minor style clean ups -- remove std:: where not needed and
ensure that public interfaces are declared as public interfaces in
subclasses (i.e not protected).

BUG=chromium-os:29569
TEST=run unit tests

Change-Id: If8b957d8b6518c95fa1d20bdef7d1ec6a8ed5ea3
Reviewed-on: https://gerrit.chromium.org/gerrit/20395
Tested-by: Jason Glasgow <jglasgow@chromium.org>
Reviewed-by: Nathan J. Williams <njw@chromium.org>
Commit-Ready: Jason Glasgow <jglasgow@chromium.org>
diff --git a/cellular_capability_gsm.cc b/cellular_capability_gsm.cc
index 461b3bf..53d537d 100644
--- a/cellular_capability_gsm.cc
+++ b/cellular_capability_gsm.cc
@@ -4,6 +4,9 @@
 
 #include "shill/cellular_capability_gsm.h"
 
+#include <string>
+#include <vector>
+
 #include <base/bind.h>
 #include <base/logging.h>
 #include <base/stl_util.h>
@@ -21,6 +24,7 @@
 
 using base::Bind;
 using std::string;
+using std::vector;
 
 namespace shill {
 
@@ -704,8 +708,12 @@
   return flimflam::kRoamingStateUnknown;
 }
 
-void CellularCapabilityGSM::OnModemManagerPropertiesChanged(
-    const DBusPropertiesMap &properties) {
+void CellularCapabilityGSM::OnDBusPropertiesChanged(
+    const string &interface,
+    const DBusPropertiesMap &properties,
+    const vector<string> &/* invalidated_properties */) {
+  if (interface != MM_MODEM_INTERFACE)
+    return;
   uint32 access_technology = MM_MODEM_GSM_ACCESS_TECH_UNKNOWN;
   if (DBusProperties::GetUint32(properties,
                                 kPropertyAccessTechnology,