Mercurial > hg > orthanc-authorization
diff 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 |
line wrap: on
line diff
--- a/Plugin/PermissionParser.h Wed Jun 05 15:08:41 2024 +0200 +++ b/Plugin/PermissionParser.h Wed Jun 05 15:23:55 2024 +0200 @@ -27,20 +27,39 @@ namespace OrthancPlugins { - struct PermissionPattern + class PermissionPattern : public boost::noncopyable { - OrthancPluginHttpMethod method; - boost::regex pattern; - std::set<std::string> permissions; + private: + OrthancPluginHttpMethod method_; + boost::regex pattern_; + std::set<std::string> permissions_; + + public: + PermissionPattern(const OrthancPluginHttpMethod& method, + const std::string& patternRegex, + const std::string& permissions); - PermissionPattern(const OrthancPluginHttpMethod& method, const std::string& patternRegex, const std::string& permissions); + OrthancPluginHttpMethod GetMethod() const + { + return method_; + } + + const boost::regex& GetPattern() const + { + return pattern_; + } + + const std::set<std::string>& GetPermissions() const + { + return permissions_; + } }; - class PermissionParser + class PermissionParser : public boost::noncopyable { private: mutable boost::mutex mutex_; - std::list<PermissionPattern> permissionsPattern_; + std::list<PermissionPattern*> permissionsPattern_; std::string dicomWebRoot_; std::string oe2Root_; @@ -48,6 +67,8 @@ PermissionParser(const std::string& dicomWebRoot, const std::string& oe2Root); + ~PermissionParser(); + void Add(const std::string& method, const std::string& patternRegex, const std::string& permission);