Salome HOME
Merge branch 'Dev_1.1.0' of newgeom:newgeom into Dev_1.1.0
[modules/shaper.git] / src / ModelAPI / ModelAPI_Validator.h
index 06068e011c591797773219931d176935bd3811cd..926ae886c1c9787b2374749efda0a127f091ecd0 100644 (file)
@@ -8,6 +8,7 @@
 #define ModelAPI_Validator_H_
 
 #include <ModelAPI.h>
+#include <ModelAPI_Feature.h>
 #include <memory>
 #include <list>
 
@@ -37,7 +38,7 @@ typedef std::shared_ptr<ModelAPI_Validator> ValidatorPtr;
 
 /**\class ModelAPI_ValidatorsFactory
  * \ingroup DataModel
- * \breif Manages the registered validators
+ * \brief Manages the registered validators
  *
  * Allows to get a validator by the feature identifier and 
  * the attribute identifier (if attribute is validated).
@@ -95,6 +96,13 @@ class MODELAPI_EXPORT ModelAPI_ValidatorsFactory
   /// Returns true that it was registered that attribute conceals the referenced result
   virtual bool isConcealed(std::string theFeature, std::string theAttribute) = 0;
 
+  /// Register the case-attribute: this attribute is checked only if its case is selected
+  virtual void registerCase(std::string theFeature, std::string theAttribute,
+    std::string theSwitchId, std::string theCaseId) = 0;
+
+ /// Returns true if the attribute must be checked (the case is selected)
+  virtual bool isCase(FeaturePtr theFeature, std::string theAttribute) = 0;
+
  protected:
   /// Get instance from Session
   ModelAPI_ValidatorsFactory()