shill: Propagate activation errors to the Cellular service.

Also, use constants from service_constants instead of local string literals for
activate states and errors.

BUG=chromium-os:19305
TEST=unit tests

Change-Id: Ifeb4828b9103e31302d2e25492a6ad6bb00f661e
Reviewed-on: http://gerrit.chromium.org/gerrit/6245
Tested-by: Darin Petkov <petkov@chromium.org>
Reviewed-by: Chris Masone <cmasone@chromium.org>
diff --git a/cellular.h b/cellular.h
index 90b915e..a273d8a 100644
--- a/cellular.h
+++ b/cellular.h
@@ -40,7 +40,7 @@
     // possible to measure signal strength.
     kStateEnabled,
     // The modem has registered with a network and has signal quality
-    // measurements.
+    // measurements. A cellular service object is created.
     kStateRegistered,
     // The modem has connected to a network.
     kStateConnected,
@@ -142,8 +142,10 @@
 
  private:
   FRIEND_TEST(CellularTest, Activate);
+  FRIEND_TEST(CellularTest, ActivateError);
   FRIEND_TEST(CellularTest, Connect);
   FRIEND_TEST(CellularTest, GetCDMAActivationStateString);
+  FRIEND_TEST(CellularTest, GetCDMAActivationErrorString);
   FRIEND_TEST(CellularTest, GetCDMARegistrationState);
   FRIEND_TEST(CellularTest, GetCDMASignalQuality);
   FRIEND_TEST(CellularTest, GetModemInfo);
@@ -157,11 +159,6 @@
   FRIEND_TEST(CellularTest, StartLinked);
   FRIEND_TEST(CellularTest, StartRegister);
 
-  static const char kActivationStateActivated[];
-  static const char kActivationStateActivating[];
-  static const char kActivationStateNotActivated[];
-  static const char kActivationStatePartiallyActivated[];
-  static const char kActivationStateUnknown[];
   static const char kPhoneNumberCDMA[];
   static const char kPhoneNumberGSM[];
 
@@ -189,6 +186,7 @@
   static std::string GetStateString(State state);
 
   static std::string GetCDMAActivationStateString(uint32 state);
+  static std::string GetCDMAActivationErrorString(uint32 error);
 
   void EnableModem();
   void GetModemStatus();