buffet: Remove SetCommandVisibility and CommandDefs from dbus interface

These method and property are not used yet.
Removing can simplify refactoring.

BUG=brillo:1242
TEST='FEATURES=test emerge-gizmo buffet'

Change-Id: I58f1b6caec31c68e39a08fbf73473e2403816e8a
Reviewed-on: https://chromium-review.googlesource.com/286720
Reviewed-by: Alex Vakulenko <avakulenko@chromium.org>
Tested-by: Vitaly Buka <vitalybuka@chromium.org>
Trybot-Ready: Vitaly Buka <vitalybuka@chromium.org>
Commit-Queue: Vitaly Buka <vitalybuka@chromium.org>
diff --git a/buffet/buffet_client.cc b/buffet/buffet_client.cc
index 8c9e075..cf9928f 100644
--- a/buffet/buffet_client.cc
+++ b/buffet/buffet_client.cc
@@ -229,12 +229,6 @@
           base::Bind(&Daemon::CallGetPendingCommands,
                      weak_factory_.GetWeakPtr()),
           base::TimeDelta::FromMilliseconds(100));
-    } else if (command.compare("SetCommandVisibility") == 0 ||
-               command.compare("cv") == 0) {
-      if (!CheckArgs(command, args, 2))
-        return EX_USAGE;
-      job = base::Bind(&Daemon::CallSetCommandVisibility,
-                       weak_factory_.GetWeakPtr(), args.front(), args.back());
     } else {
       fprintf(stderr, "Unknown command: '%s'\n", command.c_str());
       return EX_USAGE;
@@ -382,18 +376,6 @@
     OnJobComplete();
   }
 
-  void CallSetCommandVisibility(const std::string& command_list,
-                                const std::string& visibility,
-                                ManagerProxy* manager_proxy) {
-    ErrorPtr error;
-    std::vector<std::string> commands =
-        chromeos::string_utils::Split(command_list, ",", true, true);
-    if (!manager_proxy->SetCommandVisibility(commands, visibility, &error)) {
-      return ReportError(error.get());
-    }
-    OnJobComplete();
-  }
-
   std::unique_ptr<org::chromium::Buffet::ObjectManagerProxy> object_manager_;
   int exit_code_{EX_OK};
   base::CancelableCallback<void()> timeout_task_;
diff --git a/buffet/dbus_bindings/org.chromium.Buffet.Manager.xml b/buffet/dbus_bindings/org.chromium.Buffet.Manager.xml
index 67028b5..56370fa 100644
--- a/buffet/dbus_bindings/org.chromium.Buffet.Manager.xml
+++ b/buffet/dbus_bindings/org.chromium.Buffet.Manager.xml
@@ -54,23 +54,6 @@
       <arg name="json_command" type="s" direction="out"/>
       <annotation name="org.chromium.DBus.Method.Kind" value="async"/>
     </method>
-    <method name="SetCommandVisibility">
-      <tp:docstring>
-        Changes the visibility of command definition.
-        Parameters:
-          names       - a list of the full names of commands to update
-                        (each command name should look like 'base.identify').
-          visibility  - the new visibility state of the command:
-                        "none"  - Command is hidden/unavailable.
-                        "local" - Command is available to local clients only.
-                        "cloud" - Command is available to cloud clients only.
-                        "all"   - Command is available to both local and cloud
-                                  clients.
-      </tp:docstring>
-      <arg name="names" type="as" direction="in"/>
-      <arg name="visibility" type="s" direction="in"/>
-      <annotation name="org.chromium.DBus.Method.Kind" value="async"/>
-    </method>
     <method name="TestMethod">
       <arg name="message" type="s" direction="in"/>
       <arg name="echoed_message" type="s" direction="out"/>
@@ -131,11 +114,6 @@
         GCD ID if the device is registered or empty otherwise.
       </tp:docstring>
     </property>
-    <property name="CommandDefs" type="s" access="read">
-      <tp:docstring>
-        JSON with command definitions of the devices.
-      </tp:docstring>
-    </property>
     <property name="State" type="s" access="read">
       <tp:docstring>
         JSON with state of the devices.
diff --git a/buffet/manager.cc b/buffet/manager.cc
index 9fa54cd..dd1ba79 100644
--- a/buffet/manager.cc
+++ b/buffet/manager.cc
@@ -55,9 +55,6 @@
   device_ = weave::Device::Create();
   device_->Start(options, &dbus_object_, sequencer);
 
-  device_->GetCommands()->AddOnCommandDefChanged(base::Bind(
-      &Manager::OnCommandDefsChanged, weak_ptr_factory_.GetWeakPtr()));
-
   device_->GetState()->AddOnChangedCallback(
       base::Bind(&Manager::OnStateChanged, weak_ptr_factory_.GetWeakPtr()));
 
@@ -201,23 +198,6 @@
   response->Return(command_str);
 }
 
-void Manager::SetCommandVisibility(DBusMethodResponsePtr<> response,
-                                   const std::vector<std::string>& in_names,
-                                   const std::string& in_visibility) {
-  weave::CommandDefinition::Visibility visibility;
-  chromeos::ErrorPtr error;
-  if (!visibility.FromString(in_visibility, &error)) {
-    response->ReplyWithError(error.get());
-    return;
-  }
-  if (!device_->GetCommands()->SetCommandVisibility(in_names, visibility,
-                                                    &error)) {
-    response->ReplyWithError(error.get());
-    return;
-  }
-  response->Return();
-}
-
 std::string Manager::TestMethod(const std::string& message) {
   LOG(INFO) << "Received call to test method: " << message;
   return message;
@@ -271,21 +251,6 @@
       client_id, client_secret, api_key, oauth_url, service_url, error);
 }
 
-void Manager::OnCommandDefsChanged() {
-  // Limit only to commands that are visible to the local clients.
-  auto commands =
-      device_->GetCommands()->GetCommandDictionary().GetCommandsAsJson(
-          [](const weave::CommandDefinition* def) {
-            return def->GetVisibility().local;
-          },
-          true, nullptr);
-  CHECK(commands);
-  std::string json;
-  base::JSONWriter::WriteWithOptions(
-      *commands, base::JSONWriter::OPTIONS_PRETTY_PRINT, &json);
-  dbus_adaptor_.SetCommandDefs(json);
-}
-
 void Manager::OnStateChanged() {
   auto state = device_->GetState()->GetStateValuesAsJson(nullptr);
   CHECK(state);
diff --git a/buffet/manager.h b/buffet/manager.h
index af01a80..feb6b9d 100644
--- a/buffet/manager.h
+++ b/buffet/manager.h
@@ -78,9 +78,6 @@
                   const std::string& in_user_role) override;
   void GetCommand(DBusMethodResponsePtr<std::string> response,
                   const std::string& id) override;
-  void SetCommandVisibility(DBusMethodResponsePtr<> response,
-                            const std::vector<std::string>& in_names,
-                            const std::string& in_visibility) override;
   std::string TestMethod(const std::string& message) override;
   bool EnableWiFiBootstrapping(
       chromeos::ErrorPtr* error,
@@ -103,7 +100,6 @@
   void StartPrivet(const weave::Device::Options& options,
                    chromeos::dbus_utils::AsyncEventSequencer* sequencer);
 
-  void OnCommandDefsChanged();
   void OnStateChanged();
   void OnRegistrationChanged(weave::RegistrationStatus status);
   void OnConfigChanged(const weave::BuffetConfig& config);