shill:  Give Ethernet services an affinity to the default profile

When an ethernet service is created, save it to the default profile
by default.  This way, if static IP parameters are assigned to it,
it is shared globally instead of for only the logged-in.  This is
a reasonable default for services that are enabled by a physical
connection.  RPC callers are free to reassign the ethernet service
to a different profile, and this selection will be honored going
forwards.

BUG=chromium-os:23930
TEST=New unit tests; manual -- plug in ethernet while logged in and
ensure ethernet is added to the global profile.

Change-Id: I24e71bacc8c4bd015c2cdbb0039eb54d85dc5b65
Reviewed-on: https://gerrit.chromium.org/gerrit/21524
Reviewed-by: Paul Stewart <pstew@chromium.org>
Tested-by: Paul Stewart <pstew@chromium.org>
Commit-Ready: Paul Stewart <pstew@chromium.org>
diff --git a/default_profile.h b/default_profile.h
index 18f2f57..d28c312 100644
--- a/default_profile.h
+++ b/default_profile.h
@@ -36,6 +36,10 @@
   // Loads global configuration into manager properties.
   virtual bool LoadManagerProperties(Manager::Properties *manager_props);
 
+  // Override the Profile superclass implementation to accept all Ethernet
+  // services, since these should have an affinity for the default profile.
+  virtual bool ConfigureService(const ServiceRefPtr &service);
+
   // Persists profile information, as well as that of discovered devices
   // and bound services, to disk.
   // Returns true on success, false on failure.