buffet: Move commands/dbus_* our of libweave
This code is owned by buffet now.
BUG=brillo:1245
TEST='FEATURES=test emerge-gizmo buffet'
Change-Id: I148336aba06a89167539fdd8d987080ec4cda82d
Reviewed-on: https://chromium-review.googlesource.com/287126
Commit-Queue: Vitaly Buka <vitalybuka@chromium.org>
Tested-by: Vitaly Buka <vitalybuka@chromium.org>
Reviewed-by: Vitaly Buka <vitalybuka@chromium.org>
diff --git a/buffet/buffet.gyp b/buffet/buffet.gyp
index d6fb0ad..8d22323 100644
--- a/buffet/buffet.gyp
+++ b/buffet/buffet.gyp
@@ -27,6 +27,9 @@
'sources': [
'dbus_bindings/org.chromium.Buffet.Command.xml',
'dbus_bindings/org.chromium.Buffet.Manager.xml',
+ 'dbus_command_dispatcher.cc',
+ 'dbus_command_proxy.cc',
+ 'dbus_conversion.cc',
'dbus_constants.cc',
'manager.cc',
'../libweave/src/base_api_handler.cc',
@@ -37,9 +40,6 @@
'../libweave/src/commands/command_instance.cc',
'../libweave/src/commands/command_manager.cc',
'../libweave/src/commands/command_queue.cc',
- '../libweave/src/commands/dbus_command_dispatcher.cc',
- '../libweave/src/commands/dbus_command_proxy.cc',
- '../libweave/src/commands/dbus_conversion.cc',
'../libweave/src/commands/object_schema.cc',
'../libweave/src/commands/prop_constraints.cc',
'../libweave/src/commands/prop_types.cc',
@@ -184,6 +184,8 @@
},
'includes': ['../common-mk/common_test.gypi'],
'sources': [
+ 'dbus_command_proxy_unittest.cc',
+ 'dbus_conversion_unittest.cc',
'../libweave/src/base_api_handler_unittest.cc',
'../libweave/src/buffet_config_unittest.cc',
'../libweave/src/buffet_testrunner.cc',
@@ -193,8 +195,6 @@
'../libweave/src/commands/command_instance_unittest.cc',
'../libweave/src/commands/command_manager_unittest.cc',
'../libweave/src/commands/command_queue_unittest.cc',
- '../libweave/src/commands/dbus_command_proxy_unittest.cc',
- '../libweave/src/commands/dbus_conversion_unittest.cc',
'../libweave/src/commands/mock_command.cc',
'../libweave/src/commands/object_schema_unittest.cc',
'../libweave/src/commands/schema_utils_unittest.cc',
diff --git a/libweave/src/commands/dbus_command_dispatcher.cc b/buffet/dbus_command_dispatcher.cc
similarity index 80%
rename from libweave/src/commands/dbus_command_dispatcher.cc
rename to buffet/dbus_command_dispatcher.cc
index e11dbc3..39e106b 100644
--- a/libweave/src/commands/dbus_command_dispatcher.cc
+++ b/buffet/dbus_command_dispatcher.cc
@@ -2,28 +2,28 @@
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
-#include "libweave/src/commands/dbus_command_dispatcher.h"
+#include "buffet/dbus_command_dispatcher.h"
#include <chromeos/dbus/exported_object_manager.h>
+#include "buffet/dbus_command_proxy.h"
#include "buffet/dbus_constants.h"
-#include "libweave/src/commands/dbus_command_proxy.h"
#include "weave/command.h"
using chromeos::dbus_utils::AsyncEventSequencer;
using chromeos::dbus_utils::ExportedObjectManager;
-namespace weave {
+namespace buffet {
DBusCommandDispacher::DBusCommandDispacher(
const base::WeakPtr<ExportedObjectManager>& object_manager,
- Commands* command_manager)
+ weave::Commands* command_manager)
: object_manager_{object_manager} {
command_manager->AddOnCommandAddedCallback(base::Bind(
&DBusCommandDispacher::OnCommandAdded, weak_ptr_factory_.GetWeakPtr()));
}
-void DBusCommandDispacher::OnCommandAdded(Command* command) {
+void DBusCommandDispacher::OnCommandAdded(weave::Command* command) {
if (!object_manager_)
return;
std::unique_ptr<DBusCommandProxy> proxy{new DBusCommandProxy(
@@ -33,4 +33,4 @@
command->AddObserver(proxy.release());
}
-} // namespace weave
+} // namespace buffet
diff --git a/libweave/src/commands/dbus_command_dispatcher.h b/buffet/dbus_command_dispatcher.h
similarity index 81%
rename from libweave/src/commands/dbus_command_dispatcher.h
rename to buffet/dbus_command_dispatcher.h
index e3c10ae..ae8e499 100644
--- a/libweave/src/commands/dbus_command_dispatcher.h
+++ b/buffet/dbus_command_dispatcher.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_COMMANDS_DBUS_COMMAND_DISPATCHER_H_
-#define LIBWEAVE_SRC_COMMANDS_DBUS_COMMAND_DISPATCHER_H_
+#ifndef BUFFET_DBUS_COMMAND_DISPATCHER_H_
+#define BUFFET_DBUS_COMMAND_DISPATCHER_H_
#include <map>
#include <string>
@@ -19,9 +19,7 @@
} // namespace dbus_utils
} // namespace chromeos
-namespace weave {
-
-class CommandInstance;
+namespace buffet {
// Implements D-Bus dispatch of commands. When OnCommandAdded is called,
// DBusCommandDispacher creates an instance of DBusCommandProxy object and
@@ -35,10 +33,10 @@
explicit DBusCommandDispacher(
const base::WeakPtr<chromeos::dbus_utils::ExportedObjectManager>&
object_manager,
- Commands* command_manager);
+ weave::Commands* command_manager);
private:
- void OnCommandAdded(Command* command);
+ void OnCommandAdded(weave::Command* command);
base::WeakPtr<chromeos::dbus_utils::ExportedObjectManager> object_manager_;
int next_id_{0};
@@ -51,6 +49,6 @@
DISALLOW_COPY_AND_ASSIGN(DBusCommandDispacher);
};
-} // namespace weave
+} // namespace buffet
-#endif // LIBWEAVE_SRC_COMMANDS_DBUS_COMMAND_DISPATCHER_H_
+#endif // BUFFET_DBUS_COMMAND_DISPATCHER_H_
diff --git a/libweave/src/commands/dbus_command_proxy.cc b/buffet/dbus_command_proxy.cc
similarity index 93%
rename from libweave/src/commands/dbus_command_proxy.cc
rename to buffet/dbus_command_proxy.cc
index 1ad5d59..d53355a 100644
--- a/libweave/src/commands/dbus_command_proxy.cc
+++ b/buffet/dbus_command_proxy.cc
@@ -2,22 +2,22 @@
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
-#include "libweave/src/commands/dbus_command_proxy.h"
+#include "buffet/dbus_command_proxy.h"
#include <chromeos/dbus/async_event_sequencer.h>
#include <chromeos/dbus/exported_object_manager.h>
-#include "libweave/src/commands/dbus_conversion.h"
+#include "buffet/dbus_conversion.h"
#include "weave/enum_to_string.h"
using chromeos::dbus_utils::AsyncEventSequencer;
using chromeos::dbus_utils::ExportedObjectManager;
-namespace weave {
+namespace buffet {
DBusCommandProxy::DBusCommandProxy(ExportedObjectManager* object_manager,
const scoped_refptr<dbus::Bus>& bus,
- Command* command,
+ weave::Command* command,
std::string object_path)
: command_{command},
dbus_object_{object_manager, bus, dbus::ObjectPath{object_path}} {}
@@ -100,4 +100,4 @@
command_->Done();
}
-} // namespace weave
+} // namespace buffet
diff --git a/libweave/src/commands/dbus_command_proxy.h b/buffet/dbus_command_proxy.h
similarity index 85%
rename from libweave/src/commands/dbus_command_proxy.h
rename to buffet/dbus_command_proxy.h
index 66ae17b..86d9c6e 100644
--- a/libweave/src/commands/dbus_command_proxy.h
+++ b/buffet/dbus_command_proxy.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_COMMANDS_DBUS_COMMAND_PROXY_H_
-#define LIBWEAVE_SRC_COMMANDS_DBUS_COMMAND_PROXY_H_
+#ifndef BUFFET_DBUS_COMMAND_PROXY_H_
+#define BUFFET_DBUS_COMMAND_PROXY_H_
#include <string>
@@ -20,16 +20,14 @@
} // namespace dbus_utils
} // namespace chromeos
-namespace weave {
+namespace buffet {
-class CommandInstance;
-
-class DBusCommandProxy : public Command::Observer,
+class DBusCommandProxy : public weave::Command::Observer,
public org::chromium::Buffet::CommandInterface {
public:
DBusCommandProxy(chromeos::dbus_utils::ExportedObjectManager* object_manager,
const scoped_refptr<dbus::Bus>& bus,
- Command* command,
+ weave::Command* command,
std::string object_path);
~DBusCommandProxy() override = default;
@@ -57,7 +55,7 @@
// Handles calls to org.chromium.Buffet.Command.Done().
void Done() override;
- Command* command_;
+ weave::Command* command_;
org::chromium::Buffet::CommandAdaptor dbus_adaptor_{this};
chromeos::dbus_utils::DBusObject dbus_object_;
@@ -66,6 +64,6 @@
DISALLOW_COPY_AND_ASSIGN(DBusCommandProxy);
};
-} // namespace weave
+} // namespace buffet
-#endif // LIBWEAVE_SRC_COMMANDS_DBUS_COMMAND_PROXY_H_
+#endif // BUFFET_DBUS_COMMAND_PROXY_H_
diff --git a/libweave/src/commands/dbus_command_proxy_unittest.cc b/buffet/dbus_command_proxy_unittest.cc
similarity index 89%
rename from libweave/src/commands/dbus_command_proxy_unittest.cc
rename to buffet/dbus_command_proxy_unittest.cc
index 9d26892..93f5d01 100644
--- a/libweave/src/commands/dbus_command_proxy_unittest.cc
+++ b/buffet/dbus_command_proxy_unittest.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/commands/dbus_command_proxy.h"
+#include "buffet/dbus_command_proxy.h"
#include <functional>
#include <memory>
@@ -16,14 +16,13 @@
#include <gtest/gtest.h>
#include "buffet/dbus_constants.h"
-#include "libweave/src/commands/unittest_utils.h"
#include "weave/command.h"
-
#include "weave/enum_to_string.h"
#include "weave/mock_command.h"
#include "weave/mock_commands.h"
+#include "weave/unittest_utils.h"
-namespace weave {
+namespace buffet {
using ::testing::AnyNumber;
using ::testing::Return;
@@ -32,7 +31,8 @@
using chromeos::VariantDictionary;
using chromeos::dbus_utils::AsyncEventSequencer;
-using unittests::CreateDictionaryValue;
+using weave::unittests::CreateDictionaryValue;
+using weave::unittests::IsEqualValue;
namespace {
@@ -41,7 +41,7 @@
MATCHER_P(EqualToJson, json, "") {
auto json_value = CreateDictionaryValue(json);
- return unittests::IsEqualValue(*json_value, arg);
+ return IsEqualValue(*json_value, arg);
}
} // namespace
@@ -64,8 +64,10 @@
.WillRepeatedly(ReturnRefOfCopy<std::string>("robot.jump"));
EXPECT_CALL(command_, GetCategory())
.WillOnce(ReturnRefOfCopy<std::string>(kTestCommandCategoty));
- EXPECT_CALL(command_, GetStatus()).WillOnce(Return(CommandStatus::kQueued));
- EXPECT_CALL(command_, GetOrigin()).WillOnce(Return(CommandOrigin::kLocal));
+ EXPECT_CALL(command_, GetStatus())
+ .WillOnce(Return(weave::CommandStatus::kQueued));
+ EXPECT_CALL(command_, GetOrigin())
+ .WillOnce(Return(weave::CommandOrigin::kLocal));
EXPECT_CALL(command_, MockGetParameters())
.WillOnce(ReturnRefOfCopy<std::string>(R"({
'height': 53,
@@ -110,8 +112,8 @@
return GetCommandProxy();
}
- CommandStatus GetCommandStatus() const {
- CommandStatus status;
+ weave::CommandStatus GetCommandStatus() const {
+ weave::CommandStatus status;
EXPECT_TRUE(StringToEnum(GetCommandAdaptor()->GetStatus(), &status));
return status;
}
@@ -119,7 +121,7 @@
scoped_refptr<dbus::MockExportedObject> mock_exported_object_command_;
scoped_refptr<dbus::MockBus> bus_;
- unittests::MockCommand command_;
+ weave::unittests::MockCommand command_;
std::unique_ptr<DBusCommandProxy> proxy_;
};
@@ -127,7 +129,7 @@
VariantDictionary params = {
{"height", int32_t{53}}, {"_jumpType", std::string{"_withKick"}},
};
- EXPECT_EQ(CommandStatus::kQueued, GetCommandStatus());
+ EXPECT_EQ(weave::CommandStatus::kQueued, GetCommandStatus());
EXPECT_EQ(params, GetCommandAdaptor()->GetParameters());
EXPECT_EQ(VariantDictionary{}, GetCommandAdaptor()->GetProgress());
EXPECT_EQ(VariantDictionary{}, GetCommandAdaptor()->GetResults());
@@ -161,9 +163,9 @@
TEST_F(DBusCommandProxyTest, OnStatusChanged) {
EXPECT_CALL(*mock_exported_object_command_, SendSignal(_)).Times(1);
EXPECT_CALL(command_, GetStatus())
- .WillOnce(Return(CommandStatus::kInProgress));
+ .WillOnce(Return(weave::CommandStatus::kInProgress));
proxy_->OnStatusChanged();
- EXPECT_EQ(CommandStatus::kInProgress, GetCommandStatus());
+ EXPECT_EQ(weave::CommandStatus::kInProgress, GetCommandStatus());
}
TEST_F(DBusCommandProxyTest, SetProgress) {
@@ -201,4 +203,4 @@
GetCommandInterface()->Done();
}
-} // namespace weave
+} // namespace buffet
diff --git a/libweave/src/commands/dbus_conversion.cc b/buffet/dbus_conversion.cc
similarity index 95%
rename from libweave/src/commands/dbus_conversion.cc
rename to buffet/dbus_conversion.cc
index d634081..51d35f1 100644
--- a/libweave/src/commands/dbus_conversion.cc
+++ b/buffet/dbus_conversion.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/commands/dbus_conversion.h"
+#include "buffet/dbus_conversion.h"
#include <set>
#include <string>
@@ -10,11 +10,7 @@
#include <chromeos/type_name_undecorate.h>
-#include "libweave/src/commands/object_schema.h"
-#include "libweave/src/commands/prop_types.h"
-#include "libweave/src/commands/prop_values.h"
-
-namespace weave {
+namespace buffet {
namespace {
@@ -213,8 +209,7 @@
return result;
chromeos::Error::AddToPrintf(
- error, FROM_HERE, errors::commands::kDomain,
- errors::commands::kUnknownType, "Type '%s' is not supported.",
+ error, FROM_HERE, "buffet", "unknown_type", "Type '%s' is not supported.",
chromeos::UndecorateTypeName(any.GetType().name()).c_str());
return nullptr;
@@ -248,4 +243,4 @@
return result;
}
-} // namespace weave
+} // namespace buffet
diff --git a/libweave/src/commands/dbus_conversion.h b/buffet/dbus_conversion.h
similarity index 73%
rename from libweave/src/commands/dbus_conversion.h
rename to buffet/dbus_conversion.h
index 6464cb0..20c3f58 100644
--- a/libweave/src/commands/dbus_conversion.h
+++ b/buffet/dbus_conversion.h
@@ -2,17 +2,15 @@
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
-#ifndef LIBWEAVE_SRC_COMMANDS_DBUS_CONVERSION_H_
-#define LIBWEAVE_SRC_COMMANDS_DBUS_CONVERSION_H_
+#ifndef BUFFET_DBUS_CONVERSION_H_
+#define BUFFET_DBUS_CONVERSION_H_
#include <base/values.h>
#include <chromeos/any.h>
#include <chromeos/errors/error.h>
#include <chromeos/variant_dictionary.h>
-#include "libweave/src/commands/schema_utils.h"
-
-namespace weave {
+namespace buffet {
// Converts DictionaryValue to D-Bus variant dictionary.
chromeos::VariantDictionary DictionaryToDBusVariantDictionary(
@@ -23,6 +21,6 @@
const chromeos::VariantDictionary& object,
chromeos::ErrorPtr* error);
-} // namespace weave
+} // namespace buffet
-#endif // LIBWEAVE_SRC_COMMANDS_DBUS_CONVERSION_H_
+#endif // BUFFET_DBUS_CONVERSION_H_
diff --git a/libweave/src/commands/dbus_conversion_unittest.cc b/buffet/dbus_conversion_unittest.cc
similarity index 95%
rename from libweave/src/commands/dbus_conversion_unittest.cc
rename to buffet/dbus_conversion_unittest.cc
index 28c423a..7a00c35 100644
--- a/libweave/src/commands/dbus_conversion_unittest.cc
+++ b/buffet/dbus_conversion_unittest.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/commands/dbus_conversion.h"
+#include "buffet/dbus_conversion.h"
#include <limits>
#include <memory>
@@ -15,16 +15,16 @@
#include <chromeos/variant_dictionary.h>
#include <gtest/gtest.h>
-#include "libweave/src/commands/object_schema.h"
-#include "libweave/src/commands/unittest_utils.h"
+#include "weave/unittest_utils.h"
-namespace weave {
+namespace buffet {
namespace {
using chromeos::Any;
using chromeos::VariantDictionary;
-using unittests::CreateDictionaryValue;
+using weave::unittests::CreateDictionaryValue;
+using weave::unittests::IsEqualValue;
chromeos::VariantDictionary ToDBus(const base::DictionaryValue& object) {
return DictionaryToDBusVariantDictionary(object);
@@ -182,7 +182,7 @@
auto dict = CreateRandomDictionary(10000);
auto varian_dict = ToDBus(*dict);
auto dict_restored = FromDBus(varian_dict);
- EXPECT_PRED2(unittests::IsEqualValue, *dict, *dict_restored);
+ EXPECT_PRED2(IsEqualValue, *dict, *dict_restored);
}
-} // namespace weave
+} // namespace buffet
diff --git a/buffet/manager.cc b/buffet/manager.cc
index 0b64d5b..85c61c1 100644
--- a/buffet/manager.cc
+++ b/buffet/manager.cc
@@ -23,9 +23,8 @@
#include <dbus/object_path.h>
#include <dbus/values_util.h>
-// TODO(vitalybuka): Will be moved into buffet soon.
-#include "libweave/src/commands/dbus_command_dispatcher.h"
-#include "libweave/src/commands/dbus_conversion.h"
+#include "buffet/dbus_command_dispatcher.h"
+#include "buffet/dbus_conversion.h"
#include "weave/enum_to_string.h"
using chromeos::dbus_utils::AsyncEventSequencer;
@@ -58,7 +57,7 @@
device_ = weave::Device::Create();
device_->Start(options, &dbus_object_, sequencer);
- command_dispatcher_.reset(new weave::DBusCommandDispacher{
+ command_dispatcher_.reset(new DBusCommandDispacher{
dbus_object_.GetObjectManager(), device_->GetCommands()});
device_->GetState()->AddOnChangedCallback(
@@ -143,8 +142,7 @@
void Manager::UpdateState(DBusMethodResponsePtr<> response,
const chromeos::VariantDictionary& property_set) {
chromeos::ErrorPtr error;
- auto properties =
- weave::DictionaryFromDBusVariantDictionary(property_set, &error);
+ auto properties = DictionaryFromDBusVariantDictionary(property_set, &error);
if (!properties)
response->ReplyWithError(error.get());
diff --git a/buffet/manager.h b/buffet/manager.h
index ef433e2..9dc84d8 100644
--- a/buffet/manager.h
+++ b/buffet/manager.h
@@ -22,10 +22,6 @@
#include "buffet/org.chromium.Buffet.Manager.h"
#include "weave/device.h"
-namespace weave {
-class DBusCommandDispacher;
-}
-
namespace chromeos {
namespace dbus_utils {
class ExportedObjectManager;
@@ -34,6 +30,8 @@
namespace buffet {
+class DBusCommandDispacher;
+
template<typename... Types>
using DBusMethodResponsePtr =
std::unique_ptr<chromeos::dbus_utils::DBusMethodResponse<Types...>>;
@@ -117,7 +115,7 @@
chromeos::dbus_utils::DBusObject dbus_object_;
std::unique_ptr<weave::Device> device_;
- std::unique_ptr<weave::DBusCommandDispacher> command_dispatcher_;
+ std::unique_ptr<DBusCommandDispacher> command_dispatcher_;
base::WeakPtrFactory<Manager> weak_ptr_factory_{this};
DISALLOW_COPY_AND_ASSIGN(Manager);
diff --git a/libweave/src/commands/unittest_utils.cc b/libweave/src/commands/unittest_utils.cc
index 18a7108..0b9c2e3 100644
--- a/libweave/src/commands/unittest_utils.cc
+++ b/libweave/src/commands/unittest_utils.cc
@@ -5,7 +5,6 @@
#include "libweave/src/commands/unittest_utils.h"
#include <base/json/json_reader.h>
-#include <base/json/json_writer.h>
namespace weave {
namespace unittests {