shill: vpn: Implement VPNService::GetStorageIdentifier.

BUG=chromium-os:26988
TEST=unit tests

Change-Id: I7b1708b9208c4222240cfe2be64bca0e84037290
Reviewed-on: https://gerrit.chromium.org/gerrit/17827
Tested-by: Darin Petkov <petkov@chromium.org>
Reviewed-by: Paul Stewart <pstew@chromium.org>
Commit-Ready: Darin Petkov <petkov@chromium.org>
diff --git a/vpn_provider.cc b/vpn_provider.cc
index 2a9bd96..be3c466 100644
--- a/vpn_provider.cc
+++ b/vpn_provider.cc
@@ -41,6 +41,11 @@
     return NULL;
   }
 
+  string storage_id = VPNService::CreateStorageIdentifier(args, error);
+  if (storage_id.empty()) {
+    return NULL;
+  }
+
   const string &type = args.GetString(flimflam::kProviderTypeProperty);
   scoped_ptr<VPNDriver> driver;
   if (type == flimflam::kProviderOpenVpn) {
@@ -55,6 +60,7 @@
 
   VPNServiceRefPtr service = new VPNService(
       control_interface_, dispatcher_, metrics_, manager_, driver.release());
+  service->set_storage_id(storage_id);
   services_.push_back(service);
   manager_->RegisterService(service);
   return service;