/*! \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
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;
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;
};
}
}