#define ModelAPI_Validator_H_
#include <ModelAPI.h>
-#include <boost/shared_ptr.hpp>
+#include <memory>
#include <list>
class ModelAPI_Feature;
}
};
-typedef boost::shared_ptr<ModelAPI_Validator> ValidatorPtr;
+typedef std::shared_ptr<ModelAPI_Validator> ValidatorPtr;
/**\class ModelAPI_ValidatorsFactory
* \ingroup DataModel
virtual const ModelAPI_Validator* validator(const std::string& theID) const = 0;
/// Returns true if feature and all its attributes are valid.
- virtual bool validate(const boost::shared_ptr<ModelAPI_Feature>& theFeature) const = 0;
+ virtual bool validate(const std::shared_ptr<ModelAPI_Feature>& theFeature) const = 0;
+
+ /// register that this attribute in feature is not obligatory for the feature execution
+ /// so, it is not needed for the standard validation mechanism
+ virtual void registerNotObligatory(std::string theFeature, std::string theAttribute) = 0;
+
+ /// Returns true if the attribute in feature is not obligatory for the feature execution
+ virtual bool isNotObligatory(std::string theFeature, std::string theAttribute) = 0;
+
+ /// register that this attribute conceals in the object browser
+ /// all referenced features after execution
+ virtual void registerConcealment(std::string theFeature, std::string theAttribute) = 0;
+
+ /// Returns true that it was registered that attribute conceals the referenced result
+ virtual bool isConcealed(std::string theFeature, std::string theAttribute) = 0;
protected:
/// Get instance from Session