Salome HOME
Issue #353 constraint on 2 segments from not acive sketches
[modules/shaper.git] / src / Config / Config_FeatureReader.h
index 7986f3b59e3f8ea62efbcf78f20343e54d2a4ac0..75eb376e5cdd88ba8a6249a863e522e7ec1c3163 100644 (file)
@@ -22,11 +22,13 @@ class Config_FeatureMessage;
 
 /*!
  * \class Config_FeatureReader
+ * \ingroup Config
  * \brief Class to process feature's xml definition.
  */
 class Config_FeatureReader : public Config_XMLReader
 {
  public:
+  /// Constructor
   Config_FeatureReader(const std::string& theXmlFile,
                        const std::string& theLibraryName,
                        const char* theEventGenerated = 0);
@@ -37,6 +39,10 @@ class Config_FeatureReader : public Config_XMLReader
  protected:
   /// Overloaded method. Defines how to process each node
   virtual void processNode(xmlNodePtr aNode);
+
+  /// Overloaded method. Clears attribute cache on extit from attribute's node
+  virtual void cleanup(xmlNodePtr aNode);
+
   /// Overloaded method. Defines if the given node should be parsed recursively
   virtual bool processChildren(xmlNodePtr aNode);
 
@@ -52,6 +58,9 @@ class Config_FeatureReader : public Config_XMLReader
   /// Restores an attribute from internal map.
   std::string restoreAttribute(const char* theNodeName, const char* theNodeAttribute);
 
+  bool cleanupAttribute(xmlNodePtr theNode, const char* theNodeAttribute);
+  bool cleanupAttribute(const char* theNodeName, const char* theNodeAttribute);
+
  private:
   /// A map to store all parent's attributes.
   /// The key has from "Node_Name:Node_Attribute"