shill: add Lucid Sleep DBus API to Manager and Device

Added skeleton implementation and documentation of Lucid Sleep DBus API.

Extended IPAddressStore to allow removal of IPAddresses and access to
the underlying set.

BUG=chromium:399137
TEST='emerge-squawks platform2' succeeds; unit tests

Change-Id: I5ab41dc17d0e95f2291b3d1dd4287dec9d31c9bc
Reviewed-on: https://chromium-review.googlesource.com/211510
Tested-by: Samuel Tan <samueltan@chromium.org>
Reviewed-by: Paul Stewart <pstew@chromium.org>
Commit-Queue: Samuel Tan <samueltan@chromium.org>
diff --git a/manager_dbus_adaptor.cc b/manager_dbus_adaptor.cc
index a8db870..2ca54f2 100644
--- a/manager_dbus_adaptor.cc
+++ b/manager_dbus_adaptor.cc
@@ -316,6 +316,30 @@
   return service->GetRpcIdentifier();
 }
 
+void ManagerDBusAdaptor::AddWakeOnPacketConnection(const string &ip_endpoints,
+                                                   ::DBus::Error &error) {
+  SLOG(DBus, 2) << __func__;
+  Error e;
+  manager_->AddWakeOnPacketConnection(ip_endpoints, &e);
+  e.ToDBusError(&error);
+}
+
+void ManagerDBusAdaptor::RemoveWakeOnPacketConnection(
+    const string &ip_endpoints, ::DBus::Error &error) {
+  SLOG(DBus, 2) << __func__;
+  Error e;
+  manager_->RemoveWakeOnPacketConnection(ip_endpoints, &e);
+  e.ToDBusError(&error);
+}
+
+void ManagerDBusAdaptor::RemoveAllWakeOnPacketConnections(
+    ::DBus::Error &error) {
+  SLOG(DBus, 2) << __func__;
+  Error e;
+  manager_->RemoveAllWakeOnPacketConnections(&e);
+  e.ToDBusError(&error);
+}
+
 int32_t ManagerDBusAdaptor::GetDebugLevel(::DBus::Error &/*error*/) {
   SLOG(DBus, 2) << __func__;
   return logging::GetMinLogLevel();