diff options
Diffstat (limited to 'src/components/smart_objects/include/smart_objects/object_schema_item.h')
-rw-r--r-- | src/components/smart_objects/include/smart_objects/object_schema_item.h | 32 |
1 files changed, 21 insertions, 11 deletions
diff --git a/src/components/smart_objects/include/smart_objects/object_schema_item.h b/src/components/smart_objects/include/smart_objects/object_schema_item.h index 58e13106d4..d5c8a7f3e9 100644 --- a/src/components/smart_objects/include/smart_objects/object_schema_item.h +++ b/src/components/smart_objects/include/smart_objects/object_schema_item.h @@ -110,7 +110,7 @@ class CObjectSchemaItem : public ISchemaItem { /** * @brief Validate smart object. * @param Object Object to validate. - * @param report__ object for reporting errors during validation + * @param report object for reporting errors during validation * @param MessageVersion to check mobile RPC version against RPC Spec History * @param allow_unknown_enums * false - unknown enum values (left as string values after applySchema) @@ -120,15 +120,21 @@ class CObjectSchemaItem : public ISchemaItem { **/ errors::eType validate( const SmartObject& Object, - rpc::ValidationReport* report__, + rpc::ValidationReport* report, const utils::SemanticVersion& MessageVersion = utils::SemanticVersion(), const bool allow_unknown_enums = false) OVERRIDE; + + bool filterInvalidEnums(SmartObject& Object, + const utils::SemanticVersion& MessageVersion, + rpc::ValidationReport* report) OVERRIDE; + /** * @brief Apply schema. + * * @param Object Object to apply schema. * @param remove_unknown_parameters contains true if need to remove unknown - *parameters - * from smart object otherwise contains false. + * parameters from smart object, otherwise contains false. + * @param MessageVersion the version of the schema to be applied **/ void applySchema(SmartObject& Object, const bool remove_unknown_parameters, @@ -138,7 +144,7 @@ class CObjectSchemaItem : public ISchemaItem { * @brief Unapply schema. * @param Object Object to unapply schema. * @param remove_unknown_parameters contains true if need to remove unknown - *parameters + * parameters **/ void unapplySchema(SmartObject& Object, const bool remove_unknown_parameters) OVERRIDE; @@ -156,6 +162,8 @@ class CObjectSchemaItem : public ISchemaItem { */ size_t GetMemberSize() OVERRIDE; + TypeID GetType() OVERRIDE; + boost::optional<SMember&> GetMemberSchemaItem( const std::string& member_key) OVERRIDE; @@ -171,25 +179,27 @@ class CObjectSchemaItem : public ISchemaItem { CObjectSchemaItem(const Members& Members); /** - * @brief Removes fake parameters from object. - * @param Object Object to remove fake parameters. + * @brief Removes unknown parameters from object. + * @param Object Object to remove unknown parameters. + * @param MessageVersion The version to check against for which parameters are + * unknown. **/ - void RemoveFakeParams(SmartObject& Object, - const utils::SemanticVersion& MessageVersion); + void RemoveUnknownParams(SmartObject& Object, + const utils::SemanticVersion& MessageVersion); /** * @brief Returns the correct schema item based on message version. * @param member Schema member * @param MessageVersion Semantic Version of mobile message. * @return Pointer to correct schema item if item found or nullptr, if item - *was not found. + * was not found. **/ const SMember* GetCorrectMember(const SMember& member, const utils::SemanticVersion& messageVersion); /** * @brief Map of member name to SMember structure describing the object - *member. + * member. **/ Members mMembers; DISALLOW_COPY_AND_ASSIGN(CObjectSchemaItem); |