diff options
Diffstat (limited to 'src/components/smart_objects/src/array_schema_item.cc')
-rw-r--r-- | src/components/smart_objects/src/array_schema_item.cc | 21 |
1 files changed, 19 insertions, 2 deletions
diff --git a/src/components/smart_objects/src/array_schema_item.cc b/src/components/smart_objects/src/array_schema_item.cc index 3c28396213..6f1e65d2eb 100644 --- a/src/components/smart_objects/src/array_schema_item.cc +++ b/src/components/smart_objects/src/array_schema_item.cc @@ -44,6 +44,14 @@ std::shared_ptr<CArraySchemaItem> CArraySchemaItem::create( new CArraySchemaItem(ElementSchemaItem, MinSize, MaxSize)); } +std::shared_ptr<CArraySchemaItem> CArraySchemaItem::create( + ISchemaItem* ElementSchemaItem, + const TSchemaItemParameter<size_t>& MinSize, + const TSchemaItemParameter<size_t>& MaxSize) { + return std::shared_ptr<CArraySchemaItem>( + new CArraySchemaItem(ElementSchemaItem, MinSize, MaxSize)); +} + errors::eType CArraySchemaItem::validate( const SmartObject& Object, rpc::ValidationReport* report, @@ -146,7 +154,7 @@ void CArraySchemaItem::BuildObjectBySchema(const SmartObject& pattern_object, if (SmartType_Array == pattern_object.getType()) { const size_t array_len = pattern_object.length(); if (array_len > 0) { - for (size_t i = 0u; i < array_len; i++) { + for (size_t i = 0u; i < array_len; ++i) { mElementSchemaItem->BuildObjectBySchema(pattern_object.getElement(i), result_object[i]); } @@ -161,10 +169,19 @@ TypeID CArraySchemaItem::GetType() { return TYPE_ARRAY; } -CArraySchemaItem::CArraySchemaItem(const ISchemaItemPtr ElementSchemaItem, +CArraySchemaItem::CArraySchemaItem(ISchemaItem* ElementSchemaItem, const TSchemaItemParameter<size_t>& MinSize, const TSchemaItemParameter<size_t>& MaxSize) : mElementSchemaItem(ElementSchemaItem) + , mElementSchemaItemShared(nullptr) + , mMinSize(MinSize) + , mMaxSize(MaxSize) {} + +CArraySchemaItem::CArraySchemaItem(const ISchemaItemPtr ElementSchemaItem, + const TSchemaItemParameter<size_t>& MinSize, + const TSchemaItemParameter<size_t>& MaxSize) + : mElementSchemaItem(ElementSchemaItem.get()) + , mElementSchemaItemShared(ElementSchemaItem) , mMinSize(MinSize) , mMaxSize(MaxSize) {} |