shill: Load values from the global profile into the manager

We persist parts of the manager's state to the global profile.
This CL allows it to load that state back in.

BUG=chromium-os:24991
TEST=New unit tests + manual (stop shill, change profile, restart shill,
make sure newly written out profile retains the change even if new
device entries have been written out)

Change-Id: I375d978be023d62d2a36d7239bc794be44dda593
Reviewed-on: https://gerrit.chromium.org/gerrit/14042
Reviewed-by: Thieu Le <thieule@chromium.org>
Reviewed-by: Gaurav Shah <gauravsh@chromium.org>
Commit-Ready: Paul Stewart <pstew@chromium.org>
Tested-by: Paul Stewart <pstew@chromium.org>
diff --git a/default_profile.h b/default_profile.h
index 04b1ae6..35fb5e4 100644
--- a/default_profile.h
+++ b/default_profile.h
@@ -30,6 +30,9 @@
                  const Manager::Properties &manager_props);
   virtual ~DefaultProfile();
 
+  // Loads global configuration into manager properties.
+  virtual bool LoadManagerProperties(Manager::Properties *manager_props);
+
   // Persists profile information, as well as that of discovered devices
   // and bound services, to disk.
   // Returns true on success, false on failure.
@@ -44,8 +47,10 @@
   virtual bool GetStoragePath(FilePath *path);
 
  private:
-  FRIEND_TEST(DefaultProfileTest, Save);
+  friend class DefaultProfileTest;
   FRIEND_TEST(DefaultProfileTest, GetStoragePath);
+  FRIEND_TEST(DefaultProfileTest, LoadManagerProperties);
+  FRIEND_TEST(DefaultProfileTest, Save);
 
   static const char kDefaultId[];
   static const char kStorageId[];