blob: ea59f1728daa6bf00c397dcb55ed3a1094d01107 [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[];
Vitaly Buka6fed0532015-05-14 16:57:23 -070029extern const char kInvalidMinimalRole[];
Vitaly Bukac6029262015-10-07 09:29:13 -070030extern const char kCommandDestroyed[];
Vitaly Buka47a1f6f2015-10-07 18:09:57 -070031extern const char kInvalidState[];
Alex Vakulenko9ac962f2014-07-22 07:34:56 -070032} // namespace commands
Alex Vakulenkoe439a0f2014-05-21 12:26:47 -070033} // namespace errors
34
Alex Vakulenko9ac962f2014-07-22 07:34:56 -070035namespace commands {
Alex Vakulenkoe439a0f2014-05-21 12:26:47 -070036namespace attributes {
37// Command description JSON schema attributes.
38extern const char kType[];
39extern const char kDisplayName[];
Alex Vakulenko2a17a532015-02-24 14:51:13 -080040extern const char kDefault[];
Alex Vakulenko29e64442015-03-20 13:59:19 -070041extern const char kItems[];
Alex Vakulenko7e8df462015-07-07 10:59:20 -070042extern const char kIsRequired[];
Alex Vakulenkoe439a0f2014-05-21 12:26:47 -070043
44extern const char kNumeric_Min[];
45extern const char kNumeric_Max[];
46
47extern const char kString_MinLength[];
48extern const char kString_MaxLength[];
49
50extern const char kOneOf_Enum[];
Alex Vakulenko66ec2922014-06-17 15:30:22 -070051extern const char kOneOf_Metadata[];
Alex Vakulenko66ec2922014-06-17 15:30:22 -070052
53extern const char kObject_Properties[];
Alex Vakulenko45d255b2015-03-31 10:44:49 -070054extern const char kObject_AdditionalProperties[];
Alex Vakulenko7e8df462015-07-07 10:59:20 -070055extern const char kObject_Required[];
Alex Vakulenko7c36b672014-07-16 14:50:58 -070056
Anton Muhin5191e812014-10-30 17:49:48 +040057extern const char kCommand_Id[];
Alex Vakulenko8dc69af2014-08-07 10:29:42 -070058extern const char kCommand_Name[];
Alex Vakulenko7c36b672014-07-16 14:50:58 -070059extern const char kCommand_Parameters[];
Vitaly Bukab6b49e52015-05-01 10:53:06 -070060extern const char kCommand_Progress[];
Anton Muhin71fb9d52014-11-21 22:22:39 +040061extern const char kCommand_Results[];
Vitaly Buka906d39e2015-03-24 10:08:26 -070062extern const char kCommand_State[];
Vitaly Buka70f77d92015-10-07 15:42:40 -070063extern const char kCommand_Error[];
Vitaly Buka6fed0532015-05-14 16:57:23 -070064
65extern const char kCommand_Role[];
66extern const char kCommand_Role_Manager[];
67extern const char kCommand_Role_Owner[];
68extern const char kCommand_Role_User[];
69extern const char kCommand_Role_Viewer[];
70
Alex Vakulenkoe439a0f2014-05-21 12:26:47 -070071} // namespace attributes
Alex Vakulenkoe439a0f2014-05-21 12:26:47 -070072} // namespace commands
Alex Vakulenko9ac962f2014-07-22 07:34:56 -070073
Vitaly Bukab6f015a2015-07-09 14:59:23 -070074} // namespace weave
Alex Vakulenkoe439a0f2014-05-21 12:26:47 -070075
Vitaly Buka912b6982015-07-06 11:13:03 -070076#endif // LIBWEAVE_SRC_COMMANDS_SCHEMA_CONSTANTS_H_