]> SALOME platform Git repositories - modules/gde.git/blob - projects/GDE_API_CPP/api/src/AttributeGroup.hpp
Salome HOME
ProfilesService
[modules/gde.git] / projects / GDE_API_CPP / api / src / AttributeGroup.hpp
1 #ifndef GDE_ATTRIBUTE_GROUP_HPP
2 #define GDE_ATTRIBUTE_GROUP_HPP
3
4 #include "Attribute.hpp"
5
6 #include <string>
7 #include <vector>
8
9 namespace gde {
10
11   class AttributeGroup {
12     friend class AttributesService;
13     friend class GDESession;
14
15   public:
16     AttributeGroup(const std::vector<Attribute>& attributes=std::vector<Attribute>())
17       : _id(0), _attributes(attributes)
18     {}
19     ~AttributeGroup() {}
20
21     inline int getId() const { return _id; }
22     inline void setId(int id) { this->_id = id; }
23
24     inline const std::vector<Attribute>& getAttributes() const { return _attributes; }
25     inline void setAttributes(const std::vector<Attribute>& attributes) { this->_attributes = attributes; }
26
27   private:
28     AttributeGroup(int id, const std::vector<Attribute>& attributes=std::vector<Attribute>())
29       : _id(id), _attributes(attributes)
30     {}
31     //AttributeGroup(const AttributeGroup&); // non copyable
32     //AttributeGroup& operator=(const AttributeGroup&); // non copyable
33
34   private:
35     int _id;
36     std::vector<Attribute> _attributes;
37   };
38
39 };
40
41 #endif