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_;