blob: 742245f2e249f9c0ce142519749cc6bbb40b20e6 [file] [log] [blame]
Vitaly Buka4615e0d2015-10-14 15:35:12 -07001// Copyright 2015 The Weave Authors. All rights reserved.
Alex Vakulenkoe439a0f2014-05-21 12:26:47 -07002// Use of this source code is governed by a BSD-style license that can be
3// found in the LICENSE file.
4
Vitaly Buka912b6982015-07-06 11:13:03 -07005#ifndef LIBWEAVE_SRC_COMMANDS_SCHEMA_CONSTANTS_H_
6#define LIBWEAVE_SRC_COMMANDS_SCHEMA_CONSTANTS_H_
Alex Vakulenkoe439a0f2014-05-21 12:26:47 -07007
Vitaly Bukab6f015a2015-07-09 14:59:23 -07008namespace weave {
Alex Vakulenkoe439a0f2014-05-21 12:26:47 -07009
10namespace errors {
Alex Vakulenko9ac962f2014-07-22 07:34:56 -070011namespace commands {
Alex Vakulenkoe439a0f2014-05-21 12:26:47 -070012// Error domain for command schema description.
13extern const char kDomain[];
14
15// Common command definition error codes.
16extern const char kOutOfRange[];
17extern const char kTypeMismatch[];
18extern const char kPropTypeChanged[];
19extern const char kUnknownType[];
20extern const char kInvalidPropDef[];
Alex Vakulenko66ec2922014-06-17 15:30:22 -070021extern const char kInvalidPropValue[];
Alex Vakulenkoe439a0f2014-05-21 12:26:47 -070022extern const char kNoTypeInfo[];
23extern const char kPropertyMissing[];
Alex Vakulenko66ec2922014-06-17 15:30:22 -070024extern const char kUnknownProperty[];
25extern const char kInvalidObjectSchema[];
Alex Vakulenko7c36b672014-07-16 14:50:58 -070026extern const char kDuplicateCommandDef[];
Alex Vakulenkofd448692014-07-22 07:46:53 -070027extern const char kInvalidCommandName[];
Alex Vakulenko8dc69af2014-08-07 10:29:42 -070028extern const char kCommandFailed[];
Alex Vakulenko5e86fee2015-04-17 08:47:45 -070029extern const char kInvalidCommandVisibility[];
Vitaly Buka6fed0532015-05-14 16:57:23 -070030extern const char kInvalidMinimalRole[];
Vitaly Bukac6029262015-10-07 09:29:13 -070031extern const char kCommandDestroyed[];
Vitaly Buka47a1f6f2015-10-07 18:09:57 -070032extern const char kInvalidState[];
Alex Vakulenko9ac962f2014-07-22 07:34:56 -070033} // namespace commands
Alex Vakulenkoe439a0f2014-05-21 12:26:47 -070034} // namespace errors
35
Alex Vakulenko9ac962f2014-07-22 07:34:56 -070036namespace commands {
Alex Vakulenkoe439a0f2014-05-21 12:26:47 -070037namespace attributes {
38// Command description JSON schema attributes.
39extern const char kType[];
40extern const char kDisplayName[];
Alex Vakulenko2a17a532015-02-24 14:51:13 -080041extern const char kDefault[];
Alex Vakulenko29e64442015-03-20 13:59:19 -070042extern const char kItems[];
Alex Vakulenko7e8df462015-07-07 10:59:20 -070043extern const char kIsRequired[];
Alex Vakulenkoe439a0f2014-05-21 12:26:47 -070044
45extern const char kNumeric_Min[];
46extern const char kNumeric_Max[];
47
48extern const char kString_MinLength[];
49extern const char kString_MaxLength[];
50
51extern const char kOneOf_Enum[];
Alex Vakulenko66ec2922014-06-17 15:30:22 -070052extern const char kOneOf_Metadata[];
Alex Vakulenko66ec2922014-06-17 15:30:22 -070053
54extern const char kObject_Properties[];
Alex Vakulenko45d255b2015-03-31 10:44:49 -070055extern const char kObject_AdditionalProperties[];
Alex Vakulenko7e8df462015-07-07 10:59:20 -070056extern const char kObject_Required[];
Alex Vakulenko7c36b672014-07-16 14:50:58 -070057
Anton Muhin5191e812014-10-30 17:49:48 +040058extern const char kCommand_Id[];
Alex Vakulenko8dc69af2014-08-07 10:29:42 -070059extern const char kCommand_Name[];
Alex Vakulenko7c36b672014-07-16 14:50:58 -070060extern const char kCommand_Parameters[];
Vitaly Bukab6b49e52015-05-01 10:53:06 -070061extern const char kCommand_Progress[];
Anton Muhin71fb9d52014-11-21 22:22:39 +040062extern const char kCommand_Results[];
Vitaly Buka906d39e2015-03-24 10:08:26 -070063extern const char kCommand_State[];
Vitaly Buka70f77d92015-10-07 15:42:40 -070064extern const char kCommand_Error[];
Vitaly Buka6fed0532015-05-14 16:57:23 -070065
66extern const char kCommand_Role[];
67extern const char kCommand_Role_Manager[];
68extern const char kCommand_Role_Owner[];
69extern const char kCommand_Role_User[];
70extern const char kCommand_Role_Viewer[];
71
Alex Vakulenko5e86fee2015-04-17 08:47:45 -070072extern const char kCommand_Visibility[];
73extern const char kCommand_Visibility_None[];
74extern const char kCommand_Visibility_Local[];
75extern const char kCommand_Visibility_Cloud[];
76extern const char kCommand_Visibility_All[];
Vitaly Buka6fed0532015-05-14 16:57:23 -070077
Alex Vakulenkoe439a0f2014-05-21 12:26:47 -070078} // namespace attributes
Alex Vakulenkoe439a0f2014-05-21 12:26:47 -070079} // namespace commands
Alex Vakulenko9ac962f2014-07-22 07:34:56 -070080
Vitaly Bukab6f015a2015-07-09 14:59:23 -070081} // namespace weave
Alex Vakulenkoe439a0f2014-05-21 12:26:47 -070082
Vitaly Buka912b6982015-07-06 11:13:03 -070083#endif // LIBWEAVE_SRC_COMMANDS_SCHEMA_CONSTANTS_H_