summaryrefslogtreecommitdiff
path: root/src/components/smart_objects/include/smart_objects/array_schema_item.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/components/smart_objects/include/smart_objects/array_schema_item.h')
-rw-r--r--src/components/smart_objects/include/smart_objects/array_schema_item.h15
1 files changed, 14 insertions, 1 deletions
diff --git a/src/components/smart_objects/include/smart_objects/array_schema_item.h b/src/components/smart_objects/include/smart_objects/array_schema_item.h
index 8f9a179fff..43870ddb42 100644
--- a/src/components/smart_objects/include/smart_objects/array_schema_item.h
+++ b/src/components/smart_objects/include/smart_objects/array_schema_item.h
@@ -63,6 +63,13 @@ class CArraySchemaItem : public ISchemaItem {
const TSchemaItemParameter<size_t>& MaxSize =
TSchemaItemParameter<size_t>());
+ static std::shared_ptr<CArraySchemaItem> create(
+ ISchemaItem* ElementSchemaItem,
+ const TSchemaItemParameter<size_t>& MinSize =
+ TSchemaItemParameter<size_t>(),
+ const TSchemaItemParameter<size_t>& MaxSize =
+ TSchemaItemParameter<size_t>());
+
/**
* @brief Validate smart object.
* @param Object Object to validate.
@@ -131,10 +138,16 @@ class CArraySchemaItem : public ISchemaItem {
const TSchemaItemParameter<size_t>& MinSize,
const TSchemaItemParameter<size_t>& MaxSize);
+ CArraySchemaItem(ISchemaItem* ElementSchemaItem,
+ const TSchemaItemParameter<size_t>& MinSize,
+ const TSchemaItemParameter<size_t>& MaxSize);
+
/**
* @brief SchemaItem for array elements.
**/
- const ISchemaItemPtr mElementSchemaItem;
+ ISchemaItem* mElementSchemaItem;
+ const ISchemaItemPtr mElementSchemaItemShared;
+
/**
* @brief Minimum allowed size.
**/