diff OrthancServer/IDatabaseWrapper.h @ 1745:38dda23c7d7d db-changes

LookupIdentifierQuery
author Sebastien Jodogne <s.jodogne@gmail.com>
date Mon, 26 Oct 2015 13:47:50 +0100
parents 54d78925cbb6
children d143db00a794
line wrap: on
line diff
--- a/OrthancServer/IDatabaseWrapper.h	Mon Oct 26 12:30:34 2015 +0100
+++ b/OrthancServer/IDatabaseWrapper.h	Mon Oct 26 13:47:50 2015 +0100
@@ -44,6 +44,8 @@
 
 namespace Orthanc
 {
+  class LookupIdentifierQuery;
+
   class IDatabaseWrapper : public boost::noncopyable
   {
   public:
@@ -151,28 +153,7 @@
                                        const DicomTag& tag,
                                        const std::string& value) = 0;
 
-    /**
-     * Primitive for wildcard matching, as defined in DICOM:
-     * http://dicom.nema.org/dicom/2013/output/chtml/part04/sect_C.2.html#sect_C.2.2.2.4
-     * 
-     * "Any occurrence of an "*" or a "?", then "*" shall match any
-     * sequence of characters (including a zero length value) and "?"
-     * shall match any single character. This matching is case
-     * sensitive, except for Attributes with an PN Value
-     * Representation (e.g., Patient Name (0010,0010))."
-     * 
-     * Pay attention to the fact that "*" (resp. "?") generally
-     * corresponds to "%" (resp. "_") in primitive LIKE of SQL. The
-     * values "%", "_", "\" should in the user request should
-     * respectively be escaped as "\%", "\_" and "\\".
-     * 
-     * This matching must be case sensitive: The special case of PN VR
-     * is taken into consideration by normalizing the query string in
-     * method "ServerIndex::LookupIdentifierWildcard()".
-     **/
-    virtual void LookupIdentifierWildcard(std::list<int64_t>& target,
-                                          const DicomTag& tag,
-                                          const std::string& value) = 0;
+    virtual void LookupIdentifier(const LookupIdentifierQuery& query) = 0;
 
     virtual bool LookupMetadata(std::string& target,
                                 int64_t id,