Remove CommandDefinition class
In preparation for traits support, remove CommandDefinition class
and incorporate the missing functionality into CommandDictionary.
BUG: 25841719
Change-Id: Iead48aa0503e9de6061c4c1588b0b930dd82c8d0
Reviewed-on: https://weave-review.googlesource.com/1680
Reviewed-by: Alex Vakulenko <avakulenko@google.com>
diff --git a/src/commands/command_instance.cc b/src/commands/command_instance.cc
index 8328299..c6a9600 100644
--- a/src/commands/command_instance.cc
+++ b/src/commands/command_instance.cc
@@ -9,7 +9,6 @@
#include <weave/error.h>
#include <weave/export.h>
-#include "src/commands/command_definition.h"
#include "src/commands/command_dictionary.h"
#include "src/commands/command_queue.h"
#include "src/commands/schema_constants.h"
@@ -65,12 +64,8 @@
CommandInstance::CommandInstance(const std::string& name,
Command::Origin origin,
- const CommandDefinition* command_definition,
const base::DictionaryValue& parameters)
- : name_{name},
- origin_{origin},
- command_definition_{command_definition} {
- CHECK(command_definition_);
+ : name_{name}, origin_{origin} {
parameters_.MergeDictionary(¶meters);
}
@@ -148,14 +143,12 @@
namespace {
// Helper method to retrieve command parameters from the command definition
-// object passed in as |json| and corresponding command definition schema
-// specified in |command_def|.
+// object passed in as |json|.
// On success, returns |true| and the validated parameters and values through
// |parameters|. Otherwise returns |false| and additional error information in
// |error|.
std::unique_ptr<base::DictionaryValue> GetCommandParameters(
const base::DictionaryValue* json,
- const CommandDefinition* command_def,
ErrorPtr* error) {
// Get the command parameters from 'parameters' property.
std::unique_ptr<base::DictionaryValue> params;
@@ -221,7 +214,7 @@
return instance;
}
- auto parameters = GetCommandParameters(json, command_def, error);
+ auto parameters = GetCommandParameters(json, error);
if (!parameters) {
Error::AddToPrintf(error, FROM_HERE, errors::commands::kDomain,
errors::commands::kCommandFailed,
@@ -229,8 +222,7 @@
return instance;
}
- instance.reset(
- new CommandInstance{command_name, origin, command_def, *parameters});
+ instance.reset(new CommandInstance{command_name, origin, *parameters});
if (!command_id->empty())
instance->SetID(*command_id);