Salome HOME
ProfilesService
[modules/gde.git] / projects / GDE_API_CPP / api / src / ProfilesService.hpp
1 #ifndef GDE_PROFILES_SERVICE_HPP
2 #define GDE_PROFILES_SERVICE_HPP
3
4 #include "Profile.hpp"
5 #include "ProfileAttribute.hpp"
6 #include "GDESession.hpp"
7
8 #include <string>
9 #include <vector>
10
11 namespace gde {
12
13   class ProfilesService {
14     friend class GDESession;
15
16   public:
17     const Profile createProfile(const Profile&);
18     bool deleteProfile(const Profile&);
19     const Profile readProfile(int);
20     const Profile updateProfile(const Profile&);
21
22     const ProfileAttribute createProfileAttribute(const std::string& name, const std::string& type, int profileId, bool mandatory);
23     bool deleteProfileAttribute(const ProfileAttribute&);
24     const ProfileAttribute readProfileAttribute(int);
25     const ProfileAttribute updateProfileAttribute(const ProfileAttribute&);
26
27   private:
28     ProfilesService(const GDESession& session) : _session(session) {}
29     ~ProfilesService() {}
30     ProfilesService(const ProfilesService&); // non copyable
31     ProfilesService& operator=(const ProfilesService&); // non copyable
32
33   private:
34     static std::string _servletName;
35     const GDESession& _session;
36
37   };
38
39 };
40
41 #endif