buffet: Move platform dependent part of PeerdClient out of libweave Peerd is brillo specific service. BUG=brillo:1267 TEST='FEATURES=test emerge-gizmo buffet' Change-Id: I666da7ba0ed6a6c55472fed8c5f5beb16b562619 Reviewed-on: https://chromium-review.googlesource.com/289914 Reviewed-by: Alex Vakulenko <avakulenko@chromium.org> Reviewed-by: Vitaly Buka <vitalybuka@chromium.org> Commit-Queue: Vitaly Buka <vitalybuka@chromium.org> Tested-by: Vitaly Buka <vitalybuka@chromium.org>
diff --git a/buffet/buffet.gyp b/buffet/buffet.gyp index a679314..3c59e0a 100644 --- a/buffet/buffet.gyp +++ b/buffet/buffet.gyp
@@ -32,6 +32,7 @@ 'dbus_conversion.cc', 'dbus_constants.cc', 'manager.cc', + 'peerd_client.cc', '../libweave/src/base_api_handler.cc', '../libweave/src/buffet_config.cc', '../libweave/src/commands/cloud_command_proxy.cc', @@ -60,7 +61,6 @@ '../libweave/src/privet/constants.cc', '../libweave/src/privet/device_delegate.cc', '../libweave/src/privet/openssl_utils.cc', - '../libweave/src/privet/peerd_client.cc', '../libweave/src/privet/privet_handler.cc', '../libweave/src/privet/privet_manager.cc', '../libweave/src/privet/privet_types.cc',
diff --git a/buffet/manager.cc b/buffet/manager.cc index 85c61c1..f6b27a3 100644 --- a/buffet/manager.cc +++ b/buffet/manager.cc
@@ -25,6 +25,7 @@ #include "buffet/dbus_command_dispatcher.h" #include "buffet/dbus_conversion.h" +#include "buffet/peerd_client.h" #include "weave/enum_to_string.h" using chromeos::dbus_utils::AsyncEventSequencer; @@ -54,8 +55,10 @@ void Manager::Start(const weave::Device::Options& options, AsyncEventSequencer* sequencer) { + peerd_client_.reset(new PeerdClient{dbus_object_.GetBus()}); + device_ = weave::Device::Create(); - device_->Start(options, &dbus_object_, sequencer); + device_->Start(options, peerd_client_.get(), &dbus_object_, sequencer); command_dispatcher_.reset(new DBusCommandDispacher{ dbus_object_.GetObjectManager(), device_->GetCommands()});
diff --git a/buffet/manager.h b/buffet/manager.h index 9dc84d8..e9fcad9 100644 --- a/buffet/manager.h +++ b/buffet/manager.h
@@ -30,6 +30,8 @@ namespace buffet { +class PeerdClient; + class DBusCommandDispacher; template<typename... Types> @@ -114,6 +116,7 @@ org::chromium::Buffet::ManagerAdaptor dbus_adaptor_{this}; chromeos::dbus_utils::DBusObject dbus_object_; + std::unique_ptr<PeerdClient> peerd_client_; std::unique_ptr<weave::Device> device_; std::unique_ptr<DBusCommandDispacher> command_dispatcher_;
diff --git a/libweave/src/privet/peerd_client.cc b/buffet/peerd_client.cc similarity index 96% rename from libweave/src/privet/peerd_client.cc rename to buffet/peerd_client.cc index 1ed7796..cfbf64a 100644 --- a/libweave/src/privet/peerd_client.cc +++ b/buffet/peerd_client.cc
@@ -2,7 +2,7 @@ // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. -#include "libweave/src/privet/peerd_client.h" +#include "buffet/peerd_client.h" #include <map> @@ -12,8 +12,7 @@ using org::chromium::peerd::PeerProxy; -namespace weave { -namespace privet { +namespace buffet { namespace { @@ -146,5 +145,4 @@ ExposeService(); } -} // namespace privet -} // namespace weave +} // namespace buffet
diff --git a/libweave/src/privet/peerd_client.h b/buffet/peerd_client.h similarity index 88% rename from libweave/src/privet/peerd_client.h rename to buffet/peerd_client.h index de90248..e24cd32 100644 --- a/libweave/src/privet/peerd_client.h +++ b/buffet/peerd_client.h
@@ -2,8 +2,8 @@ // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. -#ifndef LIBWEAVE_SRC_PRIVET_PEERD_CLIENT_H_ -#define LIBWEAVE_SRC_PRIVET_PEERD_CLIENT_H_ +#ifndef BUFFET_PRIVET_PEERD_CLIENT_H_ +#define BUFFET_PRIVET_PEERD_CLIENT_H_ #include <map> #include <memory> @@ -19,11 +19,10 @@ class Bus; } // namespace dbus -namespace weave { -namespace privet { +namespace buffet { // Publishes privet service on mDns using peerd. -class PeerdClient : public Mdns { +class PeerdClient : public weave::Mdns { public: explicit PeerdClient(const scoped_refptr<dbus::Bus>& bus); ~PeerdClient() override; @@ -67,7 +66,6 @@ DISALLOW_COPY_AND_ASSIGN(PeerdClient); }; -} // namespace privet -} // namespace weave +} // namespace buffet -#endif // LIBWEAVE_SRC_PRIVET_PEERD_CLIENT_H_ +#endif // BUFFET_PRIVET_PEERD_CLIENT_H_
diff --git a/libweave/include/weave/device.h b/libweave/include/weave/device.h index c642945..c730280 100644 --- a/libweave/include/weave/device.h +++ b/libweave/include/weave/device.h
@@ -15,6 +15,7 @@ #include "weave/cloud.h" #include "weave/commands.h" #include "weave/config.h" +#include "weave/mdns.h" #include "weave/privet.h" #include "weave/state.h" @@ -45,6 +46,7 @@ virtual ~Device() = default; virtual void Start(const Options& options, + Mdns* mdns, chromeos::dbus_utils::DBusObject* dbus_object, chromeos::dbus_utils::AsyncEventSequencer* sequencer) = 0;
diff --git a/libweave/src/device_manager.cc b/libweave/src/device_manager.cc index 75299b5..8cab8c3 100644 --- a/libweave/src/device_manager.cc +++ b/libweave/src/device_manager.cc
@@ -39,6 +39,7 @@ void DeviceManager::Start( const Options& options, + Mdns* mdns, chromeos::dbus_utils::DBusObject* dbus_object, chromeos::dbus_utils::AsyncEventSequencer* sequencer) { command_manager_ = std::make_shared<CommandManager>(); @@ -70,7 +71,7 @@ device_info_->Start(); if (!options.disable_privet) - StartPrivet(options, dbus_object, sequencer); + StartPrivet(options, mdns, dbus_object, sequencer); } Commands* DeviceManager::GetCommands() { @@ -95,12 +96,13 @@ void DeviceManager::StartPrivet( const Options& options, + Mdns* mdns, chromeos::dbus_utils::DBusObject* dbus_object, chromeos::dbus_utils::AsyncEventSequencer* sequencer) { privet_.reset(new privet::Manager{}); privet_->Start(options, dbus_object->GetBus(), shill_client_.get(), device_info_.get(), command_manager_.get(), - state_manager_.get(), sequencer); + state_manager_.get(), mdns, sequencer); privet_->AddOnWifiSetupChangedCallback( base::Bind(&DeviceManager::OnWiFiBootstrapStateChanged,
diff --git a/libweave/src/device_manager.h b/libweave/src/device_manager.h index 7faf586..68b7614 100644 --- a/libweave/src/device_manager.h +++ b/libweave/src/device_manager.h
@@ -35,6 +35,7 @@ ~DeviceManager() override; void Start(const Options& options, + Mdns* mdns, chromeos::dbus_utils::DBusObject* dbus_object, chromeos::dbus_utils::AsyncEventSequencer* sequencer) override; @@ -46,6 +47,7 @@ private: void StartPrivet(const Options& options, + Mdns* mdns, chromeos::dbus_utils::DBusObject* dbus_object, chromeos::dbus_utils::AsyncEventSequencer* sequencer);
diff --git a/libweave/src/privet/privet_manager.cc b/libweave/src/privet/privet_manager.cc index b65ba06..917bcea 100644 --- a/libweave/src/privet/privet_manager.cc +++ b/libweave/src/privet/privet_manager.cc
@@ -33,7 +33,6 @@ #include "libweave/src/privet/cloud_delegate.h" #include "libweave/src/privet/constants.h" #include "libweave/src/privet/device_delegate.h" -#include "libweave/src/privet/peerd_client.h" #include "libweave/src/privet/privet_handler.h" #include "libweave/src/privet/publisher.h" #include "libweave/src/privet/shill_client.h" @@ -67,6 +66,7 @@ DeviceRegistrationInfo* device, CommandManager* command_manager, StateManager* state_manager, + Mdns* mdns, AsyncEventSequencer* sequencer) { disable_security_ = options.disable_security; @@ -89,11 +89,8 @@ wifi_bootstrap_manager_->Init(); } - peerd_client_.reset(new PeerdClient(bus)); - publisher_.reset(new Publisher(device_.get(), cloud_.get(), - wifi_bootstrap_manager_.get(), - peerd_client_.get())); + wifi_bootstrap_manager_.get(), mdns)); privet_handler_.reset( new PrivetHandler(cloud_.get(), device_.get(), security_.get(),
diff --git a/libweave/src/privet/privet_manager.h b/libweave/src/privet/privet_manager.h index cb77b12..98ded7d 100644 --- a/libweave/src/privet/privet_manager.h +++ b/libweave/src/privet/privet_manager.h
@@ -44,7 +44,6 @@ class CloudDelegate; class DaemonState; class DeviceDelegate; -class PeerdClient; class PrivetHandler; class Publisher; class SecurityManager; @@ -61,6 +60,7 @@ DeviceRegistrationInfo* device, CommandManager* command_manager, StateManager* state_manager, + Mdns* mdns, chromeos::dbus_utils::AsyncEventSequencer* sequencer); std::string GetCurrentlyConnectedSsid() const; @@ -103,7 +103,6 @@ std::unique_ptr<SecurityManager> security_; std::unique_ptr<ApManagerClient> ap_manager_client_; std::unique_ptr<WifiBootstrapManager> wifi_bootstrap_manager_; - std::unique_ptr<PeerdClient> peerd_client_; std::unique_ptr<Publisher> publisher_; std::unique_ptr<PrivetHandler> privet_handler_; std::unique_ptr<libwebserv::Server> web_server_;