--- /dev/null
+#ifndef GDE_ATTRIBUTE_GROUP_HPP
+#define GDE_ATTRIBUTE_GROUP_HPP
+
+#include "Attribute.hpp"
+
+#include <string>
+#include <vector>
+
+namespace gde {
+
+ class AttributeGroup {
+ friend class AttributesService;
+ friend class GDESession;
+
+ public:
+ AttributeGroup(const std::vector<Attribute>& attributes=std::vector<Attribute>())
+ : _id(0), _attributes(attributes)
+ {}
+ ~AttributeGroup() {}
+
+ inline int getId() const { return _id; }
+ inline void setId(int id) { this->_id = id; }
+
+ inline const std::vector<Attribute>& getAttributes() const { return _attributes; }
+ inline void setAttributes(const std::vector<Attribute>& attributes) { this->_attributes = attributes; }
+
+ private:
+ AttributeGroup(int id, const std::vector<Attribute>& attributes=std::vector<Attribute>())
+ : _id(id), _attributes(attributes)
+ {}
+ //AttributeGroup(const AttributeGroup&); // non copyable
+ //AttributeGroup& operator=(const AttributeGroup&); // non copyable
+
+ private:
+ int _id;
+ std::vector<Attribute> _attributes;
+ };
+
+};
+
+#endif