diff options
Diffstat (limited to 'src/components/smart_objects/include/smart_objects/smart_schema.h')
-rw-r--r-- | src/components/smart_objects/include/smart_objects/smart_schema.h | 23 |
1 files changed, 16 insertions, 7 deletions
diff --git a/src/components/smart_objects/include/smart_objects/smart_schema.h b/src/components/smart_objects/include/smart_objects/smart_schema.h index 5e1497fdde..ece2696539 100644 --- a/src/components/smart_objects/include/smart_objects/smart_schema.h +++ b/src/components/smart_objects/include/smart_objects/smart_schema.h @@ -66,12 +66,17 @@ class CSmartSchema FINAL { * @param Object Object to validate. * @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) + * will be considered invalid. + * true - such values will be considered valid. * @return ns_smart_objects::errors::eType **/ - errors::eType validate(const SmartObject& Object, - rpc::ValidationReport* report__, - const utils::SemanticVersion& messageVersion = - utils::SemanticVersion()) const; + errors::eType validate( + const SmartObject& Object, + rpc::ValidationReport* report__, + const utils::SemanticVersion& messageVersion = utils::SemanticVersion(), + const bool allow_unknown_enums = false) const; /** * @brief Set new root schema item. @@ -85,22 +90,26 @@ class CSmartSchema FINAL { * * @param Object Object to apply schema. * - * @param RemoveFakeParameters contains true if need to remove fake parameters + * @param remove_unknown_parameters contains true if need to remove unknown + *parameters * from smart object otherwise contains false. **/ void applySchema( SmartObject& Object, - const bool RemoveFakeParameters, + const bool remove_unknown_parameters, const utils::SemanticVersion& MessageVersion = utils::SemanticVersion()); /** * @brief The reverse SmartObject conversion using schema. * * @param object Object to convert. + * @param remove_unknown_parameters contains true if need to remove unknown + *parameters */ // TODO(cpplint): Is this a non-const reference? // If so, make const or use a pointer. - void unapplySchema(SmartObject& object); + void unapplySchema(SmartObject& object, + const bool remove_unknown_parameters = true); /** * @brief Build smart object by smart schema having copied matched |