| OLD | NEW | 
|---|
| 1 // Copyright 2013 The Chromium Authors. All rights reserved. | 1 // Copyright 2013 The Chromium Authors. All rights reserved. | 
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be | 
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. | 
| 4 | 4 | 
| 5 #ifndef COMPONENTS_POLICY_CORE_COMMON_SCHEMA_INTERNAL_H_ | 5 #ifndef COMPONENTS_POLICY_CORE_COMMON_SCHEMA_INTERNAL_H_ | 
| 6 #define COMPONENTS_POLICY_CORE_COMMON_SCHEMA_INTERNAL_H_ | 6 #define COMPONENTS_POLICY_CORE_COMMON_SCHEMA_INTERNAL_H_ | 
| 7 | 7 | 
| 8 #include "base/values.h" | 8 #include "base/values.h" | 
| 9 #include "components/policy/policy_export.h" | 9 #include "components/policy/policy_export.h" | 
| 10 | 10 | 
| 11 namespace policy { | 11 namespace policy { | 
| 12 namespace internal { | 12 namespace internal { | 
| 13 | 13 | 
| 14 // These types are used internally by the SchemaOwner parser, and by the | 14 // These types are used internally by the SchemaOwner parser, and by the | 
| 15 // compile-time code generator. They shouldn't be used directly. | 15 // compile-time code generator. They shouldn't be used directly. | 
| 16 | 16 | 
| 17 // Represents the type of one policy, or an item of a list policy, or a | 17 // Represents the type of one policy, or an item of a list policy, or a | 
| 18 // property of a map policy. | 18 // property of a map policy. | 
| 19 struct POLICY_EXPORT SchemaNode { | 19 struct POLICY_EXPORT SchemaNode { | 
| 20   // The policy type. | 20   // The policy type. | 
| 21   base::Value::Type type; | 21   base::Value::Type type; | 
| 22 | 22 | 
| 23   // If |type| is TYPE_DICTIONARY then |extra| is an offset into | 23   // If |type| is Type::DICTIONARY then |extra| is an offset into | 
| 24   // SchemaData::properties_nodes that indexes the PropertiesNode describing | 24   // SchemaData::properties_nodes that indexes the PropertiesNode describing | 
| 25   // the entries of this dictionary. | 25   // the entries of this dictionary. | 
| 26   // | 26   // | 
| 27   // If |type| is TYPE_LIST then |extra| is an offset into | 27   // If |type| is Type::LIST then |extra| is an offset into | 
| 28   // SchemaData::schema_nodes that indexes the SchemaNode describing the items | 28   // SchemaData::schema_nodes that indexes the SchemaNode describing the items | 
| 29   // of this list. | 29   // of this list. | 
| 30   // | 30   // | 
| 31   // If |type| is TYPE_INTEGER or TYPE_STRING, and contains corresponding | 31   // If |type| is Type::INTEGER or Type::STRING, and contains corresponding | 
| 32   // restriction (enumeration of possible values, or range for integer), then | 32   // restriction (enumeration of possible values, or range for integer), then | 
| 33   // |extra| is an offset into SchemaData::restriction_nodes that indexes the | 33   // |extra| is an offset into SchemaData::restriction_nodes that indexes the | 
| 34   // RestrictionNode describing the restriction on the value. | 34   // RestrictionNode describing the restriction on the value. | 
| 35   // | 35   // | 
| 36   // Otherwise extra is -1 and is invalid. | 36   // Otherwise extra is -1 and is invalid. | 
| 37   int extra; | 37   int extra; | 
| 38 }; | 38 }; | 
| 39 | 39 | 
| 40 // Represents an entry of a map policy. | 40 // Represents an entry of a map policy. | 
| 41 struct POLICY_EXPORT PropertyNode { | 41 struct POLICY_EXPORT PropertyNode { | 
| (...skipping 29 matching lines...) Expand all  Loading... | 
| 71   int pattern_end; | 71   int pattern_end; | 
| 72 | 72 | 
| 73   // If this map policy supports keys with any value (besides the well-known | 73   // If this map policy supports keys with any value (besides the well-known | 
| 74   // values described in the range [begin, end)) then |additional| is an offset | 74   // values described in the range [begin, end)) then |additional| is an offset | 
| 75   // into SchemaData::schema_nodes that indexes the SchemaNode describing the | 75   // into SchemaData::schema_nodes that indexes the SchemaNode describing the | 
| 76   // structure of the values for those keys. Otherwise |additional| is -1 and | 76   // structure of the values for those keys. Otherwise |additional| is -1 and | 
| 77   // is invalid. | 77   // is invalid. | 
| 78   int additional; | 78   int additional; | 
| 79 }; | 79 }; | 
| 80 | 80 | 
| 81 // Represents the restriction on TYPE_INTEGER or TYPE_STRING instance of | 81 // Represents the restriction on Type::INTEGER or Type::STRING instance of | 
| 82 // base::Value. | 82 // base::Value. | 
| 83 union POLICY_EXPORT RestrictionNode { | 83 union POLICY_EXPORT RestrictionNode { | 
| 84   // Offsets into SchemaData::int_enums or SchemaData::string_enums, the | 84   // Offsets into SchemaData::int_enums or SchemaData::string_enums, the | 
| 85   // entry of which describes the enumeration of all possible values of | 85   // entry of which describes the enumeration of all possible values of | 
| 86   // corresponding integer or string value. |offset_begin| being strictly less | 86   // corresponding integer or string value. |offset_begin| being strictly less | 
| 87   // than |offset_end| is assumed. | 87   // than |offset_end| is assumed. | 
| 88   struct EnumerationRestriction { | 88   struct EnumerationRestriction { | 
| 89     int offset_begin; | 89     int offset_begin; | 
| 90     int offset_end; | 90     int offset_end; | 
| 91   } enumeration_restriction; | 91   } enumeration_restriction; | 
| (...skipping 27 matching lines...) Expand all  Loading... | 
| 119   const RestrictionNode* restriction_nodes; | 119   const RestrictionNode* restriction_nodes; | 
| 120 | 120 | 
| 121   const int* int_enums; | 121   const int* int_enums; | 
| 122   const char** string_enums; | 122   const char** string_enums; | 
| 123 }; | 123 }; | 
| 124 | 124 | 
| 125 }  // namespace internal | 125 }  // namespace internal | 
| 126 }  // namespace policy | 126 }  // namespace policy | 
| 127 | 127 | 
| 128 #endif  // COMPONENTS_POLICY_CORE_COMMON_SCHEMA_INTERNAL_H_ | 128 #endif  // COMPONENTS_POLICY_CORE_COMMON_SCHEMA_INTERNAL_H_ | 
| OLD | NEW | 
|---|