buffet: Move  ApManagerClient out of libweave

libweave will rely on implementation provided by interface
weave::Network.

BUG=brillo:1247
TEST='FEATURES=test emerge-gizmo buffet'

Change-Id: I36b8d8af21d461d53815c214f18586cd3afcce5c
Reviewed-on: https://chromium-review.googlesource.com/290101
Reviewed-by: Vitaly Buka <vitalybuka@chromium.org>
Commit-Queue: Vitaly Buka <vitalybuka@chromium.org>
Trybot-Ready: Vitaly Buka <vitalybuka@chromium.org>
Tested-by: Vitaly Buka <vitalybuka@chromium.org>
diff --git a/buffet/shill_client.cc b/buffet/shill_client.cc
index 1efc52d..9db5e85 100644
--- a/buffet/shill_client.cc
+++ b/buffet/shill_client.cc
@@ -13,6 +13,7 @@
 #include <chromeos/errors/error.h>
 #include <chromeos/errors/error_codes.h>
 
+#include "buffet/ap_manager_client.h"
 #include "weave/enum_to_string.h"
 
 using chromeos::Any;
@@ -85,7 +86,8 @@
                          const set<string>& device_whitelist)
     : bus_{bus},
       manager_proxy_{bus_, ObjectPath{"/"}},
-      device_whitelist_{device_whitelist} {
+      device_whitelist_{device_whitelist},
+      ap_manager_client_{new ApManagerClient(bus)} {
   manager_proxy_.RegisterPropertyChangedSignalHandler(
       base::Bind(&ShillClient::OnManagerPropertyChange,
                  weak_factory_.GetWeakPtr()),
@@ -97,6 +99,8 @@
       ->SetNameOwnerChangedCallback(owner_changed_cb);
 }
 
+ShillClient::~ShillClient() {}
+
 void ShillClient::Init() {
   VLOG(2) << "ShillClient::Init();";
   CleanupConnectingService(false);
@@ -148,6 +152,14 @@
   return connectivity_state_;
 }
 
+void ShillClient::EnableAccessPoint(const std::string& ssid) {
+  ap_manager_client_->Start(ssid);
+}
+
+void ShillClient::DisableAccessPoint() {
+  ap_manager_client_->Stop();
+}
+
 void ShillClient::AddOnConnectionChangedCallback(
     const OnConnectionChangedCallback& listener) {
   connectivity_listeners_.push_back(listener);