Salome HOME
ProfilesService
[modules/gde.git] / projects / GDE_API_CPP / api / src / AttributesService.hpp
1 #ifndef GDE_ATTRIBUTES_SERVICE_HPP
2 #define GDE_ATTRIBUTES_SERVICE_HPP
3
4 #include "Attribute.hpp"
5 #include "AttributeGroup.hpp"
6 #include "GDESession.hpp"
7
8 #include <string>
9 #include <vector>
10
11 namespace gde {
12
13   class AttributesService {
14     friend class GDESession;
15
16   public:
17     const Attribute createAttribute(const std::string& name, const std::string& type, const std::string& value, int groupId, bool mandatory);
18     bool deleteAttribute(const Attribute&);
19     const Attribute readAttribute(int);
20
21     const AttributeGroup createAttributeGroup(const AttributeGroup&);
22     bool deleteAttributeGroup(const AttributeGroup&);
23     const AttributeGroup updateAttributeGroup(const AttributeGroup&);
24     const AttributeGroup readAttributeGroup(int);
25
26   private:
27     AttributesService(const GDESession& session) : _session(session) {}
28     ~AttributesService() {}
29     AttributesService(const AttributesService&); // non copyable
30     AttributesService& operator=(const AttributesService&); // non copyable
31
32   private:
33     static std::string _servletName;
34     const GDESession& _session;
35
36   };
37
38 };
39
40 #endif