buffet: Add command visibility option to command schema
Add the ability to specify command visibility by using 'visibility'
property in command definition JSON file.
This CL adds parsing code for command visibility as well as the storage
of the property inside CommandDefinition class. The actual usage of this
property will be implemented in subsequent CLs.
BUG=brillo:797
TEST=`FEATURES=test emerge-link buffet`
Change-Id: I3f9b49f8b57f6b63e7c4ae73d042e414c9b6b801
Reviewed-on: https://chromium-review.googlesource.com/266208
Trybot-Ready: Alex Vakulenko <avakulenko@chromium.org>
Tested-by: Alex Vakulenko <avakulenko@chromium.org>
Reviewed-by: Vitaly Buka <vitalybuka@chromium.org>
Commit-Queue: Vitaly Buka <vitalybuka@chromium.org>
diff --git a/buffet/commands/schema_constants.cc b/buffet/commands/schema_constants.cc
index cd06b32..2868a06 100644
--- a/buffet/commands/schema_constants.cc
+++ b/buffet/commands/schema_constants.cc
@@ -23,6 +23,7 @@
const char kDuplicateCommandDef[] = "duplicate_command_definition";
const char kInvalidCommandName[] = "invalid_command_name";
const char kCommandFailed[] = "command_failed";
+const char kInvalidCommandVisibility[] = "invalid_command_visibility";
} // namespace commands
} // namespace errors
@@ -51,6 +52,12 @@
const char kCommand_Results[] = "results";
const char kCommand_State[] = "state";
const char kCommand_Progress[] = "progress";
+
+const char kCommand_Visibility[] = "visibility";
+const char kCommand_Visibility_None[] = "none";
+const char kCommand_Visibility_Local[] = "local";
+const char kCommand_Visibility_Cloud[] = "cloud";
+const char kCommand_Visibility_All[] = "all";
} // namespace attributes
} // namespace commands