]> SALOME platform Git repositories - modules/yacs.git/blobdiff - src/engine/ComponentInstance.hxx
Salome HOME
merge from branch DEV tag mergeto_trunk_04apr08
[modules/yacs.git] / src / engine / ComponentInstance.hxx
index 4ffc1227353708c8540ca20e9161a14f919cf8ab..792ed9e5c77892e75e66764c3f2ca8978c655af3 100644 (file)
@@ -15,7 +15,6 @@ namespace YACS
 
 /*! \brief Base class for all component instances.
  *
- * \ingroup Nodes
  *
  * This is an abstract class that must be specialized in runtime.
  * Specialized classes must provide implementation for loading of
@@ -34,8 +33,10 @@ namespace YACS
     public:
       ComponentInstance(const std::string& name);
       ComponentInstance(const ComponentInstance& other);
-      const std::string& getName() const { return _name; }
-      void setContainer(Container *cont);
+      const std::string& getCompoName() const { return _compoName; }
+      const std::string& getInstanceName() const { return _instanceName; }
+      int getNumId() const { return _numId; }
+      virtual void setContainer(Container *cont);
       Container *getContainer() const { return _container; }
 //! Load the component instance
       virtual void load() = 0;
@@ -59,12 +60,16 @@ namespace YACS
       virtual std::string getKind() const;
       static const char KIND[];
     protected:
-      //! \b WARNING : _name has a strong semantic. It discriminates ComponentInstance instances each other.
-      std::string _name;
+      //! \b WARNING : _compoName identify only the component type.
+      std::string _compoName;
+      //! \b WARNING : _InstanceName has a strong semantic. It discriminates ComponentInstance instances each other.
+      std::string _instanceName;
+      int _numId;
       Container *_container;
       mutable bool _isAttachedOnCloning;
     protected:
       static const char NULL_FILE_REPR[];
+      static int _total;
     };
   }
 }