Salome HOME
Different salome launchers for release and debug version (for proper environment).
[modules/shaper.git] / src / Config / Config_FeatureReader.h
index eec7889b01df91ee00b815a8373929d4956f8b9a..409af6c7ec4270ae3db3e4d98f5f4a7a23c57339 100644 (file)
 
 #include <string>
 #include <list>
-#include <map>
 
 class Config_FeatureMessage;
 
+/*!
+ * \class Config_FeatureReader
+ * \ingroup Config
+ * \brief Class to process feature's xml definition.
+ */
 class Config_FeatureReader : public Config_XMLReader
 {
  public:
-  Config_FeatureReader(const std::string& theXmlFile, const std::string& theLibraryName,
+  /// Constructor
+  Config_FeatureReader(const std::string& theXmlFile,
+                       const std::string& theLibraryName,
                        const char* theEventGenerated = 0);
   virtual ~Config_FeatureReader();
-
+  /// Returns list of all features defined in reader's file
   std::list<std::string> features() const;
 
  protected:
-  void processNode(xmlNodePtr aNode);
-  bool processChildren(xmlNodePtr aNode);
+  /// Overloaded method. Defines how to process each node
+  virtual void processNode(xmlNodePtr aNode);
+
+  /// Overloaded method. Clears attribute cache on exit 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);
+
+  /// Fills feature message
   void fillFeature(xmlNodePtr theRoot, 
                    const std::shared_ptr<Config_FeatureMessage>& outFeatureMessage);
 
-  void storeAttribute(xmlNodePtr theNode, const char* theNodeAttribute);
-  std::string restoreAttribute(xmlNodePtr theNode, const char* theNodeAttribute);
-  std::string restoreAttribute(const char* theNodeName, const char* theNodeAttribute);
-
  private:
-  /// A map to store all parent's attributes.
-  /// The key has from "Node_Name:Node_Attribute"
-  std::map<std::string, std::string> myParentAttributes;
   std::string myLibraryName;
 
   std::list<std::string> myFeatures;