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);