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 {