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.h b/buffet/shill_client.h
index 06c1be5..2538674 100644
--- a/buffet/shill_client.h
+++ b/buffet/shill_client.h
@@ -22,11 +22,13 @@
namespace buffet {
+class ApManagerClient;
+
class ShillClient final : public weave::Network {
public:
ShillClient(const scoped_refptr<dbus::Bus>& bus,
const std::set<std::string>& device_whitelist);
- ~ShillClient() = default;
+ ~ShillClient();
void Init();
@@ -38,6 +40,8 @@
const base::Closure& on_success,
chromeos::ErrorPtr* error) override;
weave::NetworkState GetConnectionState() const override;
+ void EnableAccessPoint(const std::string& ssid) override;
+ void DisableAccessPoint() override;
private:
struct DeviceState {
@@ -105,6 +109,8 @@
std::map<dbus::ObjectPath, DeviceState> devices_;
weave::NetworkState connectivity_state_{weave::NetworkState::kOffline};
+ std::unique_ptr<ApManagerClient> ap_manager_client_;
+
base::WeakPtrFactory<ShillClient> weak_factory_{this};
DISALLOW_COPY_AND_ASSIGN(ShillClient);