comparison Plugin/PermissionParser.h @ 191:55435a4dd2c6

cppcheck
author Sebastien Jodogne <s.jodogne@gmail.com>
date Wed, 05 Jun 2024 15:23:55 +0200
parents c4b908970ae4
children 2f1e872e8eaa
comparison
equal deleted inserted replaced
190:de232f9b3a60 191:55435a4dd2c6
25 #include <boost/regex.hpp> 25 #include <boost/regex.hpp>
26 #include <boost/thread/mutex.hpp> 26 #include <boost/thread/mutex.hpp>
27 27
28 namespace OrthancPlugins 28 namespace OrthancPlugins
29 { 29 {
30 struct PermissionPattern 30 class PermissionPattern : public boost::noncopyable
31 { 31 {
32 OrthancPluginHttpMethod method; 32 private:
33 boost::regex pattern; 33 OrthancPluginHttpMethod method_;
34 std::set<std::string> permissions; 34 boost::regex pattern_;
35 std::set<std::string> permissions_;
35 36
36 PermissionPattern(const OrthancPluginHttpMethod& method, const std::string& patternRegex, const std::string& permissions); 37 public:
38 PermissionPattern(const OrthancPluginHttpMethod& method,
39 const std::string& patternRegex,
40 const std::string& permissions);
41
42 OrthancPluginHttpMethod GetMethod() const
43 {
44 return method_;
45 }
46
47 const boost::regex& GetPattern() const
48 {
49 return pattern_;
50 }
51
52 const std::set<std::string>& GetPermissions() const
53 {
54 return permissions_;
55 }
37 }; 56 };
38 57
39 class PermissionParser 58 class PermissionParser : public boost::noncopyable
40 { 59 {
41 private: 60 private:
42 mutable boost::mutex mutex_; 61 mutable boost::mutex mutex_;
43 std::list<PermissionPattern> permissionsPattern_; 62 std::list<PermissionPattern*> permissionsPattern_;
44 std::string dicomWebRoot_; 63 std::string dicomWebRoot_;
45 std::string oe2Root_; 64 std::string oe2Root_;
46 65
47 public: 66 public:
48 PermissionParser(const std::string& dicomWebRoot, 67 PermissionParser(const std::string& dicomWebRoot,
49 const std::string& oe2Root); 68 const std::string& oe2Root);
69
70 ~PermissionParser();
50 71
51 void Add(const std::string& method, 72 void Add(const std::string& method,
52 const std::string& patternRegex, 73 const std::string& patternRegex,
53 const std::string& permission); 74 const std::string& permission);
54 75