[shill] Add code for persisting profiles and services to disk.

BUG=chromium-os:17253
TEST=unit

Change-Id: Ic6dbbcb10543da3f4615cb305a77f6b9b301e8bc
Reviewed-on: http://gerrit.chromium.org/gerrit/7633
Reviewed-by: Darin Petkov <petkov@chromium.org>
Tested-by: Chris Masone <cmasone@chromium.org>
diff --git a/wifi_service.cc b/wifi_service.cc
index 4127b55..f581e7a 100644
--- a/wifi_service.cc
+++ b/wifi_service.cc
@@ -52,6 +52,10 @@
   store->RegisterConstString(flimflam::kWifiHexSsid, &hex_ssid_);
 
   hex_ssid_ = base::HexEncode(&(*ssid_.begin()), ssid_.size());
+  set_name(name() +
+           "_" +
+           string(reinterpret_cast<const char*>(ssid_.data()), ssid_.size()));
+
   // TODO(quiche): set based on security properties
   need_passphrase_ = false;
   // TODO(quiche): figure out when to set true
@@ -76,10 +80,10 @@
   // XXX remove from favorite networks list?
 }
 
-string WiFiService::GetStorageIdentifier(const std::string &mac) {
+string WiFiService::GetStorageIdentifier() {
   return StringToLowerASCII(base::StringPrintf("%s_%s_%s_%s_%s",
                                                flimflam::kTypeWifi,
-                                               mac.c_str(),
+                                               wifi_->address().c_str(),
                                                hex_ssid_.c_str(),
                                                mode_.c_str(),
                                                security_.c_str()));